Why ???
 

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

Why ???

Started by nErBoS, 12 February, 2004, 11:58:15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

nErBoS

Hi all,

in this script...

--Requested by DorianG 
--Made by nErBoS

Bot = "MmSlot-Checker"

minSlot = 3 
maxSlot = 5 
addredirect = "llllaa.mine.nu"

function Main()
SetTimer(3*1000)
frmHub:RegBot(Bot)
end

--This function takes more memory, but searches the user slots when they speak or refresh userlist, in case if you want to remove.
function DataArrival(user, data) --remove from here
		local _,b, slt = strfind(user.sMyInfoString,"S:(%x+)")
		slt = slt*1
		if (slt < minSlot) then
			user:SendPM(Bot, "You must have "..minSlot.." slot open at least.")
			user:SendPM(Bot, "You are been redirected...")
			user:SendData("$ForceMove "..addredirect)
		elseif (slt > maxSlot) then
			user:SendPM(Bot, "You must have "..maxSlot.." slot open in max.")
			user:SendData("$ForceMove "..addredirect)
			user:SendPM(Bot, "You are been redirected...")
		end
end --to here

-- This function only checks when the users connects
function NewUserConnected(user, data)
	if strfind(user.sMyInfoString, "S:%x+") then
		local _,b, slt = strfind(user.sMyInfoString,"S:(%x+)")
		slt = slt*1
		if (slt < minSlot) then
			user:SendPM(Bot, "You must have "..minSlot.." slot open at least.")
			user:SendData("$ForceMove "..addredirect)
			user:SendPM(Bot, "You are been redirected...")
		elseif (slt > maxSlot) then
			user:SendPM(Bot, "You must have "..maxSlot.." slot open in max.")
			user:SendData("$ForceMove "..addredirect)
			user:SendPM(Bot, "You are been redirected...")
		end
	end
end

Is working but i am getting this erro on the editor..

Syntax Error: attempt to perform arithmetic on local `slt' (a nil value)

can anyone explained me why ??

Best regards, nErBoS
--## nErBoS Spot ##--

VidFamne

#1
Try to use " %d* " instead of " %x+ " in strfind.
%x  -  is all hexadecimal digits

And for the safety;
slt = tonumber(slt)

nErBoS

Thanks for the explanition VidFamne.

Still having error...

Syntax Error: attempt to compare nil with number
--## nErBoS Spot ##--

kepp

yes, im getting that too and i would really like to know Why?

Is it that user's slot is == 0 and therefore nil?
(But that seems strange) or that it can't find the tag?
Guarding    

nErBoS

#4
This error will appear even if you have 3 slots, but the script does their jobs but i dont understand way he sends this error.

Lets hope some big Scripter can explain :)

Best regards, nErBoS
--## nErBoS Spot ##--

SMF spam blocked by CleanTalk