• 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!

Mana reg to 1 player rep+

shawntio

Member
Joined
Apr 14, 2008
Messages
737
Reaction score
5
Location
sweden
Hi i wonder if it's possible to add mana regeneration to 1 player please reply Thanks
 
Lua:
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 4)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, 20)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, 1000)

function onLogin(cid)
	if getCreatureName(cid) == 'Player Name' then
		doAddCondition(cid, condition)
	end
	return true
end
 
No, create a new login creaturescript if you don't know how to merge it with your existing script, login.lua
 
local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end

local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str .. " Please choose your outfit."
doPlayerSendOutfitWindow(cid)
end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end

if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end

registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "rewards") registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "PlayerDeath")
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "ArenaKill")
registerCreatureEvent(cid, "demonOakLogout")
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "KillingInTheNameOf")
registerCreatureEvent(cid, "expRate")
-- if he did not make full arena 1 he must start from zero
if getPlayerStorageValue(cid, 42309) < 1 then
for i = 42300, 42309 do
setPlayerStorageValue(cid, i, 0)
end
end
-- if he did not make full arena 2 he must start from zero
if getPlayerStorageValue(cid, 42319) < 1 then
for i = 42310, 42319 do
setPlayerStorageValue(cid, i, 0)
end
end
-- if he did not make full arena 3 he must start from zero
if getPlayerStorageValue(cid, 42329) < 1 then
for i = 42320, 42329 do
setPlayerStorageValue(cid, i, 0)
end
end
if getPlayerStorageValue(cid, 42355) == -1 then
setPlayerStorageValue(cid, 42355, 0) -- did not arena level
end
setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
setPlayerStorageValue(cid, 42352, 0) -- is not in arena

return true
end
registerCreatureEvent(cid, "BountyHunter")
 
Lua:
local config = {
	loginMessage = getConfigValue('loginMessage'),
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 4)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, 20)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, 1000)

function onLogin(cid)
	if getCreatureName(cid) == 'Player Name' then
		doAddCondition(cid, condition)
	end

	local loss = getConfigValue('deathLostPercent')
	if(loss ~= nil) then
		doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
	end

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

	registerCreatureEvent(cid, "Mail")
	registerCreatureEvent(cid, "rewards") registerCreatureEvent(cid, "GuildMotd")
	registerCreatureEvent(cid, "Idle")
	if(config.useFragHandler) then
		registerCreatureEvent(cid, "SkullCheck")
	end
	registerCreatureEvent(cid, "ReportBug")
	registerCreatureEvent(cid, "PlayerDeath")
	registerCreatureEvent(cid, "advance")
	registerCreatureEvent(cid, "ArenaKill")
	registerCreatureEvent(cid, "demonOakLogout")
	registerCreatureEvent(cid, "demonOakDeath")
	registerCreatureEvent(cid, "KillingInTheNameOf")
	registerCreatureEvent(cid, "expRate")
	registerCreatureEvent(cid, "BountyHunter")

	-- if he did not make full arena 1 he must start from zero
	if getPlayerStorageValue(cid, 42309) < 1 then
		for i = 42300, 42309 do
			setPlayerStorageValue(cid, i, 0)
		end
	end
	-- if he did not make full arena 2 he must start from zero
	if getPlayerStorageValue(cid, 42319) < 1 then
		for i = 42310, 42319 do
			setPlayerStorageValue(cid, i, 0)
		end
	end
	-- if he did not make full arena 3 he must start from zero
	if getPlayerStorageValue(cid, 42329) < 1 then
		for i = 42320, 42329 do
			setPlayerStorageValue(cid, i, 0)
		end
	end
	if getPlayerStorageValue(cid, 42355) == -1 then
		setPlayerStorageValue(cid, 42355, 0) -- did not arena level
	end
	setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
	setPlayerStorageValue(cid, 42352, 0) -- is not in arena

	return true
end
Don't forget to change Player Name.
 
SUBID is used to support multiple conditions at the same time
MANAGAIN specifies how much mana should it give
MANATICKS specifies how long should the interval between adding mana be (in milliseconds)
 
yep ;/
Code:
[05/12/2010 04:25:30] [Error - CreatureScript Interface] 
[05/12/2010 04:25:30] data/creaturescripts/scripts/bounty.lua:onKill
[05/12/2010 04:25:30] Description: 
[05/12/2010 04:25:30] data/lib/database.lua:76: [Result:getDataString] Result not set!
[05/12/2010 04:25:30] stack traceback:
[05/12/2010 04:25:30] 	[C]: in function 'error'
[05/12/2010 04:25:30] 	data/lib/database.lua:76: in function 'getDataString'
[05/12/2010 04:25:30] 	data/lib/function.lua:742: in function 'getHuntedPlayer'
[05/12/2010 04:25:31] 	data/creaturescripts/scripts/bounty.lua:4: in function <data/creaturescripts/scripts/bounty.lua:1>
[05/12/2010 04:25:31] mysql_real_query(): SELECT `player_name` FROM `bounty_hunters` WHERE `player_name` = 'Torsen' AND `kill_time` < 1 - MYSQL ERROR: Unknown column 'player_name' in 'field list' (1054)

[05/12/2010 04:25:31] [Error - CreatureScript Interface] 
[05/12/2010 04:25:31] data/creaturescripts/scripts/bounty.lua:onKill
[05/12/2010 04:25:31] Description: 
[05/12/2010 04:25:32] data/lib/database.lua:76: [Result:getDataString] Result not set!
[05/12/2010 04:25:32] stack traceback:
[05/12/2010 04:25:32] 	[C]: in function 'error'
[05/12/2010 04:25:32] 	data/lib/database.lua:76: in function 'getDataString'
[05/12/2010 04:25:32] 	data/lib/function.lua:742: in function 'getHuntedPlayer'
[05/12/2010 04:25:32] 	data/creaturescripts/scripts/bounty.lua:4: in function <data/creaturescripts/scripts/bounty.lua:1>
 
Back
Top