Postado Dezembro 22, 2014 10 anos Este é um post popular. Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores. [data/npc/Mensageira.xml] <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua] local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {} 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 talkState[cid] == 1 then selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close() talkState[cid] = 0 elseif msgcontains(msg, 'mensagem') then selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid) talkState[cid] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Aí você deixa ele no templo, sei lá, faz qualquer coisa Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua Editado Dezembro 22, 2014 10 anos por Godfather (veja o histórico de edições) koe
Postado Janeiro 28, 2015 10 anos O meu não deu... ficou dando erro quando falo com o npc, e n cria o documento de texto... ;/
Postado Janeiro 28, 2015 10 anos o meu fez tudo menos deixar a mensagem no arquivos nen criou o arquivo e ainda deu erro : [28/01/2015 20:33:19] [Error - Npc interface] [28/01/2015 20:33:19] data/npc/scripts/menssenger.lua:onCreatureSay [28/01/2015 20:33:19] Description: [28/01/2015 20:33:19] data/npc/scripts/menssenger.lua:23: attempt to index local 'read' (a nil value) [28/01/2015 20:33:19] stack traceback: [28/01/2015 20:33:19] data/npc/scripts/menssenger.lua:23: in function 'callback' [28/01/2015 20:33:19] data/npc/lib/npcsystem/npchandler.lua:390: in function 'onCreatureSay' [28/01/2015 20:33:19] data/npc/scripts/menssenger.lua:10: in function <data/npc/scripts/menssenger.lua:10> o meu é o tfs 3.6.0 eu acho meu servidor na versão 8.6 Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
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.