hope someone can use this :)
-- Custom Login by Typhoon
-- Ripped from Sentinel v2.0
-- http://netfree-network.com/host/Sentinel
-- Commands are
-- +newlogin - This changes the default login :)
-- +newlogout - This changes the default logout message :)
-- your nick is auto inserted in the midle of the text
BotName = "-Neo-"
sLogins = "Loginout.txt"
Announce = { LogInTable = {} , LogoutTable = {}, }
function Main()
dofile(sLogins)
frmHub:RegBot(BotName)
end
function OpConnected(user,data)
if Announce.LogInTable[user.sName] then
local msg = Announce.LogInTable[user.sName]
SendToAll(BotName,msg)
end
end
function DataArrival(user, data)
data = strsub(data,1,strlen(data)-1)
local s,e,cmd = strfind( data, "%b<>%s+(%S*)" )
if cmd == "+newlogin" then
ChangeLogin(user,data)
elseif cmd == "+newlogout" then
ChangeLogout(user,data)
end
return 1
end
ChangeLogin = function(user,data)
local doGetProfile = GetProfileName(user.iProfile)
local s,e,cmd,message,message2 = strfind( data, "%b<>%s+(%S+)%s+(.*)%s:%s(.*)" )
if message == nil or message2 == nil then
Announce.LogInTable[user.sName] = "Welcomes "..doGetProfile.." "..user.sName.." Has entered the hub"
SaveToFile(sLogins,Announce, "Announce")
user:SendData(BotName,"Standard Login Enabled: "..doGetProfile.." "..user.sName.." Has entered the hub ")
user:SendData(BotName,"If you want to change it then use this : +newlogin message1 : message2")
else
Announce.LogInTable[user.sName] = "Welcomes "..message.." "..user.sName.." "..message2
SaveToFile(sLogins,Announce, "Announce")
user:SendData(BotName,"Login Changed to: "..message.." "..user.sName.." "..message2)
end
return 1
end
ChangeLogout = function(user,data)
local doGetProfile = GetProfileName(user.iProfile)
local s,e,cmd,message,message2 = strfind( data, "%b<>%s+(%S+)%s+(.*)%s:%s(.*)" )
if message == nil and message2 == nil then
Announce.LogoutTable[user.sName] = "Goodbyes to the "..doGetProfile.." "..user.sName.." Has left the hub"
SaveToFile(sLogins,Announce, "Announce")
user:SendData(BotName,"Standard Logout Enabled: "..doGetProfile.." "..user.sName.." Has left the hub ")
user:SendData(BotName,"If you want to change it then use this : +newlogout message1 : message2")
else
Announce.LogoutTable[user.sName] = "Goodbyes to "..message.." "..user.sName.." "..message2
SaveToFile(sLogins,Announce, "Announce")
user:SendData(BotName,"Logout Changed to: "..message.." "..user.sName.." "..message2)
end
return 1
end
-- Serialize --
function Serialize(tTable, sTableName, hFile, sTab)
assert(tTable, "tTable equals nil");
assert(sTableName, "sTableName equals nil");
assert(hFile, "hFile equals nil");
assert(type(tTable) == "table", "tTable must be a table!");
assert(type(sTableName) == "string", "sTableName must be a string!");
sTab = sTab or "";
write(hFile, sTab..sTableName.." = {\n" );
for key, value in tTable do
local sKey = (type(key) == "string") and format("[%q]",key) or format("[%d]",key);
if(type(value) == "table") then
Serialize(value, sKey, hFile, sTab.."\t");
else
local sValue = (type(value) == "string") and format("%q",value) or tostring(value);
write(hFile, sTab.."\t"..sKey.." = "..sValue);
end
write(hFile, ",\n");
end
write(hFile, sTab.."}");
end
-- Save Table to File --
function SaveToFile(file , table , tablename)
local hFile = openfile(file, "w");
Serialize(table, tablename, hFile);
closefile(hFile);
end
-- Load Table From File --
function LoadFromFile (file)
assert(readfrom(file),file.." is not found.")
dostring(read("*all"))
readfrom()
end
Typhoon?