Client Checker - Page 2
 

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

Client Checker

Started by NightLitch, 22 January, 2004, 20:47:07

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pHaTTy

nice going NightLitch, enjoying the show, keep up the good work, you already have give me somenice ideas, :))
Resistance is futile!

NightLitch

Gonna update it soon have updated it so much in my NXS-3 so forgot doing it in this to.

Update coming soon.
//NL

pHaTTy

eheh ive done the same with my userinfo bot, inside gekko, i havent updated the one on forum lol, i will have to free sometime
Resistance is futile!

NightLitch

#28
Report Evetually BUGS!

here is the full RIP from NXS-3

-- CLIENT CHECKER
-- Version: 3.0
-- By: NightLitch
-- Date: 2004/02/10
---------------------------------------------------------------------

BotName = "Z-LeZ"

--Level Checks / 1:on/0:off

LC = {
[0] = 0,	-- Check Masters
[1] = 0,	-- Check Operators
[2] = 1,	-- Check VIPs
[3] = 1,	-- Check REGs
[-1] = 1,	-- Check Users
}

-- Client Settings
-------------------------------------------------
-- Allow Clients / 1:on/0:off
AllowDCPP = 1		-- DC++
AllowODC = 1			-- oDC
AllowNMDC2 = 1		-- Neo Modus DC 2
AllowDCGUI = 1		-- DCGUI
AllowDCPRO = 1		-- DC:PRO
AllowBCDC = 1		-- BCDC++
AllowCZDC = 1		-- CZDC++
AllowPDC = 1			-- Phantom DC++
AllowIDC = 1			-- Italian DC++
AllowNDC = 1			-- nDC++
AllowNOTAG = 0		-- No Tag Client ex: Neo Modus DC 1
AllowFAKE = 0			-- Fake Client (Fake Taging)

-- Client Settings
MinSlots = 2		-- Min Slots
MaxSlots = 15		-- Max Slots
MaxHubs = 8		-- Max Hubs for users
LockBW = 10		-- Min Bandwidh Lock

-- Version Checks
DCPPver = "0.201"			-- DC++ Min. Version
ODCver = "5.2"			-- oDC Min. Version
NMDC2ver = "2.02"		-- Neo Modus DC 2 Min. Version
DCPROver = "0.2.2.10"		-- DC:PRO Min. Version
DCGUIver = "0.2.20"		-- DCGUI Min. Version
IDCver = "1.03"			-- Italian DC++ Min. Version
nDCver = "0.300"			-- nDC++ Min. Version

---------------------------------------------------------------------

ClientTAG = {
{ "<%+%+","oDC" },
{ "","MS++V" },
{ "","MS++V" },
{ "","Phantom DC++" },
}

function NewUserConnected(curUser)
			local vClient, vTag, vSpeed, vShare = ParseMyInfo(curUser.sMyInfoString)
			local Msg = "\r\n\r\n"
			Msg = Msg .. "\r\n	Welcome "..curUser.sName.." !"
			Msg = Msg .. "\r\n------------------------------------------------------------------------------------"
			Msg = Msg .. "\r\n "
			Msg = Msg .. "\r\n You are using "..vClient.." Version: "..vTag["V"].."."
			Msg = Msg .. "\r\n You are Sharing "..format("%.2f",vShare/gb).." Gb and "..vTag["S"].." Slot(s)."
			Msg = Msg .. "\r\n You are in "..vTag["H"].." Hub(s) as user."
			Msg = Msg .. "\r\n You are in "..vTag["RH"].." Hub(s) as registered user."
			Msg = Msg .. "\r\n You are in "..vTag["OH"].." Hub(s) as operator."
			Msg = Msg .. "\r\n Your Bandwidh Limiter is "..vTag["B"].." kB/s"
			Msg = Msg .. "\r\n You are in "..vTag["M"].." Mode."
			Msg = Msg .. "\r\n "
			Msg = Msg .. "\r\n------------------------------------------------------------------------------------"
			curUser:SendData(BotName,Msg)
end

function DataArrival(curUser,data)
	if (strsub(data,1,7) == "$MyINFO") then
		local vClient, vTag, vSpeed, vShare = ParseMyInfo(data)
		AllowClients(curUser,vClient,vTag)
	end
end

function ParseMyInfo(MyInfo)
	local vClient = "Unknown"
	local Bwidh = ""
	local _,_,vSpeed,sShare = strfind( MyInfo, "^%$MyINFO %$ALL [^ ]+ [^$]*%$ $([^$]+)[^$]%$[^$]*%$%s*(%d+)%$" )
	local vShare = tonumber(sShare)
		
	for i = 1,getn(ClientTAG) do
		if strfind(MyInfo,ClientTAG[i][1]) then
			vClient = ClientTAG[i][2]
		end
	end
	
	local Version = ""
	local _,_,Slots = strfind( MyInfo, "S:(%d+)")
	local _,_,Mode = strfind( MyInfo, "M:([S,A,P])")
	local _,_, DcVer = strfind(MyInfo,"V:(%x+.%x+)")
	Version = DcVer
	if strfind(MyInfo,"")
		Version = oDCVer
		vClient = "oDC"
	elseif strfind(MyInfo,":)")  or strfind(MyInfo,"subidub") then
		local _,_,nDCVer = strfind(MyInfo,"::%[(%S+)%]::")
		SendToAll("V:"..nDCVer)
		Version = nDCVer
		vClient = "nDC++"
	elseif vClient=="Italian DC++" then
		local _,_,IDCVer = strfind(MyInfo,"")
		Version = IDCVer
	end

	local Hubs = ""
	local Regged = ""
	local Opped = ""
	local _,_, gethub = strfind(MyInfo,"H:(%x+)/") 
	if gethub == nil then 
		_,_, Hubs = strfind(MyInfo,"H:(%x+)")
		Regged = 0
		Opped = 0
	else
		Hubs = gethub
		_,_, Regged = strfind(MyInfo,"H:%x+/(%x+)/") 
		_,_, Opped = strfind(MyInfo,"H:%x+/%x+/(%x+)")
	end 
	
	if strfind(MyInfo,"H:\"%d+/%d+/%d+\",S") then
		vClient = "Fake Client"
		_,_,Hubs,Regged,Opped = strfind(MyInfo,"H:\"(%x+)/(%x+)/(%x+)\"")
	end

	if strfind( MyInfo,"V:%S+(k),M") then vClient = "DC++k" end

	
	if strfind(MyInfo, "L:") then 
		local _,_,Ls = strfind(MyInfo , "L:(%d+)")
		Bwidh = Ls
		vClient = "CZDC++"
	elseif strfind(MyInfo, "B:") then 
		local _,_,Bs = strfind(MyInfo , "B:(%d+)")
		Bwidh = Bs
		if not vClient=="Phantom DC++" then
			vClient = "BCDC++"
		end
	elseif strfind(MyInfo, "F:") then
		local _,_,Fs = strfind(MyInfo , "F:%d+/(%d+)")
		Bwidh = Fs
	else
		Bwidh = "unlimited"
	end

	if Version == nil then Version = "0" end
	if Mode == nil then Mode = "0" end
	if Hubs == nil then Hubs = "0" end
	if Slots == nil then Slots = "0" end

	tMode = {
	["S"] = "Socks",
	["A"] = "Active",
	["P"] = "Passive",
	["0"] = "N/A",
	}
	vTag = { ["H"] = Hubs, ["S"] = Slots, ["B"] = Bwidh,["V"] = Version, ["M"] = tMode[Mode], ["RH"] = Regged,  ["OH"] = Opped}
	return vClient, vTag, vSpeed, vShare
end

function AllowClients(curUser,vClient,vTag)
	if (LC[curUser.iProfile]==1) then
		if (vClient =="oDC" and AllowODC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,ODCver,"http://gempond.com/odc")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DC++" and AllowDCPP==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://dcplusplus.sourceforge.net")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DC:PRO" and AllowDCPRO==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPROver,"http://btpro.altervista.org/index.php")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DCGUI" and AllowDCGUI==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCGUIver,"http://dc.ketelhot.de")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="NeoModus 2" and AllowNMDC2==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,NMDC2ver,"http://neo-modus.com")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="BCDC++" and AllowBCDC==1)  then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://utrum.dyndns.org:8000/index.html")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="CZDC++" and AllowCZDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://www.czdcplusplus.tk/")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Phantom DC++" and AllowPDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://pdc.recoil.net.nz/index.php")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Italian DC++" and AllowIDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,IDCver,"http://www.p2pitalia.com/")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="nDC++" and AllowNDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,nDCver,"http://dcplusplus.sourceforge.net")
			BandwidhCheck(curUser,vTag)

		elseif (vClient =="Fake Client" and AllowFAKE==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://dcplusplus.sourceforge.net")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Unknown" and AllowNOTAG==1) then

		elseif (vClient =="Fake Client" and AllowFAKE==0) then
			curUser:SendData(BotName,curUser.sName.." you are using a fake tag or client!")
			curUser:Disconnect()
		elseif (vClient =="Unknown" and AllowNOTAG==0) then
			curUser:SendData(BotName,curUser.sName.." you are using a client with no tag!")
			curUser:Disconnect()
		else
			curUser:SendData(BotName,curUser.sName..", "..vClient.." is not allowed here!")
			curUser:Disconnect()
		end
	end
end

function CheckSlotsHubs(curUser,vTag)
	if (vTag["S"] == "N/A" or vTag["H"] == "N/A") then
	elseif (tonumber(vTag["S"]) < MinSlots) then
		curUser:SendData(BotName,"You have too litle slots open ( "..vTag["S"].." ) Minimum slots is ( "..MinSlots.." ). ")
		curUser:Disconnect()
	elseif (tonumber(vTag["S"]) > MaxSlots) then
		curUser:SendData(BotName,"You have too many slots open ( "..vTag["S"].." ) Maximum slots is ( "..MaxSlots.." ). ")
		curUser:Disconnect()
	elseif (tonumber(vTag["H"]) > MaxHubs) then
		curUser:SendData(BotName,"You are in too many hubs ( "..vTag["H"].." ) Max Hubs is ( "..MaxHubs.." ). ")
		curUser:Disconnect()
	end
end

function VersionCheck(curUser,vClient,vTag,Version,Download)
	if (vClient == "DCGUI" or vClient == "DC:PRO") then
		if (vTag["V"] == "N/A") then
		elseif (vTag["V"] < Version) then
			curUser:SendData(BotName,"You are using "..vClient.." version [ "..vTag["V"].." ]") 
			curUser:SendData(BotName,"The oldest version allowed is "..vClient.." [ "..Version.." ], you may download the latest "..vClient.." at "..Download) 
			curUser:Disconnect()
		end
	else
		if (vTag["V"] == "N/A") then
		elseif (vTag["V"] < Version) then
			curUser:SendData(BotName,"You are using "..vClient.." version [ "..vTag["V"].." ]") 
			curUser:SendData(BotName,"The oldest version allowed is "..vClient.." [ "..Version.." ], you may download the latest "..vClient.." at "..Download) 
			curUser:Disconnect()
		end
	end
end

function BandwidhCheck(curUser,vTag)
	if vTag["B"] == "unlimited" then
	elseif (tonumber(vTag["B"]) < LockBW) then
		curUser:SendData(BotName,"You are using a Bandwidh Locker, locked to ( "..vTag["B"].."  kB/s  ), Minimum is ( "..LockBW.." kB/s ).") 
		curUser:Disconnect()
	end
end

Enjoy it. :-p

/NL
//NL

[NL]trucker

nightlitch

I love this client checker script but ..........

i get this error

Syntax error: attempt to perform arithmetic on global `gb' (a nil value)
stack traceback:
   1:  function `NewUserConnected' at line 75 [file `...=PTOTAX==\gekkobeta5\scripts\client-checker.lua']

Script stopped.

could you fix this?


and perhaps make 2 additions :-)

1 a log file
2 3xkick = ban

would be great thanx in advance.
Owner of FunnyHub
 
Funyhub.no-ip.info
       Forum Master of


NightLitch

quick update becouse of the error.

nDC++ removed due to problem resolving the version on it. Tag seam to differ. on the info about nDC otherwise the tag is the same as DC++

-- CLIENT CHECKER
-- Version: 3.1
-- By: NightLitch
-- Date: 2004/02/10
---------------------------------------------------------------------
kb = 1024
gb = kb*kb*kb
tb = kb*kb*kb*kb
---------------------------------------------------------------------
Bot = "Z-LeZ"

--Level Checks / 1:on/0:off

LC = {
[0] = 0,	-- Check Masters
[1] = 0,	-- Check Operators
[2] = 1,	-- Check VIPs
[3] = 1,	-- Check REGs
[-1] = 1,	-- Check Users
}

-- Client Settings
-------------------------------------------------
-- Allow Clients / 1:on/0:off
AllowDCPP = 1		-- DC++
AllowODC = 1			-- oDC
AllowNMDC2 = 1		-- Neo Modus DC 2
AllowDCGUI = 1		-- DCGUI
AllowDCPRO = 1		-- DC:PRO
AllowBCDC = 1		-- BCDC++
AllowCZDC = 1		-- CZDC++
AllowPDC = 1			-- Phantom DC++
AllowIDC = 1			-- Italian DC++
AllowNOTAG = 0		-- No Tag Client ex: Neo Modus DC 1
AllowFAKE = 0			-- Fake Client (Fake Taging)

-- Client Settings
MinSlots = 2		-- Min Slots
MaxSlots = 15		-- Max Slots
MaxHubs = 8		-- Max Hubs for users
LockBW = 10		-- Min Bandwidh Lock

-- Version Checks
DCPPver = "0.201"			-- DC++ Min. Version
ODCver = "5.2"			-- oDC Min. Version
NMDC2ver = "2.02"		-- Neo Modus DC 2 Min. Version
DCPROver = "0.2.2.10"		-- DC:PRO Min. Version
DCGUIver = "0.2.20"		-- DCGUI Min. Version
IDCver = "1.03"			-- Italian DC++ Min. Version
nDCver = "0.300"			-- nDC++ Min. Version

---------------------------------------------------------------------

ClientTAG = {
{ "<%+%+","oDC" },
{ "","MS++V" },
{ "","MS++V" },
{ "","Phantom DC++" },
}

function NewUserConnected(curUser)
			local vClient, vTag, vSpeed, vShare = ParseMyInfo(curUser.sMyInfoString)
			local Msg = "\r\n\r\n"
			Msg = Msg .. "\r\n	Welcome "..curUser.sName.." !"
			Msg = Msg .. "\r\n------------------------------------------------------------------------------------"
			Msg = Msg .. "\r\n "
			Msg = Msg .. "\r\n You are using "..vClient.." Version: "..vTag["V"].."."
			Msg = Msg .. "\r\n You are Sharing "..format("%.2f",vShare/gb).." Gb and "..vTag["S"].." Slot(s)."
			Msg = Msg .. "\r\n You are in "..vTag["H"].." Hub(s) as user."
			Msg = Msg .. "\r\n You are in "..vTag["RH"].." Hub(s) as registered user."
			Msg = Msg .. "\r\n You are in "..vTag["OH"].." Hub(s) as operator."
			Msg = Msg .. "\r\n Your Bandwidh Limiter is "..vTag["B"].." kB/s"
			Msg = Msg .. "\r\n You are in "..vTag["M"].." Mode."
			Msg = Msg .. "\r\n "
			Msg = Msg .. "\r\n------------------------------------------------------------------------------------"
			curUser:SendData(BotName,Msg)
end

function DataArrival(curUser,data)
	if (strsub(data,1,7) == "$MyINFO") then
		local vClient, vTag, vSpeed, vShare = ParseMyInfo(data)
		AllowClients(curUser,vClient,vTag)
	end
end

function ParseMyInfo(MyInfo)
	local vClient = "Unknown"
	local Bwidh = ""
	local _,_,vSpeed,sShare = strfind( MyInfo, "^%$MyINFO %$ALL [^ ]+ [^$]*%$ $([^$]+)[^$]%$[^$]*%$%s*(%d+)%$" )
	local vShare = tonumber(sShare)
		
	for i = 1,getn(ClientTAG) do
		if strfind(MyInfo,ClientTAG[i][1]) then
			vClient = ClientTAG[i][2]
		end
	end
	
	local Version = ""
	local _,_,Slots = strfind( MyInfo, "S:(%d+)")
	local _,_,Mode = strfind( MyInfo, "M:([S,A,P])")
	local _,_, DcVer = strfind(MyInfo,"V:(%x+.%x+)")
	Version = DcVer
	if strfind(MyInfo,"")
		Version = oDCVer
		vClient = "oDC"
	elseif vClient=="Italian DC++" then
		local _,_,IDCVer = strfind(MyInfo,"")
		Version = IDCVer
	end

	local Hubs = ""
	local Regged = ""
	local Opped = ""
	local _,_, gethub = strfind(MyInfo,"H:(%x+)/") 
	if gethub == nil then 
		_,_, Hubs = strfind(MyInfo,"H:(%x+)")
		Regged = 0
		Opped = 0
	else
		Hubs = gethub
		_,_, Regged = strfind(MyInfo,"H:%x+/(%x+)/") 
		_,_, Opped = strfind(MyInfo,"H:%x+/%x+/(%x+)")
	end 
	
	if strfind(MyInfo,"H:\"%d+/%d+/%d+\",S") then
		vClient = "Fake Client"
		_,_,Hubs,Regged,Opped = strfind(MyInfo,"H:\"(%x+)/(%x+)/(%x+)\"")
	end

	if strfind( MyInfo,"V:%S+(k),M") then vClient = "DC++k" end

	
	if strfind(MyInfo, "L:") then 
		local _,_,Ls = strfind(MyInfo , "L:(%d+)")
		Bwidh = Ls
		vClient = "CZDC++"
	elseif strfind(MyInfo, "B:") then 
		local _,_,Bs = strfind(MyInfo , "B:(%d+)")
		Bwidh = Bs
		if not vClient=="Phantom DC++" then
			vClient = "BCDC++"
		end
	elseif strfind(MyInfo, "F:") then
		local _,_,Fs = strfind(MyInfo , "F:%d+/(%d+)")
		Bwidh = Fs
	else
		Bwidh = "unlimited"
	end

	if Version == nil then Version = "0" end
	if Mode == nil then Mode = "0" end
	if Hubs == nil then Hubs = "0" end
	if Slots == nil then Slots = "0" end

	tMode = {
	["S"] = "Socks",
	["A"] = "Active",
	["P"] = "Passive",
	["0"] = "N/A",
	}
	vTag = { ["H"] = Hubs, ["S"] = Slots, ["B"] = Bwidh,["V"] = Version, ["M"] = tMode[Mode], ["RH"] = Regged,  ["OH"] = Opped}
	return vClient, vTag, vSpeed, vShare
end

function AllowClients(curUser,vClient,vTag)
	if (LC[curUser.iProfile]==1) then
		if (vClient =="oDC" and AllowODC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,ODCver,"http://gempond.com/odc")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DC++" and AllowDCPP==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://dcplusplus.sourceforge.net")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DC:PRO" and AllowDCPRO==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPROver,"http://btpro.altervista.org/index.php")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="DCGUI" and AllowDCGUI==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCGUIver,"http://dc.ketelhot.de")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="NeoModus 2" and AllowNMDC2==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,NMDC2ver,"http://neo-modus.com")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="BCDC++" and AllowBCDC==1)  then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://utrum.dyndns.org:8000/index.html")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="CZDC++" and AllowCZDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://www.czdcplusplus.tk/")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Phantom DC++" and AllowPDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://pdc.recoil.net.nz/index.php")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Italian DC++" and AllowIDC==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,IDCver,"http://www.p2pitalia.com/")
			BandwidhCheck(curUser,vTag)

		elseif (vClient =="Fake Client" and AllowFAKE==1) then
			CheckSlotsHubs(curUser,vTag)
			VersionCheck(curUser,vClient,vTag,DCPPver,"http://dcplusplus.sourceforge.net")
			BandwidhCheck(curUser,vTag)
		elseif (vClient =="Unknown" and AllowNOTAG==1) then

		elseif (vClient =="Fake Client" and AllowFAKE==0) then
			curUser:SendData(BotName,curUser.sName.." you are using a fake tag or client!")
			curUser:Disconnect()
		elseif (vClient =="Unknown" and AllowNOTAG==0) then
			curUser:SendData(BotName,curUser.sName.." you are using a client with no tag!")
			curUser:Disconnect()
		else
			curUser:SendData(BotName,curUser.sName..", "..vClient.." is not allowed here!")
			curUser:Disconnect()
		end
	end
end

function CheckSlotsHubs(curUser,vTag)
	if (vTag["S"] == "N/A" or vTag["H"] == "N/A") then
	elseif (tonumber(vTag["S"]) < MinSlots) then
		curUser:SendData(BotName,"You have too litle slots open ( "..vTag["S"].." ) Minimum slots is ( "..MinSlots.." ). ")
		curUser:Disconnect()
	elseif (tonumber(vTag["S"]) > MaxSlots) then
		curUser:SendData(BotName,"You have too many slots open ( "..vTag["S"].." ) Maximum slots is ( "..MaxSlots.." ). ")
		curUser:Disconnect()
	elseif (tonumber(vTag["H"]) > MaxHubs) then
		curUser:SendData(BotName,"You are in too many hubs ( "..vTag["H"].." ) Max Hubs is ( "..MaxHubs.." ). ")
		curUser:Disconnect()
	end
end

function VersionCheck(curUser,vClient,vTag,Version,Download)
	if (vClient == "DCGUI" or vClient == "DC:PRO") then
		if (vTag["V"] == "N/A") then
		elseif (vTag["V"] < Version) then
			curUser:SendData(BotName,"You are using "..vClient.." version [ "..vTag["V"].." ]") 
			curUser:SendData(BotName,"The oldest version allowed is "..vClient.." [ "..Version.." ], you may download the latest "..vClient.." at "..Download) 
			curUser:Disconnect()
		end
	else
		if (vTag["V"] == "N/A") then
		elseif (vTag["V"] < Version) then
			curUser:SendData(BotName,"You are using "..vClient.." version [ "..vTag["V"].." ]") 
			curUser:SendData(BotName,"The oldest version allowed is "..vClient.." [ "..Version.." ], you may download the latest "..vClient.." at "..Download) 
			curUser:Disconnect()
		end
	end
end

function BandwidhCheck(curUser,vTag)
	if vTag["B"] == "unlimited" then
	elseif (tonumber(vTag["B"]) < LockBW) then
		curUser:SendData(BotName,"You are using a Bandwidh Locker, locked to ( "..vTag["B"].."  kB/s  ), Minimum is ( "..LockBW.." kB/s ).") 
		curUser:Disconnect()
	end
end

EnJoy!!!
//NL

[NL]trucker

#31
nightlitch

testing the new one now :-)

did you add the futures i requested?

oke here is an error for ya

Syntax error: bad argument #1 to `strfind' (string expected, got nil)
stack traceback:
   1:  function `strfind' [C]
   2:  function `ParseMyInfo' at line 104 [file `...PTOTAX==\gekkobeta5\scripts\clientchecker_2.lua']
   3:  function `NewUserConnected' at line 77 [file `...PTOTAX==\gekkobeta5\scripts\clientchecker_2.lua']

Script stopped.
Owner of FunnyHub
 
Funyhub.no-ip.info
       Forum Master of


NightLitch

new update will come...
//NL

[NL]trucker

Nightlitch

Quotenew update will come...

When???
Owner of FunnyHub
 
Funyhub.no-ip.info
       Forum Master of


NightLitch

When I get something straight in my life.

NXS-3 will be updated now & then. If you run that you will not need this one.

But will see what I can do upcoming week.
//NL

[NL]trucker

Nightlitch

see that you get your live back on track m8  i can wait
live is more important than dc
Owner of FunnyHub
 
Funyhub.no-ip.info
       Forum Master of


SMF spam blocked by CleanTalk