function showreg(user) - totals
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

function showreg(user) - totals

Started by nEgativE, 29 December, 2003, 05:41:17

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

nEgativE

Hi Plop, Hi all.. Is it possible to get total reg users and show it in this script ? :) and also current non reg users online.



Bot 
"[operserv]" 
ops =0
vips 
0
VIPS 
= {}
OPS = {}

function 
NewUserConnected(user
   if 
user.iProfile == 2 then
      CountVips
(user)
   
end
   Message
(user
end

function OpConnected(user
   
CountOps(user)
   
Message(user
end

function DataArrival(user,data
   if 
user.bOperator then
      CountOps
(user)
   elseif 
user.iProfile == 2 then
      CountVips
(user)
   
end
end

function CountOps(user)
   if 
OPS[user.sName] == nil then
      OPS
[user.sName]=1
      ops 
ops 1
   end
end

function CountVips(user)
   if 
VIPS[user.sName] == nil then
      VIPS
[user.sName]=1
      vips
=vips +1
   end
end

function UserDisconnected(user)
   if 
user.iProfile == 2 then
      
if VIPS[user.sNamethen
         VIPS
[user.sName]=nil
         vips
=vips 1
      end
   end
end

function OpDisconnected(user)
   if 
OPS[user.sNamethen
      OPS
[user.sName]=nil
      ops 
ops -1
   end
end

function Message(user
   
local s,e,share strfind(user.sMyInfoString"$(%d+)%$")
   
share format("%0.2f", (share / (1024*1024*1024)))
   
local hubshare format("%0.2f", (frmHub:GetCurrentShareAmount() / (1024*1024*1024)))
   
user:SendData(Bot":p2p:-------------------------------------------------------------------------------------------------:p2p:"
   
user:SendData(Bot"    
	
? "
..user.sName..", bem vindo ao -=[- "..frmHub:GetHubName().." -]=-"
   
user:SendData(Bot"    
	
? Seu endere?o IP: "
..user.sIP
   
user:SendData(Bot"    
	
? Website: www.lusobrasil.tk"

   
user:SendData(Bot"    
	
? Seu status no Hub: "
..(GetProfileName(user.iProfile) or "N?o registrado")) 
   
user:SendData(Bot"    
	
? Voc? est? compartilhando: "
..share.." GB."
   
user:SendData(Bot"    
	
? Usu?rios Online: "
..frmHub:GetUsersCount().."."
   
user:SendData(Bot"    
	
? Operadores Online: "
..ops..", ViPs Online: "..vips..".")
   
user:SendData(Bot"    
	
? Compartilhamento atual no Hub: "
..hubshare.." GB."
   
user:SendData(Bot"    
	
? Lista de comandos, regras, ajuda e informa??o: !ajuda"

   
user:SendData(Bot"    
	
? Help, command list, rules and info: !ajuda.en"

   
user:SendData(Bot":p2p:-------------------------------------------------------------------------------------------------:p2p:"
end



I saw this function in robocop, but i'm not able of do anything here !! Hehe.



function showreg(user)

	
local profiles GetProfiles()
	
local indexprofileindex2username
	
local disp ""
	
for 
indexprofile in profiles do
	
local line profile
	
disp disp.."\r\nProfile "..line..":\r\n"
	
users GetUsersByProfile(profile)
	
for 
index2username in users do
	
local line username
	
if 
GetItemByName(usernamethen
	
if (
strlen(username) <= 8then
	
disp disp.." ? "..line.."\t\t? On-line ?\r\n"
	
else
	
disp disp.." ? "..line.."\t\t? On-line ?\r\n"
	
end
else
	
if (
strlen(username) <= 8then
	
disp disp.." ? "..line.."\r\n"
	
else
	
disp disp.." ? "..line.."\r\n"
	
end
	
end
	
end
end
	
user:SendPM(sBot"\r\n\r\n:p2p:----: Usu?rios registrados no Hub :----:p2p:\r\n"..disp)
	
return 
1
end




plop

yep posible.
Bot = ".MeanMachineT."

--frmHub:RegBot(Bot)

ops = 0
vips = 0
users = 0
USER = {}
VIPS = {}
OPS = {}

function NewUserConnected(user)
   if user.iProfile == 2 then
      CountVips(user)
   if user.iProfile == -1 then
      CountUser(user)
   end
   Message(user)
   end
end

function OpConnected(user)
   CountOps(user)
   Message(user)
end

function DataArrival(user, data)
   if user.bOperator then
      CountOps(user)
   elseif user.iProfile == 2 then
      CountVips(user)
   elseif user.iProfile == -1 then
      CountUser(user)
   end
end

function CountOps(user)
   if OPS[user.sName] == nil then
      OPS[user.sName]=1
      ops = ops + 1
   end
end

function CountVips(user)
   if VIPS[user.sName] == nil then
      VIPS[user.sName]=1
      vips = vips + 1
   end
end

function CountUser(user)
   if USER[user.sName] == nil then
      USER[user.sName]=1
      users = users + 1
   end
end

function UserDisconnected(user)
   if user.iProfile == 2 then
      if VIPS[user.sName] then
         VIPS[user.sName]=nil
         vips = vips - 1
   elseif user.iProfile == -1 then
      if USER[user.sName] then
         USER[user.sName]=nil
         users = users - 1
      end
   end
end

function OpDisconnected(user)
   if OPS[user.sName] then
      OPS[user.sName]=nil
      ops = ops - 1
   end
end

function Message(user)
   local s,e,share = strfind(user.sMyInfoString, "$(%d+)%$")
   share = format("%0.2f", ( share / (1024*1024*1024)))
   local hubshare = format("%0.2f",  ( frmHub:GetCurrentShareAmount() / (1024*1024*1024)))
   user:SendData(Bot, ":-------------------------------------------------------------------------------------------------------------:")
   user:SendData(Bot, "  . ."..user.sName..".")
   user:SendData(Bot, "  . Your IP: "..user.sIP)
   user:SendData(Bot, "  . Welcome to: ."..frmHub:GetHubName()..".")
   user:SendData(Bot, "  . Your Status in this Hub: "..(GetProfileName(user.iProfile) or "Not registerd"))
   user:SendData(Bot, "  . Actual Share in the Hub: "..hubshare.." GB")
   user:SendData(Bot, "  . There are: "..ops.." OPs . "..vips.." VIPs . "..users.." Unregged Users online")
   user:SendData(Bot, "  . Use: !help to display help page")
   user:SendData(Bot, ":-------------------------------------------------------------------------------------------------------------:")
   end
end
plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

nEgativE

#2
Yes, i will test that.. but tell me, is it possible to get the total reg users ? ex: user:SendData(Bot, "       ? Total reg users on Hub: 450 ".")

I know that it's possible to get the names in the file, but the amount ? Hehe..
not the current online, but all the amount registered in the file.

Tks in advance !! sorry the english.

plop

how about i alter that a little bit.
online_ops/offline_ops
online_vips/offline_vips
online_regs/offline_regs
online_unregs

then you got all.  lol

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

nEgativE

#4
QuoteOriginally posted by plop
how about i alter that a little bit.
online_ops/offline_ops
online_vips/offline_vips
online_regs/offline_regs
online_unregs

then you got all.  lol

plop

??  !!! what ? Hehe..

sorry i did not understoud !!  :(

plop

you'll see when i'm done.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

plop

i think i'm done.
maby it turned out looking a bit complex.
but it can show all of the next:
total registered users/vips/ops/master/etc (any extra user level you might have)
total online unregistered users/users/vips/ops/master/etc (any extra user level you might have)
by subtracting online from the total you can get the offline number 2 but gues you all had that stuff allready @ school. lol
5 seconds after adding/deleting a user it reloads the users (add the script commands if you use a script for those tasks, make sure this bot gets executed before that script).
-----------------------------------------------------------------------------
-- online user counter by plop
-- based on a bot by ....... witch showed basic hub info 2 users on entry
-- (fill in the name pls if you know who this was)
-----------------------------------------------------------------------------
-- LEVELSTOT[number] = total number of users with that level
-- LEVELS[number] = total online number of users with that level
-- commands = table of triggers used by the hub 2 add/delete users 
-- add the script commands yourself if you use a script 2 add/delete users
-- same can be done if you have more user levels then default
-----------------------------------------------------------------------------
-- tables all over but i seem 2 have forgotten 2 add chairs. snif snif
-----------------------------------------------------------------------------

Bot = "tables_and_no_chairs"

LEVELSTOT = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0}
LEVELS = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0, ["-1"]=0}


commands = {["!addreguser"]=1, ["!delreguser"]=1}

function Message(user)
   local s,e,share = strfind(user.sMyInfoString, "$(%d+)%$")
   share = format("%0.2f", ( share / (1024*1024*1024)))
   local hubshare = format("%0.2f",  ( frmHub:GetCurrentShareAmount() / (1024*1024*1024)))
   local tmp = LEVELSTOT["1"] + LEVELSTOT["0"]  --- total ops  (adding mastes 2 ops)
   local tmp1 = (LEVELSTOT["2"] - LEVELS["2"]) if tmp1 < 0 then tmp1 = 0 end --- offline vips (total - online)
   local tmp2 = (LEVELSTOT["3"] - LEVELS["3"]) if tmp2 < 0 then tmp2 = 0 end --- offline regs (total - online)
   local tmp3 = LEVELS["1"] + LEVELS["0"] -- online ops (adding masters 2 the ops)
   local info = "\r\n\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   info = info.."  . "..user.sName..".\r\n"
   info = info.."  . Your IP: "..user.sIP.."\r\n"
   info = info.."  . Welcome to: ."..frmHub:GetHubName()..".\r\n"
   info = info.."  . Your Status in this Hub: "..(GetProfileName(user.iProfile) or "Not registerd")..".\r\n"
   info = info.."  . Actual Share in the Hub: "..hubshare.." GB\r\n"
   info = info.."  . "..tmp3.." out of "..tmp.." OPs are here to do there duty. \r\n"
   info = info.."  . There are "..LEVELS["2"].." VIPs in the hub, "..tmp1.." are out hunting files or lady's. \r\n"
   info = info.."  . "..LEVELS["3"].." liked this hub so much they took the liberty to register, "..tmp2.." got abducted by aliens\r\n"
   info = info.."  . Whats left are "..LEVELS["-1"].." unregistered users making a total of "..(tmp1+tmp2+tmp3+LEVELS["-1"]).." here in the hub\r\n"
   info = info.."  . Use: !help to display help page\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   user:SendPM(Bot, info.." |")
end

------------- better not 2 touch anything below here if your not sure what your your doing
ALLUSERS={}

function NewUserConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function OpConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function DataArrival(user, data)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   s,e,cmd= strfind(data, "%b<>%s+(%S+)")
   if cmd ~= nil and commands[cmd] then
      SetTimer(5 * 1000) 
      StartTimer()
   end
end

function OnTimer()
   StopTimer()
   OpenRegisterdUsersFile()
end

function UserDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function OpDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function Main()
   frmHub:RegBot(Bot)
   OpenRegisterdUsersFile()
end

function OpenRegisterdUsersFile()
   readfrom("../RegisteredUsers.dat")
   while 1 do
      local line = read()
      local level 
      if line == nil then 
         readfrom()
         break 
      end
      s,e,level = strfind(line,".+|.+|(.+)")
      if LEVELSTOT[level] then
         LEVELSTOT[level] = LEVELSTOT[level] +1
      end
   end  
end
plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

plop

tiny update and added a short manual.
should make life with this script be a little bit easyer.
-----------------------------------------------------------------------------
-- online user counter by plop v:1.2
-- based on a bot by ....... witch showed basic hub info 2 users on entry
-- (fill in the name pls if you know who this was)
-----------------------------------------------------------------------------
-- LEVELSTOT[number] = total number of users with that level
-- LEVELS[number] = total online number of users with that level
-- commands = table of triggers used by the hub 2 add/delete users 
-- add the script commands yourself if you use a script 2 add/delete users
-- same can be done if you have more user levels then default
-----------------------------------------------------------------------------
-- tables all over but i seem 2 have forgotten 2 add chairs. snif snif
-----------------------------------------------------------------------------
-- manual stuff
-----------------------------------------------------------------------------
-- LEVELSTOT["0"] -- total masters
-- LEVELSTOT["1"] -- total operators
-- LEVELSTOT["2"] -- total VIPs
-- LEVELSTOT["3"] -- total registred users
-- tmp -- total operators and masters
-- frmHub:GetUsersCount() -- total online users
----------
-- LEVELS["0"] -- total online masters
-- LEVELS["1"] -- total online operators
-- LEVELS["2"] -- total online VIPs
-- LEVELS["3"] -- total online registered users
-- LEVELS["-1"] -- total online unregistered users
-- tmp3 -- total operators and masters
----------
-- offline users
-- LEVELSTOT["0"] - LEVELS["0"] == offline operators
-- tmp1 -- total offline VIPs
-- tmp2 -- total offline registered users
-----------------------------------------------------------------------------


-- name of the bot
Bot = "tables_and_no_chairs"

-- couter tables, if you have more levels add there numbers in BOTH tables,
-- except unreg users, those only work in the lower table
LEVELSTOT = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0}
LEVELS = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0, ["-1"]=0}

-- table holding the commands ptokax uses 2 add/delete users
-- add your bot's commands 2 this table if you use a bot 2 add/delete ppl
commands = {["!addreguser"]=1, ["!delreguser"]=1}

function Message(user)
   local s,e,share = strfind(user.sMyInfoString, "$(%d+)%$")
   share = format("%0.2f", ( share / (1024*1024*1024)))
   local hubshare = format("%0.2f",  ( frmHub:GetCurrentShareAmount() / (1024*1024*1024)))
   local tmp = LEVELSTOT["1"] + LEVELSTOT["0"]  --- total ops  (adding masters 2 ops)
   local tmp1 = (LEVELSTOT["2"] - LEVELS["2"]) if tmp1 < 0 then tmp1 = 0 end --- offline vips (total - online)
   local tmp2 = (LEVELSTOT["3"] - LEVELS["3"]) if tmp2 < 0 then tmp2 = 0 end --- offline regs (total - online)
   local tmp3 = LEVELS["1"] + LEVELS["0"] -- online ops (adding masters 2 the ops)
   local info = "\r\n\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   info = info.."  . "..user.sName..".\r\n"
   info = info.."  . Your IP: "..user.sIP.."\r\n"
   info = info.."  . Welcome to: ."..frmHub:GetHubName()..".\r\n"
   info = info.."  . Your Status in this Hub: "..(GetProfileName(user.iProfile) or "Not registerd")..".\r\n"
   info = info.."  . Actual Share in the Hub: "..hubshare.." GB\r\n"
   info = info.."  . "..tmp3.." out of "..tmp.." OPs are here to do there duty. \r\n"
   info = info.."  . There are "..LEVELS["2"].." VIPs in the hub, "..tmp1.." are out hunting files or lady's. \r\n"
   info = info.."  . "..LEVELS["3"].." liked this hub so much they took the liberty to register, "..tmp2.." got abducted by aliens\r\n"
   info = info.."  . Whats left are "..LEVELS["-1"].." unregistered users.\r\n"
   info = info.."  . Making a total of "..frmHub:GetUsersCount().." users here in the hub\r\n"
   info = info.."  . Use: !help to display help page\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   user:SendPM(Bot, info.." |")
end

------------- better not 2 touch anything below here if your not sure what your your doing
ALLUSERS={}

function NewUserConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function OpConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function DataArrival(user, data)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   s,e,cmd= strfind(data, "%b<>%s+(%S+)")
   if cmd ~= nil and commands[cmd] then
      SetTimer(5 * 1000) 
      StartTimer()
   end
end

function OnTimer()
   StopTimer()
   OpenRegisterdUsersFile()
end

function UserDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function OpDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function Main()
   frmHub:RegBot(Bot)
   OpenRegisterdUsersFile()
end

function OpenRegisterdUsersFile()
   readfrom("../RegisteredUsers.dat")
   for a,b in LEVELSTOT do
      LEVELSTOT[a]=0
   end
   while 1 do
      local line = read()
      local level 
      if line == nil then 
         readfrom()
         break 
      end
      s,e,level = strfind(line,".+|.+|(.+)")
      if LEVELSTOT[level] then
         LEVELSTOT[level] = LEVELSTOT[level] +1
      end
   end  
end
plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

nEgativE

QuoteOriginally posted by plop
tiny update and added a short manual.
should make life with this script be a little bit easyer.
-----------------------------------------------------------------------------
-- online user counter by plop v:1.2
-- based on a bot by ....... witch showed basic hub info 2 users on entry
-- (fill in the name pls if you know who this was)
-----------------------------------------------------------------------------
-- LEVELSTOT[number] = total number of users with that level
-- LEVELS[number] = total online number of users with that level
-- commands = table of triggers used by the hub 2 add/delete users 
-- add the script commands yourself if you use a script 2 add/delete users
-- same can be done if you have more user levels then default
-----------------------------------------------------------------------------
-- tables all over but i seem 2 have forgotten 2 add chairs. snif snif
-----------------------------------------------------------------------------
-- manual stuff
-----------------------------------------------------------------------------
-- LEVELSTOT["0"] -- total masters
-- LEVELSTOT["1"] -- total operators
-- LEVELSTOT["2"] -- total VIPs
-- LEVELSTOT["3"] -- total registred users
-- tmp -- total operators and masters
-- frmHub:GetUsersCount() -- total online users
----------
-- LEVELS["0"] -- total online masters
-- LEVELS["1"] -- total online operators
-- LEVELS["2"] -- total online VIPs
-- LEVELS["3"] -- total online registered users
-- LEVELS["-1"] -- total online unregistered users
-- tmp3 -- total operators and masters
----------
-- offline users
-- LEVELSTOT["0"] - LEVELS["0"] == offline operators
-- tmp1 -- total offline VIPs
-- tmp2 -- total offline registered users
-----------------------------------------------------------------------------


-- name of the bot
Bot = "tables_and_no_chairs"

-- couter tables, if you have more levels add there numbers in BOTH tables,
-- except unreg users, those only work in the lower table
LEVELSTOT = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0}
LEVELS = {["0"]=0, ["1"]=0, ["2"]=0, ["3"]=0, ["-1"]=0}

-- table holding the commands ptokax uses 2 add/delete users
-- add your bot's commands 2 this table if you use a bot 2 add/delete ppl
commands = {["!addreguser"]=1, ["!delreguser"]=1}

function Message(user)
   local s,e,share = strfind(user.sMyInfoString, "$(%d+)%$")
   share = format("%0.2f", ( share / (1024*1024*1024)))
   local hubshare = format("%0.2f",  ( frmHub:GetCurrentShareAmount() / (1024*1024*1024)))
   local tmp = LEVELSTOT["1"] + LEVELSTOT["0"]  --- total ops  (adding masters 2 ops)
   local tmp1 = (LEVELSTOT["2"] - LEVELS["2"]) if tmp1 < 0 then tmp1 = 0 end --- offline vips (total - online)
   local tmp2 = (LEVELSTOT["3"] - LEVELS["3"]) if tmp2 < 0 then tmp2 = 0 end --- offline regs (total - online)
   local tmp3 = LEVELS["1"] + LEVELS["0"] -- online ops (adding masters 2 the ops)
   local info = "\r\n\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   info = info.."  . "..user.sName..".\r\n"
   info = info.."  . Your IP: "..user.sIP.."\r\n"
   info = info.."  . Welcome to: ."..frmHub:GetHubName()..".\r\n"
   info = info.."  . Your Status in this Hub: "..(GetProfileName(user.iProfile) or "Not registerd")..".\r\n"
   info = info.."  . Actual Share in the Hub: "..hubshare.." GB\r\n"
   info = info.."  . "..tmp3.." out of "..tmp.." OPs are here to do there duty. \r\n"
   info = info.."  . There are "..LEVELS["2"].." VIPs in the hub, "..tmp1.." are out hunting files or lady's. \r\n"
   info = info.."  . "..LEVELS["3"].." liked this hub so much they took the liberty to register, "..tmp2.." got abducted by aliens\r\n"
   info = info.."  . Whats left are "..LEVELS["-1"].." unregistered users.\r\n"
   info = info.."  . Making a total of "..frmHub:GetUsersCount().." users here in the hub\r\n"
   info = info.."  . Use: !help to display help page\r\n"
   info = info..":-------------------------------------------------------------------------------------------------------------:\r\n"
   user:SendPM(Bot, info.." |")
end

------------- better not 2 touch anything below here if your not sure what your your doing
ALLUSERS={}

function NewUserConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function OpConnected(user)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   Message(user)
end

function DataArrival(user, data)
   if ALLUSERS[user.sName]==nil then
      ALLUSERS[user.sName]=1
      LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]+1
   end
   s,e,cmd= strfind(data, "%b<>%s+(%S+)")
   if cmd ~= nil and commands[cmd] then
      SetTimer(5 * 1000) 
      StartTimer()
   end
end

function OnTimer()
   StopTimer()
   OpenRegisterdUsersFile()
end

function UserDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function OpDisconnected(user)
   if ALLUSERS[user.sName] then
      ALLUSERS[user.sName]=nil
      if LEVELS[tostring(user.iProfile)] > 0 then
         LEVELS[tostring(user.iProfile)]=LEVELS[tostring(user.iProfile)]-1
      end
   end
end

function Main()
   frmHub:RegBot(Bot)
   OpenRegisterdUsersFile()
end

function OpenRegisterdUsersFile()
   readfrom("../RegisteredUsers.dat")
   for a,b in LEVELSTOT do
      LEVELSTOT[a]=0
   end
   while 1 do
      local line = read()
      local level 
      if line == nil then 
         readfrom()
         break 
      end
      s,e,level = strfind(line,".+|.+|(.+)")
      if LEVELSTOT[level] then
         LEVELSTOT[level] = LEVELSTOT[level] +1
      end
   end  
end
plop

Great work here plop !!! :)

i think this (LEVELS["-1"] -- total online unregistered users) is not working good, it keeps amounting users..

And i wonder if is possible to just count total registered users in the file, that one counts total offline, i think.

Thanks

plop

#9
QuoteOriginally posted by Luso
Great work here plop !!! :)

i think this (LEVELS["-1"] -- total online unregistered users) is not working good, it keeps amounting users..

And i wonder if is possible to just count total registered users in the file, that one counts total offline, i think.

Thanks
thx m8
it only counts total registered users and the total of online users.
by subtracting those 2 you get the amount which is offline.
i'll check some more if counting of unregistered users goes oki.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

SMF spam blocked by CleanTalk