Fazeer 0 Postado Julho 23, 2010 Share Postado Julho 23, 2010 Bom, não consigo fazer um NPC que conte uma historia e te teletransporta pra um lugar, se alguem poder me ajudar vou por o dialogo e a cordenada pra onde vai Você - Hi Diabo - CALE-SE mortal! Eu dou as ordens aqui, quer ouvir o que tenho para te contar? Você - Contar Diabo - Há muitos anos vim para esse lugar... Diabo - *Aquele anjo maldito ainda me paga* Diabo - A cada dia ele manda mais um para este horrivel lugar Diabo - Vejo um odio em seu coração Diabo - Estou certo? Você - Certo Diabo - Você pode me ajudar a me vingar e libertar todos desse maldito lugar? Você - Ajudar Diabo - Boatos dizem que esse Anjo Querubim aparece raramente nas redondezas da Sorlavin (cidade), se você matar esse anjo, todos do inferno poderão voltar a vida e você ganhara uma recompensa matando-o, aceita essa missão? Você - Yes Diabo - Lembre-se, ele é uma criatura muito forte! Ai o diabo te teletransporta pro local que seria x=1031 y=1022 z=7 É só isso, penso que não seja tão complicado ( Se você achar melhor pode unir algumas falas do diabo ) apesar de ser comprido, quem poder ajudar estarei agradecido! Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Julho 23, 2010 Share Postado Julho 23, 2010 (editado) Como acho que você sabe registrar NPCs, vou apenas passar o script abaixo, 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 msgCallback(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, 'contar')) then npcHandler:say("Há muitos anos vim para esse lugar...", cid) addEvent(selfSay, 2000, "*Aquele anjo maldito ainda me paga*", cid) addEvent(selfSay, 4000, "A cada dia ele manda um para este horrível lugar...", cid) addEvent(selfSay, 8000, "Vejo um ódio em seu coração, estou {certo}?", cid) talkState[talkUser] = 1 end if(msgcontains(msg, 'certo') and talkState[talkUser] == 1) then npcHandler:say("Você pode me {ajudar} a me vingar e libertar todos desse maldito lugar?", cid) talkState[talkUser] = 2 end if(msgcontains(msg, 'ajudar') and talkState[talkUser] == 2) then npcHandler:say("Boatos dizem que esse Querubim aparece raramente nas redondezas de Sorlavin.\nSe você matar esse anjo, todos do inferno poderão voltar a vida e você ganhará uma recompensa por matar-lo, aceita a missão?", cid) talkState[talkUser] = 3 end if(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then npcHandler:say("Lembre-se, ele é uma criatura muito forte!", cid) addEvent(doTeleportThing, 1000, cid, {x=1031, y=1022, z=7}) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, msgCallback) npcHandler:setMessage(MESSAGE_GREET, "CALE-SE mortal! Eu dou as ordens aqui, quer ouvir o que eu tenho para te {contar}?") npcHandler:addModule(FocusModule:new()) Detalhe: Você não precisa atribuir uma mensagem de boas-vindas (Quando o jogador fala Hi) no arquivo XML. Editado Julho 23, 2010 por Oneshot Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados