Registrarse

Estás ideas se pueden implementar ?

Estado
Cerrado para nuevas respuestas.

Lukirioh

Usuario de plata
Hola soy Lukirioh y soy nuevo en el foro. Me gusta más discord pero no lo veo muy activo en estos días. Soy nuevo en el Romhacking pero domino algo del RPG Maker aún así quiero hacer una versión pequeña de mi proyecto en romhacking y tengo algunas ideas que me gustaría implementar y no sé si se puedan. Espero que en este foro me puedan ayudar o aconsejar.

La primera gran duda es cuántos tipos diferentes de Pokémon puedo tener en mi proyecto de Romhacking? Es que quiero implementar alrededor de 35 pero si son muchos tipos entonces los bajaría a 15.
Que me dicen. Ah
Mi proyecto no es de pokemons pero obvio uso Pokémons como base.
Saludos
 

KiddKey

Fuck off!
Hola soy Lukirioh y soy nuevo en el foro. Me gusta más discord pero no lo veo muy activo en estos días. Soy nuevo en el Romhacking pero domino algo del RPG Maker aún así quiero hacer una versión pequeña de mi proyecto en romhacking y tengo algunas ideas que me gustaría implementar y no sé si se puedan. Espero que en este foro me puedan ayudar o aconsejar.

La primera gran duda es cuántos tipos diferentes de Pokémon puedo tener en mi proyecto de Romhacking? Es que quiero implementar alrededor de 35 pero si son muchos tipos entonces los bajaría a 15.
Que me dicen. Ah
Mi proyecto no es de pokemons pero obvio uso Pokémons como base.
Saludos
En decomp se que es posible pero costoso, en binario quizas alguien pueda responderte
 

Jack Johnson

Hoenn Adventures Dev
Miembro del equipo
Administrador
En decomp literalmente es modificar dos documentos de texto (en pokeemerald sería src/battle_main.c, línea 312 e include/constants/pokemon.h, línea 5) añadiendo la información nueva en ambos, siguiendo lo que ya está:
C:
// format: attacking type, defending type, damage multiplier
// the multiplier is a (decimal) fixed-point number:
// 20 is ×2.0 TYPE_MUL_SUPER_EFFECTIVE
// 10 is ×1.0 TYPE_MUL_NORMAL
// 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE
// 00 is ×0.0 TYPE_MUL_NO_EFFECT
const u8 gTypeEffectiveness[336] =
{
    TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE,
    TYPE_NORMAL, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE,
    TYPE_FIRE, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE,
    TYPE_FIRE, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE,
    TYPE_FIRE, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE,
    TYPE_FIRE, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE // ...
C:
// Pokemon types
#define TYPE_NONE             255
#define TYPE_NORMAL           0
#define TYPE_FIGHTING         1
#define TYPE_FLYING           2
#define TYPE_POISON           3
#define TYPE_GROUND           4
#define TYPE_ROCK             5 // ...
Más detalles: https://whackahack.com/foro/threads/tipo-hada-en-pokeemerald.65574/

En binario es bastante más complicado al tener que repuntear (mover) dos tablas: la de nombres y la de efectividades, siempre teniendo en cuenta los límites de caracteres de los nombres. En este caso, deberías empezar por buscar en el editor de Hex (HxD, por ejemplo) la siguiente combinación de bytes (apunta la dirección, que será un código de 6 números y letras de la A a la F):
Código:
00 05 05 00 08 05
Que significa "Normal (00) vs Roca (05) No es muy efectivo (05), Normal (00) vs Acero (08) No es muy efectivo (05)". Como puedes ver, sigue el mismo patrón que arriba. Deberás crearte tu propia tabla a partir de aquí y luego añadirla a una zona de espacio libre (con tantos 00 como larga sea tu tabla). La deberás pegar sobreescribiendo los 00 y luego deberás buscar dónde se llama a la dirección de la tabla para decirle que esa dirección ha cambiado: si tenías 3056FA, deberás buscar FA 56 30 08 (se invierten los números de dos en dos, el detalle de añadir el 08 indica que es una dirección) y sobreescribir esa dirección por la nueva - vamos, donde has colocado la nueva tabla - igualmente invertida y con el 08 al final.
Luego tendrás que hacer lo mismo con los nombres, pero, para ahorrarte más lío, te dejo un tutorial que explica el proceso para binario de forma más detallada.
 

Lukirioh

Usuario de plata
Me decidí ir por decomp ya que tengo un poco de experiencia en RPG Maker y esto es parecido. Pero aún así sigo siendo un novato. Alguien que sepa de decomp me puede dar un norte o explicar cómo pudiera cambiar o editar la interface de batalla?
Gracias a los demás por responder mi anterior pregunta
 

Awuis

Usuario mítico
Hola, Lukirioh, ¿como estás?
Si vas a hacer a un proyecto utilizando cómo base Pokémon, te recomiendo que utilices RPG Maker con la base de Pokémon Essentials, más que seguro que te va a servir para lo que queres hacer y el proceso será más sencillo.

Saludos!
 

Lukirioh

Usuario de plata
Hola, Lukirioh, ¿como estás?
Si vas a hacer a un proyecto utilizando cómo base Pokémon, te recomiendo que utilices RPG Maker con la base de Pokémon Essentials, más que seguro que te va a servir para lo que queres hacer y el proceso será más sencillo.

Saludos!
Saludos
Si ya estoy usando essentials , de hecho comencé usando essentials hace un par de años pero la cosa es que para mi proyecto essentials soy demasiado ambicioso y prácticamente lo haré desde el principio usando solo rmxp y algunos scripts de essentials ya que es un Pokémon like no un Pokémon en si.
Pero quería hacer una especie de versión portable, algo que se lleve menos espacio y que sea fácil de pasar offline y jugarlo en el cel sin emuladores potentes ni estar online
Soy cubano aquí estamos muy limitados.
Por eso decidí ir trabajando de a poco en este proyecto mientras voy aumentando la dificultad en el de rmxp. Gracias por responderme
 

Jack Johnson

Hoenn Adventures Dev
Miembro del equipo
Administrador
Me decidí ir por decomp ya que tengo un poco de experiencia en RPG Maker y esto es parecido. Pero aún así sigo siendo un novato. Alguien que sepa de decomp me puede dar un norte o explicar cómo pudiera cambiar o editar la interface de batalla?
Gracias a los demás por responder mi anterior pregunta
Para mayor información sobre lo que quieres hacer, si ya te has decidido por decompilación, debes dirigirte a su propia sección. Mira si existe algún tutorial acerca de ello y si no, crea un hilo dentro de la sección de dudas. Por, supuesto, la conversación es mucho más fluida en nuestro server de Discord, así que no dudes en pasarte por allí cuando gustes. Doy por contestada la duda original y cierro el hilo.
Un saludo ;)
 
Estado
Cerrado para nuevas respuestas.
Arriba