¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [RMXP] Dificultad para tu juego el Dom Sep 27, 2015 4:13 pm

Reputación del mensaje :100% (1 voto)

Matimike

avatar
Hola a todos, les traigo un script que puede que ya lo conozcan, pero me hacía ilusión ponerlo. ¡Espero que les sirva  Ópalo Contento !

Se trata de la dificultad que quieres que tenga tu juego, ya sea por el gusto del jugador que por el tuyo. Yo lo he utilizado con elecciones para que el jugador elija la dificultad que quiera, pero se puede utilizar de varias maneras, ya que tan sólo se debe llamar al script dependiendo del nivel de dificultad elegido. Lo que hace el script es aumentar o disminuir los parámetros del enemigo dependiendo de la dificultad.

Paso 1: Pega el script encima de Main con el nombre que quieras.
Código:
#======================================================================

# Difficulty Options
#--------------------------------------------------------------------------
# Created By SephirothSpawn (11.11.05)
# Last Updated: 11.11.05
#==============================================================================

#==============================================================================
# Module RPG
#==============================================================================
module RPG
#=========================================================================
# Class Enemy
#=========================================================================
class Enemy
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :b_maxhp, :b_maxsp, :b_str, :b_dex, :b_agi, :b_int
attr_accessor :b_atk, :b_pdef, :b_mdef, :b_eva, :b_exp, :b_gold
#--------------------------------------------------------------------------
# * Set Bases
#--------------------------------------------------------------------------
def set_bases
@b_maxhp, @b_maxsp = @maxhp, @maxsp
@b_str, @b_dex, @b_agi, @b_int = @str, @dex, @agi, @int
@b_atk, @b_pdef, @b_mdef, @b_eva = @atk, @pdef, @mdef, @eva
@b_exp, @b_gold = @exp, @gold
end
end
end

#==============================================================================
# Class Difficulty Options
#==============================================================================
class Difficulty_Options
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
normal_difficulty
end
#--------------------------------------------------------------------------
# * Very Easy Difficulty
#--------------------------------------------------------------------------
def very_easy_difficulty
@constant = 0.5
set_attributes
end
#--------------------------------------------------------------------------
# * Easy Difficulty
#--------------------------------------------------------------------------
def easy_difficulty
@constant = 0.75
set_attributes
end
#--------------------------------------------------------------------------
# * Normal Difficulty
#--------------------------------------------------------------------------
def normal_difficulty
@constant = 1
set_attributes
end
#--------------------------------------------------------------------------
# * Hard Difficulty
#--------------------------------------------------------------------------
def hard_difficulty
@constant = 1.5
set_attributes
end
#--------------------------------------------------------------------------
# * Very Hard Difficulty
#--------------------------------------------------------------------------
def very_hard_difficulty
@constant = 2
set_attributes
end
#--------------------------------------------------------------------------
# * Set Attributes
#--------------------------------------------------------------------------
def set_attributes
for i in 1...$data_enemies.size
$data_enemies[i].maxhp = $data_enemies[i].b_maxhp * @constant
$data_enemies[i].maxsp = $data_enemies[i].b_maxsp * @constant
$data_enemies[i].str = $data_enemies[i].b_str * @constant
$data_enemies[i].dex = $data_enemies[i].b_dex * @constant
$data_enemies[i].agi = $data_enemies[i].b_agi * @constant
$data_enemies[i].int = $data_enemies[i].b_int * @constant
$data_enemies[i].atk = $data_enemies[i].b_atk * @constant
$data_enemies[i].pdef = $data_enemies[i].b_pdef * @constant
$data_enemies[i].mdef = $data_enemies[i].b_mdef * @constant
$data_enemies[i].eva = $data_enemies[i].b_eva * @constant
$data_enemies[i].exp = $data_enemies[i].b_exp * @constant
$data_enemies[i].gold = $data_enemies[i].b_gold * @constant
end
end
end

#==============================================================================
# Class Scene Title
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# * Alias' New Game Method
#--------------------------------------------------------------------------
alias new_game command_new_game
#--------------------------------------------------------------------------
# * Adds Difficulty Game Variables
#--------------------------------------------------------------------------
def command_new_game
for i in 1...$data_enemies.size
$data_enemies[i].set_bases
end
$difficulty_options = Difficulty_Options.new
new_game
end
end

#==============================================================================
# Scene_Save
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# * Alias Save Data
#--------------------------------------------------------------------------
alias new_save write_save_data
#--------------------------------------------------------------------------
# * Write Save Data
#--------------------------------------------------------------------------
def write_save_data(file)
new_save(file)
Marshal.dump($difficulty_options, file)
end
end

#==============================================================================
# Scene_Load
#==============================================================================
class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# * Alias Read Save Data
#--------------------------------------------------------------------------
alias new_load read_save_data
#--------------------------------------------------------------------------
# * Read Save Data
#--------------------------------------------------------------------------
def read_save_data(file)
new_load(file)
$difficulty_options = Marshal.load(file)
end
end

Paso 2: Llamar al script dependiendo de la dificultad elegida

$difficulty_options.very_easy_difficulty
Para modo Muy Fácil.

$difficulty_options.easy_difficulty
Para modo Fácil.

$difficulty_options.normal_difficulty
Para modo Normal.

$difficulty_options.hard_difficulty
Para modo Difícil.

$difficulty_options.very_hard_difficulty
Para modo Muy Difícil.

(Puedes poner elecciones al principio del juego)

NOTA IMPORTANTE:
En algunos casos (casi nunca) puede haber un error referente al direno en las tiendas por lo que pueden buscar esta linea:

$data_enemies.gold = $data_enemies.b_gold * @constant
y sustituirla por esta:
$data_enemies.gold = $data_enemies.b_gold * 1
Si este método tampoco funciona sólo borren la línea.

EXTRA:
Pueden modificar el script para que algunos parámetros no aumenten ni disminuyan con la dificultad:
Ejemplo. (Para que el PM de los enemigos no aumente ni disminuye).
Busquen esta linea:
$data_enemies.maxsp = $data_enemies.b_maxsp * @constant
y cámbienla por esta:
$data_enemies.maxsp = $data_enemies.b_maxsp * 1
El proceso es similar al del al anterior en todos los parámetros. Lo único que deben hacer sustituir "@constant" por "1"

Créditos: SephirothSpawn

#2 Re: [RMXP] Dificultad para tu juego el Dom Sep 27, 2015 5:25 pm

reyerta

avatar
Excelente script, muy bien explicado y bastante útil. A lo mejor le doy buen uso...

Solo tengo una duda, sabes si funciona únicamente con el sistema de batalla por defecto de XP o también afecta los demás sistemas.

Buen aporte @Matimike, ten un merecido punto de reputación.

#3 Re: [RMXP] Dificultad para tu juego el Dom Sep 27, 2015 5:30 pm

Matimike

avatar
@reyerta creo que afecta a todos los sistemas, aunque sólo lo he comprobado con el sistema de batalla que estoy utilizando ahora y sí que le afecta. Supongo que también funcionará con los demás sistemas.

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.