¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3397 miembros registrados.
El último usuario registrado es LucasGF.

Nuestros miembros han publicado un total de 79808 mensajes en 11257 argumentos.
Navega con Google Chrome
[DESCARGA]

[Solucionado] Es posible reemplazar objetos?

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [Solucionado] Es posible reemplazar objetos?

Mensaje por Frozenfire47 el 2014-05-16, 19:31

Creo que haré demasiadas preguntas en el foro
Me gustaría saber si hay alguna manera de... no sé cómo explciarlo, pero lo intentaré.

Supongamos que tenemos un objeto A, el cual conseguimos en un mapa X, este objeto puede ser usado en todos los mapas que se nos de la real gana excepto en el mapa Y por cualquier motivo aleatorio, entonces quiero que al entrar al mapa Y, el objeto A sea reemplazado por el objeto B, el cual parece igual a A pero no puede ser usado y que al salir del mapa Y, el objeto B sea reemplazado nuevamente por A.
Si sólo tenemos un objeto A es fácil de hacer con interruptores y eventos con páginas, pero yo quiero hacer algo así con muchos "objetos A", así que sería demasiado complicado hacer una página de evento para cada combinación posible de objetos A y B, entonces, mi pregunta es: ¿Hay una manera más fácil de reemplazar los objetos al entrar a un mapa que cambiándolos al teletransportarte?


Última edición por Frozenfire47 el 2014-05-23, 02:27, editado 1 vez

Frozenfire47
Novato
Novato

0/3

Créditos 58

Gracias : 12

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por rpgmanumaker el 2014-05-16, 20:15

Has probado en hacer eso en un evento común, así solo tienes que llamar al evento desde el evento de cambio de mapa o en este caso, teletransportar.

A ver, he estado probando un poco en el Xp cómo se podría hacer un evento como ese, y se me ha ocurrido algo, aunque quizás sea un poco cutre... Ni ganas de pensarlo más, con el sueño que tengo XD. Lo siento.

En fin, mira, haces un evento común, y en ese evento haces un condiciones verificando si una variable es igual a un número. Haces un condicional para cada mapa en el que no se pueda usar uno o varios items. Luego, en ese condicional pones otros condicionales que verifiquen si tienes o no dicho/s item/s no usable/s en ese mapa. En caso de que sí, se quita y se añade el que no se puede usar. En caso de que no, simplemente se deja y debajo de ese condicional se verifica otro item, en caso de haberlo.

Luego, en el engine de teletransporte al mapa en el cual no se puede usar dicho items, le cambias el valor a la variable que usaste en el evento común. Para no liarte, podrías usar la ID para darle ese valor a la variable. O sea, si el mapa tiene la ID 4, le das el valor 4 a la variable.

Después, algo en lo que no había pensado hasta ahora XDD, para regresar dichos items perdidos, haz lo mismo. Le agregas un valor a una variable, y en ese mismo evento común añades un condiciones y efecto que diga "si X variable tiene valor X" (en este caso, un valor diferente al dado anteriormente, obviamente) verificar si tiene "tal" item y en caso de que lo tenga quitar y añadir otro item.

No sé si lo hayas entendido, pero espero que sí... porque dudo que lo pueda explicar mejor con el sueño que tengo... Aunque podría hacerte una demo si es que te convence el engine.


Última edición por rpgmanumaker el 2014-05-16, 20:27, editado 1 vez

rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por orochii el 2014-05-16, 20:25

Ummm, bueno, se puede hacer el cambio al teletransportarse, pero hacer que los cambie indiferentemente de la cantidad. Prepárate para algo de hardcore coding (?). Mentira, en realidad es bastante sencillo ;3.


orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por rpgmanumaker el 2014-05-16, 20:30

orochii escribió:Ummm, bueno, se puede hacer el cambio al teletransportarse, pero hacer que los cambie indiferentemente de la cantidad. Prepárate para algo de hardcore coding (?). Mentira, en realidad es bastante sencillo ;3.



Quizás me haya confundido yo, que no lo dudo con el sueño que tengo, pero creo que se refiere a como cambiar diferentes items a la vez, no a cambiar muchos items de un mismo tipo. O eso creo...

(Dios, alguien tendrá alguna pastillita de esas que te hacen estar despierto "y viendo alucinaciones" que me pueda mandar vía correo-electrónico??... Venga, ya pueden apedrearme por la tontería que dije.)

rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por Frozenfire47 el 2014-05-17, 01:32

orochii escribió:Ummm, bueno, se puede hacer el cambio al teletransportarse, pero hacer que los cambie indiferentemente de la cantidad. Prepárate para algo de hardcore coding (?). Mentira, en realidad es bastante sencillo ;3.



Me refiero a distintos items a la vez, lo de reemplazar muchos items de lo mismo no es tan complidado (o al menos no lo parece).

rpgmanumaker escribió:(Dios, alguien tendrá alguna pastillita de esas que te hacen estar despierto "y viendo alucinaciones" que me pueda mandar vía correo-electrónico??... Venga, ya pueden apedrearme por la tontería que dije.)


Dicen que las manzanas ayudan, así que
Spoiler:
es peligroso que vayas solo, toma la trifuerza manzanil (?)

Frozenfire47
Novato
Novato

0/3

Créditos 58

Gracias : 12

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por orochii el 2014-05-17, 01:41

Pues así con lo que sé, yo recomendaría hacer n veces lo que puse antes, donde n sea el número de objetos a intercambiar.

¿Es necesario un cambio en la apariencia? ¿No bastaría con una revisión a la ID del mapa? (lo cual llevaría a necesitar que su efecto sea hecho por evento común).

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por rpgmanumaker el 2014-05-17, 12:05

Pero Orochii, de ese modo gastaría demasiados eventos comunes, pues como ha dicho, quiere hacer muchos items diferentes, así que necesitaría un evento común para cada item, además, si el item es usable en batalla... tendrá el problema de que, aunque el item haga el efecto por engine, si el jugador se equivoca al seleccionarlo el item no hará nada, se gastará y encima perderá un turno.

Con la forma que ella dice, de reemplazar el objeto, puede indicar que un objeto no sea usable y el otro sí.

Además, tendría que hacer N veces lo que has dicho, por N veces el número de engines que haya para ir o salir de esos mapas... y si son muchos, se le hará muy repetitivo y cansado tener que hacer eso, según creo.

Sin contar con que si el engine de teletransporte fuera largo, por cualquier motivo, y encimas le agregas todo eso, se hará aún más largo... y podría complicarse su futura modificación.

Y lo peor de todo, si hace esos engines y luego le da por añadir un item más tendrá que ir retocando engine por engine... cosa que se puede hacer muy complicada y te diosa... si no puedes encontrar todos los engines que hiciste.

rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por Trequiell el 2014-05-17, 15:00

Desde mi punto de vista, se puede hacer todo en un solo evento común.
Utilizar una variable por cada objeto que haya en la base de datos.
Luego mediante condiciones y efectos se indica según el id de mapa como dijo Orochii, y si tal objeto está en posesión... los efectos que se quieran.

Es inebitablemente laborioso (aunque en mi opinión no tanto, y cada vez que se ñadan objetos nuevos, pues se añade su correspondiente variable en ese evento común más sus condiciones).

Con hacer las condiciones de un objeto, luego ya sería copia/pega y edición para los demás.

Creo que merece la pena.

Trequiell
Soñador
Soñador

0/3

Créditos 138

Gracias : 21

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por Frozenfire47 el 2014-05-18, 03:25

Trequiell escribió:Desde mi punto de vista, se puede hacer todo en un solo evento común.
Utilizar una variable por cada objeto que haya en la base de datos.
Luego mediante condiciones y efectos se indica según el id de mapa como dijo Orochii, y si tal objeto está en posesión... los efectos que se quieran.

Es inebitablemente laborioso (aunque en mi opinión no tanto, y cada vez que se ñadan objetos nuevos, pues se añade su correspondiente variable en ese evento común más sus condiciones).

Con hacer las condiciones de un objeto, luego ya sería copia/pega y edición para los demás.

Creo que merece la pena.

No sé si es que soy muy noob o que tengo demasiado sueño pero no comprendo muy bien, me puedes mostrar una imagen de cómo debería quedar el evento?

Frozenfire47
Novato
Novato

0/3

Créditos 58

Gracias : 12

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por orochii el 2014-05-18, 03:53

Estaba haciéndolo, pero es increíblemente complicado, difícil de mantener, y muy propenso a bugs. Argh.
Si no te molesta agregar un script, toma esta cosa :V.
Código:
module ItemAlternateForm
  ITEMS = {
    1 => [2,3],
    4 => [5,[1,3]],
  }
end

module RPG
  class Item
   
    #Diox bendiga a Ruby porque se pueden hacer estas porquerías x'D.
    #Acceder a objetos que no existen.
    #O quiza es mi culpa por usar tantas globales... meh.
   
    def alternate_form
      $data_items[ItemAlternateForm::ITEMS[@id][0]]
    end
   
    def is_on_alternate_form
      if ItemAlternateForm::ITEMS[@id][1].is_a?(Array)
        return ItemAlternateForm::ITEMS[@id][1].include?($game_map.map_id)
      elsif ItemAlternateForm::ITEMS[@id][1].is_a?(Numeric)
        return ItemAlternateForm::ITEMS[@id][1] == $game_map.map_id
      else
        return false
      end
    end
   
    def has_alternate_form
      ItemAlternateForm::ITEMS.include?(@id)
    end
   
    def convoluted_check
      has_alternate_form && is_on_alternate_form
    end
   
    # Aquí empieza lo más simple (?).
   
    #attr_accessor :id
    def id
      convoluted_check ? alternate_form.id : @id
    end
    #attr_accessor :name
    def name
      convoluted_check ? alternate_form.name : @name
    end
    #attr_accessor :icon_name
    def icon_name
      convoluted_check ? alternate_form.icon_name : @icon_name
    end
    #attr_accessor :description
    def description
      convoluted_check ? alternate_form.description : @description
    end
    #attr_accessor :scope
    def scope
      convoluted_check ? alternate_form.scope : @scope
    end
    #attr_accessor :occasion
    def occasion
      convoluted_check ? alternate_form.occasion : @occasion
    end
    #attr_accessor :animation1_id
    def animation1_id
      convoluted_check ? alternate_form.animation1_id : @animation1_id
    end
    #attr_accessor :animation2_id
    def animation2_id
      convoluted_check ? alternate_form.animation2_id : @animation2_id
    end
    #attr_accessor :menu_se
    def menu_se
      convoluted_check ? alternate_form.menu_se : @menu_se
    end
    #attr_accessor :common_event_id
    def common_event_id
      convoluted_check ? alternate_form.common_event_id : @common_event_id
    end
    #attr_accessor :price
    def price
      convoluted_check ? alternate_form.price : @price
    end
    #attr_accessor :consumable
    def consumable
      convoluted_check ? alternate_form.consumable : @consumable
    end
    #attr_accessor :parameter_type
    def parameter_type
      convoluted_check ? alternate_form.parameter_type : @parameter_type
    end
    #attr_accessor :parameter_points
    def parameter_points
      convoluted_check ? alternate_form.parameter_points : @parameter_points
    end
    #attr_accessor :recover_hp_rate
    def recover_hp_rate
      convoluted_check ? alternate_form.recover_hp_rate : @recover_hp_rate
    end
    #attr_accessor :recover_hp
    def recover_hp
      convoluted_check ? alternate_form.recover_hp : @recover_hp
    end
    #attr_accessor :recover_sp_rate
    def recover_sp_rate
      convoluted_check ? alternate_form.recover_sp_rate : @recover_sp_rate
    end
    #attr_accessor :recover_sp
    def recover_sp
      convoluted_check ? alternate_form.recover_sp : @recover_sp
    end
    #attr_accessor :hit
    def hit
      convoluted_check ? alternate_form.hit : @hit
    end
    #attr_accessor :pdef_f
    def pdef_f
      convoluted_check ? alternate_form.pdef_f : @pdef_f
    end
    #attr_accessor :mdef_f
    def mdef_f
      convoluted_check ? alternate_form.mdef_f : @mdef_f
    end
    #attr_accessor :variance
    def variance
      convoluted_check ? alternate_form.variance : @variance
    end
    #attr_accessor :element_set
    def element_set
      convoluted_check ? alternate_form.element_set : @element_set
    end
    #attr_accessor :plus_state_set
    def plus_state_set
      convoluted_check ? alternate_form.plus_state_set : @plus_state_set
    end
    #attr_accessor :minus_state_set
    def minus_state_set
      convoluted_check ? alternate_form.minus_state_set : @minus_state_set
    end
  end
end

No sé si te gustará x'D. Pero en fin, lo hice por tontería. :X. Para agregar objetos que hagan este cambiecillo raro en cierto (o ciertos) mapas, editas esta parte.
Código:
module ItemAlternateForm
  ITEMS = {
    1 => [2,3],
    4 => [5,[1,3]],
  }
end

Por cada objeto agregas una línea. Y va así:
ID_Objeto_Base => [ID_Objeto_Nuevo, ID_Mapa],
No olvides los signos. Las comas, los corchetes y esa "flecha" =>.

Pero claro, habrás visto la segunda línea...
4 => [5,[1,3]],
Éste significa que el objeto de ID 4 cambiará por el 5 en los mapas 1 y 3. Eso, se hace agregando corchetes [] alrededor del ID del mapa, y separando los números con comas.

Ya digo, los scripts no descomplican la vida, pero la des... m... no. La dejan igual. Pero más esotérica y por ende más divertida 8DDD (?).

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por Frozenfire47 el 2014-05-20, 21:55

orochii escribió:*el post*



Eso se pega llamando a script desde el evento, en main o qué? porque poniéndolo en el evento no me anda :C
Y por si fuera poco acabo de notar un pequeño problema que hace esto aún más complicado.
Lo explicaré de la misma forma que lo otro:
Bueno, resulta que tengo varios objetos (que son precisamente los que me dan el problema) que son de usos infinitos, para hacer mejor el ejemplo, supongamos que esos objetos son una patineta y una linterna y que puedo tanto comenzar como dejar de usar cualquiera de estos dos objetos cuando quiera (menos en el mapa Y de mi ejemplo anterior), estos objetos serían los objetos A de mi ejemplo anterior. Como dije, mi idea es poder dejar de usar los objetos en cualquier momento, y como estos tienen un evento común propio y todo, lo que se me ocurrió fue que al usar cualquiera de estos objetos, digamos que la patineta, esta se reemplazara en el menú por un objeto (llamémoslo C) que parece ser igual pero te desequipa el objeto, el problema está en que si estoy usando la patineta y tengo este objeto C en el menú, si comienzo a usar la linterna, el objeto C de la patineta seguirá ahi, y quiero que al estar usando un objeto A y cambiar a otro objeto A, mi objeto C se convierta en su equivalente A

Frozenfire47
Novato
Novato

0/3

Créditos 58

Gracias : 12

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por orochii el 2014-05-20, 22:19

Aaaaah, ahora entiendo. Okay, no, no es necesario entonces cambiar de objetos ni nada. Usa interruptores.

El evento común de la patineta podría ir perfectamente así:

<>Condición: Interruptor [patineta] OFF
<>Operación de interruptor: [patineta] poner ON
:Excepción
<>Operación de interruptor: [patineta] poner OFF
:Fin

(En RM2k3 incluso puede ir sólo una línea).

Incluso puedes checar el mapa actual usando...
<>Operación de variable [tal] poner Id de Mapa
<>Condición: variable==X donde X es el mapa donde quieres que actúe distinto
(etc)
:Excepción
(etc)
:Fin

Luego puedes hacer otro evento común (que no necesariamente debe estar en paralelo, perfectamente puede ser llamado al final de, por ejemplo, el evento de la patineta), que sea el que se encarga de revisar qué cosas están activadas, y cambiar el gráfico de acuerdo a eso...

<>Condición: [patineta] ON
<>Condición: [linterna] ON
(Aquí lo que hace con ambos puestos).
<>Mover evento: Héroe -Cambiar velocidad: 4
<>Cambiar gráfico: Asdf_pat_lin
:Excepción
(aquí lo que hace con patineta pero sin linterna)
<>Mover evento: Héroe -Cambiar velocidad: 4
<>Cambiar gráfico: Asdf_pat
:Fin
(etc)

Así pues, puedes controlar cada combinación por aparte. Incluso puedes hacer que si tal está activado, que desactive la patineta, por decir algo. No sé, que si activa el pogopogo, que deje la patineta a un lado xD (?).

Espero se me entienda :'D. Por esto es que preguntaba si necesitabas que cambiase la apariencia del objeto. En el inventario, digo.

Y bueno, el script entonces no lo necesitas, pero bueh. Era de ponerse en el editor de scripts (F11), encima de todo.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: [Solucionado] Es posible reemplazar objetos?

Mensaje por Contenido patrocinado Hoy a las 12:39


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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