drakylucas 160 Postado Setembro 25, 2010 Share Postado Setembro 25, 2010 iae galerinha do xtibia.. tipo gente eu to tentando faze npc aki mais nao ta dando mto certo... entao vou recorrer ao xtibia.. tipo alguem pode fazer um npc simples pa mim e dps eu modifico como eu kero ake? faz um com umas 5 ou 6 falas.. versao: 8.54 - tfs 0.3.6 crying danson... dados: nao é de venda.. faz tipo o player falar: hi npc: olá |PLAYERNAME|, blablabla bola npc: você deseja uma bola? [b]yes npc: pronto.[/b] [b]no npc: ok, nao vo da a bola![/b] bye npc: good bye, |PLAYERNAME|. tipo só faz assim que eu modifico aki em ksa tudo certim... eu ateh consegui fazer mais por exemplo chega nessa hora: npc: você deseja uma bola? e eu digito bye, qnd dou hi dinovo ele volta nessa msma hora e eu gostaria que voltasse ao inicio do script =/ alguem ajuda plz =d THX Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/ Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Setembro 25, 2010 Share Postado Setembro 25, 2010 (editado) retirado Editado Setembro 25, 2010 por Vodkart Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938315 Compartilhar em outros sites More sharing options...
drakylucas 160 Postado Setembro 25, 2010 Autor Share Postado Setembro 25, 2010 nao funcionou... 16:05 [Pokeland]Lucas [101]: darkness ball 16:05 Color: you need change you pokeball for darknessball? 16:05 [Pokeland]Lucas [101]: bye 16:05 Color: Good bye, [Pokeland]Lucas! 16:05 [Pokeland]Lucas [101]: hi 16:05 Color: Hello [Pokeland]Lucas, I am sell and buy coins! 16:05 [Pokeland]Lucas [101]: yes 16:05 Color: Please put ball with pokémon and say again. cara tipo o npc eu sei fazer o problema é que ele se eu digo bye e hi dinovo ele nao volta ao inicio.. ele volta aonde ele tinha parado e eu gostaria que voltasse ao talkstate 0.... plz ajeita =d olha meu npc como fico mais msmo assim nao volta local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'darkness ball') or msgcontains(msg, 'DARKNESS BALL')) then selfSay('you need change you pokeball for darknessball? ', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'yes') and talkState[talkUser] == 1 ) then local item = getPlayerSlotItem(cid,8).itemid if item == nil then selfSay('put your ball in correct slot and execute this action again!', cid) talkState[talkUser] = 0 end if item == 2128 or item == 2654 then if doPlayerRemoveMoney(cid,350000) then doTransformItem(getPlayerSlotItem(cid,8).uid,2650) selfSay('you ball changed.', cid) talkState[talkUser] = 0 else selfSay('you need 350 dollars.', cid) talkState[talkUser] = 0 end else selfSay('Please put ball with pokémon and say again.', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] == 1 then selfSay("ok, fale dinovo mais tarde", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938404 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Setembro 25, 2010 Share Postado Setembro 25, 2010 (editado) local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'darkness ball') or msgcontains(msg, 'DARKNESS BALL')) then selfSay('you need change you pokeball for darknessball? ', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then local item = getPlayerSlotItem(cid,8).itemid if item == nil then if item == 2128 or item == 2654 then if doPlayerRemoveMoney(cid,350000) then doTransformItem(getPlayerSlotItem(cid,8).uid,2650) selfSay('you ball changed.', cid) talkState[talkUser] = 0 else selfSay('you need 350 dollars.', cid) talkState[talkUser] = 0 end else selfSay('Please put ball with pokémon and say again.', cid) talkState[talkUser] = 0 end else selfSay('put your ball in correct slot and execute this action again!', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("ok, fale dinovo mais tarde", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) obs: eu testei aquele npc que eu fiz e funfo de boa olha 17:32 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 17:32 Vodkart [150]: bola 17:32 Alfredo: você deseja uma bola? yes 17:32 Vodkart [150]: yes 17:32 Alfredo: Pronto aqui está sua bola! xD Editado Setembro 25, 2010 por Vodkart Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938440 Compartilhar em outros sites More sharing options...
vamosnessa 0 Postado Setembro 25, 2010 Share Postado Setembro 25, 2010 olha meu topico vodkart por faavor velho. faz mais de uma semana.. http://www.xtibia.com/forum/topic/141362-nova-vocationcom-spell/ Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938443 Compartilhar em outros sites More sharing options...
drakylucas 160 Postado Setembro 25, 2010 Autor Share Postado Setembro 25, 2010 vodkart vc nao ta intendendo funcionar ele funciona normal o problema é que quando eu do bye ou saiu da tela ele nao volta ao talk_state 0........... dae se eu falar hi darkness ball bye hi yes funciona.. e nao é pa isso ocorrer.. é pa funciona só se for tudo uma vez sem dar bye no meio..... intendeu agora??? thx Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938480 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Setembro 25, 2010 Share Postado Setembro 25, 2010 aqui no meu funciona olhe: 20:19 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 20:19 Vodkart [150]: ball 20:19 Alfredo: you need change you pokeball for darknessball? 20:19 Vodkart [150]: bye 20:19 Alfredo: Good bye, Vodkart! 20:19 Vodkart [150]: hi 20:19 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 20:19 Vodkart [150]: yes 20:20 Vodkart [150]: yes 20:20 Vodkart [150]: yes a diferença que de "draken ball" eu coloquei só "ball" Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938497 Compartilhar em outros sites More sharing options...
drakylucas 160 Postado Setembro 25, 2010 Autor Share Postado Setembro 25, 2010 (editado) peguei lib ors npc original do tfs e msmo assim se eu do bye e hi dinovo ele continua... ow to com uma duvida.. pq qnd eu uso doTransformItem num npc da crash server? peguei a base assim olha: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'list')) then selfSay('Eu troco pelas balls: {darkness ball}, {love ball} por 350 dollars cada.', cid) elseif(msgcontains(msg, 'darkness ball')) then selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 350 dollars?', cid) talkState[talkUser] = 1 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveMoney(cid, 350000) == true) then selfSay('Obrigado por comprar!', cid) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 350 dollars.', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) se eu dexo assim da erro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'list')) then selfSay('Eu troco pelas balls: {darkness ball}, {love ball} por 350 dollars cada.', cid) elseif(msgcontains(msg, 'darkness ball')) then selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 350 dollars?', cid) talkState[talkUser] = 1 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveMoney(cid, 350000) == true) then doTransformItem(getPlayerSlotItem(cid,8).uid,2650) selfSay('Obrigado por comprar!', cid) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 350 dollars.', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) plz help.. =d Editado Setembro 26, 2010 por DrakyLucas Link para o comentário https://xtibia.com/forum/topic/141914-pedido-npc/#findComment-938517 Compartilhar em outros sites More sharing options...
Posts Recomendados