[RGSS2] Pedido
2 participantes
Página 1 de 1
[RGSS2] Pedido
Alguem poderia me disponibilizar um script pra dividir status
Estilo diablo cada level que você passa vc ganha 5 pontos (pontos editaveis)
procurei mais não achei por favor se eu não tiver procurado direito
por favor me avisem e me desculpem
Vlww
Estilo diablo cada level que você passa vc ganha 5 pontos (pontos editaveis)
procurei mais não achei por favor se eu não tiver procurado direito
por favor me avisem e me desculpem
Vlww
Tkilla- Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 30
Re: [RGSS2] Pedido
você quer coloca-lo em um menu normal? se for é só colocar esses três scripts na parte de scripts adcionais
- Código:
=begin
================================== INTRUÇÕES =================================
--------------------------------------------------------------------------------
Stat points distribution system 1.7
By Lettuce.
--------------------------------------------------------------------------------
Chame usando: $scene = Scene_Stat_Dist.new(0)
Você pode dar pontos ao ator usando o código:
$game_party.members[<member ID>].points += <amount of pt>
Onde <member ID> deve ser substituido pelo id do membro.
E <amount of pt> deve ser substituido pelo número de pontos;
--------------------------------------------------------------------------------
Custom Options Menu
By Akin
--------------------------------------------------------------------------------
Chame usando: "$scene = Scene_Options.new"
--------------------------------------------------------------------------------
● ◦ Monster Book II ◦ ●
By Woratana
Chame usando: $scene = Scene_MonsterBook.new
Complete com a informação de todos os inimigos chamando:
$game_system.set_monbook_complete
Apage a informação de todos os inimigos chamando:
$game_system.reset_monbook
Complete a informação de um inimigo chamando:
$game_system.monbook[enemy_id] = true
Onde enemy_id é o id do inimigo.
Apage a informação de um inimigo chamando:
$game_system.monbook[enemy_id] = false
Onde enemy_id é o id do inimigo.
--------------------------------------------------------------------------------
=end
#==============================================================================#
# CONFIGURE AQUI #
#==============================================================================#
#------------- Stat Points Distribuition System Configuration ----------------#
StartPoints = 20 #Pontos iniciais
$ptsperlv = 5 # Quantos pontos ganha por level?
# Stats Máximos
MaxStat = 255
MaxHP = 9999 # HP
MaxMP = 999 # MP
MaxHIT = 80 # 100 = nunca erra
MaxEVA = 60 # 100 = sempre desvia
MaxCRIT = 15 # 100 = sempre crítico
#Quantos pontos são nescessários para evoluir 1 nível de:
PointsPerHP = 2 #HP
PointsPerMP = 2 #MP
PointsPerHIT = 15 #HIT
PointsPerEVA = 7 #Evasão
PointsPerCRIT = 5 #Critico
#Quanto de cada irá aumentar por cada ponto dado
IncreaseBy = 2
HPIncreaseBy = 25 #HP
MPIncreaseBy = 15 #MP
HITIncreaseBy = 5 #Hit
EVAIncreaseBy = 1 #Evasão
CRITIncreaseBy = 1 #Critico
#Fonte
Fontname = Font.default_name # Nome da fonte
Fontsize = 20 # Tamanho da fonte
#------------------------------ Menu 2.0 ------------------------------------#
#------------------------------ Menu de opções ------------------------------#
module OptionCommand
# Opções da aba principal
Audio = 'Audio' # Nome da aba que controla o audio
Controls = 'Controles' # Nome da aba de controles
Resolution = 'Resolução' # Nome da aba de resolução
Exit_Options = 'Voltar' # Nome da opção voltar
# Controle de audio (VOLUME)
Audiobgm = 'Volume da música' # Nome da aba da música
Audiobgs = 'Volume dos efeitos de fundo' # Nome da aba dos efeitos de fundo
Audiome = 'Volume dos efeitos musicais' # Nome da aba dos efeitos musicais
Audiose = 'Volume dos efeitos de som' # Nome da aba dos efeitos de som
#BGM Options
AudiobgmV = [" -", " +"] # Simbolos Aumentar \ Diminuir
#BGS Options
AudiobgsV = [' -', ' +'] # Simbolos Aumentar \ Diminuir
#SE Options
AudioseV = [' -', ' +'] # Simbolos Aumentar \ Diminuir
#ME Options
AudiomeV = [' -', ' +'] # Simbolos Aumentar \ Diminuir
#Opções de resolução
ResolutionS = ['Padrão', '800x600', '1024x768', '1280x1024', '1600x1200']
# Obs.: Mesmo que você mude aqui, somente os nomes que aparecem na janela
# irão mudar, a resolução de cada uma das opções fica a mesma.
# Ou seja, não adianta nada mudar aqui.
end
MA_AMS = false # Defina isso com True se você usa o "Modern Algebra's Advanced
# Text System"
#----------------------------- Monster Book II ------------------------------#
module Wora_Monbook
TEXT_TITLE = 'Bestiário' # Nome do Bestiário (Será mostrado no canto superior
# esquerdo)
TEXT_FOUND = 'Encontrados: '# Texto que vem antes de mostrar quantos monstros
# foram encontrados
TEXT_COMPLETED = 'Completo: ' # Texto que mostra a porcentagem de quantos mons.
# foram encontrados
TEXT_DOT = '.' # Texto que vai depois do nome do monstro.
COMPARE_STATUS = true # Usar sistema de comparação?
# Isso irá comparar cada monstro com o ator mais forte do grupo
# Vai monstrar números verdes, se o monstro for comparado como fraco.
# Vai monstrar números vermelhos, se o monstro for comparado como forte.
# Use true para sim e false para não
NO_RECORD_SWITCH = 10 # Switch de registro nulo. Se esta switch estiver ligada
# todos os monstros que o grupo\Ator batalhar, não serão
# catalogados.
NO_DATA_MONSTER = [] # ID dos monstros que de jeito nenhum irão ser catalogados
# EXEMPLO:
# Se você deseja que os monstros 3,6 e 9 não sejam listados, coloque
# NO_DATA_MONSTER = [3,6,9]
end
#============================ Fim da configuração ============================
- Código:
#==============================================================================
# Essa janela mostra a mensagem de inicio
#==============================================================================
LayoutMode = 2
OFFSET = -10
Mode = 1
def return_scene
$scene = Scene_Menu.new
end
class Lettuce_Window_Top < Window_Base
def initialize
super(0,0,544,70)
self.contents = Bitmap.new(width-32,height-32)
self.contents.font.name = Fontname
self.contents.font.size = Fontsize
refresh
end
def refresh
self.contents.clear
self.contents.font.size = Fontsize-4
self.contents.draw_text(0,-10,544-32,32,"Distribuição de pontos",1)
self.contents.font.size = Fontsize-6
self.contents.draw_text(0,10,544-32,32,"Direita ou esquerda para mudar o personagem",1)
end
end
class Game_Actor < Game_Battler
def change_exp(exp, show)
last_level = @level
last_skills = skills
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
level_up
end
while @exp < @exp_list[@level]
level_down
end
@hp = [@hp, maxhp].min
@mp = [@mp, maxmp].min
if show and @level > last_level
display_level_up(skills - last_skills)
end
difference = @level - last_level
if (difference == 1)
$game_actors[@actor_id].points += ($ptsperlv)
end
end
end
#==============================================================================
# Essa janela mostra os pontos do membro
#==============================================================================
class Lettuce_Window_Points < Window_Base
def initialize(member_index)
super(401,320,144,52)
self.contents = Bitmap.new(width-32,height-32)
self.contents.font.name = Fontname
self.contents.font.size = Fontsize
refresh(member_index)
end
def refresh(member_index)
actor = $game_party.members[member_index]
points = actor.points
self.contents.clear
self.contents.draw_text(0,0,162,20,"Pontos: "+points.to_s)
end
end
#==============================================================================
# Essa janela mostra os status do membro
#==============================================================================
class Lettuce_Window_Info < Window_Base
def initialize(member_index)
super(0,71,400,346)
self.contents = Bitmap.new(width-32,height-32)
self.contents.font.name = Fontname
self.contents.font.size = Fontsize
@exo = 25 #equipment section X coordinate offset
@exo2 = 35 #equipment section X coordinate offset
@eyo = -10 #equipment section Y coordinate offset
refresh(member_index)
end
def refresh(member_index)
actor = $game_party.members[member_index]
self.contents.clear
self.contents.font.size = Fontsize
draw_actor_face(actor,10,10,92)
draw_actor_name(actor,120,10)
self.contents.font.size = Fontsize
self.contents.draw_text(190,30,200,20,"Classe: "+actor.class.name)
self.contents.draw_text(120,30,200,20,"Lv. "+actor.level.to_s)
if LayoutMode == 1
draw_actor_state(actor,200,280,168)
elsif LayoutMode == 2
draw_actor_state(actor,220,10)
end
s1 = actor.exp_s # Exp Total
s2 = actor.current_lvl_exp # Experiencia ganha no level atual
if s1.is_a?(Numeric)
s3 = s1-s2 # Progresso
s4 = actor.next_lvl_exp # Exp necessária para evoluir
self.contents.font.size = Fontsize - 5
self.contents.draw_text(230,74,90,20,"EXP: "+s3.to_s+"/"+s4.to_s,0)
self.contents.font.size = Fontsize
else
self.contents.draw_text(230,74,85,20,"-----/-----",2)
end
#Preparando barras de cores
back_color = Color.new(30, 30, 30, 255)
str_color1 = Color.new(229, 153, 73, 255)
str_color2 = Color.new(255, 72, 0, 255)
def_color1 = Color.new(210, 255, 0, 255)
def_color2 = Color.new(85, 129, 9, 255)
spi_color1 = Color.new(99, 133, 161, 255)
spi_color2 = Color.new(10, 60,107, 255)
agi_color1 = Color.new(167, 125, 180, 255)
agi_color2 = Color.new(90, 11, 107, 255)
hp_color1 = Color.new(66, 114, 164, 255)
hp_color2 = Color.new(122, 175, 229, 255)
mp_color1 = Color.new(93, 50, 158, 255)
mp_color2 = Color.new(145, 122, 229, 255)
exp_color1 = Color.new(246, 243, 224, 255)
exp_color2 = Color.new(255, 182, 0, 255)
if s1.is_a?(Numeric)
self.contents.fill_rect(230,90,89,7,back_color)
self.contents.gradient_fill_rect(232,92,(85*s3)/s4,3,exp_color1,exp_color2)
else
self.contents.fill_rect(230,60,89,7,back_color)
end
self.contents.fill_rect(120,67,104,7,back_color)
self.contents.gradient_fill_rect(122,69,100*actor.hp/actor.maxhp,3,str_color1,str_color2)
self.contents.draw_text(120,44,100,30,"HP",0)
self.contents.draw_text(120,44,100,30,actor.hp.to_s + "/" + actor.maxhp.to_s,2)
self.contents.fill_rect(120,90,104,7,back_color)
self.contents.gradient_fill_rect(122,92,100*actor.mp/actor.maxmp,3,spi_color1,spi_color2)
self.contents.draw_text(120,67,100,30,"MP",0)
self.contents.draw_text(120,67,100,30,actor.mp.to_s + "/" + actor.maxmp.to_s,2)
#Armas
weapon = $data_weapons[actor.weapon_id]
shield = $data_armors[actor.armor1_id]
helm =$data_armors[actor.armor2_id]
body =$data_armors[actor.armor3_id]
accessory =$data_armors[actor.armor4_id]
bonus_atk = 0
bonus_def = 0
bonus_spi = 0
bonus_agi = 0
evasion = 0
crit = 4
if $data_actors[actor.id].critical_bonus
crit +=4
end
if weapon
bonus_atk += weapon.atk
bonus_def += weapon.def
bonus_spi += weapon.spi
bonus_agi += weapon.agi
if weapon.critical_bonus
crit += 4
end
end
if shield
bonus_atk += shield.atk
bonus_def += shield.def
bonus_spi += shield.spi
bonus_agi += shield.agi
evasion += shield.eva
end
if helm
bonus_atk += helm.atk
bonus_def += helm.def
bonus_spi += helm.spi
bonus_agi += helm.agi
evasion += helm.eva
end
if body
bonus_atk += body.atk
bonus_def += body.def
bonus_spi += body.spi
bonus_agi += body.agi
evasion += body.eva
end
if accessory
bonus_atk += accessory.atk
bonus_def += accessory.def
bonus_spi += accessory.spi
bonus_agi += accessory.agi
evasion += accessory.eva
end
if LayoutMode == 1
draw_item_name(weapon,160+@exo,125+@eyo,true)
if weapon
two_hand = true if weapon.two_handed == true
end
if two_hand
draw_item_name(weapon,160+@exo,155+@eyo,true)
else
draw_item_name(shield,160+@exo,155+@eyo,true)
end
draw_item_name(helm,160+@exo,185+@eyo,true)
draw_item_name(body,160+@exo,215+@eyo,true)
draw_item_name(accessory,160+@exo,245+@eyo,true)
self.contents.font.color = Color.new(87,87,87,255)
if !weapon
#draw_icon(216,160+@exo,125+@eyo,true)
self.contents.draw_text(184+@exo,107+@eyo,200,20," Arma")
self.contents.draw_text(184+@exo,127+@eyo,200,20,"Não equipada")
end
if !shield
#draw_icon(217,160+@exo,155+@eyo,true)
if !two_hand
self.contents.draw_text(184+@exo,137+@eyo,200,20,"Segunda arma")
self.contents.draw_text(184+@exo,157+@eyo,200,20,"Não equipada")
end
end
if !helm
#draw_icon(218,160+@exo,185+@eyo,true)
self.contents.draw_text(184+@exo,167+@eyo,200,20," Capacete")
self.contents.draw_text(184+@exo,187+@eyo,200,20,"Não equipado")
end
if !body
#draw_icon(219,160+@exo,215+@eyo,true)
self.contents.draw_text(184+@exo,197+@eyo,200,20," Armadura")
self.contents.draw_text(184+@exo,217+@eyo,200,20,"Não equipada")
end
if !accessory
#draw_icon(220,160+@exo,245+@eyo,true)
self.contents.draw_text(184+@exo,227+@eyo,200,20,"Não equipado")
self.contents.draw_text(184+@exo,247+@eyo,200,20,"Não equipado")
end
self.contents.font.color = Color.new(255,255,255,255)
elsif LayoutMode == 2
draw_item_name(weapon,160+@exo2,125+OFFSET+@eyo,true)
if weapon
two_hand = true if weapon.two_handed
end
if two_hand
draw_item_name(weapon,160+@exo2,165+OFFSET+@eyo,true)
else
draw_item_name(shield,160+@exo2,165+OFFSET+@eyo,true)
end
draw_item_name(helm,160+@exo2,205+OFFSET+@eyo,true)
draw_item_name(body,160+@exo2,245+OFFSET+@eyo,true)
draw_item_name(accessory,160+@exo2,285+OFFSET+@eyo,true)
self.contents.font.color = Color.new(87,87,87,255)
if !weapon
#draw_icon(216,160+@exo2,125+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,127+OFFSET+@eyo,200,20," Arma")
self.contents.draw_text(184+@exo2,147+OFFSET+@eyo,200,20,"Não equipada")
end
if weapon
if !shield and weapon.two_handed == false
#draw_icon(217,160+@exo2,165+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,20,"Segunda arma")
self.contents.draw_text(184+@exo2,187+OFFSET+@eyo,200,20,"Não equipado")
end
else
if !shield
#draw_icon(217,160+@exo2,165+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,20," Escudo")
self.contents.draw_text(184+@exo2,187+OFFSET+@eyo,200,20,"Não equipada")
end
end
if !helm
#draw_icon(218,160+@exo2,205+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,207+OFFSET+@eyo,200,20," Elmo")
self.contents.draw_text(184+@exo2,227+OFFSET+@eyo,200,20,"Não equipado")
end
if !body
#draw_icon(219,160+@exo2,245+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,247+OFFSET+@eyo,200,20," Armadura")
self.contents.draw_text(184+@exo2,267+OFFSET+@eyo,200,20,"Não equipada")
end
if !accessory
#draw_icon(220,160+@exo2,285+OFFSET+@eyo,true)
self.contents.draw_text(184+@exo2,287+OFFSET+@eyo,200,20," Acessório")
self.contents.draw_text(184+@exo2,307+OFFSET+@eyo,200,20,"Não equipado")
end
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.font.size = Fontsize - 5
self.contents.draw_text(10,120,100,20,"Atk.: ")
self.contents.draw_text(10,120,100,20,(actor.atk-bonus_atk).to_s+" + "+bonus_atk.to_s,2)
self.contents.fill_rect(10,140,104,7,back_color)
self.contents.gradient_fill_rect(12,142,((actor.atk-bonus_atk)*100)/MaxStat,3,hp_color1,hp_color2)
self.contents.draw_text(10,150,100,20,"Def.: ")
self.contents.draw_text(10,150,100,20,(actor.def-bonus_def).to_s+" + "+bonus_def.to_s,2)
self.contents.fill_rect(10,170,104,7,back_color)
self.contents.gradient_fill_rect(12,172,((actor.def-bonus_def)*100)/MaxStat,3,def_color1,def_color2)
self.contents.draw_text(10,180,100,20,"Int.: ")
self.contents.draw_text(10,180,100,20,(actor.spi-bonus_spi).to_s+" + "+bonus_spi.to_s,2)
self.contents.fill_rect(10,200,104,7,back_color)
self.contents.gradient_fill_rect(12,202,((actor.spi-bonus_spi)*100)/MaxStat,3,mp_color1,mp_color2)
self.contents.draw_text(10,210,100,20,"Agi.: ")
self.contents.draw_text(10,210,100,20,(actor.agi-bonus_agi).to_s+" + "+bonus_agi.to_s,2)
self.contents.fill_rect(10,230,104,7,back_color)
self.contents.gradient_fill_rect(12,232,((actor.agi-bonus_agi)*100)/MaxStat,3,agi_color1,agi_color2)
if weapon
hit_rate = weapon.hit
else
hit_rate = 95
end
self.contents.font.size = Fontsize - 5
self.contents.font.color = Color.new(162,212,98,255)
self.contents.draw_text(1,245,100,20,"Ataque Maximo :",2)
self.contents.draw_text(1,260,100,20,"Taxa de Acer. (%) :",2)
self.contents.draw_text(1,275,100,20,"Taxa de Eva. (%) :",2)
self.contents.draw_text(1,290,100,20,"Taxa de Crit. (%) :",2)
self.contents.draw_text(105,245,60,20,(actor.atk*4).to_s,0)
self.contents.draw_text(105,260,60,20,actor.base_hit.to_s + "+" + actor.hitr.to_s,0)
self.contents.draw_text(105,275,60,20,actor.base_eva.to_s + "+" +actor.evar.to_s,0)
self.contents.draw_text(105,290,60,20,actor.base_cri.to_s + "+" + actor.crir.to_s,0)
self.contents.font.size = Fontsize-6
self.contents.font.color = text_color(16)
self.contents.draw_text(135,260,60,20,"[Req:"+PointsPerHIT.to_s+"pt.]",2)
self.contents.draw_text(135,275,60,20,"[Req:"+PointsPerEVA.to_s+"pt.]",2)
self.contents.draw_text(135,290,60,20,"[Req:"+PointsPerCRIT.to_s+"pt.]",2)
if LayoutMode == 1
self.contents.font.color = Color.new(155,199,206,255)
self.contents.font.size = Fontsize - 8
if weapon
self.contents.draw_text(185+@exo,140+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s)
self.contents.draw_text(219+@exo,140+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s)
self.contents.draw_text(253+@exo,140+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s)
self.contents.draw_text(287+@exo,140+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s)
end
if shield
self.contents.draw_text(185+@exo,170+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s)
self.contents.draw_text(219+@exo,170+@eyo,100,20,Vocab::def+"+"+shield.def.to_s)
self.contents.draw_text(253+@exo,170+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s)
self.contents.draw_text(287+@exo,170+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s)
end
if helm
self.contents.draw_text(185+@exo,200+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s)
self.contents.draw_text(219+@exo,200+@eyo,100,20,Vocab::def+"+"+helm.def.to_s)
self.contents.draw_text(253+@exo,200+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s)
self.contents.draw_text(287+@exo,200+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s)
end
if body
self.contents.draw_text(185+@exo,230+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s)
self.contents.draw_text(219+@exo,230+@eyo,100,20,Vocab::def+"+"+body.def.to_s)
self.contents.draw_text(253+@exo,230+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s)
self.contents.draw_text(287+@exo,230+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s)
end
if accessory
self.contents.draw_text(185+@exo,260+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s)
self.contents.draw_text(219+@exo,260+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s)
self.contents.draw_text(253+@exo,260+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s)
self.contents.draw_text(287+@exo,260+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s)
end
end
if Mode == 2
self.contents.font.size = Fontsize - 8
self.contents.font.color = Color.new(155,199,206,255)
self.contents.draw_text(23,100,125,20,"PONTOS",2)
self.contents.draw_text(29,110,125,20,"REQUERIDOS",2)
self.contents.font.size = Fontsize - 4
self.contents.draw_text(20,125,115,20,required(actor.atk-bonus_atk).to_s,2)
self.contents.draw_text(20,155,115,20,required(actor.def-bonus_def).to_s,2)
self.contents.draw_text(20,185,115,20,required(actor.spi-bonus_spi).to_s,2)
self.contents.draw_text(20,215,115,20,required(actor.agi-bonus_agi).to_s,2)
end
if LayoutMode == 2
self.contents.font.color = Color.new(155,199,206,255)
self.contents.font.size = Fontsize - 8
if weapon
self.contents.draw_text(185+@exo2,140+OFFSET+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s)
self.contents.draw_text(185+@exo2,150+OFFSET+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s)
self.contents.draw_text(243+@exo2,140+OFFSET+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s)
self.contents.draw_text(243+@exo2,150+OFFSET+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s)
end
if shield
self.contents.draw_text(185+@exo2,180+OFFSET+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s)
self.contents.draw_text(185+@exo2,190+OFFSET+@eyo,100,20,Vocab::def+"+"+shield.def.to_s)
self.contents.draw_text(243+@exo2,180+OFFSET+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s)
self.contents.draw_text(453+@exo2,190+OFFSET+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s)
end
if helm
self.contents.draw_text(185+@exo2,220+OFFSET+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s)
self.contents.draw_text(185+@exo2,230+OFFSET+@eyo,100,20,Vocab::def+"+"+helm.def.to_s)
self.contents.draw_text(243+@exo2,220+OFFSET+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s)
self.contents.draw_text(243+@exo2,230+OFFSET+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s)
end
if body
self.contents.draw_text(185+@exo2,260+OFFSET+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s)
self.contents.draw_text(185+@exo2,270+OFFSET+@eyo,100,20,Vocab::def+"+"+body.def.to_s)
self.contents.draw_text(243+@exo2,260+OFFSET+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s)
self.contents.draw_text(243+@exo2,270+OFFSET+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s)
end
if accessory
self.contents.draw_text(185+@exo2,300+OFFSET+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s)
self.contents.draw_text(185+@exo2,310+OFFSET+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s)
self.contents.draw_text(243+@exo2,300+OFFSET+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s)
self.contents.draw_text(243+@exo2,310+OFFSET+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s)
end
end
end
def required(base)
return (((base-1)/10)+2).floor
end
end
#==============================================================================
# Essa janela mostra a propriedade de cada atributo
#==============================================================================
class Lettuce_Window_Help < Window_Base
def initialize(index)
super(401,372,144,44)
self.contents = Bitmap.new(width-32,height-32)
self.contents.font.size = Fontsize - 6
refresh(index)
end
def refresh(index)
self.contents.clear
self.contents.font.color = text_color(16)
case index
when 0
self.contents.draw_text(0,-5,112,20,"HP + "+HPIncreaseBy.to_s)
when 1
self.contents.draw_text(0,-5,112,20,"MP + "+MPIncreaseBy.to_s)
when 2
self.contents.draw_text(0,-5,112,20,Vocab::atk+" + "+IncreaseBy.to_s)
when 3
self.contents.draw_text(0,-5,112,20,Vocab::def+" + "+IncreaseBy.to_s)
when 4
self.contents.draw_text(0,-5,112,20,Vocab::spi+" + "+IncreaseBy.to_s)
when 5
self.contents.draw_text(0,-5,112,20,Vocab::agi+" + "+IncreaseBy.to_s)
when 6
self.contents.draw_text(0,-5,112,20,"HIT + "+HITIncreaseBy.to_s)
when 7
self.contents.draw_text(0,-5,112,20,"EVA + "+EVAIncreaseBy.to_s)
when 8
self.contents.draw_text(0,-5,112,20,"CRIT + "+CRITIncreaseBy.to_s)
end
end
end
if Input.trigger?(Input::X)
return_scene
end
#==============================================================================
# Faz a distribuição de pontos
#==============================================================================
class Scene_Stat_Dist < Scene_Base
def initialize(menu_index)
@menu_index = menu_index
end
def start
super
create_menu_background
ihp = Vocab::hp
imp = Vocab::mp
i1 = Vocab::atk
i2 = Vocab::def
i3 = Vocab::spi
i4 = Vocab::agi
i5 = "HIT"
i6 = "EVA"
i7 = "CRIT"
@window_select = Window_Command.new(144,[ihp,imp,i1,i2,i3,i4,i5,i6,i7])
if $position
@window_select.index = $position - 1
else
@window_select.index = 0
end
@window_select.active = true
@window_select.x = 401
@window_select.y = 71
@window_top = Lettuce_Window_Top.new
@window_points = Lettuce_Window_Points.new(@menu_index)
@window_info = Lettuce_Window_Info.new(@menu_index)
@window_help = Lettuce_Window_Help.new(@window_select.index)
end
def terminate
super
dispose_menu_background
@window_top.dispose
@window_points.dispose
@window_info.dispose
@window_help.dispose
@window_select.dispose
end
def update
update_menu_background
@window_select.update
if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@window_help.refresh(@window_select.index)
end
@changes = 0
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Menu.new
elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
@menu_index += 1
@menu_index %= $game_party.members.size
$scene = Scene_Stat_Dist.new(@menu_index)
elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
@menu_index += $game_party.members.size - 1
@menu_index %= $game_party.members.size
$scene = Scene_Stat_Dist.new(@menu_index)
elsif Input.trigger?(Input::C)
if Mode == 1
do_point_reg
elsif Mode == 2
do_point_rag
end
end
end
def do_point_reg
@att = @window_select.index
actor = $game_party.members[@menu_index]
#Armas
weapon = $data_weapons[actor.weapon_id]
shield = $data_armors[actor.armor1_id]
helm =$data_armors[actor.armor2_id]
body =$data_armors[actor.armor3_id]
accessory =$data_armors[actor.armor4_id]
bonus_atk = 0
bonus_def = 0
bonus_spi = 0
bonus_agi = 0
if weapon
bonus_atk += weapon.atk
bonus_def += weapon.def
bonus_spi += weapon.spi
bonus_agi += weapon.agi
end
if shield
bonus_atk += shield.atk
bonus_def += shield.def
bonus_spi += shield.spi
bonus_agi += shield.agi
end
if helm
bonus_atk += helm.atk
bonus_def += helm.def
bonus_spi += helm.spi
bonus_agi += helm.agi
end
if body
bonus_atk += body.atk
bonus_def += body.def
bonus_spi += body.spi
bonus_agi += body.agi
end
if accessory
bonus_atk += accessory.atk
bonus_def += accessory.def
bonus_spi += accessory.spi
bonus_agi += accessory.agi
end
case @att
when 0 #HP
if actor.points < PointsPerHP
Sound.play_cancel
elsif actor.maxhp >= MaxHP
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].maxhp += HPIncreaseBy
if $game_party.members[@menu_index].maxhp > MaxHP
$game_party.members[@menu_index].maxhp = MaxHP
end
actor.points -= PointsPerHP
@changes += 1
$position = 1
end
when 1 #MP
if actor.points < PointsPerMP
Sound.play_cancel
elsif actor.maxmp >= MaxMP
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].maxmp += MPIncreaseBy
if $game_party.members[@menu_index].maxmp > MaxMP
$game_party.members[@menu_index].maxmp = MaxMP
end
actor.points -= PointsPerMP
@changes += 1
$position = 1
end
when 2 #ATK
if actor.points < 1
Sound.play_cancel
elsif (actor.atk-bonus_atk) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].atk += IncreaseBy
if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat
$game_party.members[@menu_index].atk = MaxStat+bonus_atk
end
actor.points -= 1
@changes += 1
$position = 1
end
when 3 #DEF
if actor.points < 1
Sound.play_cancel
elsif (actor.def-bonus_def) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].def += IncreaseBy
if ($game_party.members[@menu_index].def-bonus_def) > MaxStat
$game_party.members[@menu_index].def = MaxStat+bonus_def
end
actor.points -= 1
@changes += 1
$position = 2
end
when 4 #SPI
if actor.points < 1
Sound.play_cancel
elsif (actor.spi-bonus_spi) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].spi += IncreaseBy
if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat
$game_party.members[@menu_index].spi = MaxStat+bonus_spi
end
actor.points -= 1
@changes += 1
$position = 3
end
when 5 #AGI
if actor.points < 1
Sound.play_cancel
elsif (actor.agi-bonus_agi) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].agi += IncreaseBy
if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat
$game_party.members[@menu_index].agi = MaxStat+bonus_agi
end
actor.points -= 1
@changes += 1
$position = 4
end
when 6 #HIT
if actor.points < PointsPerHIT
Sound.play_cancel
elsif actor.hitr >= MaxHIT
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].hitr += HITIncreaseBy
if $game_party.members[@menu_index].hitr > MaxHIT
$game_party.members[@menu_index].hitr = MaxHIT
end
actor.points -= PointsPerHIT
@changes += 1
$position = 1
end
when 7 #EVA
if actor.points < PointsPerEVA
Sound.play_cancel
elsif actor.evar >= MaxEVA
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].evar += EVAIncreaseBy
if $game_party.members[@menu_index].evar > MaxEVA
$game_party.members[@menu_index].evar = MaxEVA
end
actor.points -= PointsPerEVA
@changes += 1
$position = 1
end
when 8 #CRIT
if actor.points < PointsPerCRIT
Sound.play_cancel
elsif actor.crir >= MaxCRIT
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].crir += CRITIncreaseBy
if $game_party.members[@menu_index].crir > MaxCRIT
$game_party.members[@menu_index].crir = MaxCRIT
end
actor.points -= PointsPerCRIT
@changes += 1
$position = 1
end
end
if @changes > 0
@window_info.refresh(@menu_index)
@window_points.refresh(@menu_index)
end
end
def do_point_rag
@att = @window_select.index
actor = $game_party.members[@menu_index]
#Armas
weapon = $data_weapons[actor.weapon_id]
shield = $data_armors[actor.armor1_id]
helm =$data_armors[actor.armor2_id]
body =$data_armors[actor.armor3_id]
accessory =$data_armors[actor.armor4_id]
bonus_atk = 0
bonus_def = 0
bonus_spi = 0
bonus_agi = 0
if weapon
bonus_atk += weapon.atk
bonus_def += weapon.def
bonus_spi += weapon.spi
bonus_agi += weapon.agi
end
if shield
bonus_atk += shield.atk
bonus_def += shield.def
bonus_spi += shield.spi
bonus_agi += shield.agi
end
if helm
bonus_atk += helm.atk
bonus_def += helm.def
bonus_spi += helm.spi
bonus_agi += helm.agi
end
if body
bonus_atk += body.atk
bonus_def += body.def
bonus_spi += body.spi
bonus_agi += body.agi
end
if accessory
bonus_atk += accessory.atk
bonus_def += accessory.def
bonus_spi += accessory.spi
bonus_agi += accessory.agi
end
case @att
when 0 #HP
if actor.points < PointsPerHP
Sound.play_cancel
elsif actor.maxhp >= MaxHP
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].maxhp += HPIncreaseBy
if $game_party.members[@menu_index].maxhp > MaxHP
$game_party.members[@menu_index].maxhp = MaxHP
end
actor.points -= PointsPerHP
@changes += 1
$position = 1
end
when 1 #MP
if actor.points < PointsPerMP
Sound.play_cancel
elsif actor.maxmp >= MaxMP
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].maxmp += MPIncreaseBy
if $game_party.members[@menu_index].maxmp > MaxMP
$game_party.members[@menu_index].maxmp = MaxMP
end
actor.points -= PointsPerMP
@changes += 1
$position = 1
end
when 2 #ATK
base_value = actor.atk-bonus_atk
points = actor.points
if enough_point(base_value,points)
Sound.play_cancel
elsif (actor.atk-bonus_atk) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].atk += IncreaseBy
if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat
$game_party.members[@menu_index].atk = MaxStat+bonus_atk
end
actor.points -= required(base_value)
@changes += 1
$position = 1
end
when 3 #DEF
base_value = actor.def-bonus_def
points = actor.points
if enough_point(base_value,points)
Sound.play_cancel
elsif (actor.def-bonus_def) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].def += IncreaseBy
if ($game_party.members[@menu_index].def-bonus_def) > MaxStat
$game_party.members[@menu_index].def = MaxStat+bonus_def
end
actor.points -= required(base_value)
@changes += 1
$position = 2
end
when 4 #SPI
base_value = actor.spi-bonus_spi
points = actor.points
if enough_point(base_value,points)
Sound.play_cancel
elsif (actor.spi-bonus_spi) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].spi += IncreaseBy
if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat
$game_party.members[@menu_index].spi = MaxStat+bonus_spi
end
actor.points -= required(base_value)
@changes += 1
$position = 3
end
when 5 #AGI
base_value = actor.agi-bonus_agi
points = actor.points
if enough_point(base_value,points)
Sound.play_cancel
elsif (actor.agi-bonus_agi) >= MaxStat
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].agi += IncreaseBy
if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat
$game_party.members[@menu_index].agi = MaxStat+bonus_agi
end
actor.points -= required(base_value)
@changes += 1
$position = 4
end
when 6 #HIT
if actor.points < PointsPerHIT
Sound.play_cancel
elsif actor.hitr >= MaxHIT
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].hitr += HITIncreaseBy
if $game_party.members[@menu_index].hitr > MaxHIT
$game_party.members[@menu_index].hitr = MaxHIT
end
actor.points -= PointsPerHIT
@changes += 1
$position = 1
end
when 7 #EVA
if actor.points < PointsPerEVA
Sound.play_cancel
elsif actor.evar >= MaxEVA
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].evar += EVAIncreaseBy
if $game_party.members[@menu_index].evar > MaxEVA
$game_party.members[@menu_index].evar = MaxEVA
end
actor.points -= PointsPerEVA
@changes += 1
$position = 1
end
when 8 #CRIT
if actor.points < PointsPerCRIT
Sound.play_cancel
elsif actor.crir >= MaxCRIT
Sound.play_cancel
else
Sound.play_use_item
$game_party.members[@menu_index].crir += CRITIncreaseBy
if $game_party.members[@menu_index].crir > MaxCRIT
$game_party.members[@menu_index].crir = MaxCRIT
end
actor.points -= PointsPerCRIT
@changes += 1
$position = 1
end
end
if @changes > 0
@window_points.refresh(@menu_index)
@window_info.refresh(@menu_index)
end
end
def enough_point(base,points)
required = (((base-1)/10)+2).floor
if required > points
return true
elsif required <= points
return false
end
end
def required(base)
return (((base-1)/10)+2).floor
end
end
if Input.trigger?(Input::X)
return_scene
end
#==============================================================================
# Dando pontos ao ator X
# -> $game_party.member[x].points
#==============================================================================
class Game_Actor < Game_Battler
attr_accessor :points
attr_accessor :hit_bonus
attr_accessor :eva_bonus
attr_accessor :cri_bonus
attr_accessor :hitr
attr_accessor :evar
attr_accessor :crir
alias Lettuce_Game_Actor_Ini initialize
def initialize(actor_id)
Lettuce_Game_Actor_Ini(actor_id)
@points = StartPoints
@hitr = 0
@evar = 0
@crir = 0
end
def points
return @points
end
#--------------------------------------------------------------------------
# * Pega taxa de HIT
#--------------------------------------------------------------------------
def hit
if two_swords_style
n1 = weapons[0] == nil ? 95 : weapons[0].hit
n2 = weapons[1] == nil ? 95 : weapons[1].hit
n = [n1, n2].min
else
n = weapons[0] == nil ? 95 : weapons[0].hit
end
if n+@hitr <= MaxHIT
return n+@hitr
else return MaxHIT
end
end
#--------------------------------------------------------------------------
# * pega taxa de Evasão
#--------------------------------------------------------------------------
def eva
n = 5
for item in armors.compact do n += item.eva end
if n+@evar <= MaxEVA
return n+@evar
else return MaxEVA
end
end
#--------------------------------------------------------------------------
# * Pega taxa de Critico
#--------------------------------------------------------------------------
def cri
n = 4
n += 4 if actor.critical_bonus
for weapon in weapons.compact
n += 4 if weapon.critical_bonus
end
if n+@crir <= MaxCRIT
return n+@crir
else return MaxCRIT
end
end
#--------------------------------------------------------------------------
# * Pega taxa de HIT base
#--------------------------------------------------------------------------
def base_hit
if two_swords_style
n1 = weapons[0] == nil ? 95 : weapons[0].hit
n2 = weapons[1] == nil ? 95 : weapons[1].hit
n = [n1, n2].min
else
n = weapons[0] == nil ? 95 : weapons[0].hit
end
return n
end
#--------------------------------------------------------------------------
# * Pega taxa de Evasão base
#--------------------------------------------------------------------------
def base_eva
n = 5
for item in armors.compact do n += item.eva end
return n
end
#--------------------------------------------------------------------------
# * Pega taxa de Critico Base
#--------------------------------------------------------------------------
def base_cri
n = 4
n += 4 if actor.critical_bonus
for weapon in weapons.compact
n += 4 if weapon.critical_bonus
end
return n
end
#--------------------------------------------------------------------------
# * Taxas Bonus
#--------------------------------------------------------------------------
def hitr
return @hitr
end
def evar
return @evar
end
def crir
return @crir
end
def current_lvl_exp
return @exp_list[@level]
end
def next_lvl_exp
return @exp_list[@level+1]-@exp_list[@level]
end
end
if Input.trigger?(Input::X)
return_scene
end
- Código:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs the menu screen processing.
#==============================================================================
class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 360)
@status_window = Window_MenuStatus.new(160, 0)
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
s7 = 'Pontos'
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s7, s5, s6])
@command_window.index = @menu_index
if $game_party.members.size == 0 # If number of party members is 0
@command_window.draw_item(0, false) # Disable item
@command_window.draw_item(1, false) # Disable skill
@command_window.draw_item(2, false) # Disable equipment
@command_window.draw_item(3, false) # Disable status
end
if $game_system.save_disabled # If save is forbidden
@command_window.draw_item(4, false) # Disable save
end
end
#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1,2,3
start_actor_selection
when 4
$scene = Scene_Stat_Dist.new(0)
when 5
$scene = Scene_File.new(true,false,false)
when 6
$scene = Scene_End.new
end
end
end
#--------------------------------------------------------------------------
# * Start Actor Selection
#--------------------------------------------------------------------------
def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end
#--------------------------------------------------------------------------
# * End Actor Selection
#--------------------------------------------------------------------------
def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end
#--------------------------------------------------------------------------
# * Update Actor Selection
#--------------------------------------------------------------------------
def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1 # skill
$scene = Scene_Skill.new(@status_window.index)
when 2 # equipment
$scene = Scene_Equip.new(@status_window.index)
when 3 # status
$scene = Scene_Status.new(@status_window.index)
end
end
end
end
kalormano- Mensagens : 58
Data de inscrição : 13/07/2010
Idade : 35
Localização : Rio Grande do Sul
Re: [RGSS2] Pedido
Bom Cara eu to usando esse menu,se puder tem como vc dar um geito no script ? ele não precisa de imagens
- Código:
#==============================================================================
# Menu de Único Personagem
#==============================================================================
# Por: Matheus2
# Menu apenas para um personagem
# A janela do nome do mapa, o tempo e a posição
# da janela das opções retirados do Menu Personalizavel do Shepher
#==============================================================================
# Todas as outras alterações foram feitas por mim
#==============================================================================
# Creditos:
# Matheus2 - DuploMaker por: Fazer o menu e reuinir todos os itens
# Shepher por: Fazer o Menu Personalizavel daonde eu pude tirar as coisas que eu não sabia fazer
#==============================================================================
#------------------------------------------------------------------------------#
# Game_Party #
#------------------------------------------------------------------------------#
class Game_Party < Game_Unit
MAX_MEMBERS = 1
end
#------------------------------------------------------------------------------#
# Game_Map #
#------------------------------------------------------------------------------#
class Game_Map
attr_reader :map_id
def namemap
$name_map = load_data("Data/MapInfos.rvdata")
$name_map[@map_id].name
end
end
#------------------------------------------------------------------------------#
# Window_Stats #
#------------------------------------------------------------------------------#
class Window_Stats < Window_Base
def initialize(actor)
super(250, 240, 294, 176)
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_actor_parameter(@actor, 0, 0 + WLH * 0, 0)
draw_actor_parameter(@actor, 0, 0 + WLH * 1, 1)
draw_actor_parameter(@actor, 0, 0 + WLH * 2, 2)
draw_actor_parameter(@actor, 0, 0 + WLH * 3, 3)
end
end
#------------------------------------------------------------------------------#
# Window_Time #
#------------------------------------------------------------------------------#
class Window_Time < Window_Base
def initialize(x,y)
super(x, y, 144, 56)
self.x = x # Cordenada X
self.y = y # Cordenada Y
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 120, 24, text)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#------------------------------------------------------------------------------#
# Window_Map #
#------------------------------------------------------------------------------#
class Window_Map < Window_Base
def initialize(x,y)
super(x, y, 240, 56)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.color = normal_color
self.contents.draw_text(0, -8, 200, 32, $game_map.namemap.to_s)
end
end
#------------------------------------------------------------------------------#
# Window_Equips #
#------------------------------------------------------------------------------#
class Window_Equips < Window_Base
def initialize(actor)
super(0, 240, 250, 176)
@actor = actor
refresh
end
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
draw_item_name(@data[0], 0, WLH * 0)
draw_item_name(@data[1], 0, WLH * 1)
draw_item_name(@data[2], 0, WLH * 2)
draw_item_name(@data[3], 0, WLH * 3)
draw_item_name(@data[4], 0, WLH * 4)
end
end
#------------------------------------------------------------------------------#
# Window_MenuStatus #
#------------------------------------------------------------------------------#
class Window_MenuStatus < Window_Selectable
def initialize(x, y)
super(0, 57, 544, 128)
refresh
self.active = false
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.members.size
for actor in $game_party.members
draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
x = 104
y = actor.index * 96 + WLH / 2
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 120, y)
draw_actor_level(actor, x, y + WLH * 1)
draw_actor_state(actor, x, y + WLH * 2)
draw_actor_hp(actor, x + 120, y + WLH * 1)
draw_actor_mp(actor, x + 120, y + WLH * 2)
end
end
def update_cursor
if @index < 0 # Sem cursor
self.cursor_rect.empty
elsif @index < @item_max # Padrão
self.cursor_rect.set(0, @index * 96, contents.width, 96)
elsif @index >= 100 # Si
self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
else # O todo
self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
end
end
end
#------------------------------------------------------------------------------#
# Scene_Menu #
#------------------------------------------------------------------------------#
class Scene_Menu < Scene_Base
def initialize(menu_index = 0)
@menu_index = menu_index
end
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 184)
@status_window = Window_MenuStatus.new(160, 0)
@map_window = Window_Map.new(160, 184)
@equips_window = Window_Equips.new($game_party.members[0])
@time_window = Window_Time.new(400, 184)
@stats_window = Window_Stats.new($game_party.members[0])
end
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@map_window.dispose
@equips_window.dispose
@time_window.dispose
@stats_window.dispose
end
def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
@time_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
@command_window = Window_Command.new(544,[s1, s2, s3, s4, s5, s6],6,0,10)
@command_window.index = @menu_index
if $game_party.members.size == 0 # Se não houver membros na equipe
@command_window.draw_item(0, false) # Desabilita "Items"
@command_window.draw_item(1, false) # Desabilita "Habilidades"
@command_window.draw_item(2, false) # Desabilita "Equipamentos"
@command_window.draw_item(3, false) # Desabilita "Status"
end
if $game_system.save_disabled # Se salvar for proibido
@command_window.draw_item(4, false) # Desabilita "Salvar"
end
end
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1,2,3 # Habilidades, equipamento, status
start_actor_selection
when 4 # Salvar
$scene = Scene_File.new(true, false, false)
when 5 # Fim de jogo
$scene = Scene_End.new
end
end
end
def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end
def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end
def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1 # Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
$scene = Scene_Status.new(@status_window.index)
end
end
end
end
Tkilla- Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 30
Re: [RGSS2] Pedido
substitui o que tu ta usando por esse e tira o terceiro script que eu coloquei antes
- Código:
#==============================================================================
# Menu de Único Personagem
#==============================================================================
# Por: Matheus2
# Menu apenas para um personagem
# A janela do nome do mapa, o tempo e a posição
# da janela das opções retirados do Menu Personalizavel do Shepher
#==============================================================================
# Todas as outras alterações foram feitas por mim
#==============================================================================
# Creditos:
# Matheus2 - DuploMaker por: Fazer o menu e reuinir todos os itens
# Shepher por: Fazer o Menu Personalizavel daonde eu pude tirar as coisas que eu não sabia fazer
#==============================================================================
#------------------------------------------------------------------------------#
# Game_Party #
#------------------------------------------------------------------------------#
class Game_Party < Game_Unit
MAX_MEMBERS = 1
end
#------------------------------------------------------------------------------#
# Game_Map #
#------------------------------------------------------------------------------#
class Game_Map
attr_reader :map_id
def namemap
$name_map = load_data("Data/MapInfos.rvdata")
$name_map[@map_id].name
end
end
#------------------------------------------------------------------------------#
# Window_Stats #
#------------------------------------------------------------------------------#
class Window_Stats < Window_Base
def initialize(actor)
super(250, 240, 294, 176)
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_actor_parameter(@actor, 0, 0 + WLH * 0, 0)
draw_actor_parameter(@actor, 0, 0 + WLH * 1, 1)
draw_actor_parameter(@actor, 0, 0 + WLH * 2, 2)
draw_actor_parameter(@actor, 0, 0 + WLH * 3, 3)
end
end
#------------------------------------------------------------------------------#
# Window_Time #
#------------------------------------------------------------------------------#
class Window_Time < Window_Base
def initialize(x,y)
super(x, y, 144, 56)
self.x = x # Cordenada X
self.y = y # Cordenada Y
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 120, 24, text)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#------------------------------------------------------------------------------#
# Window_Map #
#------------------------------------------------------------------------------#
class Window_Map < Window_Base
def initialize(x,y)
super(x, y, 240, 56)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.color = normal_color
self.contents.draw_text(0, -8, 200, 32, $game_map.namemap.to_s)
end
end
#------------------------------------------------------------------------------#
# Window_Equips #
#------------------------------------------------------------------------------#
class Window_Equips < Window_Base
def initialize(actor)
super(0, 240, 250, 176)
@actor = actor
refresh
end
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
draw_item_name(@data[0], 0, WLH * 0)
draw_item_name(@data[1], 0, WLH * 1)
draw_item_name(@data[2], 0, WLH * 2)
draw_item_name(@data[3], 0, WLH * 3)
draw_item_name(@data[4], 0, WLH * 4)
end
end
#------------------------------------------------------------------------------#
# Window_MenuStatus #
#------------------------------------------------------------------------------#
class Window_MenuStatus < Window_Selectable
def initialize(x, y)
super(0, 57, 544, 128)
refresh
self.active = false
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.members.size
for actor in $game_party.members
draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
x = 104
y = actor.index * 96 + WLH / 2
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 120, y)
draw_actor_level(actor, x, y + WLH * 1)
draw_actor_state(actor, x, y + WLH * 2)
draw_actor_hp(actor, x + 120, y + WLH * 1)
draw_actor_mp(actor, x + 120, y + WLH * 2)
end
end
def update_cursor
if @index < 0 # Sem cursor
self.cursor_rect.empty
elsif @index < @item_max # Padrão
self.cursor_rect.set(0, @index * 96, contents.width, 96)
elsif @index >= 100 # Si
self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
else # O todo
self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
end
end
end
#------------------------------------------------------------------------------#
# Scene_Menu #
#------------------------------------------------------------------------------#
class Scene_Menu < Scene_Base
def initialize(menu_index = 0)
@menu_index = menu_index
end
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 184)
@status_window = Window_MenuStatus.new(160, 0)
@map_window = Window_Map.new(160, 184)
@equips_window = Window_Equips.new($game_party.members[0])
@time_window = Window_Time.new(400, 184)
@stats_window = Window_Stats.new($game_party.members[0])
end
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@map_window.dispose
@equips_window.dispose
@time_window.dispose
@stats_window.dispose
end
def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
@time_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
s7 = 'Pontos'
@command_window = Window_Command.new(544,[s1, s2, s3, s4, s7, s5, s6],7,0,10)
@command_window.index = @menu_index
if $game_party.members.size == 0 # Se não houver membros na equipe
@command_window.draw_item(0, false) # Desabilita "Items"
@command_window.draw_item(1, false) # Desabilita "Habilidades"
@command_window.draw_item(2, false) # Desabilita "Equipamentos"
@command_window.draw_item(3, false) # Desabilita "Status"
end
if $game_system.save_disabled # Se salvar for proibido
@command_window.draw_item(4, false) # Desabilita "Salvar"
end
end
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1,2,3 # Habilidades, equipamento, status
start_actor_selection
when 4
$scene = Scene_Stat_Dist.new(0)
when 5
$scene = Scene_File.new(true,false,false)
when 6
$scene = Scene_End.new
end
end
end
def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end
def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end
def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1 # Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
$scene = Scene_Status.new(@status_window.index)
end
end
end
end
kalormano- Mensagens : 58
Data de inscrição : 13/07/2010
Idade : 35
Localização : Rio Grande do Sul
Re: [RGSS2] Pedido
A mano
Vlw vc salvo minha pele eu não sei se aqui tem sistema de creditos mais se eu descobrir
ta com +1 =DD
Vlw vc salvo minha pele eu não sei se aqui tem sistema de creditos mais se eu descobrir
ta com +1 =DD
Tkilla- Mensagens : 49
Data de inscrição : 01/08/2010
Idade : 30
Tópicos semelhantes
» [Pedido]Armazenamento Bau RGSS2
» [RGSS2]Pedido de SBS estilo FFX
» [RGSS2]Pedido Pesca
» [RGSS2] Pedido Sistema de Batalha
» [RGSS2/ Pedido] Modificação MOG menu Yui
» [RGSS2]Pedido de SBS estilo FFX
» [RGSS2]Pedido Pesca
» [RGSS2] Pedido Sistema de Batalha
» [RGSS2/ Pedido] Modificação MOG menu Yui
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos