Postado Julho 1, 2015 9 anos Preciso de um NPC que leve o player para a ilha que escolher ex : -Hi -Olá |NAME| , Posso te levar para a "ilha 1" ou "ilha 2". Qual deseja ir? -ilha 1 Dai a pessoa é teleportada até essa ilha... Help me. UP UP Editado Julho 1, 2015 9 anos por ArthurRibeiro (veja o histórico de edições) - Projetando sua diversão ! - Minha Steam, adiciona lá
Postado Julho 1, 2015 9 anos Solução Crie um arquivo .xml e só edite o nome do npc que deseja por. <?xml version="1.0"?> <npc name="NOME NPC" script="data/npc/scripts/ilha.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="264" head="20" body="39" legs="45" feet="7" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| Posso te levar para a {ilha 1} e {ilha 2}, para qual deseja ir?" /> </parameters> </npc> Agora crie um arquivo ilha.lua em npcs/scripts e cole dentro e modifique apenas as coordenadas das ilhas. local ILHA = {x = XXX, y = XXX, z = X} -- POSIÇÃO DE ILHA local ILHA2 = {x = XXX, y = XXX, z = X} -- POSIÇÃO DA ILHA2 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} 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, "ilha 1") then selfSay("How rude!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, ilha) doSendMagicEffect(ilha, 10) talkState[talkUser] = 0 end if msgcontains(msg, "ilha 2") then selfSay("How rude!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, ilha2) doSendMagicEffect(ilha2, 10) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora crie um arquivo.xml e cole dentro e mude o nome do npc: <?xml version="1.0"?> <npc name="NOME NPC" script="data/npc/scripts/origem.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="264" head="20" body="39" legs="45" feet="7" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| deseja voltar para a cidade origem?" /> </parameters> </npc> Agora crie um arquivo chamado origem.lua na pasta scripts e cole dentro: local DESTINO = {x = XXX, y = XXX, z = X} -- POSIÇÃO DE DESTINO local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} 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, "yes") then selfSay("How rude!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, DESTINO) doSendMagicEffect(DESTINO, 10) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Julho 2, 2015 9 anos por nookia (veja o histórico de edições) The medieval RpG Server [RpG] OLDWORLD OPEN TIBIA
Postado Julho 1, 2015 9 anos Autor Crie um arquivo .xml e só edite o nome do npc que deseja por. <?xml version="1.0"?> <npc name="NOME NPC" script="data/npc/scripts/ilha.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="264" head="20" body="39" legs="45" feet="7" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| Posso te levar para a {ilha 1} e {ilha 2}, para qual deseja ir?" /> </parameters> </npc> Agora crie um arquivo ilha.lua em npcs/scripts e cole dentro e modifique apenas as coordenadas das ilhas. local ILHA = {x = XXX, y = XXX, z = X} -- POSIÇÃO DE ILHA local ILHA2 = {x = XXX, y = XXX, z = X} -- POSIÇÃO DA ILHA2 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} 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, "ilha 1") then selfSay("How rude!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, ilha) doSendMagicEffect(ilha, 10) talkState[talkUser] = 0 end if msgcontains(msg, "ilha 2") then selfSay("How rude!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, ilha2) doSendMagicEffect(ilha2, 10) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Obrigado pela resposta amigo Quando estiver no pc vou testar e te dar o seu +REP. Como faz para o player após ir para a ilha voltar para a sua cidade de origem? Obrigado. Editado Julho 1, 2015 9 anos por ArthurRibeiro (veja o histórico de edições) - Projetando sua diversão ! - Minha Steam, adiciona lá
Postado Julho 2, 2015 9 anos Modifique o post lá encima com outro npc para voltar a cidade de origem. The medieval RpG Server [RpG] OLDWORLD OPEN TIBIA
Postado Julho 2, 2015 9 anos Autor Modifique o post lá encima com outro npc para voltar a cidade de origem. Thanks +REP - Projetando sua diversão ! - Minha Steam, adiciona lá
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.