kazaana 2 Postado Fevereiro 16, 2014 Share Postado Fevereiro 16, 2014 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 if msgcontains(msg, "mudar") and getPlayerStorageValue(cid, oraculo) - 1 then selfSay("Deseja mudar de classe ? {sim}", cid) talkState[cid] = 1 elseif msgcontains(msg, "mudar") and getPlayerStorageValue(cid, oraculo) == 1 then selfSay("Voce de novo, voce quer encarar seu destino?", cid) talkState[cid] = 1 end if msgcontains(msg, 'sim') and talkState[cid] == 0 and getPlayerLevel(cid) >= 8 then selfSay("Entao voce quer sair desta salinha?", cid) talkState[cid] = 1 else if talkState[cid] == 0 and msgcontains(msg, 'sim') and getPlayerLevel(cid) < 0 then selfSay("Voce acha q isso eh uma brincadeira? Volte quando estiver forte.", cid) setPlayerStorageValue(cid, oraculo, 1) return true end if msgcontains(msg, 'sim') and talkState[cid] == 1 then selfSay("Tudo bem. você ganhara a xxxxx, {ok}?", cid) talkState[cid] = 2 end if msgcontains(msg, 'ok') and talkState[cid] == 2 then selfSay("Otimo... Voce pode ser um {CLASSE}...", cid) selfSay("...", cid) talkState[cid] = 3 end if msgcontains(msg, 'dumbledore') and talkState[cid] == 3 then selfSay("Voce quer ser um XXXXX de CIDADE?", cid) selfSay("{sim}", cid) talkState[cid] = 4 elseif msgcontains(msg, 'druidakkz') and talkState[cid] == 3 then selfSay("Tem certeza q deseja ser um(a) Druida?", cid) selfSay("Saiba q qualquer decisao q tome eh irrevogavel. Portanto pense bem...", cid) talkState[cid] = 5 elseif msgcontains(msg, 'Renegadokkk') and talkState[cid] == 3 then selfSay("Tem certeza q deseja ser um Renegado?", cid) selfSay("Voce nao poderá escolher denovo...{sim}", cid) talkState[cid] = 6 elseif msgcontains(msg, 'cavaleirokkz') and talkState[cid] == 3 then selfSay("Tem certeza q deseja ser um(a) Cavaleiro(a)?", cid) selfSay("Saiba q qualquer decisao q tome eh irrevogavel. Portanto pense bem...", cid) talkState[cid] = 7 end if msgcontains(msg, 'sim') and talkState[cid] == 4 then doPlayerSetVocation(cid, 3) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22,"Voce virou um XXXXX (a).") talkState[cid] = 8 elseif msgcontains(msg, 'sim') and talkState[cid] == 5 then doPlayerSetVocation(cid, 0) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22,"Agora vc eh um(a) Druida") talkState[cid] = 9 elseif msgcontains(msg, 'sim') and talkState[cid] == 6 then doPlayerSetVocation(cid, 2) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22,"Agora voce e um Renegado") talkState[cid] = 10 elseif msgcontains(msg, 'sim') and talkState[cid] == 7 then doPlayerSetVocation(cid, 0)----------------------------------------------------------ID da vocação escolhida (Conferida em "data/XML/vocations") doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22,"Agora vc eh um(a) Cavaleiro(a)") talkState[cid] = 11 end if talkState[cid] == 8 or talkState[cid] == 9 or talkState[cid] == 10 or talkState[cid] == 11 then selfSay("Otimo agora, que voce e um dumbledore, voce pode escolher sua nova cidade... {Ok}?", cid) talkState[cid] = 12 end if msgcontains(msg, "ok") and talkState[cid] == 12 then selfSay("Voce deseja começar sua vida de XXXXX? {CIDADE}", cid) selfSay("Quer ir mesmo?", cid) talkState[cid] = 13 end if msgcontains(msg, "CIDADE") and talkState[cid] == 13 then selfSay("Vai querer mesmo ir para CIDADE? {sim}", cid) talkState[cid] = 14 elseif msgcontains(msg, "thaiszz") and talkState[cid] == 13 then selfSay("Tem certeza q deseja {VIVER} em Thais?", cid) talkState[cid] = 15 elseif msgcontains(msg, "venorezz") and talkState[cid] == 13 then selfSay("Tem certeza q deseja {VIVER} em Venore?", cid) talkState[cid] = 16 end if msgcontains(msg, "sim") and talkState[cid] == 14 then selfSay("Boa viagem XXXXX e tome cuidado", cid) doPlayerSetTown(cid, 1)-------------------------------------------------------ID da nova cidade (Conferido pelo map editor) doTeleportThing(cid, {x=1000, y=1000, z=7, stackpos=253})-------------------coordenadas da nova cidade doPlayerSendTextMessage(cid, 22,"Bem vindo a Diagonal") elseif msgcontains(msg, "sim") and talkState[cid] == 15 then selfSay("Boa viagem e tome cuidado", cid) doPlayerSetTown(cid, 5)-------------------------------------------------------ID da nova cidade (Conferido pelo map editor) doTeleportThing(cid, {x=32369, y=32241, z=7, stackpos=253})-------------------coordenadas da nova cidade doSendMagicEffect({x=32369, y=32241, z=7, stackpos=253}, 10)------------------coordenadas do efeito de teleporte doPlayerSendTextMessage(cid, 22,"Bem vindo. Agora vc eh um cidadao de Thais") elseif msgcontains(msg, "sim") and talkState[cid] == 16 then selfSay("Boa viagem e tome cuidado", cid) doPlayerSetTown(cid, 6)-------------------------------------------------------ID da nova cidade (Conferido pelo map editor) doTeleportThing(cid, {x=32957, y=32076, z=7, stackpos=253})-------------------coordenadas da nova cidade doSendMagicEffect({x=32957, y=32076, z=7, stackpos=253}, 10)------------------coordenadas do efeito de teleporte doPlayerSendTextMessage(cid, 22,"Bem vindo. Agora vc eh um cidadao de Venore") end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) explicando elseif msgcontains(msg, "mudar") and getPlayerStorageValue(cid, oraculo) == 1 then selfSay("Voce de novo, voce quer encarar seu destino?", cid) talkState[cid] = 1 end if msgcontains(msg, 'sim') and talkState[cid] == 0 and getPlayerLevel(cid) >= 8 then selfSay("Entao voce quer sair desta salinha?", cid) talkState[cid] = 1 else if talkState[cid] == 0 and msgcontains(msg, 'sim') and getPlayerLevel(cid) < 0 then selfSay("Voce acha q isso eh uma brincadeira? Volte quando estiver forte.", cid) setPlayerStorageValue(cid, oraculo, 1) return true end Nessa parte não mexa deixe como esta ! if msgcontains(msg, "mudar") and getPlayerStorageValue(cid, oraculo) - 1 then selfSay("Deseja mudar de classe ? {sim}", cid) talkState[cid] = 1 mudar - Palavra ue o personagem tem ue dizer {sim} - Palavra para confirmar Deseja mudar de classe ? - o ue o npc falara ! if msgcontains(msg, 'sim') and talkState[cid] == 4 then doPlayerSetVocation(cid, 3) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22,"Voce virou um XXXXX (a).") talkState[cid] = 8 doPlayerSetVocation(cid, 3) - No 3 colo ue o ID DA VOCATION ! doPlayerSendTextMessage(cid, 22,"Voce virou um XXXXX (a).") - MENSAGEM UE O NPC DIRA ! Agora configure e deixe como você achar melhor :] ~~ é isso ae . Link para o comentário https://xtibia.com/forum/topic/228789-npc-mudando-classe/ Compartilhar em outros sites More sharing options...
RigBy 285 Postado Março 14, 2014 Share Postado Março 14, 2014 (editado) Não sei porque mas eu tenho uma breve sensação que essa script não e sua, se não for poste os créditos. E eu acho melhor você coloca local's pra que fique mas fácil de iniciante configurarem, pois alguns tem preguiça de ler a script. Alem de usa identificação que fica melhor. Fora isso obrigado por contribuir pro xtibia. Editado Março 14, 2014 por RigBy Link para o comentário https://xtibia.com/forum/topic/228789-npc-mudando-classe/#findComment-1623140 Compartilhar em outros sites More sharing options...
Posts Recomendados