Reklama
Pokazuje wyniki od 1 do 4 z 4

Temat: [7.6][Lua & XML][YurOts] Problem ze zrobieniem npc.

  1. #1
    Avatar Elor Tulot
    Data rejestracji
    2009
    Położenie
    Polska
    Wiek
    31
    Posty
    839
    Siła reputacji
    15

    Domyślny [7.6][Lua & XML][YurOts] Problem ze zrobieniem npc.

    Witajcie mam taki oto kod na npc.

    Kod:
    <?xml version="1.0"?>
    <npc name="kaplan" script="data/npc/script/kaplan.lua" acces="1">
    	<look type="129" head="114" body="119" legs="114" feet="114"/>
    </npc>
    i taki skrypt

    Kod:
    focus = 0
    talk_start = 0
    target = 0
    following = false
    attacking = false
    
    function onThingMove(creature, thing, oldpos, oldstackpos)
    
    end
    
    
    function onCreatureAppear(creature)
    
    end
    
    
    function onCreatureTurn(creature)
    
    end
    
    
    function msgcontains(txt, str)
      	return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
    end
    
    
    function onCreatureSay(cid, type, msg)
      	msg = string.lower(msg)
    	if {msgcontains{msg, 'witaj'and getDistanceToCreature{cid} < 4 then
    	selfSey { 'witaj' .. creaureGetName{cid} .. ' ! Jestem kaplanem tej swiatyni, jesli potrzebujesz pomocy lub zadania zglos sie do mnie.'
    	focus = cid
    	talk_start = os.clock()
    	
    	elseif msgcontain{msg 'witaj'} and {focus ~= cid} and getDistanceToCreature(cid) < 4 then
    	selfSey {.. '! Porozmawiam z toba za chwile'}
    	
    	end
    	
    	elseif focus == cid then
    		talk_start = os.clock() 
    	
    	
    	if msgcontains(msg, 'zadanie') and focus == cid then
      		talk_start = os.clock()
      		queststatus = getPlayerStorageValue(cid,5019)
     
      		if queststatus == -1 then
      			itemstatus = doPlayerRemoveItem(cid,2342)
     
      			if itemstatus == -1 then
      				selfSay('! Zostawilem moja ksiazke w skrzyni na cmentarzu, prosze przynies ja.')
      			else
      				doPlayerAddItem(cid, 2525, 1)
      				selfSay('Dziekuje, oto twoja nagroda.')
      			end
      		else
    			selfSay('Nie mam wiecej zadan.')
    
    
      		end
    
    
    
    	if string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then
      		selfSay('Bye, ' .. creatureGetName(cid) .. '!')
      		focus = 0
      		talk_start = 0
      	end
      end
     
     
      function onCreatureChangeOutfit(creature)
     
      end
     
     
      function onThink()
      	if (os.clock() - talk_start) > 30 then
      		if focus > 0 then
      			selfSay('Go away.')
      		end
      			focus = 0
      	end
     	if focus ~= 0 then
     		if getDistanceToCreature(focus) > 5 then
     			selfSay('Good bye then.')
     			focus = 0
     		end
     	end
      end
    Npc jest dodany na mapie w pliku npc.xml

    Kod:
    <?xml version="1.0"?>
    <npclist>
    	<npc name="kaplan" x="160" y="152" z="7" dir="3"/>
    </npclist>
    I jak włączam silnik to sam się wyłącza. Problem znika jeśli usunę npc z pliku npc.xml

    Proszę powiedzcie co źle zrobiłem w skrypcie bo robiłem go wzorując się na innym npc z tego samego silnika.
    Ostatnio zmieniony przez Elor Tulot : 04-06-2010, 20:04

  2. #2
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    34
    Posty
    586
    Siła reputacji
    17

    Domyślny

    Najwyraźniej warunek:

    if msgcontains(msg, 'zadanie') and focus == cid then

    Nie ma end'a.
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  3. Reklama
  4. #3
    Avatar Elor Tulot
    Data rejestracji
    2009
    Położenie
    Polska
    Wiek
    31
    Posty
    839
    Siła reputacji
    15

    Domyślny

    Nadal nic, ale udało mi się ( za 3 razem :P ) zrobić ss silnika przed zamknięciem, o dziwo jak już mówiłem ten błąd znika jak usunę npc z pliku Npc.XML
    Ostatnio zmieniony przez Elor Tulot : 04-06-2010, 21:32 Powód: zapomniałem zdjęcia XD

  5. #4

    Data rejestracji
    2010
    Posty
    11
    Siła reputacji
    0

    Domyślny

    dodales to end?

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. [LUA] Krótsze odpowiedniki w lua - autorstwa Grimkka
    Przez Grimekk w dziale Artykuły developerskie
    Odpowiedzi: 2
    Ostatni post: 13-01-2014, 18:36
  2. [C++,LUA,XML] Jak zacząć od zera programowanie ?
    Przez | Nurgiel | w dziale Strefa developerska
    Odpowiedzi: 3
    Ostatni post: 27-05-2011, 10:18
  3. [8.4+] [XML / LUA] Trochę bardziej inteligentny boss
    Przez Grim90 w dziale Skrypty i technika
    Odpowiedzi: 8
    Ostatni post: 13-11-2010, 20:26
  4. [Lua] Od zera do skryptera, czyli LUA: Pętle i tablice*
    Przez Grim90 w dziale Artykuły developerskie
    Odpowiedzi: 9
    Ostatni post: 21-08-2010, 02:47
  5. [Lua] Od zera do skryptera, czyli LUA: PODSTAWY i Actions*
    Przez Grim90 w dziale Artykuły developerskie
    Odpowiedzi: 7
    Ostatni post: 02-08-2009, 01:05

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •