Hi!
I want that IP is in one line, but IP`s isn`t in one line:( Can somebody help me :) Here is that scritp:
--## Nick and IP logger
--## Added Number to Loggers
--## Requested by D-J Valhala
--## Made by nErBoS
--## Command:
--## +ip - Will show the nicks and ips of all connected users
--## +getip - Will give you the ip of the nick
sBot = "IP-Logger"
arrIP = {}
--## Configuration ##--
uLaterPtokax = 0 --## If you are using ptokax 0.3.30 or higher choose 0
--## If you are using lower versions then ptokax 0.3.3.0 choose 1
fileIP = "ip.log" --## This file will be created to save the users and ips
--## End of Configuration ##--
function Main()
--frmHub:RegBot(sBot)
LoadFromFile(fileIP)
CheckForUser()
end
function OnExit()
SaveToFile(fileIP , arrIP , "arrIP")
end
function NewUserConnected(user)
arrIP[user.sName] = user.sIP
end
function UserDisconnected(user)
arrIP[user.sName] = nil
if (uLaterPtokax == 1) then
SaveToFile(fileIP , arrIP , "arrIP")
end
end
OpConnected = NewUserConnected
OpDisconnected = UserDisconnected
function DataArrival(user, data)
if (strsub(data,1,1) == "<" or strsub(data,1,5+strlen(sBot)) == "$To: "..sBot) then
data = strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data, "%b<>%s+(%S+)")
if (cmd == "+ip" and user.bOperator) then
local sTmp,count,usr,ip = "Shobriid hubaa ir "..frmHub:GetUsersCount().." uuseri. Un vinjiem ir sekojoshas IP :\r\n\r\n",0
for usr, ip in arrIP do
count = count + 1
sTmp = sTmp.."["..count.."] Uusers: "..usr.."\t\t\t\t\t\t IP:"..ip.." ("..count..")\r\n"
end
user:SendPM(sBot, sTmp)
return 1
elseif (cmd == "+getip" and user.bOperator) then
local s,e,usr = strfind(data, "%b<>%s+%S+%s+(%S+)")
if (usr == nil) then
user:SendPM(sBot, "Nepareiza komanda, !getip , jaauzraxta niks.")
elseif (GetItemByName(usr) == nil) then
user:SendPM(sBot, "Uusers "..usr.." nau Hubaa.")
else
user:SendPM(sBot, "Uusera "..GetItemByName(usr).sName.." ip ir: "..GetItemByName(usr).sIP)
end
return 1
end
end
end
function CheckForUser()
local usr,ip
for usr, ip in arrIP do
if (GetItemByName(usr) == nil) then
arrIP[usr] = nil
end
end
end
function Serialize(tTable, sTableName, sTab)
assert(tTable, "tTable equals nil");
assert(sTableName, "sTableName equals nil");
assert(type(tTable) == "table", "tTable must be a table!");
assert(type(sTableName) == "string", "sTableName must be a string!");
sTab = sTab or "";
sTmp = ""
sTmp = sTmp..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, sTab.."\t");
else
local sValue = (type(value) == "string") and format("%q",value) or tostring(value);
sTmp = sTmp..sTab.."\t"..sKey.." = "..sValue
end
sTmp = sTmp..",\n"
end
sTmp = sTmp..sTab.."}"
return sTmp
end
function SaveToFile(file , table , tablename)
writeto(file)
write(Serialize(table, tablename))
writeto()
end
function LoadFromFile(file)
if (readfrom(file) ~= nil) then
readfrom(file)
dostring(read("*all"))
readfrom()
end
end
I want ThisPREVIEW:
[1]Uusers: huseinsxxxxxxxxxxx.lv IP:81.198.16.186(1)
- [2]Uusers: FW26 IP:81.198.9.226(2)
- [3]Uusers: igrok IP:62.85.12.100(3)
- [4]Uusers: martina IP:81.198.11.235(4)
- [5]Uusers: slonik1 IP:80.81.57.33(5)
- [6]Uusers: hax0rs IP:81.198.9.105(6)
- [7]Uusers: [LV]Dylan IP:62.214.147.103(7)
- [8]Uusers: Markinc IP:83.136.139.16(8)
A script show`s
[1]Uusers: huseinsxxxxxxxxxxx.lv
IP:81.198.16.186(1)
- [2]Uusers: FW26
IP:81.198.9.226(2)
- [3]Uusers: igrok
IP:62.85.12.100(3)
- [4]Uusers: martina IP:81.198.11.235(4)
- [5]Uusers: slonik1 IP:80.81.57.33(5)
- [6]Uusers: hax0rs IP:81.198.9.105(6)
- [7]Uusers: [LV]Dylan IP:62.214.147.103(7)
- [8]Uusers: Markinc IP:83.136.139.16(8)
Hi,
here u are:
--## Nick and IP logger
--## Added Number to Loggers
--## Requested by D-J Valhala
--## Made by nErBoS
--## Command:
--## +ip - Will show the nicks and ips of all connected users
--## +getip - Will give you the ip of the nick
sBot = "IP-Logger"
arrIP = {}
--## Configuration ##--
uLaterPtokax = 0 --## If you are using ptokax 0.3.30 or higher choose 0
--## If you are using lower versions then ptokax 0.3.3.0 choose 1
fileIP = "ip.log" --## This file will be created to save the users and ips
--## End of Configuration ##--
function Main()
--frmHub:RegBot(sBot)
LoadFromFile(fileIP)
CheckForUser()
end
function OnExit()
SaveToFile(fileIP , arrIP , "arrIP")
end
function NewUserConnected(user)
arrIP[user.sName] = user.sIP
end
function UserDisconnected(user)
arrIP[user.sName] = nil
if (uLaterPtokax == 1) then
SaveToFile(fileIP , arrIP , "arrIP")
end
end
OpConnected = NewUserConnected
OpDisconnected = UserDisconnected
function DataArrival(user, data)
if (strsub(data,1,1) == "<" or strsub(data,1,5+strlen(sBot)) == "$To: "..sBot) then
data = strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data, "%b<>%s+(%S+)")
if (cmd == "+ip" and user.bOperator) then
local sTmp,count,usr,ip = "Shobriid hubaa ir "..frmHub:GetUsersCount().." uuseri. Un vinjiem ir sekojoshas IP :\r\n\r\n",0
for usr, ip in arrIP do
count = count + 1
sTmp = sTmp.."["..count.."] Uusers: "..usr.." IP:"..ip.." ("..count..")\r\n"
end
user:SendPM(sBot, sTmp)
return 1
elseif (cmd == "+getip" and user.bOperator) then
local s,e,usr = strfind(data, "%b<>%s+%S+%s+(%S+)")
if (usr == nil) then
user:SendPM(sBot, "Nepareiza komanda, !getip , jaauzraxta niks.")
elseif (GetItemByName(usr) == nil) then
user:SendPM(sBot, "Uusers "..usr.." nau Hubaa.")
else
user:SendPM(sBot, "Uusera "..GetItemByName(usr).sName.." IP: "..GetItemByName(usr).sIP)
end
return 1
end
end
end
function CheckForUser()
local usr,ip
for usr, ip in arrIP do
if (GetItemByName(usr) == nil) then
arrIP[usr] = nil
end
end
end
function Serialize(tTable, sTableName, sTab)
assert(tTable, "tTable equals nil");
assert(sTableName, "sTableName equals nil");
assert(type(tTable) == "table", "tTable must be a table!");
assert(type(sTableName) == "string", "sTableName must be a string!");
sTab = sTab or "";
sTmp = ""
sTmp = sTmp..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, sTab.."\t");
else
local sValue = (type(value) == "string") and format("%q",value) or tostring(value);
sTmp = sTmp..sTab.."\t"..sKey.." = "..sValue
end
sTmp = sTmp..",\n"
end
sTmp = sTmp..sTab.."}"
return sTmp
end
function SaveToFile(file , table , tablename)
writeto(file)
write(Serialize(table, tablename))
writeto()
end
function LoadFromFile(file)
if (readfrom(file) ~= nil) then
readfrom(file)
dostring(read("*all"))
readfrom()
end
end
Please, next time put the code in {CODE} and {/CODE} where {} should be [].
Was easy to fix... note that text can be tabbed, in code with "\t", so 5 tabs would be "\t\t\t\t\t". You could do it yourself.
Bye