What's new

Problem z NPC

Status
Not open for further replies.

Edwand

Advanced User
Joined
Jul 16, 2010
Messages
260
Reaction score
28
Age
27
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
 

phern

Advanced User
Joined
Oct 30, 2008
Messages
454
Reaction score
39
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.')
 

Edwand

Advanced User
Joined
Jul 16, 2010
Messages
260
Reaction score
28
Age
27
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?.
 
Last edited:
Status
Not open for further replies.
Top