Vampirinhoo 1 Postado Setembro 26, 2010 Share Postado Setembro 26, 2010 (editado) * Autor: Obex Sys * Tested on: TFS 0.3.6 * Requerimento: o Lua socket > Lua modules > download aki o Conta no Yahoo mail Depois de postar tweets agora você pode enviar email para seus players, Não pense que é igual outros sevrer que você fala !email e ve o email pelo jogo, dessa vez você envia um email para os players do seu server! ai eles vão no hotmail, gmail o que for e leem o email Primeiro vou falar como fiz. Eu usei o server SMTP do yaddo. É de graça qualquer um que tiver conta no yahoo pode usar. Se quiser mudar para outro servidor SMTP pode mudar, só nao mude pro SMTP do gmail por que ele usa SSL (Secure Socket Layer) e o script nao suporta isso. Primeiro crie uma conta no yahoo, depois instale o lua modules. Agora adcione isso no talkactions.xml <talkaction log="yes" words="/email" access="5" event="script" value="email.lua"/> E em email.lua isso: Lua: --[[Config]] local config={ --Email/pass user = 'seu_email@yahoo.com.br', pass = 'suasenha123', ---SMTP config smtpserver="smtp.mail.yahoo.com.br", -- dont change it smtpport= 587, -- dont change it } --Script By Obex SyS local mime = require("mime") local smtp = require("socket.smtp") dofile('config.lua') config.username = serverName function send_mail(cid,mesgt,config,to) local _, err = smtp.send { from = '<'..config.user..'>', rcpt = '<'..to..'>', source = mesgt, user = config.user, password = config.pass, server = config.smtpserver, port = config.smtpport, domain = 'yahoo.com.br', } if not err then addEvent(doPlayerSendTextMessage,100,cid,25,'Email sent') else addEvent(doPlayerSendTextMessage,100,cid,25,'Canno t send email: '..tostring(err)) end end function getPlayerEmailByName(e) -- Function by ObeX SyS local cid = getPlayerByName(e) if not cid or not isPlayer(cid) then return false end local f = db.getResult('select `email` from accounts where id = '..getPlayerAccountId(cid)) if f:getID() ~= -1 then return f:getDataString('email'),f:free() else return false end end function onSay(cid, words, param, channel)--Script By ObeX SyS if not smtp then doPlayerSendTextMessage(cid,25,'Install lua socket.') return true end local email,sub,msg = param:match('(.-@?.?)%s*,%s*(.-)%s*,%s*(.+)') if not email:find('@') then email = getPlayerEmailByName(email) end if sub and msg then if not email or email:len() < 3 then doPlayerSendTextMessage(cid,25,'Invalid email.') return true end doPlayerSendTextMessage(cid,25,('Sending email to %s\nSubject:%s\nBody:%s'):format(email,sub,msg)) local mesgt = smtp.message({ headers = { from = config.username.." "..'<'..config.user..'>', to = '<'..email..'>', subject = sub, }, body = mime.eol(0, ([[%s %s Sent by: %s ----------------------------------- Script by ObeX SyS -----------------------------------]]):format(msg or '',serverName or '-',getCreatureName(cid))), }) addEvent(send_mail,200,cid,mesgt,config,email) else doPlayerSendTextMessage(cid,25,'Use like this: /email name@hotmail.com, Subject, Message') end return true end Não esqueça de configurar! Agora basta usar o comando. Você pode usar assim: * /email ObeX SyS,Assunto,Mensagem * /email gatinlp@hotmail.com,Assunto,Mensagem No começo eu falei para baixar o o Lua socket,Lua modules então vou colocar o download. Esse é um sistema simples que eu fiz apenas para facilitar a instalação de LuaSocket e outras libs em seu server, é como uma OTAL so que comprimida e restrita à apenas exteções em lua, podendo ser de GD ou se quiser inutilmente lua interface, se quiser pode criar modulos eu tenho um exemplo. O sistema é uma pasta com um XML que você define quais LIBS quer em seu server, você poe la exemplo, socket, depois baixa o lua socket e joga na pasta modules/scripts. Vamos lá! O sistema foi testado e funciona em QUALQUER servidor, o que pode afetar o funcionamento é sua instalação. Instalação 1º - Baixe o arquivo anexado ao topico. 2º - Coloque a pasta modules na pasta data do seu server. 3º - Se você usa TFS 0.3.6 ponha o arquivo modules.lua em data/lib ----------- Se você usa TFS 0.3.5 ou menores coloque o arquivo modules.lua em data/lib e em data.lua coloque isso: dofile('data/lib/modules.lua') ----------- Se você usa Open Tibia coloque o modules.lua na pasta data e abra o global.lua e ponha isso: dofile('data/modules.lua') ----------- 4º - Reload e pronto! Apos instalar vamos a um exempl ode como cirar um modulo. Lua: --[[ Como cirar um modulo ]] --Isso aqui é pra economizar memoria, vc define tudo q vai usar local string = require("string") local base = _G -- aqui vc poe o nome do modulo (o noem tem que ser igual do arquivo sem o .lua) module('example') --Versao _VERSION = "Example lib 1.0" -- As funçoes aki function myprint(...) --example.myprint local arg = {...} for i,b in base.pairs(arg) do io.write(tostring(b)) if i ~= #arg then io.write(', ') end end end function array(...) -- example.array return {...} end function replace(s,m,d) --example.replace return s:gsub(m,d) end Ai é so jogar na pasta modules/scripts e adcionar isso no modules.xml Código: <module name="example"/> Example é o nome do modulo Site para download de libs Lua forge Libs recomendadas: * GD * lua file system Como instalar modulos Primeiro baixe o modulo Vou usar como exemplo LUAGD http://luaforge.net/frs/download.php...33r2-win32.zip (1.6mb) Código: <module name="gd"/> Quando terminar abra o .zip e abra a pasta, dentro vai ter VARIOS arquivos. Copie todas as DLLs e cole na pasta data/modules/scripts e depois adcione essa TAG no modules.xml Arquivos Anexados Tipo de Arquivo: zip modules.zip (1,02 MB, 112 visitas) Espero que tenho o ajuda-do Att ObeX SyS Editado Setembro 26, 2010 por Vampirinhoo Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/ Compartilhar em outros sites More sharing options...
brunin86 15 Postado Setembro 26, 2010 Share Postado Setembro 26, 2010 Gostei tava precisando de 1 desse, vlw por postar ^^ REP+ Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-938833 Compartilhar em outros sites More sharing options...
DevilMoon 125 Postado Setembro 29, 2010 Share Postado Setembro 29, 2010 que lixo de script.. n é util.. Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-939614 Compartilhar em outros sites More sharing options...
joaohd 200 Postado Setembro 29, 2010 Share Postado Setembro 29, 2010 Este script é de sua autoria? Tenho quase certeza que o autor é o mock... Caso não seja seu, coloque os créditos. Link do tópico do mock : Concorrencia flw Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-939623 Compartilhar em outros sites More sharing options...
DevilMoon 125 Postado Setembro 29, 2010 Share Postado Setembro 29, 2010 Esses nego hj em dia cada vez + noob, pega o script do nego posta aki no xtibia nao pede autorizaçao e nem coloca creditos e Rippa Mapps ainda =) Vou Alertar o Mock ve se ele Autorizou postar aqui, Pq se nao tu vai te ferra mlk ^^ e o Mock nao deicha qualquer 1 Postar!! Bjos :* Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-939631 Compartilhar em outros sites More sharing options...
Fortes 5 Postado Outubro 6, 2010 Share Postado Outubro 6, 2010 muito interessante este script.. vou usar em meu servidor com certeza =] Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-942086 Compartilhar em outros sites More sharing options...
LukasScott 2 Postado Abril 10, 2011 Share Postado Abril 10, 2011 podia gastar seu tempo em um script melhor script bom mais poca utilidade bom trabalho Aprovado Link para o comentário https://xtibia.com/forum/topic/141952-sistema-email-system-12/#findComment-1023490 Compartilhar em outros sites More sharing options...
Posts Recomendados