Pessoal, vi alguns scripts aqui e na OTLand de Skills Stages e detectei uma falha grave que derruba o servidor. É difícil de um jogador nukar sem saber do bug mas pode ocorrer. Por este motivo criei esse post e estou postando os scripts otimizados para prevenir uso excessivo de CPU e RAM.
creaturescripts.xml
<!-- Skill Rates -->
<event type="login" name="RatesMagicLogin" event="script" value="Custom/SkillStages/RatesMagicLogin.lua"/>
<event type="advance" name="RatesMagicAdvance" event="script" value="Custom/SkillStages/RatesMagicAdvance.lua"/>
RatesMagic.lua
function onLogin(cid)
-- Magic Level Rates
if (isInArray({1, 2, 5, 6}, getPlayerVocation(cid)) == TRUE) then
if (getPlayerMagLevel(cid, true) >= 100) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 4.0)
elseif (getPlayerMagLevel(cid, true) >= 90) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 5.0)
elseif (getPlayerMagLevel(cid, true) >= 80) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 6.0)
elseif (getPlayerMagLevel(cid, true) >= 50) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 7.0)
elseif (getPlayerMagLevel(cid, true) >= 30) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 8.0)
elseif (getPlayerMagLevel(cid, true) < 30) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 12.0)
end
return true
elseif (isInArray({7, 8}, getPlayerVocation(cid)) == TRUE) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 7.0)
end
return true
end
RatesMagicAdvance.lua
function onAdvance(cid, skill, oldLevel, newLevel)
if skill == SKILL__MAGLEVEL then
if (isInArray({1, 2, 5, 6}, getPlayerVocation(cid)) == TRUE) then
if (newLevel >= 100) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 4.0)
elseif (newLevel >= 90) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 5.0)
elseif (newLevel >= 80) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 6.0)
elseif (newLevel >= 50) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 7.0)
elseif (newLevel >= 30) then
return doPlayerSetRate(cid, SKILL__MAGLEVEL, 8.0)
end
return true
end
return true
end
return true
end
Logo mais eu edito aqui e insiro os de Skills.