Problem z NPC

Status
Zamknięty.

Edwand

Advanced User
Zarejestrowany
Dołączył
Lipiec 16, 2010
Posty
260
Liczba reakcji
26
Wiek
29
Witam ot??mam kod:

PHP:
focus = 0
talk_start = 0
target = 0
following = false
attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
  	if focus == cid then
          selfSay('Good bye then.')
          focus = 0
          talk_start = 0
  	end
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, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
  		selfSay('Ho, ho. Welcome In my accessory shop, what you need ? Tell the "trade" to see a list of my goods.')
  		focus = cid
  		talk_start = os.clock()

  	elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
  		selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

	elseif focus == cid then
		talk_start = os.clock()

		if msgcontains(msg, 'rope') then
			buy(cid,2120,1,50)
		elseif msgcontains(msg, 'shovel') then
			buy(cid,2554,1,20)
		elseif msgcontains(msg, 'backpack') then
			buy(cid,1988,1,10)
		elseif msgcontains(msg, 'fishing rod') then
			buy(cid,2580,1,100)
		elseif msgcontains(msg, 'torch') then
			buy(cid,2050,1,2)
		elseif msgcontains(msg, 'vial') or msgcontains(msg, 'flask') then
			sell(cid,2006,1,10)

		elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
			selfSay('Good bye and a nice trip' .. creatureGetName(cid) .. '!')
			focus = 0
			talk_start = 0
		end
	end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
  	if (os.clock() - talk_start) > 30 then
  		if focus > 0 then
  			selfSay('Next Please...')
  		end
  			focus = 0
  	end
 	if focus ~= 0 then
 		if getDistanceToCreature(focus) > 5 then
 			selfSay('Good bye then.')
 			focus = 0
 		end
 	end
end

i ni chuja nie mog? zrobi?, ?e jak powiem trade, to on wy?wietla liste "I sell ..."
czy kto? mo?e mi pom?c ?

Pozdrawiam
 
Odp: Problem z NPC

Dodaj:

elseif msgcontains(msg, 'trade') and getDistanceToCreature(cid) < 4 then
selfSay('You can buy rope, shovel, backpack, fishing rod, torch and a vial here.')
 
Odp: Problem z NPC

Dzi?ki wielkie ! Oczywi?cie reput leci. Ale potrzebuje jeszcze odpowiedzi, jak mog? zmieni? jego pozycj? w kt?r? patrzy, czyli np. on patrzy w lewo, a ja chce ?eby patrzy? w do?.
 
Ostatnia edycja:
Status
Zamknięty.
Back
Do góry