Pesquisar na Comunidade
Mostrando resultados para as tags ''sistema de mensagens off''.
Encontrado 1 registro
-
Ola galerinha xtibiana. Vou disponibilizar um sistema de mensagens offline de modo simples e pratica. Não e necessário a utilização de database basta um arquivo de texto. Para mandar uma mensagem e so dizer /msg(nome do player, mensagem). E quando o player logar ele vai ter que abrir uma channel de mensagens off e ele receberá as mensagens. Vamos a instalação. Crie um arquivo de TEXTO chamado de mensagens na pasta data do seu otserv Agora vá em lib e crie um arquivo lua chamado de mensagens: function doSendMsg(cid, receptor, msg) local file = io.open("./mensagens.txt", "a") file:write("\n Player "..tostring(receptor).." Mensagem: "..tostring(msg).." por "..getCreatureName(cid).."End") file:close() end function getPlayerMgs(name) local x = {} local msg = io.open("./mensagens.txt", "r") for i in msg:read("*a"):gmatch("Player "..name.." Mensagem: (.-)End") do table.insert(x, tostring(i)) io.close() end return x or 0 end Vá em data/xml e abra o arquivo channel.xml. E coloque isto: Vá em talkactions e crie um arquivo lua chamado de mens e coloque isto: function onSay(cid, words, param, channel) local t = string.explode(param, ",") if not t[1] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você deve dizer o nome do player /msg(nome do player, mensagem)") and false end if not t[2] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você deve escrever a mensagem /msg(nome do player, mensagem)") and false end if #t[2] <= 4 then return doPlayerSendCancel(cid, "Você deve dizer a msg com mais de 4 caracteres /msg(nome do player, mensagem)") and false end if not playerExists(t[1]) then return doPlayerSendCancel(cid, "Este player não existe") and false end local pid = getPlayerByNameWildcard(receptor) if pid then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua mensagem não foi enviado porque este player esta online") and false end doSendMsg(cid, t[1], t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua mensagem foi enviado com sucesso para "..t[1].."") return true end Vá em talkactions.xml e coloque esta tag: Vá em creaturescripts e crie um arquivo lua chamado de mens e coloque este código: function onLogin(cid) local mens = getPlayerMgs(getCreatureName(cid)) local str = "Você tem "..#mens.." mensagens olhe na channel de Mensagens Off" if #mens >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) return true end return true end Vá em creaturescripts e crie um arquivo lua chamado de mensagens e coloque isto: function onJoinChannel(cid, channelId) if channelId == 68 then local mens = getPlayerMgs(getCreatureName(cid)) for i = 1, #mens do doShowTextDialog(cid, 1397, mens[i]) end return true end return true end Registre o evento em login.lua colocando isto antes do ultimo return true: Vá em creaturescripts e coloque esta tag em creaturescripts.xml: E isto ae pessoal. Agora quando o player logar ele recebe a mensagem e basta ele abrir a channel e ir clikando "Ok" nas paginas do dialogo
- 8 respostas
-
- mensagens off
- sistema de mensagens off
- (e 5 mais)