Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''mensagens offline''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

Encontrado 1 registro

  1. 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
×
×
  • Criar Novo...