~Base De Datos de Script de EMD~

Estado
Cerrado para nuevas respuestas
Mensajes
9.007
Reacciones
224
Puntos
0
Ubicación
00 Qan[T]
CBS Starter Pack v0.6

Descripción:
Sistema de batalla lateral que incluye funciones como ataques límite, barras de PV y PM para los aliados y de PV para enemigos, etc.
Los battles son charas y las armas que usan son los iconos (estilo RaiseField).


Screen:

6fq5c1y.png


Demo:
Descargar Demo (MegaUpload)

Créditos:
Starter Pack creado por MistTribe.
Créditos por otras funciones a:
Rye.jp (Creador original)
DerVV (Límite; Reemplazar "Atacar")
Alistor (Menú límite)
Sephiroth Spawn (Barras)
Clive (Edición de barras)
Cogwheel (HP, SP, Exp)
Raziel (Barras enemigas)
 
Mensajes
41
Reacciones
0
Puntos
0
Hola, me pueden poner el scrip para ponerle mas lvl a mi proyecto, por ejemplo el nivel que trae el rpg maker es 99 y yo quiero ponerlo por ejemplo en el lvl 200 :icon_lol:.

Tambien un scrip para ponerle creditos, al darle Iniciar Nueva Partida....

Espero que no sea mucho pedir.... :icon_redface:
 
Mensajes
131
Reacciones
0
Puntos
0
Aqui esta el script de sobrepasar el lvl 99 -- hasta el lvl que tu quieras ^^.
Agradecimientos a su respectivo Autor xD

Pues hay por hay un Script que rompe la barrera del Nivel 99..incluso a lo enemigos les puee poner una vida MUY BESTIA...asiq eu te dejo el Script aqui, aunque necesitaras el famoso modulo para hacerlo rular... biggrin.gif espero que te sirva de algo..

Antes pones esto, encima de Main y lo llamas KGC_Module y dentor pegas esto:


Código:
$game_special_elements = {}
$imported = {}
$data_states = load_data("Data/States.rxdata")
$data_system = load_data("Data/System.rxdata")


En el menu Script, creas uno nuevo, encima del MAIN y debajo del modulo KGC, y le pones como nombre KGC_LimitBreak y pegas dentro esto:


Código:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆限界突破 - KGC_LimitBreak◆
#_/----------------------------------------------------------------------------
#_/ 各種設定値の上限を変更します。
#_/  (とんでもない値を設定するとバグる可能性あり)
#_/============================================================================
#_/ ≪クラス設定詳細化[ClassDetailSetting]≫より上
#_/ ≪装備拡張[EquipExtension]≫より下
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
 # ◆能力値補正値(小数点使用可)
 #  能力値がデータベースの設定値の○倍になる。
 #  (上限値が高い場合に使用。使用しない場合は 1)
 LB_MAXHP_REVISE = 4.3  # MAXHP
 LB_MAXSP_REVISE = 2.1  # MAXSP
 LB_STR_REVISE = 1  # 腕力
 LB_DEX_REVISE = 1  # 器用さ
 LB_AGI_REVISE = 1  # 素早さ
 LB_INT_REVISE = 1  # 魔力

 # ◆ダメージ値補正
 #  MAXHP補正値に応じてダメージ値を自動調整する。
 #  (ダメージ量がおかしいときは false)
 LB_DAMAGE_CORRECT = true

 # ◆敵のHP上限
 LB_ENEMY_HP_LIMIT = 9999999
 # ◆敵のSP上限
 LB_ENEMY_SP_LIMIT = 99999
 # ◆敵の「腕力, 器用さ, 素早さ, 魔力」上限
 LB_ENEMY_ETC_LIMIT = 9999

 # ◆アクターのレベル上限
 #  アクターID順に配列に格納(最初は nil)
 LB_ACTOR_LV_LIMIT = [nil]
 # ◆上限未指定アクターのレベル上限
 #  上限未指定(nil)のアクターはこの値を使用
 LB_ACTOR_LV_LIMIT_DEFAULT = 512
 # ◆アクターの経験値上限
 LB_ACTOR_EXP_LIMIT = 9999999999
 # ◆アクターのHP上限
 LB_ACTOR_HP_LIMIT = 99999
 # ◆アクターのSP上限
 LB_ACTOR_SP_LIMIT = 99999
 # ◆アクターの「腕力, 器用さ, 素早さ, 魔力」上限
 LB_ACTOR_ETC_LIMIT = 9999

 # ◆レベル 100 以降の能力値計算式
 #  【lv…現レベル  p[x]…レベルxの能力値】
 #  この計算結果をレベル 99 の能力値に加算
 LB_ACTOR_LV100_CALC = "(p[2] - p[1]) * (lv - 99)"

 # ◆所持金上限
 LB_GOLD_LIMIT = 99999999
 # ◆アイテム所持数上限
 LB_ITEM_LIMIT = 99
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported["LimitBreak"] = true

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Battler (分割定義 1)
#==============================================================================

class Game_Battler
 #--------------------------------------------------------------------------
 # ● MaxHP の取得
 #--------------------------------------------------------------------------
 def maxhp
   n = [[base_maxhp + @maxhp_plus, 1].max, KGC::LB_ENEMY_HP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxhp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_HP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の取得
 #--------------------------------------------------------------------------
 def maxsp
   n = [[base_maxsp + @maxsp_plus, 0].max, KGC::LB_ENEMY_SP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxsp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_SP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 腕力の取得
 #--------------------------------------------------------------------------
 def str
   n = [[base_str + @str_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].str_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 器用さの取得
 #--------------------------------------------------------------------------
 def dex
   n = [[base_dex + @dex_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].dex_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 素早さの取得
 #--------------------------------------------------------------------------
 def agi
   n = [[base_agi + @agi_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].agi_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 魔力の取得
 #--------------------------------------------------------------------------
 def int
   n = [[base_int + @int_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].int_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の設定
 #     maxhp : 新しい MaxHP
 #--------------------------------------------------------------------------
 def maxhp=(maxhp)
   @maxhp_plus += maxhp - self.maxhp
   @maxhp_plus = [[@maxhp_plus, -KGC::LB_ENEMY_HP_LIMIT].max, KGC::LB_ENEMY_HP_LIMIT].min
   @hp = [@hp, self.maxhp].min
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の設定
 #     maxsp : 新しい MaxSP
 #--------------------------------------------------------------------------
 def maxsp=(maxsp)
   @maxsp_plus += maxsp - self.maxsp
   @maxsp_plus = [[@maxsp_plus, -KGC::LB_ENEMY_SP_LIMIT].max, KGC::LB_ENEMY_SP_LIMIT].min
   @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● 腕力の設定
 #     str : 新しい腕力
 #--------------------------------------------------------------------------
 def str=(str)
   @str_plus += str - self.str
   @str_plus = [[@str_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 器用さの設定
 #     dex : 新しい器用さ
 #--------------------------------------------------------------------------
 def dex=(dex)
   @dex_plus += dex - self.dex
   @dex_plus = [[@dex_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 素早さの設定
 #     agi : 新しい素早さ
 #--------------------------------------------------------------------------
 def agi=(agi)
   @agi_plus += agi - self.agi
   @agi_plus = [[@agi_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 魔力の設定
 #     int : 新しい魔力
 #--------------------------------------------------------------------------
 def int=(int)
   @int_plus += int - self.int
   @int_plus = [[@int_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Battler (分割定義 3)
#==============================================================================

class Game_Battler
 #--------------------------------------------------------------------------
 # ● 通常攻撃の効果適用
 #--------------------------------------------------------------------------
 alias attack_effect_KGC_LimitBreak attack_effect
 def attack_effect(attacker)
   # 元のHPを保存
   last_hp = self.hp

   # 元の処理を実行
   result = attack_effect_KGC_LimitBreak(attacker)

   # ダメージを受けた場合
   if result && self.damage.is_a?(Numeric) && self.damage > 0
     # ダメージ値調整
     if KGC::LB_DAMAGE_CORRECT
       self.damage = Integer(self.damage * KGC::LB_MAXHP_REVISE * 0.75)
       if $imported["BonusGauge"]
         self.base_damage = Integer(self.base_damage * KGC::LB_MAXHP_REVISE * 0.75)
       end
     end
     # HP減少処理
     self.hp = last_hp
     self.hp -= self.damage
   end
   return result
 end
 #--------------------------------------------------------------------------
 # ● スキルの効果適用
 #--------------------------------------------------------------------------
 alias skill_effect_KGC_LimitBreak skill_effect
 def skill_effect(user, skill)
   # 元のHPを保存
   last_hp = self.hp

   # 元の処理を実行
   result = skill_effect_KGC_LimitBreak(user, skill)

   # 気力増減属性を持っていない、かつ割合ダメージではない場合
   if result && !skill.element_set.include?($game_special_elements["spirit_id"]) &&
       ($imported["RateDamage"] && KGC.check_damage_rate(skill) == nil) &&
       ($imported["SPCostAlter"] && KGC.check_sp_rate(skill) == nil)
     # ダメージを受けた場合
     if self.damage.is_a?(Numeric)
       # ダメージ値調整
       if KGC::LB_DAMAGE_CORRECT
         self.damage = Integer(self.damage * KGC::LB_MAXHP_REVISE * 0.75)
       end
       self.base_damage = self.damage if $imported["BonusGauge"]
       # HP減少処理
       self.hp = last_hp
       self.hp -= self.damage
     end
   end
   return result
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # ● EXP 計算
 #--------------------------------------------------------------------------
 def make_exp_list
   actor = $data_actors[@actor_id]
   @exp_list[1] = 0
   pow_i = 2.4 + actor.exp_inflation / 100.0
   for i in 2..self.final_level + 1
     if i > self.final_level
       @exp_list[i] = 0
     else
       n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
       @exp_list[i] = @exp_list[i-1] + Integer(n)
     end
   end
 end
 #--------------------------------------------------------------------------
 # ● EXP の変更
 #     exp : 新しい EXP
 #--------------------------------------------------------------------------
 def exp=(exp)
   if $imported["ExpGoldIncrease"]
     inc_exp = 100
     # ステート[経験値○%]判定
     for state in self.states.compact
       if $data_states[state].name =~ $game_state_inc_exp
         inc_exp *= $1.to_i
         inc_exp /= 100
       end
     end
     exp = exp * inc_exp / 100
   end
   @exp = [[exp, KGC::LB_ACTOR_EXP_LIMIT].min, 0].max
   # レベルアップ
   while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
     @level += 1
     # スキル習得
     for j in $data_classes[@class_id].learnings
       if j.level == @level
         learn_skill(j.skill_id)
       end
     end
   end
   # レベルダウン
   while @exp < @exp_list[@level]
     @level -= 1
   end
   # レベルが 100 以上の場合
   if @level >= 100
     # レベル 100 以降の能力値を生成
     self.restore_parameter
   end
   # 現在の HP と SP が最大値を超えていたら修正
   @hp = [@hp, self.maxhp].min
   @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● パラメータを再生成
 #--------------------------------------------------------------------------
 def restore_parameter
   return if @level < 100
   $data_actors[@actor_id].parameters.resize(6, @level + 1)
   for k in 0..5
     # 能力値未設定の場合
     if $data_actors[@actor_id].parameters[k, @level] == 0
       # 該当レベルでの能力値を計算
       calc_text = KGC::LB_ACTOR_LV100_CALC
       calc_text.gsub!(/lv/i) { "@level" }
       calc_text.gsub!(/p\[([0-9]+)\]/i) { "$data_actors[@actor_id].parameters[k, #{$1.to_i}]" }
       n = $data_actors[@actor_id].parameters[k, 99]
       n += eval(calc_text)
       $data_actors[@actor_id].parameters[k, @level] = [n, 32767].min
     end
   end
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の取得
 #--------------------------------------------------------------------------
 def maxhp
   n = [[base_maxhp + @maxhp_plus, 1].max, KGC::LB_ACTOR_HP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxhp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ACTOR_HP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 def base_maxhp
   restore_parameter if $data_actors[@actor_id].parameters[0, @level] == nil
   n = $data_actors[@actor_id].parameters[0, @level]
   n *= KGC::LB_MAXHP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の取得
 #--------------------------------------------------------------------------
 def maxsp
   n = [[base_maxsp + @maxsp_plus, 0].max, KGC::LB_ACTOR_SP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxsp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ACTOR_SP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 def base_maxsp
   restore_parameter if $data_actors[@actor_id].parameters[1, @level] == nil
   n = $data_actors[@actor_id].parameters[1, @level]
   n *= KGC::LB_MAXSP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 alias base_str_KGC_LimitBreak base_str
 def base_str
   restore_parameter if $data_actors[@actor_id].parameters[2, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_str_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[2, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.str_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.str_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_STR_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 alias base_dex_KGC_LimitBreak base_dex
 def base_dex
   restore_parameter if $data_actors[@actor_id].parameters[3, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_dex_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[3, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.dex_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.dex_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_DEX_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 alias base_agi_KGC_LimitBreak base_agi
 def base_agi
   restore_parameter if $data_actors[@actor_id].parameters[4, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_agi_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[4, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.agi_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.agi_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_AGI_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 alias base_int_KGC_LimitBreak base_int
 def base_int
   restore_parameter if $data_actors[@actor_id].parameters[5, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_int_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[5, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.int_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.int_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_INT_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● レベルの変更
 #     level : 新しいレベル
 #--------------------------------------------------------------------------
 def level=(level)
   # 上下限チェック
   level = [[level, self.final_level].min, 1].max
   # EXP を変更
   self.exp = @exp_list[level]
 end
 #--------------------------------------------------------------------------
 # ● 最終レベルの取得
 #--------------------------------------------------------------------------
 def final_level
   return KGC::LB_ACTOR_LV_LIMIT[@actor_id] != nil ? KGC::LB_ACTOR_LV_LIMIT[@actor_id] : KGC::LB_ACTOR_LV_LIMIT_DEFAULT
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 alias base_maxhp_KGC_LimitBreak base_maxhp
 def base_maxhp
   n = base_maxhp_KGC_LimitBreak
   n *= KGC::LB_MAXHP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 alias base_maxsp_KGC_LimitBreak base_maxsp
 def base_maxsp
   n = base_maxsp_KGC_LimitBreak
   n *= KGC::LB_MAXSP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 alias base_str_KGC_LimitBreak base_str
 def base_str
   n = base_str_KGC_LimitBreak
   n *= KGC::LB_STR_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 alias base_dex_KGC_LimitBreak base_dex
 def base_dex
   n = base_dex_KGC_LimitBreak
   n *= KGC::LB_DEX_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 alias base_agi_KGC_LimitBreak base_agi
 def base_agi
   n = base_agi_KGC_LimitBreak
   n *= KGC::LB_AGI_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 alias base_int_KGC_LimitBreak base_int
 def base_int
   n = base_int_KGC_LimitBreak
   n *= KGC::LB_INT_REVISE
   return Integer(n)
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Party
#==============================================================================

class Game_Party
 #--------------------------------------------------------------------------
 # ● ゴールドの増加 (減少)
 #     n : 金額
 #--------------------------------------------------------------------------
 def gain_gold(n)
   # 所持金の限界値変更
   @gold = [[@gold + n, 0].max, KGC::LB_GOLD_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● アイテムの増加 (減少)
 #     item_id : アイテム ID
 #     n       : 個数
 #--------------------------------------------------------------------------
 def gain_item(item_id, n)
   # ハッシュの個数データを更新
   if item_id > 0
     @items[item_id] = [[item_number(item_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
 #--------------------------------------------------------------------------
 # ● 武器の増加 (減少)
 #     weapon_id : 武器 ID
 #     n         : 個数
 #--------------------------------------------------------------------------
 def gain_weapon(weapon_id, n)
   # ハッシュの個数データを更新
   if weapon_id > 0
     @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
 #--------------------------------------------------------------------------
 # ● 防具の増加 (減少)
 #     armor_id : 防具 ID
 #     n        : 個数
 #--------------------------------------------------------------------------
 def gain_armor(armor_id, n)
   # ハッシュの個数データを更新
   if armor_id > 0
     @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
end


Sobre como usarlo, al principio del scrit buscasesto:

CODE
LB_ACTOR_LV_LIMIT_DEFAULT = 512

y hay pones el tope de Nivel...en este caso tiene el 512 biggrin.gif

y por hay un poco mas arriba tambien puede poner elt ope de vida en los enemigos.... o cierto es que no se como personificarlo mas...xDDDD
 
Mensajes
189
Reacciones
0
Puntos
0
Ubicación
Maraciabo- venezuela
Bueno mi pedido es el siguiente Quiero un script de un sistema vampirico (Una vez lo vi para Vx pero no lo pude descargar) Como se imaginaran se tat ad eun script que muestre uan barra de sangre y valla disminuyendo con el paso del tiempo y Tienes q beber sangre para restaurar la barra pero si no bebes y la barra llega a cero se restara un poc de vitalidad hazta matar al ersonaje

Espero haberme explicado bien
PD:es para xp

Salu2
 
Mensajes
41
Reacciones
0
Puntos
0
Aqui esta el script de sobrepasar el lvl 99 -- hasta el lvl que tu quieras ^^.
Agradecimientos a su respectivo Autor xD

Pues hay por hay un Script que rompe la barrera del Nivel 99..incluso a lo enemigos les puee poner una vida MUY BESTIA...asiq eu te dejo el Script aqui, aunque necesitaras el famoso modulo para hacerlo rular... biggrin.gif espero que te sirva de algo..

Antes pones esto, encima de Main y lo llamas KGC_Module y dentor pegas esto:


Código:
$game_special_elements = {}
$imported = {}
$data_states = load_data("Data/States.rxdata")
$data_system = load_data("Data/System.rxdata")


En el menu Script, creas uno nuevo, encima del MAIN y debajo del modulo KGC, y le pones como nombre KGC_LimitBreak y pegas dentro esto:


Código:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆限界突破 - KGC_LimitBreak◆
#_/----------------------------------------------------------------------------
#_/ 各種設定値の上限を変更します。
#_/  (とんでもない値を設定するとバグる可能性あり)
#_/============================================================================
#_/ ≪クラス設定詳細化[ClassDetailSetting]≫より上
#_/ ≪装備拡張[EquipExtension]≫より下
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
 # ◆能力値補正値(小数点使用可)
 #  能力値がデータベースの設定値の○倍になる。
 #  (上限値が高い場合に使用。使用しない場合は 1)
 LB_MAXHP_REVISE = 4.3  # MAXHP
 LB_MAXSP_REVISE = 2.1  # MAXSP
 LB_STR_REVISE = 1  # 腕力
 LB_DEX_REVISE = 1  # 器用さ
 LB_AGI_REVISE = 1  # 素早さ
 LB_INT_REVISE = 1  # 魔力

 # ◆ダメージ値補正
 #  MAXHP補正値に応じてダメージ値を自動調整する。
 #  (ダメージ量がおかしいときは false)
 LB_DAMAGE_CORRECT = true

 # ◆敵のHP上限
 LB_ENEMY_HP_LIMIT = 9999999
 # ◆敵のSP上限
 LB_ENEMY_SP_LIMIT = 99999
 # ◆敵の「腕力, 器用さ, 素早さ, 魔力」上限
 LB_ENEMY_ETC_LIMIT = 9999

 # ◆アクターのレベル上限
 #  アクターID順に配列に格納(最初は nil)
 LB_ACTOR_LV_LIMIT = [nil]
 # ◆上限未指定アクターのレベル上限
 #  上限未指定(nil)のアクターはこの値を使用
 LB_ACTOR_LV_LIMIT_DEFAULT = 512
 # ◆アクターの経験値上限
 LB_ACTOR_EXP_LIMIT = 9999999999
 # ◆アクターのHP上限
 LB_ACTOR_HP_LIMIT = 99999
 # ◆アクターのSP上限
 LB_ACTOR_SP_LIMIT = 99999
 # ◆アクターの「腕力, 器用さ, 素早さ, 魔力」上限
 LB_ACTOR_ETC_LIMIT = 9999

 # ◆レベル 100 以降の能力値計算式
 #  【lv…現レベル  p[x]…レベルxの能力値】
 #  この計算結果をレベル 99 の能力値に加算
 LB_ACTOR_LV100_CALC = "(p[2] - p[1]) * (lv - 99)"

 # ◆所持金上限
 LB_GOLD_LIMIT = 99999999
 # ◆アイテム所持数上限
 LB_ITEM_LIMIT = 99
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported["LimitBreak"] = true

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Battler (分割定義 1)
#==============================================================================

class Game_Battler
 #--------------------------------------------------------------------------
 # ● MaxHP の取得
 #--------------------------------------------------------------------------
 def maxhp
   n = [[base_maxhp + @maxhp_plus, 1].max, KGC::LB_ENEMY_HP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxhp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_HP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の取得
 #--------------------------------------------------------------------------
 def maxsp
   n = [[base_maxsp + @maxsp_plus, 0].max, KGC::LB_ENEMY_SP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxsp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_SP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 腕力の取得
 #--------------------------------------------------------------------------
 def str
   n = [[base_str + @str_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].str_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 器用さの取得
 #--------------------------------------------------------------------------
 def dex
   n = [[base_dex + @dex_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].dex_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 素早さの取得
 #--------------------------------------------------------------------------
 def agi
   n = [[base_agi + @agi_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].agi_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 魔力の取得
 #--------------------------------------------------------------------------
 def int
   n = [[base_int + @int_plus, 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   for i in @states
     n *= $data_states[i].int_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ENEMY_ETC_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の設定
 #     maxhp : 新しい MaxHP
 #--------------------------------------------------------------------------
 def maxhp=(maxhp)
   @maxhp_plus += maxhp - self.maxhp
   @maxhp_plus = [[@maxhp_plus, -KGC::LB_ENEMY_HP_LIMIT].max, KGC::LB_ENEMY_HP_LIMIT].min
   @hp = [@hp, self.maxhp].min
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の設定
 #     maxsp : 新しい MaxSP
 #--------------------------------------------------------------------------
 def maxsp=(maxsp)
   @maxsp_plus += maxsp - self.maxsp
   @maxsp_plus = [[@maxsp_plus, -KGC::LB_ENEMY_SP_LIMIT].max, KGC::LB_ENEMY_SP_LIMIT].min
   @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● 腕力の設定
 #     str : 新しい腕力
 #--------------------------------------------------------------------------
 def str=(str)
   @str_plus += str - self.str
   @str_plus = [[@str_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 器用さの設定
 #     dex : 新しい器用さ
 #--------------------------------------------------------------------------
 def dex=(dex)
   @dex_plus += dex - self.dex
   @dex_plus = [[@dex_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 素早さの設定
 #     agi : 新しい素早さ
 #--------------------------------------------------------------------------
 def agi=(agi)
   @agi_plus += agi - self.agi
   @agi_plus = [[@agi_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 魔力の設定
 #     int : 新しい魔力
 #--------------------------------------------------------------------------
 def int=(int)
   @int_plus += int - self.int
   @int_plus = [[@int_plus, -KGC::LB_ENEMY_ETC_LIMIT].max, KGC::LB_ENEMY_ETC_LIMIT].min
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Battler (分割定義 3)
#==============================================================================

class Game_Battler
 #--------------------------------------------------------------------------
 # ● 通常攻撃の効果適用
 #--------------------------------------------------------------------------
 alias attack_effect_KGC_LimitBreak attack_effect
 def attack_effect(attacker)
   # 元のHPを保存
   last_hp = self.hp

   # 元の処理を実行
   result = attack_effect_KGC_LimitBreak(attacker)

   # ダメージを受けた場合
   if result && self.damage.is_a?(Numeric) && self.damage > 0
     # ダメージ値調整
     if KGC::LB_DAMAGE_CORRECT
       self.damage = Integer(self.damage * KGC::LB_MAXHP_REVISE * 0.75)
       if $imported["BonusGauge"]
         self.base_damage = Integer(self.base_damage * KGC::LB_MAXHP_REVISE * 0.75)
       end
     end
     # HP減少処理
     self.hp = last_hp
     self.hp -= self.damage
   end
   return result
 end
 #--------------------------------------------------------------------------
 # ● スキルの効果適用
 #--------------------------------------------------------------------------
 alias skill_effect_KGC_LimitBreak skill_effect
 def skill_effect(user, skill)
   # 元のHPを保存
   last_hp = self.hp

   # 元の処理を実行
   result = skill_effect_KGC_LimitBreak(user, skill)

   # 気力増減属性を持っていない、かつ割合ダメージではない場合
   if result && !skill.element_set.include?($game_special_elements["spirit_id"]) &&
       ($imported["RateDamage"] && KGC.check_damage_rate(skill) == nil) &&
       ($imported["SPCostAlter"] && KGC.check_sp_rate(skill) == nil)
     # ダメージを受けた場合
     if self.damage.is_a?(Numeric)
       # ダメージ値調整
       if KGC::LB_DAMAGE_CORRECT
         self.damage = Integer(self.damage * KGC::LB_MAXHP_REVISE * 0.75)
       end
       self.base_damage = self.damage if $imported["BonusGauge"]
       # HP減少処理
       self.hp = last_hp
       self.hp -= self.damage
     end
   end
   return result
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # ● EXP 計算
 #--------------------------------------------------------------------------
 def make_exp_list
   actor = $data_actors[@actor_id]
   @exp_list[1] = 0
   pow_i = 2.4 + actor.exp_inflation / 100.0
   for i in 2..self.final_level + 1
     if i > self.final_level
       @exp_list[i] = 0
     else
       n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
       @exp_list[i] = @exp_list[i-1] + Integer(n)
     end
   end
 end
 #--------------------------------------------------------------------------
 # ● EXP の変更
 #     exp : 新しい EXP
 #--------------------------------------------------------------------------
 def exp=(exp)
   if $imported["ExpGoldIncrease"]
     inc_exp = 100
     # ステート[経験値○%]判定
     for state in self.states.compact
       if $data_states[state].name =~ $game_state_inc_exp
         inc_exp *= $1.to_i
         inc_exp /= 100
       end
     end
     exp = exp * inc_exp / 100
   end
   @exp = [[exp, KGC::LB_ACTOR_EXP_LIMIT].min, 0].max
   # レベルアップ
   while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
     @level += 1
     # スキル習得
     for j in $data_classes[@class_id].learnings
       if j.level == @level
         learn_skill(j.skill_id)
       end
     end
   end
   # レベルダウン
   while @exp < @exp_list[@level]
     @level -= 1
   end
   # レベルが 100 以上の場合
   if @level >= 100
     # レベル 100 以降の能力値を生成
     self.restore_parameter
   end
   # 現在の HP と SP が最大値を超えていたら修正
   @hp = [@hp, self.maxhp].min
   @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● パラメータを再生成
 #--------------------------------------------------------------------------
 def restore_parameter
   return if @level < 100
   $data_actors[@actor_id].parameters.resize(6, @level + 1)
   for k in 0..5
     # 能力値未設定の場合
     if $data_actors[@actor_id].parameters[k, @level] == 0
       # 該当レベルでの能力値を計算
       calc_text = KGC::LB_ACTOR_LV100_CALC
       calc_text.gsub!(/lv/i) { "@level" }
       calc_text.gsub!(/p\[([0-9]+)\]/i) { "$data_actors[@actor_id].parameters[k, #{$1.to_i}]" }
       n = $data_actors[@actor_id].parameters[k, 99]
       n += eval(calc_text)
       $data_actors[@actor_id].parameters[k, @level] = [n, 32767].min
     end
   end
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の取得
 #--------------------------------------------------------------------------
 def maxhp
   n = [[base_maxhp + @maxhp_plus, 1].max, KGC::LB_ACTOR_HP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxhp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ACTOR_HP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 def base_maxhp
   restore_parameter if $data_actors[@actor_id].parameters[0, @level] == nil
   n = $data_actors[@actor_id].parameters[0, @level]
   n *= KGC::LB_MAXHP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の取得
 #--------------------------------------------------------------------------
 def maxsp
   n = [[base_maxsp + @maxsp_plus, 0].max, KGC::LB_ACTOR_SP_LIMIT].min
   for i in @states
     n *= $data_states[i].maxsp_rate / 100.0
   end
   n = [[Integer(n), 1].max, KGC::LB_ACTOR_SP_LIMIT].min
   return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 def base_maxsp
   restore_parameter if $data_actors[@actor_id].parameters[1, @level] == nil
   n = $data_actors[@actor_id].parameters[1, @level]
   n *= KGC::LB_MAXSP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 alias base_str_KGC_LimitBreak base_str
 def base_str
   restore_parameter if $data_actors[@actor_id].parameters[2, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_str_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[2, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.str_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.str_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_STR_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 alias base_dex_KGC_LimitBreak base_dex
 def base_dex
   restore_parameter if $data_actors[@actor_id].parameters[3, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_dex_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[3, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.dex_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.dex_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_DEX_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 alias base_agi_KGC_LimitBreak base_agi
 def base_agi
   restore_parameter if $data_actors[@actor_id].parameters[4, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_agi_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[4, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.agi_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.agi_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_AGI_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 alias base_int_KGC_LimitBreak base_int
 def base_int
   restore_parameter if $data_actors[@actor_id].parameters[5, @level] == nil

   if $imported["EquipExtension"]
     # 元の処理を実行
     n = base_int_KGC_LimitBreak
   else
     n = $data_actors[@actor_id].parameters[5, @level]
     weapon = $data_weapons[@weapon_id]
     n += weapon != nil ? weapon.int_plus : 0
     for i in 1..4
       eval("armor = $data_armors[@armor#{i}_id];" +
         "n += armor != nil ? armor.int_plus : 0")
     end
   end
   return [[Integer(n * KGC::LB_INT_REVISE), 1].max, KGC::LB_ACTOR_ETC_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● レベルの変更
 #     level : 新しいレベル
 #--------------------------------------------------------------------------
 def level=(level)
   # 上下限チェック
   level = [[level, self.final_level].min, 1].max
   # EXP を変更
   self.exp = @exp_list[level]
 end
 #--------------------------------------------------------------------------
 # ● 最終レベルの取得
 #--------------------------------------------------------------------------
 def final_level
   return KGC::LB_ACTOR_LV_LIMIT[@actor_id] != nil ? KGC::LB_ACTOR_LV_LIMIT[@actor_id] : KGC::LB_ACTOR_LV_LIMIT_DEFAULT
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 alias base_maxhp_KGC_LimitBreak base_maxhp
 def base_maxhp
   n = base_maxhp_KGC_LimitBreak
   n *= KGC::LB_MAXHP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 alias base_maxsp_KGC_LimitBreak base_maxsp
 def base_maxsp
   n = base_maxsp_KGC_LimitBreak
   n *= KGC::LB_MAXSP_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 alias base_str_KGC_LimitBreak base_str
 def base_str
   n = base_str_KGC_LimitBreak
   n *= KGC::LB_STR_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 alias base_dex_KGC_LimitBreak base_dex
 def base_dex
   n = base_dex_KGC_LimitBreak
   n *= KGC::LB_DEX_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 alias base_agi_KGC_LimitBreak base_agi
 def base_agi
   n = base_agi_KGC_LimitBreak
   n *= KGC::LB_AGI_REVISE
   return Integer(n)
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 alias base_int_KGC_LimitBreak base_int
 def base_int
   n = base_int_KGC_LimitBreak
   n *= KGC::LB_INT_REVISE
   return Integer(n)
 end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Party
#==============================================================================

class Game_Party
 #--------------------------------------------------------------------------
 # ● ゴールドの増加 (減少)
 #     n : 金額
 #--------------------------------------------------------------------------
 def gain_gold(n)
   # 所持金の限界値変更
   @gold = [[@gold + n, 0].max, KGC::LB_GOLD_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● アイテムの増加 (減少)
 #     item_id : アイテム ID
 #     n       : 個数
 #--------------------------------------------------------------------------
 def gain_item(item_id, n)
   # ハッシュの個数データを更新
   if item_id > 0
     @items[item_id] = [[item_number(item_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
 #--------------------------------------------------------------------------
 # ● 武器の増加 (減少)
 #     weapon_id : 武器 ID
 #     n         : 個数
 #--------------------------------------------------------------------------
 def gain_weapon(weapon_id, n)
   # ハッシュの個数データを更新
   if weapon_id > 0
     @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
 #--------------------------------------------------------------------------
 # ● 防具の増加 (減少)
 #     armor_id : 防具 ID
 #     n        : 個数
 #--------------------------------------------------------------------------
 def gain_armor(armor_id, n)
   # ハッシュの個数データを更新
   if armor_id > 0
     @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, KGC::LB_ITEM_LIMIT].min
   end
 end
end


Sobre como usarlo, al principio del scrit buscasesto:

CODE
LB_ACTOR_LV_LIMIT_DEFAULT = 512

y hay pones el tope de Nivel...en este caso tiene el 512 biggrin.gif

y por hay un poco mas arriba tambien puede poner elt ope de vida en los enemigos.... o cierto es que no se como personificarlo mas...xDDDD

Gracias men, Te lo agradesco :icon_mrgreen:
 
Mensajes
551
Reacciones
2
Puntos
0
Ubicación
China
Level up en una ventana al finalizar Batalla

-Nombre Del Script: Lvl up detallado

-Rpg Maker: VX

-Introducion:
Este script hace que se habra una ventana al finalizar batalla en la cual veras lo que incrementa el subir de nivel de tu personaje.


ScreenShot:
ss1d1.jpg



ss2g1.jpg


Script:
Código:
#-------------------- Level Up Stat and Display Window --------------------
#------------------------------ By BigEd781 -------------------------------
#                          www.rpgrevolution.com
#
module LevelUpDisplayConfig
#--------------------------------------------------------------------------
# * General Configuration Options
#--------------------------------------------------------------------------
 #The windowskin file name, minus the extension
 WINDOWSKIN_NAME = 'Window'
 #The sound effect name that is played when the window is displayed
 LEVEL_UP_SE = 'Recovery'
 #The sound effect volume
 LEVEL_UP_SE_VOLUME = 80
 #Display the skill window?
 USE_SKILL_WINDOW = true
 #The title text used in the "New Skills" window (if not nil)  
 #For example, NEW_SKILL_TITLE_TEXT = 'Abilities'
 NEW_SKILL_TITLE_TEXT = nil
 #Show the actor's sprite?
 USE_SPRITE_GRAPHIC = true
 #Opacity of the main window
 WINDOW_OPACITY = 255  
#--------------------------------------------------------------------------
# * Stat Window Configuration
#--------------------------------------------------------------------------
 #The color of the actor's name in the window (gold by default)
 NAME_COLOR = Color.new(255,235,0)
 #The color of the actor's level in the window (gold by default)
 LEVEL_COLOR = Color.new(255,235,0)
 #The color of the actor's stat names in the window (gold by default)
 STAT_COLOR = Color.new(255,235,0)
 #The color of the actor's old stat values (white by default)
 OLD_STAT_COLOR = Color.new(255,255,255)
 #The color of the actor's new stat values, if a net gain (green by default)
 NEW_STAT_VAL_COLOR = Color.new(0,250,154)
 #The color of the actor's new stat values, if a net loss (red by default)
 STAT_VAL_LOSS_COLOR = Color.new(255, 0, 0)
#--------------------------------------------------------------------------
# * Skill Window Configuration
#--------------------------------------------------------------------------
 #The color of the text in the skills title window
 SKILL_TITLE_COLOR = Color.new(255,215,0)
 #The color of the new skills text in the skills window
 SKILL_WINDOW_FONT_COLOR = Color.new(240,248,255)
#--------------------------------------------------------------------------
#  * There is no need to modify the constants below
#--------------------------------------------------------------------------
STAT_WINDOW_WIDTH = 320
SKILL_WINDOW_WIDTH = 165
WINDOW_HEIGHT = 220
SUB_WINDOW_HEIGHT = 45

end

include LevelUpDisplayConfig
#==========================================================================
# * Window_LevelUpdate
#--------------------------------------------------------------------------
#   The main window that appears in battle when a level is gained.
#   Displays stat info, faceset, and (optionally) the actor sprite.
#==========================================================================
class Window_LevelUpdate < Window_Base
 
 def initialize(actor)
   w = STAT_WINDOW_WIDTH
   h = WINDOW_HEIGHT
   if USE_SKILL_WINDOW
     super(272 - (w / 2) - (SKILL_WINDOW_WIDTH / 2), 50, w, h)
   else
     super(272 - (w / 2), 50, w, h)
   end
   self.windowskin = Cache.system(WINDOWSKIN_NAME)
   self.back_opacity = WINDOW_OPACITY
   @actor = actor
   @animation_index = 0
   @arrow = Cache.picture('level_up_arrow')    
   @y_offset = 12  #give some room under level display
   #begin drawing new level and old stat text
   @col_one_offset = 0
   #Draw old stats
   @col_two_offset = @col_one_offset + 60    
   #begin drawing Faceset/sprite and skills gained
   @col_four_offset = 0
   #begin drawing Faceset/sprite graphics
   @col_five_offset = 190
   #play the sound effect
   se = RPG::SE.new(LEVEL_UP_SE, LEVEL_UP_SE_VOLUME)
   se.play
   #calculates the offet for drawing level info
   calc_level_offsets          
   setup_name_window
   draw_stat_names
   draw_old_stat_values  
   draw_arrows      
   draw_new_stat_values
   draw_actor_rep
   update    
 end
 #--------------------------------------------------------------------------
 # * Create and display the name window
 #--------------------------------------------------------------------------
 def setup_name_window
   @name_window = Window_Base.new(self.x + 20, self.y - 30 , fit_to_text(@actor.name), SUB_WINDOW_HEIGHT)
   @name_window.windowskin = Cache.system(WINDOWSKIN_NAME)
   @name_window.back_opacity = 255
   @name_sprite = Sprite.new
   @name_sprite.bitmap = Bitmap.new(@name_window.width, @name_window.height)
   @name_sprite.bitmap.font.color = NAME_COLOR
   @name_sprite.x = @name_window.x + 15
   @name_sprite.y = @name_window.y - 10
   @name_sprite.z = 300
   @name_sprite.bitmap.draw_text(0, 0, @name_sprite.bitmap.width, 60, @actor.name)
 end
 #--------------------------------------------------------------------------
 # * Draws the level and stat text (not the values themselves)
 #--------------------------------------------------------------------------
 def draw_stat_names    
   self.contents.font.color = LEVEL_COLOR
   self.contents.draw_text(@col_one_offset, 0, 60, WLH, "Lv.")
   self.contents.font.color = STAT_COLOR                                              
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.hp)    
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.mp)
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.atk)
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.def)
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.spi)
   self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.agi)
   #reset the font color
   self.contents.font.color = Font.default_color  
   #reset the y_offset to 12
   y_incr_reset
 end
 #--------------------------------------------------------------------------
 # * Draws the old level and stat values
 #--------------------------------------------------------------------------
 def draw_old_stat_values
   self.contents.font.color = OLD_STAT_COLOR
   self.contents.draw_text(@col_level_old_offset, 0, 60, WLH, @actor.last_level)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_hp)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_mp)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_atk)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_def)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_spi)
   self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_agi)
   #reset the font color
   self.contents.font.color = Font.default_color
   #reset the y_offset to 12
   y_incr_reset
 end
 #--------------------------------------------------------------------------
 # * Draws the arrows
 #--------------------------------------------------------------------------
 def draw_arrows
   if @actor.last_hp - 100 < 0
     @col_three_offset = @col_two_offset + 30    
   elsif @actor.last_hp - 1000 < 0
     @col_three_offset = @col_two_offset + 40
   else
     @col_three_offset = @col_two_offset + 50
   end    
   draw_arrow(@col_level_arrow_offset, 6)     #level
   draw_arrow(@col_three_offset, y_incr + 6)  #hp
   draw_arrow(@col_three_offset, y_incr + 6)  #mp
   draw_arrow(@col_three_offset, y_incr + 6)  #atk
   draw_arrow(@col_three_offset, y_incr + 6)  #def
   draw_arrow(@col_three_offset, y_incr + 6)  #spi
   draw_arrow(@col_three_offset, y_incr + 6)  #agi
   calc_col_four_offset(@col_three_offset)
   #reset the y_offset to 12
   y_incr_reset
 end
 #--------------------------------------------------------------------------
 # * Draws the new level and stat values
 #--------------------------------------------------------------------------
 def draw_new_stat_values      
   draw_new_stat(@col_level_new_offset, 0, 60, WLH, @actor.last_level, @actor.level)    
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_hp, @actor.maxhp)
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_mp, @actor.maxmp)
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_atk, @actor.base_atk)
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_def, @actor.base_def)
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_spi, @actor.base_spi)
   draw_new_stat(@col_four_offset, y_incr, 60, WLH, @actor.last_agi, @actor.base_agi)
   self.contents.font.color = Font.default_color  
   #reset the y_offset to 12
   y_incr_reset
 end
 
 def draw_new_stat(x, y, w, h, prev_val, val)
   if val > prev_val      #gain
     self.contents.font.color = NEW_STAT_VAL_COLOR
   elsif val == prev_val  #no change
     self.contents.font.color = OLD_STAT_COLOR
   else                   #loss
     self.contents.font.color = STAT_VAL_LOSS_COLOR
   end    
   self.contents.draw_text(x, y, w, h, val)    
 end
 #--------------------------------------------------------------------------
 # * Draws the faceset and optionally the actor sprite
 #--------------------------------------------------------------------------
 def draw_actor_rep
   draw_actor_face(@actor, @col_five_offset, 0)
   if (USE_SPRITE_GRAPHIC)
     x_pos = @col_five_offset + ((self.width - @col_five_offset) / 2) - 18
     draw_character(@actor.character_name, @actor.character_index, x_pos, 160)
   end
 end
 #--------------------------------------------------------------------------
 # * Draws an arrow
 #--------------------------------------------------------------------------
 def draw_arrow(x, y)
   src_rect = Rect.new(0, 0, @arrow.width, @arrow.height)
   self.contents.blt(x, y, @arrow, src_rect)
 end
 #--------------------------------------------------------------------------
 # * figures out the spacing for the level text display
 #--------------------------------------------------------------------------
 def calc_level_offsets
   @col_level_old_offset = @col_one_offset + 30    
   if @actor.last_level < 10
     @col_level_arrow_offset = @col_level_old_offset + 20
   else
     @col_level_arrow_offset = @col_level_old_offset + 30
   end    
   @col_level_new_offset = @col_level_arrow_offset + 26
 end
 #--------------------------------------------------------------------------
 # * Increments the y counter
 #--------------------------------------------------------------------------
 def y_incr
   @y_offset += WLH
   return @y_offset
 end
 #--------------------------------------------------------------------------
 # * Resets the y counter
 #--------------------------------------------------------------------------
 def y_incr_reset
   @y_offset = 12
 end
 #--------------------------------------------------------------------------
 # * calculate where to draw col four text (new stat values)
 #--------------------------------------------------------------------------
 def calc_col_four_offset(col_three)  
   @col_four_offset = col_three + 22
 end
 #--------------------------------------------------------------------------
 # * Fit the window width to the text
 #--------------------------------------------------------------------------
 def fit_to_text(text)
   w = self.contents.text_size(text).width + 32
   return w > 90 ? w : 90
 end
 #--------------------------------------------------------------------------
 # * Update the child window position
 #--------------------------------------------------------------------------
 def update_child_window_pos
   @name_window.x = self.x + 20
   @name_window.y = self.y - 30  
   @name_sprite.x = @name_window.x + 15
   @name_sprite.y = @name_window.y - 10  
 end
 #--------------------------------------------------------------------------
 # * Destroy the sprite!
 #--------------------------------------------------------------------------
 def dispose
   super
   @name_window.dispose
   @name_sprite.dispose
 end
 
end
#============================================================================
# * Window_SkillUpdate
#----------------------------------------------------------------------------
#   The learned skill window
#============================================================================
class Window_SkillUpdate < Window_Base
 
 def initialize(actor, parent_x, parent_y, parent_width)
   x = parent_x + parent_width
   h = WINDOW_HEIGHT
   w = SKILL_WINDOW_WIDTH
   super(x, parent_y, w, h)
   self.windowskin = Cache.system(WINDOWSKIN_NAME)
   self.back_opacity = WINDOW_OPACITY
   self.contents.font.color = SKILL_WINDOW_FONT_COLOR
   @actor = actor
   @skills = []
   setup_title_window
   populate_skill_list
 end
 #--------------------------------------------------------------------------
 # * create the title window
 #--------------------------------------------------------------------------
 def setup_title_window
   #check to see if custom text is defined
   if NEW_SKILL_TITLE_TEXT == nil
     skill_title_text = sprintf("N. %s", Vocab.skill)
   else
     skill_title_text = NEW_SKILL_TITLE_TEXT
   end
   middle_parent = self.x + (self.width / 2)
   w = fit_to_text(skill_title_text)
   h = SUB_WINDOW_HEIGHT
   x = middle_parent - (w / 2)
   y = self.y - 30
   @title_window = Window_Base.new(x, y, w, h)
   @title_window.windowskin = Cache.system(WINDOWSKIN_NAME)
   @title_window.back_opacity = 255
   @title_sprite = Sprite.new
   @title_sprite.bitmap = Bitmap.new(@title_window.width, @title_window.height)
   @title_sprite.bitmap.font.color = SKILL_TITLE_COLOR
   @title_sprite.x = @title_window.x + 15
   @title_sprite.y = @title_window.y + 4
   @title_sprite.z = 300
   @title_sprite.bitmap.draw_text(0, 0, @title_sprite.bitmap.width, 32, skill_title_text)
 end
 #--------------------------------------------------------------------------
 # * My edit of draw_item_name.
 #   Necessary because the default one changes the font color.
 #--------------------------------------------------------------------------
 def draw_my_item_name(item, x, y, enabled = true)
    if item != nil
     draw_icon(item.icon_index, x, y, enabled)      
     self.contents.font.color.alpha = enabled ? 255 : 128
     self.contents.draw_text(x + 24, y, 172, WLH, item.name)
   end
 end
 #--------------------------------------------------------------------------
 # * draw all of the skills that were learned
 #--------------------------------------------------------------------------
 def populate_skill_list
   skills = @actor.last_learned_skills
   y = 0
   for skill in skills
     draw_my_item_name(skill, 0, y)
     y += 32
   end
 end
 #--------------------------------------------------------------------------
 # * Fit the window width to the text
 #--------------------------------------------------------------------------
 def fit_to_text(text)    
   return self.contents.text_size(text).width + 32
 end
 #--------------------------------------------------------------------------
 # * Kill the sprite!
 #--------------------------------------------------------------------------
 alias :eds_old_dispose :dispose
 def dispose    
   eds_old_dispose
   @title_window.dispose
   @title_sprite.dispose
 end
 
end
#==========================================================================
# * Game_Actor
#--------------------------------------------------------------------------
#   overrides -
#     * display_level_up (if DISPLAY_DEF_MESSAGE is set to false in config)
#==========================================================================
class Game_Actor < Game_Battler
 
 attr_reader :last_level
 attr_reader :last_hp
 attr_reader :last_mp
 attr_reader :last_atk
 attr_reader :last_def
 attr_reader :last_spi
 attr_reader :last_agi
 attr_reader :last_learned_skills
 #--------------------------------------------------------------------------
 # * Change Experience
 #     exp  : New experience
 #     show : Level up display flag
 #--------------------------------------------------------------------------
 alias :eds_old_change_exp :change_exp
 def change_exp(exp, show)
   #save off the old paramters    
   prev_skills = skills    
   @last_level = @level
   @last_hp = self.maxhp
   @last_mp = self.maxmp
   @last_atk = self.atk
   @last_def = self.def
   @last_spi = self.spi
   @last_agi = self.agi
   eds_old_change_exp(exp, show)
   @last_learned_skills =  skills - prev_skills
 end
 
if USE_SKILL_WINDOW  #below method is only used if we are using the skill window
 
 #--------------------------------------------------------------------------
 # * Show Level Up Message
 #     new_skills : Array of newly learned skills
 #--------------------------------------------------------------------------
 #   If we are not displaying the standard message when
 #   gaining a level, simply remove the loop that creates
 #   the learned skills message.  Continue to display
 #   the skills that were learned if we are not in battle.
 #--------------------------------------------------------------------------
 alias :eds_old_display_level_up :display_level_up
 def display_level_up(new_skills)
   if $game_temp.in_battle
     $game_message.new_page
     text = sprintf(Vocab::LevelUp, @name, Vocab::level, @level)
     $game_message.texts.push(text)    
   else
     eds_old_display_level_up(new_skills)
   end
 end
 
end #skill window check
 
end
#============================================================================
# * Scene_Battle
#----------------------------------------------------------------------------
#   overrides -
#     * display_level_up
#============================================================================
class Scene_Battle < Scene_Base
 
 #--------------------------------------------------------------------------
 # * Display Level Up
 #--------------------------------------------------------------------------
 def display_level_up
   #patch for KGC Equip Learn Skill script
   if $imported != nil and $imported["EquipLearnSkill"]
     display_master_equipment_skill
   end
   exp = $game_troop.exp_total
   for actor in $game_party.existing_members
     last_level = actor.level
     last_skills = actor.skills
     actor.gain_exp(exp, true)      
     if actor.level > last_level
       win = Window_LevelUpdate.new(actor)  
       #if we are using the skill window and the skills have changed...
       if USE_SKILL_WINDOW && last_skills.length != actor.skills.length          
         s_win = Window_SkillUpdate.new(actor, win.x, win.y, win.width)        
         wait_for_message
         s_win.dispose if USE_SKILL_WINDOW
       else
         #move the window back to center screen and update the name window
         win.x = 272 - (win.width / 2)
         win.update_child_window_pos
         wait_for_message  
       end      
       win.dispose      
     end
   end
 end
 
end


Instrucciones:

-Deben guardar en la carpeta pictures de su proyecto esta imagen con el nombre de "level_up_arrow" (sin las comillas ")
leveluparrow.png

-Pegar encima de Main
-Llamenle como quieran o por defecto: Level Up Display Window
-Pueden cambiar los colores de letras y numeros en la ventana... solo deben buscar que lineas se pueden editar.
-Esta en ingles pero es facil usar

Creditos: BigEd781 (Ahora si xD)

Saludos ojala les guste...
 
Última edición:
Mensajes
107
Reacciones
5
Puntos
0
Ubicación
Navegando por mi mente
ola nesesito un script pa poner una introduccion ami juego una ves pongo nueva partida..tambn un script tipo ej:cuando uno juega resident evil i se va a menu- de ai a archivos luego elige un texto i sale una descripcion o un contenido..kiero algo asi..por ejmplo recojo una carta i en el menu poder abrirla i k me muestre un texto..si se k se puede aser con eventos comunes¬¬ lo k kiero es aserla en el menu..de ante manos muchas gracias pd:too es para rpg maker xp
 
Mensajes
551
Reacciones
2
Puntos
0
Ubicación
China
ola nesesito un script pa poner una introduccion ami juego una ves pongo nueva partida..tambn un script tipo ej:cuando uno juega resident evil i se va a menu- de ai a archivos luego elige un texto i sale una descripcion o un contenido..kiero algo asi..por ejmplo recojo una carta i en el menu poder abrirla i k me muestre un texto..si se k se puede aser con eventos comunes¬¬ lo k kiero es aserla en el menu..de ante manos muchas gracias pd:too es para rpg maker xp

Para las instrucciones puedes utilizar imagenes, si lo deseas te pongo un ejemplo
Para los documentos, datos o textos puedes crear un item que diga por ejm: DATOS DEL PUEBLO ??? despues te vas a evento comun bla bla...

Yo te enseño por el msn XD para que lo entiendas mejor
[email protected]

PD: (Enseño engines)
 
Mensajes
134
Reacciones
0
Puntos
0
Hola,soy nuevo en el rpg maker vx y kisiera saber una cosa:
Existe algo para traducir el rpg maker 100% a español incluso la base de datos?
eske lo tengo traducido en portuges y la base de datos esta en portuges.
Gracias:icon_biggrin:
 
Mensajes
23
Reacciones
0
Puntos
0
necesito el script de batalla arpg
para rpg maker 2003
estilo zelda y tambien ayuda para cambiar las imagenes del principio
asi como nuevo juego y todo eso
grax por su cooperacion chicos!!

bye!!!
we!!!
make love!!! not war!!!
 

Basil

Platinum User
Mensajes
2.961
Reacciones
338
Puntos
924
Ubicación
República independiente de Baja California
Nombre del Script: Menú Yui
RPG Maker VX
Version 1

Cambia el menú por defecto por uno mejor.
Se pueden personalizar las imagenes, como el background y las barras.

Script
Código:
##################################################
# Mog Menu Yui V 1.0                                                 #
##################################################
# By Moghunter
# http://www.atelier-rgss.com
##################################################
# Menu com layout em pictures.
# É necessário criar uma pasta com o nome de
# Menus e colocar todas as imagens dentro dela, de resto
# é só criar o seu próprio estilo de menu através de um
#editor de imagem.
#-------------------------------------------------
###############
# module Cache #
###############
module Cache
  def self.menu(filename)
    load_bitmap("Graphics/Menus/", filename)
  end
end
###############
# Window_Base #
###############
class Window_Base < Window  
  def draw_actor_level_menu(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)
  end  
  def draw_currency_value_menu(value, x, y, width)
    cx = contents.text_size(Vocab::gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width-cx-2, WLH, value, 1)
  end
def draw_actor_hp_menu(actor, x, y)
back = Cache.menu("Meter_Back")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = Cache.menu("HP_Meter")    
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = Cache.menu("HP_Text")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end     
def draw_actor_mp_menu(actor, x, y)
back = Cache.menu("Meter_Back")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = Cache.menu("MP_Meter")    
cw = meter.width  * actor.mp / actor.maxmp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = Cache.menu("MP_Text")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.mp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.mp.to_s, 2)    
end      
def draw_actor_name_menu(actor, x, y)
    self.contents.font.color = text_color(23)
    self.contents.draw_text(x, y, 108, WLH, actor.name,1)
end  
def draw_actor_level_menu(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, WLH, " L")
    self.contents.font.color = text_color(10)
    self.contents.draw_text(x + 18, y, 24, WLH, actor.level, 1)
end  
end
############
# Game_Map #
############
class Game_Map
attr_reader   :map_id  
def mpname
$mpname = load_data("Data/MapInfos.rvdata") 
$mpname[@map_id].name
end
end
########################
# Window_Selectable_Menu #
########################
class Window_Selectable_Menu < Window_Base
  attr_reader   :item_max              
  attr_reader   :column_max            
  attr_reader   :index                    
  def initialize(x, y, width, height, spacing = 32)
    @item_max = 1
    @column_max = 1
    @index = -1
    @spacing = spacing
    super(x, y, width, height)
  end
  def create_contents
    self.contents.dispose
    self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
  end  
  def index=(index)
    @index = index
  end
  def row_max
    return (@item_max + @column_max - 1) / @column_max
  end
  def top_row
    return self.oy / WLH
  end
  def top_row=(row)
    row = 0 if row < 0
    row = row_max - 1 if row > row_max - 1
    self.oy = row * WLH
  end
  def page_row_max
    return (self.height - 32) / WLH
  end
  def page_item_max
    return page_row_max * @column_max
  end
  def bottom_row
    return top_row + page_row_max - 1
  end
  def bottom_row=(row)
    self.top_row = row - (page_row_max - 1)
  end
  def cursor_movable?
    return false if (not visible or not active)
    return false if (index < 0 or index > @item_max or @item_max == 0)
    return false if (@opening or @closing)
    return true
  end
  def cursor_down(wrap = false)
    if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
      @index = (@index + @column_max) % @item_max
    end
  end
  def cursor_up(wrap = false)
    if (@index >= @column_max) or (wrap and @column_max == 1)
      @index = (@index - @column_max + @item_max) % @item_max
    end
  end
  def cursor_right(wrap = false)
    if (@column_max >= 2) and
       (@index < @item_max - 1 or (wrap and page_row_max == 1))
      @index = (@index + 1) % @item_max
    end
  end
  def cursor_left(wrap = false)
    if (@column_max >= 2) and
       (@index > 0 or (wrap and page_row_max == 1))
      @index = (@index - 1 + @item_max) % @item_max
    end
  end
  def update
    super
    if cursor_movable?
      last_index = @index
      if Input.repeat?(Input::DOWN)
        cursor_down(Input.trigger?(Input::DOWN))
      end
      if Input.repeat?(Input::UP)
        cursor_up(Input.trigger?(Input::UP))
      end
      if Input.repeat?(Input::RIGHT)
        cursor_down(Input.trigger?(Input::DOWN))
      end
      if Input.repeat?(Input::LEFT)
        cursor_up(Input.trigger?(Input::UP))
      end

      if @index != last_index
        Sound.play_cursor
      end
    end
  end
end
#######################
# Window_MenuStatus_Yui #
#######################
class Window_MenuStatus_Yui < Window_Selectable_Menu
  def initialize(x, y)
    super(x, y, 460, 300)
    self.contents.font.bold = true
    self.contents.font.shadow = true
    self.contents.font.size = 16
    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
      if actor.index == 0
      draw_actor_graphic(actor, 65, 110)
      draw_actor_name_menu(actor, 15, 120)
      draw_actor_level_menu(actor, -5, 55)     
      draw_actor_state(actor, 20, 100)      
      draw_actor_hp_menu(actor,  -30, 25)
      draw_actor_mp_menu(actor, 0, 45)      
      elsif actor.index == 1
      draw_actor_graphic(actor, 170, 210)
      draw_actor_name_menu(actor, 120, 220) 
      draw_actor_level_menu(actor, 100, 155)   
      draw_actor_state(actor, 125, 200)            
      draw_actor_hp_menu(actor,  75, 120)
      draw_actor_mp_menu(actor, 105, 145)           
      elsif actor.index == 2
      draw_actor_graphic(actor, 265, 110)
      draw_actor_name_menu(actor, 215, 120)   
      draw_actor_level_menu(actor, 195, 55)    
      draw_actor_state(actor, 220, 100)            
      draw_actor_hp_menu(actor,  170, 20)
      draw_actor_mp_menu(actor, 205, 45)        
      elsif actor.index == 3
      draw_actor_graphic(actor, 370,  210)  
      draw_actor_name_menu(actor, 320, 220)     
      draw_actor_level_menu(actor, 370, 155)   
      draw_actor_state(actor, 325, 200)                  
      draw_actor_hp_menu(actor,  275, 120)
      draw_actor_mp_menu(actor, 245, 145)        
      end
    end
  end
  def update_cursor
  end
end
###############
# Window_Time #
###############
class Window_Mapname < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16    
    refresh
  end  
def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120, 32, $game_map.mpname.to_s, 1)
end
end
###################
# Window_Gold_Menu #
###################
class Window_Gold_Menu < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16
    self.contents.font.color = power_up_color    
    refresh
  end
  def refresh
    self.contents.clear
    draw_currency_value_menu($game_party.gold, 10, 0, 120)
  end
end
###############
# Window_Time #
###############
class Window_Time < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16
    self.contents.font.color = power_up_color
    refresh
  end
  def refresh
    self.contents.clear
    @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.draw_text(4, 0, 120, 32,  text, 2)
end
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end
##############
# Scene_Menu #
##############
class Scene_Menu   
  def main
    start                         
    perform_transition            
    Input.update                 
    loop do
      Graphics.update            
      Input.update              
      update                      
      break if $scene != self      
    end
    Graphics.update
    pre_terminate             
    Graphics.freeze               
    terminate                   
  end  
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end  
  def perform_transition
    Graphics.transition(10, "Graphics/System/BattleStart", 80)     
  end
  def start
    @menu_back = Plane.new    
    @menu_back.bitmap = Cache.menu("Background")
    @menu_layout = Sprite.new  
    @menu_layout.bitmap = Cache.menu("Menu_Layout")
    @menu_com = Sprite.new  
    @menu_com.bitmap = Cache.menu("Menu_Com01")
    @menu_select = Sprite.new  
    @menu_select.bitmap = Cache.menu("Menu_Select00")
    create_command_window
    @gold_window = Window_Gold_Menu.new(195, 45)
    @status_window = Window_MenuStatus_Yui.new(100, 60)
    @playtime_window = Window_Time .new(165, 0)
    @mapname_window = Window_Mapname.new(195,360)
    @status_window.opacity = 0
    @playtime_window.opacity = 0
    @mapname_window.opacity = 0
    @gold_window.opacity = 0    
  end
  def pre_terminate
  end  
  def terminate
    @menu_back.dispose
    @menu_layout.dispose
    @menu_com.dispose
    @menu_select.dispose
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @playtime_window.dispose
    @mapname_window.dispose
  end
  def update
    @menu_back.ox += 1
    @command_window.update
    @gold_window.update
    @status_window.update
    @mapname_window.update
    @playtime_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(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.openness = 0
    @command_window.open
    @command_window.opacity = 0
    @command_window.contents_opacity = 0
    if $game_system.save_disabled              
      @command_window.draw_item(4, false)     
    end
  end
  def update_command_selection    
     case @command_window.index
     when 0
    @menu_com.bitmap = Cache.menu("Menu_Com01")
     when 1
    @menu_com.bitmap = Cache.menu("Menu_Com02")
     when 2
    @menu_com.bitmap = Cache.menu("Menu_Com03")
     when 3
    @menu_com.bitmap = Cache.menu("Menu_Com04")
     when 4
    @menu_com.bitmap = Cache.menu("Menu_Com05")
     when 5
    @menu_com.bitmap = Cache.menu("Menu_Com06")    
    end          
    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_File.new(true, false, false)
      when 5     
        $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
    @menu_select.bitmap = Cache.menu("Menu_Select00")
    @status_window.index = -1
  end
  def update_actor_selection    
     case @status_window.index
     when 0
    @menu_select.bitmap = Cache.menu("Menu_Select01")
     when 1
    @menu_select.bitmap = Cache.menu("Menu_Select02")
     when 2
    @menu_select.bitmap = Cache.menu("Menu_Select03")
     when 3
    @menu_select.bitmap = Cache.menu("Menu_Select04")
    end
    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 
        $scene = Scene_Skill.new(@status_window.index)
      when 2   
        $scene = Scene_Equip.new(@status_window.index)
      when 3  
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_yui"] = true
Instrucciones:
Pegen encima de Main.
Creen una nueva carpeta llamada "Menus" dentro de Graphics
Metan estas imagenes y pongan el nombre que biene arriba.
Background
background.png

HP_Meter
hpmeter.png

HP_Text
hptext.png

Menu_Com01
menucom01.png

Menu_Com02
menucom02.png

Menu_Com03
menucom03.png

Menu_Com04
menucom04.png

Menu_Com05
menucom05.png

Menu_Com06
menucom06.png

Menu_Layout
menulayout.png

Menu_Select00
menuselect.png

Menu_Select01
menusecfc.png

Menu_Select02
menuseflf.png

Menu_Select03
menusegcg.png

Menu_Select04
menusexwx.png

Meter_Back
meterback.png

MP_Meter
mpmeter.png

MP_Text
mptext.png



Screen:
VX_Menu03_IM01.gif


Creditos: Moghunter
 
Última edición:
Estado
Cerrado para nuevas respuestas
Arriba Pie