Postado Abril 7, 2015 10 anos Olá, eu gostaria de saber se é possível criar um npc que seja igual a essa estatua ID: 9242 no RME (caso não dê certo ele pode ter esse look type:287 ) e que ele tivesse a seguinte função, toda vez que alguém falasse "hi" ele iria perguntar se vc quer ajudar ele "quest, ele iria contar uma história sobre a quest e depois ele vai perguntar se o player aceita a fazer a quest e quando o player falar "yes" ele te teletransportaria para tal localização. Exemplo: NPC: Olá jogador se você deseja me ajudar? diga quest. Player: quest NPC: *NPC começa a contar a história da quest* e depois pergunta se o player quer aceitar a quest se "sim" (o player é teletransportado para um local configuravel) se não o npc diz goodbye. Desde já agradeço. Att Boush
Postado Abril 7, 2015 10 anos Solução No arquivo xml que você quer seu npc coloque isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Questeiro" script="questeiro.lua" walkinterval="0" speechbubble="1" floorchange="0"> <health now="100" max="100" /> <look typeex="9242" head="98" body="95" legs="115" feet="114" addons="0"/> <parameters> <parameter key="message_greet" value="Ola jogador voce deseja me ajudar? Diga {quest}" /> </parameters> </npc> No arquivo .lua que você vai utilizar no seu npc, coloque isso: 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) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() local config = { pos = {x = 1020, y = 1030, z = 7}, mensagens = { ["quest"] = "Então, você quer saber sobre a quest eim... Bom vou lhe contar blablablablablablablabla...", ["yes"] = "Você foi teleportado.", ["no"] = "Adeus então.", } } if msgcontains(msg, "quest") then npcHandler:say(config.mensagens["quest"], cid) elseif msgcontains(msg, "yes") then npcHandler:say(config.mensagens["yes"], cid) doTeleportThing(cid, config.pos) elseif msgcontains(msg, "no") then npcHandler:say(config.mensagens["no"], cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração: Troque o nome do seu npc aqui: name="Questeiro" e aqui script="questeiro.lua" você troca para o nome do arquivo.lua que criou para seu npc, não esqueça do ".lua" no final. Acho o resto está obvio não? _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
Postado Abril 7, 2015 10 anos Autor No arquivo xml que você quer seu npc coloque isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Questeiro" script="questeiro.lua" walkinterval="0" speechbubble="1" floorchange="0"> <health now="100" max="100" /> <look typeex="9242" head="98" body="95" legs="115" feet="114" addons="0"/> <parameters> <parameter key="message_greet" value="Ola jogador voce deseja me ajudar? Diga {quest}" /> </parameters> </npc> No arquivo .lua que você vai utilizar no seu npc, coloque isso: 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) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() local config = { pos = {x = 1020, y = 1030, z = 7}, mensagens = { ["quest"] = "Então, você quer saber sobre a quest eim... Bom vou lhe contar blablablablablablablabla...", ["yes"] = "Você foi teleportado.", ["no"] = "Adeus então.", } } if msgcontains(msg, "quest") then npcHandler:say(config.mensagens["quest"], cid) elseif msgcontains(msg, "yes") then npcHandler:say(config.mensagens["yes"], cid) doTeleportThing(cid, config.pos) elseif msgcontains(msg, "no") then npcHandler:say(config.mensagens["no"], cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração: Troque o nome do seu npc aqui: name="Questeiro" e aqui script="questeiro.lua" você troca para o nome do arquivo.lua que criou para seu npc, não esqueça do ".lua" no final. Acho o resto está obvio não? Obrigado!
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.