-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
- 0 respostas
- 599 visualizações
-
- 0 respostas
- 502 visualizações
-
- 0 respostas
- 1625 visualizações
-
- 0 respostas
- 1248 visualizações
-
- 1 resposta
- 2318 visualizações
-

Pergunta
godjean 0
Ola galera do Xtibia
Então eu vim aqui pedir um script de npc que faça o Seguinte
Ele vai ter varias funções e tal...
eu tenho um aqui como base porem não esta funcionando corretamente...
ae ele
local focus = 0 local talk_start = 0 local target = 0 local days = 0 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 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('Hi ' .. creatureGetName(cid) .. '! what you want mortal?') 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, 'energyze elemental necklace') and getItemStackable(cid,2173) then selfSay('I can energyze your necklace for 50k, amulet for 100k or your magic amulet for 150k, do you want energyze?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2197,1) == 1 then doPlayerSendTextMessage(cid,22,"Voce Energizou seu Elemental necklace.") buy(cid,13682,getCount(msg),50000) selfSay('energyze the elemental necklace sucessfull.') else selfSay('Sorry, you do not have elemental necklace.') end end talk_state = 0 elseif msgcontains(msg, 'energyze spirit elemental amulet') or msgcontains(msg, 'energyze 2') then selfSay('I can energyze your necklace for 50k, amulet for 100k or your magic amulet for 150k, do you want energyze?') talk_state = 2 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2173,1) == 1 then buy(cid,13683,getCount(msg),100000) doPlayerSendTextMessage(cid,22,"Voce Energizou seu Spirit elemental necklace.") selfSay('energyze the spirit necklace sucessfull.') else selfSay('Sorry, you do not have one spirit elemental necklace.') end end talk_state = 0 elseif msgcontains(msg, 'energyze magic elemental amulet') or msgcontains(msg, 'energyze 3') then selfSay('I can energyze your necklace for 50k, amulet for 100k or your magic amulet for 150k, do you want energyze?') talk_state = 3 elseif talk_state == 3 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2125,1) == 1 then buy(cid,13684,getCount(msg),150000) doPlayerSendTextMessage(cid,22,"Voce Energizou seu Magic elemental amulet.") selfSay('energyze the magic amulet sucessfull.') else selfSay('Sorry, you do not have one magic amulet.') end end talk_state = 0 elseif msgcontains(msg, 'elemental necklace') or msgcontains(msg, 'necklace') then selfSay('You change a mysterious, dragon breath, scorpion, platinum, fluids and vampire tooth,change all for a Elemental necklace?') talk_state = 4 elseif talk_state == 4 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2201,1) == 0 then elseif doPlayerRemoveItem(cid,2198,1) == 0 then elseif doPlayerRemoveItem(cid,2170,1) == 0 then elseif doPlayerRemoveItem(cid,2171,1) == 0 then elseif doPlayerRemoveItem(cid,2172,1) == 0 then elseif doPlayerRemoveItem(cid,2161,1) == 0 then elseif doPlayerAddItem(cid,2197,1) == 0 then selfSay('change the amulet\'s for one elemental necklace sucessfull.') else selfSay('change the amulet\'s for one elemental necklace sucessfull.') end end talk_state = 0 elseif msgcontains(msg, 'spirit elemental necklace') or msgcontains(msg, 'spirit necklace') then selfSay('You change a need a Ialamar, frozzen, sickness, Samantha, Mastafar, priest and eletric, change for a Spirit Elemental amulet?') talk_state = 5 elseif talk_state == 5 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2129,1) == 0 then elseif doPlayerRemoveItem(cid,2199,1) == 0 then elseif doPlayerRemoveItem(cid,2135,1) == 0 then elseif doPlayerRemoveItem(cid,2126,1) == 0 then elseif doPlayerRemoveItem(cid,2131,1) == 0 then elseif doPlayerRemoveItem(cid,2130,1) == 0 then elseif doPlayerRemoveItem(cid,2133,1) == 0 then elseif doPlayerAddItem(cid,2173,1) == 0 then selfSay('change the amulet\'s for one spirit elemental necklace sucessfull.') else selfSay('change the amulet\'s for one spirit elemental necklace sucessfull.') end end talk_state = 0 elseif msgcontains(msg, 'magic elemental amulet') or msgcontains(msg, 'magic amulet') then selfSay('You change a Merlian, relic of the hell, Broonier, Thordain, dark wyzard, angel and gaya,change all for Elemental magic amulet?') talk_state = 6 elseif talk_state == 6 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2138,1) == 0 then elseif doPlayerRemoveItem(cid,2139,1) == 0 then elseif doPlayerRemoveItem(cid,2142,1) == 0 then elseif doPlayerRemoveItem(cid,2200,1) == 0 then elseif doPlayerRemoveItem(cid,2196,1) == 0 then elseif doPlayerRemoveItem(cid,2132,1) == 0 then elseif doPlayerRemoveItem(cid,2136,1) == 0 then elseif doPlayerAddItem(cid,2125,1) == 0 then selfSay('change the amulet\'s for one elemental magic amulet sucessfull.') else selfSay('change the amulet\'s for one elemental magic amulet sucessfull.') end end talk_state = 0 elseif msgcontains(msg, 'bless') or msgcontains(msg, 'blessing') then getPlayerBlessing(cid,1) getPlayerBlessing(cid,2) getPlayerBlessing(cid,3) getPlayerBlessing(cid,4) getPlayerBlessing(cid,5) selfSay('deseja compra o bless ?') talk_state = 7 elseif talk_state == 7 then if msgcontains(msg, 'yes') then if pay(cid,1000000) then doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) doPlayerSendTextMessage(cid,22,"Você recebeu a benção de Isolda.") else selfSay('Desculpe, mas voce não tem Ruby Coin suficiente.') end end talk_state = 0 elseif msgcontains(msg, 'reset') then selfSay('is necessary for you to reset this level 500 and Valan. Would you like to reset?') talk_state = 8 elseif msgcontains(msg, 'yes') then if getPlayerVocation(cid) > 12 then selfSay('You have no vocation required.') talk_state = 0 if getPlayerVocation(cid) < 9 then selfSay('You have no vocation required.') talk_state = 0 elseif getPlayerLevel(cid) < 500 then selfSay('Desculpe, você precisa ser level 50 para se tornar promoted.') talk_state = 0 elseif not isPremium(cid) then selfSay('Desculpe, você precisa ser premium account para ser promoted.') talk_state = 0 elseif doPlayerRemoveItem(cid,5958,1) == 1 then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) doSendAnimatedText(getPlayerPosition(cid), "Promoted", TEXTCOLOR_LIGHTGREEN) doSendMagicEffect(getPlayerPosition(cid),14) selfSay('You have been reset successfully.') doPlayerSendTextMessage(cid,21,"Reset Complet.'.") talk_state = 0 else selfSay('Voce não tem o item necessario para fazer o seu Promotion.') talk_state = 1 end talk_state = 0 elseif msgcontains(msg, 'offer') then selfSay('I can do an element item or energyze your element item, i only need all "necklace", "amulet" ou "magics" amulet, also can bless a little mortal and reset a god!') elseif msgcontains(msg, 'energyze') then selfSay('I can tell your amulet energyze just say "energyze elemental necklace" "energyze elemental spirit amulet" "energyze elemental magic amulet.') elseif msgcontains(msg, 'necklace') then selfSay('I only need a mysterious, dragon breath, scorpion, platinum, fluids and vampire tooth, accept change all for a Elemental necklace?') elseif msgcontains(msg, 'amulet') then selfSay('I only need a Ialamar, frozzen, sickness, Samantha, Mastafar, priest and eletric, accept change all for a Spirit Elemental amulet?') elseif msgcontains(msg, 'magics') then selfSay('I only need a Merlian, relic of the hell, Broonier, Thordain, dark wyzard, angel and gaya, accept change all for a Elemental magic amulet?') elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) 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 endEle é um pouco antigo deve ser por isso
Link para o comentário
https://xtibia.com/forum/topic/186434-script-npc/Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados