• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

CreatureEvent No more Crash by Account Manager

LucasFerraz

Systems Analyst
Joined
Jun 10, 2010
Messages
2,858
Reaction score
96
Location
Brazil
In creaturescripts/creaturescripts.xml add:

XML:
<event type="login" name="Add" event="script" value="preventcrash.lua"/>
<event type="logout" name="Del" event="script" value="preventcrash.lua"/>


In creaturescripts/scripts create preventcrash.lua:

Lua:
--Made by MatheusMkalo
function table.find(table, value)
for i,x in pairs(table) do
if x == value then
b = i
break
end
end
return b
end
v = {}
function v:new()
return setmetatable({}, {__index = self})
end
function v:add(name)
self[name] = self[name] or {}
table.insert(self[name], 1+#self[name])
end
function v:check(name)
return #self[name]
end
function v:del(name)
table.remove(self[name], table.find(self[name], #self[name]))
end
player = v:new()
maxplayer = 10 ---- Max player
playername = "Account Manager" ---- Player name

function onLogin(cid)
if getPlayerName(cid) == playername then
player:add(playername)
if player:check(playername) > maxplayer then
return FALSE
end
end
return TRUE
end
function onLogout(cid)
if getPlayerName(cid) == playername then
player:del(playername)
end
return TRUE
end

or

Lua:
--Made by darkhaos
local max = 10

function onLogin(cid)

	local i = 0
	for _, it in ipairs(getPlayersOnline()) do
		if getCreatureName(it):lower() == "Account Manager" then
			i = i + 1
		end
		
	end

	if i > max then
		return false
	end
	return true
end
It will allow only 10 Account Managers online.
 
Last edited:
Lua:
local max = 10

function onLogin(cid)

	local i = 0
	for _, it in ipairs(getPlayersOnline()) do
		if getCreatureName(it):lower() == "account manager" then
			i = i + 1
		end
		
	end

	if i > max then
		return false
	end
	return true
end
 
If you have it set to 10 max, and say im like #20 will it put you on a waiting list like when server capacity is reached?
 
Back
Top