PtokaX forum

Archive => Archived 4.0 boards => Request for Lua 4 scripts => Topic started by: angelsanges on 04 March, 2004, 23:15:56

Title: 0 share!
Post by: angelsanges on 04 March, 2004, 23:15:56
it is possible a bot that shows 0 byte instead of the real share of the users?
Title:
Post by: VERMiN on 05 March, 2004, 14:30:36
What do you mean? Bot's usually shows 0 bytes in share. Did you mean vice versa ?  Maby I'm just tired today, my head sure hurts anyway...
Title:
Post by: nErBoS on 05 March, 2004, 14:39:01
Hi,

angelsanges are you asking you want a bot to hide  the real size of share of a user ???

Best regards, nErBoS
Title:
Post by: angelsanges on 05 March, 2004, 15:22:00
QuoteOriginally posted by nErBoS
Hi,

angelsanges are you asking you want a bot to hide  the real size of share of a user ???

Best regards, nErBoS

yes! :D
Title:
Post by: pHaTTy on 05 March, 2004, 16:40:01
QuoteOriginally posted by angelsanges
QuoteOriginally posted by nErBoS
Hi,

angelsanges are you asking you want a bot to hide  the real size of share of a user ???

Best regards, nErBoS

yes! :D

ermm yes


you can, make a string for sharesize, each user that connects, so it makes him a fake string with share size string. send to all his fake string,

and sorted, lets see if anyone can do it, got no mouse so im *beeped* :p
Title:
Post by: nErBoS on 05 March, 2004, 19:56:58
Hi,

Hope it helps..

--Requested by angelsanges
--Made by nErBoS

Bot = "Hide-Share"

hide = {}

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
end


function DataArrival(user, data)
if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="!hshare") then
if (user.bOperator) then
local s,e,usr = strfind(data,"%b<>%s+%S+%s+(%S+)")
if (usr == nil) then
user:SendData(Bot, "Syntax error, !hshare , must have a nick.")
else
if (GetItemByName(usr) == nil) then
user:SendData(Bot, "The user "..usr.." is not online.")
else
local userToHide = GetItemByName(usr)
if (userToHide.sMyInfoString ~= nil) then
local s,e,desc,speed,email,share = strfind(userToHide.sMyInfoString, "$MyINFO $ALL ([^$]+)$ $([^$]*)$([^$]*)$([^$]+)")
SendToAll( "$MyINFO $ALL "..desc.."$ $"..speed.."$"..email.."$0$")
hide[userToHide.sName] = "$MyINFO $ALL "..desc.."$ $"..speed.."$"..email.."$0$"
else
end
end
end
else
user:SendData(Bot, "You don't have permission to use this command.")
end
return 1
elseif(cmd=="!rshare") then
if (user.bOperator) then
local s,e,usr = strfind(data,"%b<>%s+%S+%s+(%S+)")
if (usr == nil) then
user:SendData(Bot, "Syntax error, !rshare , must have a nick.")
else
if (GetItemByName(usr) == nil) then
user:SendData(Bot, "The user "..usr.." is not online.")
else
local userToHide = GetItemByName(usr)
hide[userToHide.sName] = nil
SendToAll( userToHide.sMyInfoString )
end
end
else
user:SendData(Bot, "You don't have permission to use this command.")
end
end
end

if ( hide[user.sName] ~= nil) then
SendToAll( hide[user.sName] )
else
end
end

This hshare will fail when the hub is restart or the script, you have to make the command again.

Best regards, nErBoS
Title:
Post by: lynyrd on 05 March, 2004, 20:06:41
hi Nerbos
it also shows the share again if you use "refresh user list"
in your client

damn your a good scripter Nerbos =)
how about adding version numbers in your script i really miss that
c ya
Title:
Post by: angelsanges on 05 March, 2004, 21:15:09
nice!thank you...but...it is possible to make that bot without a command?
i mean: a bot that hides real share in automatic
Title:
Post by: nErBoS on 05 March, 2004, 23:21:47
Hi,

Hope it helps..

--Requested by angelsanges
--Made by nErBoS

Bot = "Hide-Share"

hiders = {
"nErBoS",
"angelsanges"
} --- just put here the nick of the person that you want to hide

function Main()
frmHub:RegBot(Bot)
end

OpConnected = NewUserConnected

function NewUserConnected(user, data)
HideShare()
end


function DataArrival(user, data)
SendToAll(data)
HideShare()
end

function HideShare()
for i=1,getn(hiders) do
if(GetItemByName(hiders[i]) == nil) then
else
local userToBeHide = GetItemByName(hiders[i])
if (userToBeHide.sMyInfoString ~= nil) then
local s,e,desc,speed,email,share = strfind(userToBeHide.sMyInfoString, "$MyINFO $ALL ([^$]+)$ $([^$]*)$([^$]*)$([^$]+)")
SendToAll( "$MyINFO $ALL "..desc.."$ $"..speed.."$"..email.."$0$")
else
end
end
end
end

This one is more affectif, this is not affected by restart Hub or script and when ever a user talk, do a search or enter the hub will always refresh. The only weakness is the own told by lynyrd :)

lynyrd

for my a script only have one version, when is perfect :P
I will start doing that.

Best regards, nErBoS
Title:
Post by: angelsanges on 05 March, 2004, 23:34:18
oh...nice! perfect! and i spossible to hide the real share size of all theppl in the hub?
Title:
Post by: angelsanges on 05 March, 2004, 23:48:51
Bot = "Hide-Share"

function Main()
   frmHub:RegBot(Bot)
   frmHub:EnableFullData(1)
end

function DataArrival(user, data)
   local s, e, cmd = strfind(data, "^$(%S+)")

   if (cmd == "GetINFO") then
      local s, e, usr = strfind(data, "^$GetINFO%s(%S+)")
      if (usr ~= nil) then
         local userToHide = GetItemByName(usr)
         if (userToHide ~= nil) then
            if (userToHide.sMyInfoString ~= nil) then            
               local s,e,desc,speed,email,share = strfind(userToHide.sMyInfoString, "$MyINFO $ALL ([^$]+)$ $([^$]*)$([^$]*)$([^$]+)")
               local modinfo = "$MyINFO $ALL "..desc.."$ $"..speed.."$"..email.."$0$"
               SendToAll(modinfo)
--               user:SendPM("Share","Info effettive:"..userToHide.sMyInfoString)
--               user:SendPM("Share","Info modificate:"..modinfo)
            end
         end
      end
      return 1
   end
end

what about this? :D
Title:
Post by: nErBoS on 06 March, 2004, 00:17:22
Hi,

Yep that will do the trick,and by that you remove the weakness of refresh user list, well done.

Best regards, nErBoS