Level Item
Descripción:
Este script hace que las armas se equipen cuando el pj tenga cierto nivel.
Instrucciones:
Para editar el nivel del Arma
en la linea 26 y 27
El nivel del arma.
#
# A = Id del arma.
# B = Nivel del arma
#
# WEAPON_LEVEL = {A => B}
Para las armaduras:
lineas 37 y 38
El nivel de las armaduras.
#
# A = Id del armadura
# B = Nivel del armadura
#
# ARMOR_LEVEL = {A => B}
Funciona con netplay, pero causa un bug al querer equipar, si se tiene el nivel el item se equipa, si no se cuenta con el nivel el arma no se equipa pero aparece el gráfico como si lo hubiese equipado.
Creditos:
Northro
Descripción:
Este script hace que las armas se equipen cuando el pj tenga cierto nivel.
Instrucciones:
Para editar el nivel del Arma
en la linea 26 y 27
El nivel del arma.
#
# A = Id del arma.
# B = Nivel del arma
#
# WEAPON_LEVEL = {A => B}
Para las armaduras:
lineas 37 y 38
El nivel de las armaduras.
#
# A = Id del armadura
# B = Nivel del armadura
#
# ARMOR_LEVEL = {A => B}
- Código:
#===============================================================================
# Creado por: Northro
# Para: RPG Maker XP
# Nombre del Script: Level Item
# Versión del Script: 1.0
# Descripción: Las armas y armaduras requieren un nivel para usarse.
#===============================================================================
#===============================================================================
# Instrucciones: Pegar arriba del script "Main".
#===============================================================================
#===============================================================================
# Modulo "Lvl_Itm"
#===============================================================================
module Lvl_Itm
#-------------------------------------------------------------------------------
# * El nivel del arma.
#
# A = Id del arma.
# B = Nivel del arma
#
# WEAPON_LEVEL = {A => B}
#-------------------------------------------------------------------------------
WEAPON_LEVEL = {
2 => 2
}
#-------------------------------------------------------------------------------
# * El nivel de las armaduras.
#
# A = Id del arma.
# B = Nivel del arma
#
# ARMOR_LEVEL = {A => B}
#-------------------------------------------------------------------------------
ARMOR_LEVEL = {
2 => 2
}
end
#===============================================================================
# Clase "Scene_Map"
#===============================================================================
class Scene_Map
alias level_item_scene_map_update update
def update
for actor in 0..$game_party.actors.size - 1
weapon_level($game_party.actors[actor])
armor_level($game_party.actors[actor])
end
level_item_scene_map_update
end
def weapon_level(actor)
if Lvl_Itm::WEAPON_LEVEL.include?(actor.weapon_id)
item_level = Lvl_Itm::WEAPON_LEVEL[actor.weapon_id]
actor.equip(0, 0) if actor.level < item_level
end
end
def armor_level(actor)
armors = [actor.armor1_id, actor.armor2_id, actor.armor3_id, actor.armor4_id]
for armor in armors
if Lvl_Itm::ARMOR_LEVEL.include?(armor)
item_level = Lvl_Itm::ARMOR_LEVEL[armor]
armor_kind = $data_armors[armor].kind
actor.equip(armor_kind + 1, 0) if actor.level < item_level
end
end
end
end
#===============================================================================
# Clase "Scene_Equip"
#===============================================================================
class Scene_Equip
alias level_item_scene_equip_main main
def main
@actor = $game_party.actors[@actor_index]
if Lvl_Itm::WEAPON_LEVEL.include?(@actor.weapon_id)
item_level = Lvl_Itm::WEAPON_LEVEL[@actor.weapon_id]
@actor.equip(0, 0) if @actor.level < item_level
end
armors = [@actor.armor1_id, @actor.armor2_id, @actor.armor3_id, @actor.armor4_id]
for armor in armors
if Lvl_Itm::ARMOR_LEVEL.include?(armor)
item_level = Lvl_Itm::ARMOR_LEVEL[armor]
armor_kind = $data_armors[armor].kind
@actor.equip(armor_kind + 1, 0) if @actor.level < item_level
end
end
level_item_scene_equip_main
end
def update_item
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
return
end
if Input.trigger?(Input::C)
item = @item_window.item
case item
when RPG::Weapon
if Lvl_Itm::WEAPON_LEVEL.include?(item.id)
item_level = Lvl_Itm::WEAPON_LEVEL[item.id]
if @actor.level >= item_level
$game_system.se_play($data_system.equip_se)
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
@right_window.refresh
@item_window.refresh
return
else
$game_system.se_play($data_system.buzzer_se)
return
end
else
$game_system.se_play($data_system.equip_se)
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
@right_window.refresh
@item_window.refresh
return
end
return
when RPG::Armor
if Lvl_Itm::ARMOR_LEVEL.include?(item.id)
item_level = Lvl_Itm::ARMOR_LEVEL[item.id]
if @actor.level >= item_level
$game_system.se_play($data_system.equip_se)
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
@right_window.refresh
@item_window.refresh
return
else
$game_system.se_play($data_system.buzzer_se)
return
end
else
$game_system.se_play($data_system.equip_se)
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
@right_window.refresh
@item_window.refresh
return
end
return
end
end
end
end
Funciona con netplay, pero causa un bug al querer equipar, si se tiene el nivel el item se equipa, si no se cuenta con el nivel el arma no se equipa pero aparece el gráfico como si lo hubiese equipado.
Creditos:
Northro