Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[Ayuda] "Desequipar" equipo de jugadores para una escena

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por plergoth el 2018-08-23, 08:44

Buenas, estaba yo haciendo una escena donde la prota es separada del grupo y la secuestran en un barco de piratas esclavistas, quitando todos los objetos para guardarlos en un cofre y me di cuenta que no tengo la menor idea de quitar los objetos que ya estén equipados. Así que me preguntaba si habría alguna manera de "desequipar" todos esos objetos equipables como armas y armaduras.

No sé si sería con alguna llamada a script del tipo id-objeto=false (vale, lo digo así por que no tengo ni idea de como se haría, pero imagino que habreis entendido el concepto). La escena y la misión están bien y ya está terminado, pero lo de ser capturado, encerrada en una cárcel y de pronto ver que sigue con su equipo pues me resulta un tanto raro, pero bueno. A ver si alguien sarbía resolver esta duda.

Para el resto de objetos ha sido fácil, no hay más que poner una variable para cada objeto y todo eso.
avatar
plergoth
Soñador
Soñador

0/3

Créditos 297

Gracias : 26

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por silvanash el 2018-08-23, 13:30

Código:
class Game_Actor < Game_Battler
 
  def slv_sequester_equipment
    @slv_sequestered_equipment_set = [] if @slv_sequestered_equipment_set.nil?
    return if !@slv_sequestered_equipment_set.empty?
    @slv_sequestered_equipment_set.push(@weapon_id, @armor1_id, @armor2_id, @armor3_id, @armor4_id)
    @weapon_id = 0
    @armor1_id = 0
    @armor2_id = 0
    @armor3_id = 0
    @armor4_id = 0
  end
 
  def slv_return_equipment_set
    return if @slv_sequestered_equipment_set.empty?
    @weapon_id = @slv_sequestered_equipment_set[0]
    @armor1_id = @slv_sequestered_equipment_set[1]
    @armor2_id = @slv_sequestered_equipment_set[2]
    @armor3_id = @slv_sequestered_equipment_set[3]
    @armor4_id = @slv_sequestered_equipment_set[4]
    @slv_sequestered_equipment_set.clear
  end

end

Pega encima de Main. Funciona llamando a:

Código:
$game_actors[database_id].slv_sequester_equipment
$game_actors[database_id].slv_return_equipment_set

"database_id" es la ID del actor en la base de datos, así que el script funciona incluso si cambias el orden de la party. El primer método guarda el equipamiento actual, el segundo lo restaura.

Notas:

1) El script es un apaño que hace literalmente lo que pides. No guarda el equipo que el actor pierde en la party, así que no puedes ponérselo a otro miembro.

2) El script asume que estás usando los slots default de equipamiento. Si los has cambiado, no funcionará.

3) El script sobreescribirá cualquier equipamiento que el actor tenga cuando llames a return_equipment. Si el actor se equipa otra cosa, al llamar al método, ese equipamiento será reemplazado y no se devolverá a la party. El script también ignora cambios de clase, así que el actor puede acabar con cosas que no corresponden a su clase. No deberías tener problemas con esto porque sólo vas a usar el script en una escena, y dudo mucho que el personaje vaya a encontrar nuevo equipo/cambiar de clase durante la escena.

No pido créditos.
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 205

Gracias : 251

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por plergoth el 2018-08-24, 08:15

buenas, el script era justo lo que quería hacer, la segunda llamada a script no importa tanto por que si no se recupera el equipo en esa zona desaparece de todas formas, así que no habría problema... pero el script no me funciona.

he probado el script pero por desgracia no me funciona de ninguna manera. al principio penaba que era por una incompatibilidad, pero lo probé con un nuevo pryecto y el error es el mismo, así que no sé que puede pasar, aunque imagino que es por mi inutilidad con los scripts o debo estar copiando algo mal, no sé

te pongo unas imágenes





avatar
plergoth
Soñador
Soñador

0/3

Créditos 297

Gracias : 26

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por silvanash el 2018-08-24, 13:19

"Database_id" es sólo el número. En la base de datos estándar, Alexis tiene la ID 1.

$game_actors[1].slv_sequester_equipment
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 205

Gracias : 251

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por plergoth el 2018-08-24, 14:17

¡Ahí va! Pues es verdad Very Happy
si es que... no se le puede dar un teléfono movil a un neandertal Smile
ya funciona bien. solo había que poner el número y no el database_1... pues ya está, muchas gracias por la ayuda y por solucionarme el problema.

¡¡Gracias!!
avatar
plergoth
Soñador
Soñador

0/3

Créditos 297

Gracias : 26

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda] "Desequipar" equipo de jugadores para una escena

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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