PtokaX forum

Archive => Archived 4.0 boards => Finished Lua 4 scripts => Topic started by: Typhoon on 24 September, 2004, 20:02:32

Title: Custom Login script
Post by: Typhoon on 24 September, 2004, 20:02:32
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?