- Código:
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#Autor: RD12 Sistema de Level
#--------------------------------------------------------------------------------
#Cria leveis para skills, permite dar xp e evoluir
#--------------------------------------------------------------------------------
#Aumentar XP: $game_party.skl_gain_xp(ID, Valor)
#Pegar Lvl de uma skill: $game_party.skl_lvl(ID)
#Pegar XP de uma skill: $game_party.skl_xp(ID)
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
module Skl_Lvl
#Skills(Quantidade de skills, [XP, LVL])
Skills = Array.new(10, [0, 0])
Skill_Names = []
Skill_Names[0] = "Corte de Lenha"
#XP e Multiplicação que será feita dela para o próximo level
#Ex de 2x: 40, 80, 130, 160
Level = [40, 2, 99]#99 = level maximo
Skl_Lvl
end
class Game_Party
alias skl_alias initialize
def initialize
@skills = Skl_Lvl::Skills
#Criar o XP dos leveis
@sk_lvl = []
@sk_lvl[0] = Skl_Lvl::Level[0]
for i in 1..Skl_Lvl::Level[2]
@sk_lvl[i] = @sk_lvl[i-1][0]*2
end
skl_alias
end
#Retorna level e xp de certa skill
def skl_lvl(id); return @skills[id][1]; end
def skl_xp(id); return @skills[id][0]; end
#Ganhar XP e subir de level
def skl_gain_xp(id,xp)
@skills[id][0] += xp
for i in @skills[id][1]..@sk_lvl.size-1
if @skills[id][0] >= @sk_lvl[i]
@skills[id][1] = i
end
end
end
end
Agora q fui ver seu comentario. Bom, ja tinha feito faz um tempo.
Script para evoluir as Skills
Agora, ele pode usar um for e desenhar tudo na window com 3 linhas.
- Código:
for i in 0..10
draw_text(0, i*20, 60, 32, Skl_Lvl::Skill_Names[i] + " #{$game_party.skl_lvl(ID).to_s}", 0)
end
+/- esse de cima, fiz aqui msm. Só comentei aquilo para ajudar, se se ofederam, desculpem.