Postado Janeiro 31, 2015 10 anos Este é um post popular. Explicação: É um npc que pede ajuda para quem passa, se a pessoa o ajudar ela será teleportada pra um lugar configurável, e nesse lugar a pessoa coloca o que quiser. Vá em data/npc e crie um arquivo chamado Mendigo.xml e coloque o seguinte conteúdo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Mendigo" script="data/npc/scripts/mendigo.lua" walkinterval="2000" floorchange="0" access="5" lookdir="1" > <health now="150" max="150"/> <look type="153" head="114" body="60" legs="78" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|! Voce pode me {ajudar}?"/> <parameter key="message_alreadyfocused" value="Voce ja esta falando comigo."/> <parameter key="message_farewell" value="Ate logo amigo."/> </parameters> </npc> Agora vá em data/npc/scripts e crie um arquivo chamado mendigo.lua e coloque o seguinte conteúdo: local config = { stg = 99487, -- STORAGE stgtime = 99488, -- STORAGE PARA CONTROLAR TEMPO DE MENSAGENS cost = 1000, -- Quantia a ser doada pos = {x = 160, y = 54, z = 7}, -- Pos para onde o player sera teleportado seconds = 120 --Tempo em segundos para repetir a mensagem ao player } 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 local function sendMessage() local list = getSpectators(getNpcPos(), 4, 4, false) for i, tid in ipairs(list) do if isPlayer(tid) and getPlayerStorageValue(tid, config.stg) <= 0 then if getPlayerStorageValue(tid, config.stgtime) < os.time () then selfSay("Meu amigo " .. getPlayerName(tid) .. ", por favor me ajude!") setPlayerStorageValue(tid, config.stgtime, os.time() + config.seconds) end end end end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if not npcHandler:isFocused(cid) then return false end if getPlayerStorageValue(cid, config.stg) > 0 then selfSay('Obrigado amigo de bom coracao, voce ja me ajudou.', cid) return true else if msgcontains(msg, "ajudar") then selfSay("Voce teria "..config.cost.." gp's pra me ajudar ?", cid) talkState[talkUser] = 1 elseif (msgcontains(msg, "sim") or msgcontains(msg, "yes")) and talkState[talkUser] == 1 then if doPlayerRemoveMoney(cid, config.cost) then selfSay("Obrigado!", cid) doTeleportThing(cid, config.pos) setPlayerStorageValue(cid, config.stg, 1) else selfSay("Voce tem pouco dinheiro! Melhor guardar, para passar pela minha situacao", cid) end talkState[talkUser] = 0 elseif msgcontains(msg, "nao") or msgcontains(msg, "no") then talkState[talkUser] = 0 selfSay("Espero que voce nunca precise de ajuda.", cid) end end return true end function onThink() sendMessage() end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Atenciosamente, Bruno Minervino
Postado Janeiro 31, 2015 10 anos Legal cara, é uma boa ideia inicial para uma quest '-' com certeza seria bom alguém usar. Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado). Tópicos: [FAQ] BBCODE [LIB] Constant [RME] Administrando bordas. [TALK] Broadcast Editável. [TALK] Sugest. [TALK] Checkpoint. [MOVE] Pântano pegajoso. [ACTION] Piggy Bank. (Cassino). [GLOBAL] Uptime Ad. [C0DE] Consertando 'Invalid Password' [PROGRAM] Quest Maker
Postado Janeiro 31, 2015 10 anos Autor Legal cara, é uma boa ideia inicial para uma quest '-' com certeza seria bom alguém usar. Vlw man kkk O Summ tava encucado com isso e me fez ficar tbm kkkk, mais ainda bem que deu certo! Atenciosamente, Bruno Minervino
Postado Fevereiro 2, 2015 10 anos Amigo não esqueça de colocar os meus creditos pode ter dado a ideia do NPC Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Fevereiro 3, 2015 10 anos Muito interessante, da pra criar um RPG bem legal com scripts assim. Reputado. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
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.