Registrarse

[RPG - Scripting] Problema con la densidad en encuentros

Estado
Cerrado para nuevas respuestas.

Crisote

Usuario de oro
Hola!

Estoy intentando crear un nuevo terreno que tenga distinta densidad que los que ya existen "cave,water,land",
Sé cómo crear nuevos terrenos pero no cómo crear nuevas densidades para que cada terreno nuevo que cree tenga más opciones que las tres predeterminadas.

Para crear nuevas densidades, solo se me ha ocurrido copiar las características del de "cave" y pegarlas con la etiqueta del nuevo terreno "nuevo" (primer cuadro rojo) y añadirle un nuevo número (segundo cuadro rojo)
1596684116355.png



La cosa es que acabo teniendo cuatro densidades distintas pero la cuarta no la puedo editar, aunque cambie su densidad siempre cambia a la misma densidad que establezca en Land
1596684334074.png

¿Alguien me podría ayudar a resolver mi duda para poder crear distintos terrenos con distintas densidades por favor?
Gracias de antemano
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
Hola!

Estoy intentando crear un nuevo terreno que tenga distinta densidad que los que ya existen "cave,water,land",
Sé cómo crear nuevos terrenos pero no cómo crear nuevas densidades para que cada terreno nuevo que cree tenga más opciones que las tres predeterminadas.

Para crear nuevas densidades, solo se me ha ocurrido copiar las características del de "cave" y pegarlas con la etiqueta del nuevo terreno "nuevo" (primer cuadro rojo) y añadirle un nuevo número (segundo cuadro rojo)
Ver el archivo adjunto 1942


La cosa es que acabo teniendo cuatro densidades distintas pero la cuarta no la puedo editar, aunque cambie su densidad siempre cambia a la misma densidad que establezca en Land
Ver el archivo adjunto 1943
¿Alguien me podría ayudar a resolver mi duda para poder crear distintos terrenos con distintas densidades por favor?
Gracias de antemano
Lo que intuyo a primera vista es que el problema reside en el "t = 4" que estás poniendo en "nuevo". Está recorriendo el array EnctypeCompileDens que corresponde con la enumeración de tipos de encounters. si vas a PField_Encounters o PokemonEncounters supongo que habrás modificado este array para que corresponda la entrada con "4":

1596708260366.png


Siendo así, esto debería funcionar out of the box (he modificado mi "Prueba" por "nuevo":

Código:
  params = ChooseNumberParams.new
  params.setRange(0,100)
  params.setDefaultValue(enc[0][EncounterTypes::nuevo])
  enc[0][EncounterTypes::nuevo] = Kernel.pbMessageChooseNumber(
      _INTL("Set the density of Pokémon on Nuevo(default {1}).",
      EncounterTypes::EnctypeDensities[EncounterTypes::nuevo]),params)   
  for i in 0...EncounterTypes::EnctypeCompileDens.length
    t = EncounterTypes::EnctypeCompileDens[i]
    next if !t || t==0
    enc[0][i] = enc[0][EncounterTypes::Land] if t==1
    enc[0][i] = enc[0][EncounterTypes::Cave] if t==2
    enc[0][i] = enc[0][EncounterTypes::Water] if t==3
    enc[0][i] = enc[0][EncounterTypes::nuevo] if t==4
  end
1596708380690.png


Y efectivamente se pone correctamente.

1596708391776.png


Después tendrás que editar la relación tile-encounter (donde el isGrass?, etc)
 

Adjuntos

Crisote

Usuario de oro
Muchisimas gracias por tu respuesta, ya me funciona ^_^
El error era lo que me comentabas de PField_Encounters que no había modificado el array 😅
 

Crisote

Usuario de oro
Lo que intuyo a primera vista es que el problema reside en el "t = 4" que estás poniendo en "nuevo". Está recorriendo el array EnctypeCompileDens que corresponde con la enumeración de tipos de encounters. si vas a PField_Encounters o PokemonEncounters supongo que habrás modificado este array para que corresponda la entrada con "4":

Ver el archivo adjunto 1950

Siendo así, esto debería funcionar out of the box (he modificado mi "Prueba" por "nuevo":

Código:
  params = ChooseNumberParams.new
  params.setRange(0,100)
  params.setDefaultValue(enc[0][EncounterTypes::nuevo])
  enc[0][EncounterTypes::nuevo] = Kernel.pbMessageChooseNumber(
      _INTL("Set the density of Pokémon on Nuevo(default {1}).",
      EncounterTypes::EnctypeDensities[EncounterTypes::nuevo]),params)
  for i in 0...EncounterTypes::EnctypeCompileDens.length
    t = EncounterTypes::EnctypeCompileDens[i]
    next if !t || t==0
    enc[0][i] = enc[0][EncounterTypes::Land] if t==1
    enc[0][i] = enc[0][EncounterTypes::Cave] if t==2
    enc[0][i] = enc[0][EncounterTypes::Water] if t==3
    enc[0][i] = enc[0][EncounterTypes::nuevo] if t==4
  end
Ver el archivo adjunto 1951

Y efectivamente se pone correctamente.

Ver el archivo adjunto 1952
Después tendrás que editar la relación tile-encounter (donde el isGrass?, etc)
Ahora tengo otro problema, no se me guardan las densidades tras compilar en modo depurador :(, se quedan en 10,10,10 en el archivo pbs
No sé si esta parte de los scripts tiene algo que ver
1596739693078.png

O esta
1596741316051.png
 
Última edición:

NeoGeo

Usuario de plata
te recomiendo que postees tu preguna en pokecomunity, ahí está lleno de scriper buena onda que te pueden ayudar, este foro es más para hacks rooms. Yo plantee un par de dudas de scrip y me respondieron a las pocas horas.
 

Crisote

Usuario de oro
Si, lo malo es que está en inglés y no sé si se me va a entender bien
☹No tengo mucho nivel
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
te recomiendo que postees tu preguna en pokecomunity, ahí está lleno de scriper buena onda que te pueden ayudar, este foro es más para hacks rooms. Yo plantee un par de dudas de scrip y me respondieron a las pocas horas.
Aquí tenemos tanto o más nivel que en PC (aunque normalmente compartimos ambos). Lo que sí, por discord es más activo que en el propio foro.
Ahora tengo otro problema, no se me guardan las densidades tras compilar en modo depurador :(, se quedan en 10,10,10 en el archivo pbs
No sé si esta parte de los scripts tiene algo que ver
Ver el archivo adjunto 1961
O esta
Ver el archivo adjunto 1965
Recuerda que una cosa es la densidad y otra los pokémon en sí. Debes seleccionar el "New Encounter Type" y añadir los pokémon manualmente:

1596749273788.png


1596749799365.png


Eso debería ser suficiente para que ya te funcione. Si ves que no te lo compila automáticamente, usa el debug Compile Data

1596750512591.png


Y te lo compila al PBS
 

Crisote

Usuario de oro
Aquí tenemos tanto o más nivel que en PC (aunque normalmente compartimos ambos). Lo que sí, por discord es más activo que en el propio foro.


Recuerda que una cosa es la densidad y otra los pokémon en sí. Debes seleccionar el "New Encounter Type" y añadir los pokémon manualmente:

Ver el archivo adjunto 1966

Ver el archivo adjunto 1967

Eso debería ser suficiente para que ya te funcione. Si ves que no te lo compila automáticamente, usa el debug Compile Data

Ver el archivo adjunto 1968

Y te lo compila al PBS
Muchas gracias por la respuesta perdona por ser pesada pero todavía me falla,a lo mejor debería meterme a discord o algo así :/
Lo expongo por si acaso me he explicado mal, es que me ocurre que he generado los encuentros,he añadido la densidad y los pokémons pero cuando compilo (desde el depurador porque desde el editor no me deja) y vuelvo a mirar en el menú los datos acerca de las densidades, las que he creado se ponen a 0 mientras que las que he generado de water cave y land si que se guardan como los he programado
(En la imagen hay dos encuentros que he creado el de calle y el nuevo, los he configurado para ponerlos en 20,90 pero al compilar y volver al menu se queda así como se ve)
Debe ser que me he dejado algo por hacer pero no sé qué es😣
He mirado en tutoriales pero aunque añaden encuentros, no hablan nada sobre las densidades
1596754465022.png
 
Última edición:

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
Muchas gracias por la respuesta perdona por ser pesada pero todavía me falla,a lo mejor debería meterme a discord o algo así :/
Lo expongo por si acaso me he explicado mal, es que me ocurre que he generado los encuentros,he añadido la densidad y los pokémons pero cuando compilo (desde el depurador porque desde el editor no me deja) y vuelvo a mirar en el menú los datos acerca de las densidades, las que he creado se ponen a 0 mientras que las que he generado de water cave y land si que se guardan como los he programado
(En la imagen hay dos encuentros que he creado el de calle y el nuevo, los he configurado para ponerlos en 20,90 pero al compilar y volver al menu se queda así como se ve)
Debe ser que me he dejado algo por hacer pero no sé qué es😣
He mirado en tutoriales pero aunque añaden encuentros, no hablan nada sobre las densidades
Ver el archivo adjunto 1969

Prueba esto, en pbEncounterEditorMap, cuando vuelves atrás (choice == -1)-> añade esa línea y prueba a dar atrás y Compile Data. Cierra, vuelve a abrir y dime si se te guarda ahora correctamente.

1596756851008.png
 

Crisote

Usuario de oro
Prueba esto, en pbEncounterEditorMap, cuando vuelves atrás (choice == -1)-> añade esa línea y prueba a dar atrás y Compile Data. Cierra, vuelve a abrir y dime si se te guarda ahora correctamente.

Ver el archivo adjunto 1974
Al final(gracias también a tu ayuda que sin eso no tendría por donde empezar) he conseguido que me guarde los encuentros cambiando el 3 (que supongo se referirá a los 3 terrenos cave,water y land no tengo mucha idea 😅 ) por un 5 para que me pille los que he añadido
1596854428125.png

Ahora me admite las dos nuevas densidades pero al compilar sale ese mensaje, no sé muy bien qué quiere decir
1596854477954.png
 
Última edición:

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
Pues me imagino que tendrás que editar todos los que no tengan los 5 puestos (solo los 3 anteriores, por ejemplo)
 
Estado
Cerrado para nuevas respuestas.
Arriba