Tibia
Napisałem sam
NPC który sprzedaje lody śmietankowe i truskawkowe za 5gp
Tom.xml
<?xml version="1.0"?> <npc name="Tom" script="data/npc/scripts/lody.lua" lookdir="3" autowalk="25"> <health now="1" max="1"/> <look type="134" head="21" body="105" legs="51" feet="90"/> </npc>
lody.lua
local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Do zobaczenia.') 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('Witam ' .. getCreatureName(cid) .. '! Jestes zmeczony?? Gorąco ci ?? to kup sobie lody truskawkowe i lody smietankowe (5gp).') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Czekaj, ' .. getCreatureName(cid) .. '! Rozmawiam z kimś innym.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'lód czekoladowy') or msgcontains(msg, 'lody czekoladowe')then count = getCount(msg) price = count*8 buy(cid,7375,1,5) elseif msgcontains(msg, 'lód śmietankowy') or msgcontains(msg, 'lody śmietankowe')then count = getCount(msg) price = count*8 buy(cid,7372,1,5) elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Do widzenia, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() if focus > 0 then x, y, z = creatureGetPosition(focus) myx, myy, myz = selfGetPosition() if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then selfTurn(1) end if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then selfTurn(3) end if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then selfTurn(2) end if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then selfTurn(0) end if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(2) end if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(0) end if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(3) end if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(1) end if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(2) end if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(0) end if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(3) end if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(1) end if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(2) end if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(0) end if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(3) end if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(1) end end if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Następny...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Do Widzenia.') focus = 0 end end end
Przepraszam jeżeli nie działa ale to moj pierwszy skrypt
Offline