Ir para conteúdo

Featured Replies

Postado

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.

Editado por LucasFerraz (veja o histórico de edições)

  • 1 month later...
  • 10 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo