Registrarse

Como Hacer Scripts

Estado
Cerrado para nuevas respuestas.
Capas a muchos de los rom hackers nuevos le pase (capas que no) que cada vez que ben un tutorial de scripts preguntan..donde m***** van tantos comandos y comandos y comandos....

aca estoy para explicar desde ese punto

primero deven descargar el X.S.E

de aca se puede descargar (seccion de herramientas de wah)
http://wahackpokemon.com/es/descarga/herramientas-gba

despues sigan las imagenes
ESTE ES TU ARCHIVO DESCARGADO

luego segundo click o click derecho

Extraer en XSE(si no les da esta opcion nesesitan descargar el win rar lo pondre al final del tutorial)

si todo fue bien ya tenes "LA CARPETA" xD creo que esta aca muchos llegan xD

Al abrir la carpeta aparesen esos archivos y tienen que presionar en el ejecutador exe marcado con rojo en la imagen

Y ya entraste en el programa...bueno ahora biene la parte donde te queres arrancar los pelos
PERO ANTES
carga tu rom :

Archivo>Abrir

marca la opcion Game Boy Advance Roms

ahora seleccionas tu rom

Y listo ahora solo falta agregar los comandos que tant ote joden la cabeza


win Rar: http://www.winrar.es/descargas

ahora explicare los comandos

Primero Comandos Faciles

bueno,primero que nada explicare como se empiesa un script

#org 0x[offset]

ya muchos deben saber como se empiesa


luego te pones ah agregar comandos
aqui explicare algunos comandos faciles:

msgbox
este es el comando mas facil
se pone asi:
msgbox 0x8[offset](este offset debe ser diferente al primero)

asi se pone para hacer un msgbox comun pero ahora nos faltaria poner lo que quieren que el mini diga yo aca dejare un ejemplo

#org 0x[offset]
msgbox 0x8[offset]
end

#org 0x[offset del msgbox]
= aca ba tu texto(siempre antes de escribir el texto deja un espacio despues del"=")

ese seria un script para que un mini te dijiera "aca ba tu texto"

Wildbattle
wildbattle:
este comando sirve para pelear con un pokemon salvaje
se escribe asi:

wildbattle 0x(numero de el pokemon salvaje en hex) 0x(nivel del pokemon en hex) 0x(numer ode objeto que quieres que yebe el pokemon en hex) 0x(numero en hex del campo en el que quieres que pase la batalla)

aca dare un ejemplo:
#org 0x[offset]
wildbattle 0x10 0x5 0x0 0x0
end

este seria un script para que un pidgey salvaje en nivel 5 peleara con vos

GivePokemon
givepokemon
este comando sirve para que te den un pokemon
se escribe asi:

givepokemon 0x(numer o del pokemon en hex) 0x(nivel del pokemon en hex) 0x(el item que quieras que tenga el pokemon en hex) 0x0 0x0 0x0

aca un ejemplo:
#org 0x[offset]
givepokemon 0x10 0x5 0x0 0x0 0x0 0x0
end

este comando sirve para que te regalen un pidgey nivel 5 sin ningun objeto

Fadescreen
Fadescreen(gracias ah un manual de reyboo lo aprendi)
este comando es para que la pantalla este negra por unos segundos

se escribe asi:
fadescreen 0x1
pause 0x(numer oen hex de segundos que quieres que permanesca en negro)

fadescreen 0x0

ejemplo:

#org 0x[offset]
fadescreen 0x1
pause 0xA
fadescreen 0x0

end

este script serviria para poner la pantalla en negro durante 10 segundos

Explicacion de las flags

las flags sirven para que un script no se vuelva ah repetir poreso se usan estos comandos(los que yo uso)

este comando se escribe antes del script que quieras que no se repita(claro que despues del #org)

checkflag 0x(numero de flag libre)

las flags libres en rubi son del 2000-4000 en rojo fuego yo estoy haciendo mi propia investigacion aun y cuando las sepa actualizare esto

despues del checkflag se pone

if 0x1 call 0x(offset)

el offset tiene que ser diferente al del #org

y luego su script

despues antes de poner "end" se pone este comando

setflag 0x(la flag que ayan puesto en el checkflag)

y bueno despues el end

aca dejo un ejemplo

#org 0x(offset)
checkflag 0x2222
if 0x1 0x(offset 2)

msgbox 0x8(offset 3)
callstd 0x2
setflag 0x2222
release
end

#org 0x(offset del msgbox)
= este es un ejemplo de flags

#org 0x(offset del if 0x1)
release
end


ese seria un script para que un mini e diga "este es un ejemplo de flags" pero cuando le buelbas ah ablar no te dira nada gracias ah las flags

bueno eso es todo recuerda que no puedes volver ah usar una flag que ya ayas usado te recomiendo anotarlas asi no equivocarte

Comandos un poko mas difisiles

movesprite
sirve para mover ah un mini de un lugar al otro

se escribe asi:
movesprite 0xnumero de mini para mover 0xcordenada X 0xcordenada Y

Dowildbattle
dowildbattle
sirve para repetir la ultima wildbattle.

se escribe asi:
#org 0xoffset
dowildbattle
end

hidesprite
sirve para desapareser un mini

se escribe asi:
hidesprite 0xnumero de mini para desapareser
setflag 0xflag asignada al mini

Sound

sound
sirve para reprodusir un sonido

se escribe asi:
sound 0xnumero en hex del sonido


saludos
 
muy buen tutorial, le hara falta a mucha jente, (como yo, aunque aprendi hace 3 dias, asi que no me sirvio de mucho este tuto) (en serio, buen tuto)


tambien deberias haber puesto una cosa que confunde mucho y que a mi me paso:

a veces cuando pones el xse te sale el sitio de escribir en negro, como lo que escribes tanbien es negro, por lo tanto uno no sabe lo que ha escrito y se puede confundir.

para arreglarlo se debe dar a: formato>color fondo(cambialo a cualquier color menos el negro o similares.
 

Deryko

Nick naranja para Dery #FreeDeryko
Buen tutorial , con comandos conocidos y otros no.
Pero lo que tienes que mejorar es la presentación , dividelo en varias secciones , usa la negrita ETC.
 

H.B.P

Emperador Kaktiácero
Miembro de honor
Voy a recalcarte dos errores muy notables y comunes:

#org 0x(offset)
checkflag 0x2222
if 0x1 0x(offset 2)
msgbox 0x8(offset 3)
callstd 0x26 => En scripts complejos, el tipo de callstd debe ser el número 6 (o MSG_KEEPOKEN).
setflag 0x2222
release => Si no pones lock, no pongas release, es inútil poner el uno sin el otro.
end

Bueno, ¿y qué comentar sobre el manual? Pues estas cosas:

1º No está nada claro, deberías usar negritas, apartados más claros y cuidar las mayúsculas.
2º Tienes un fallo gordo usando release cuando no usas lock, si usas lock, usa release; de lo contrario, no uses ninguno de los dos (usa esos comandos en un script compilado en un offset secundario que contenga una "acción seria" como movimientos, givepokemon, etc.).
3º La estructura del msgbox recomendada en scripts complejos es el callstd 0x6 o MSG_KEEPOKEN (fíjate en el rom, nunca se usa el 0x2 en scripts complejos, se tiende a emplear MSG_KEEPOKEN). Más vale prevenir que curar...
4º Actualiza tu versión del XSE, la estructura de algunos de los comandos que enseñas está anticuada (como el msgbox).

Saludos.
 
buenísimo, gracias a ti entendí que eran los 0x de los script de legendarios, pero me quedo una duda, si quiero bloquear el camino con un snorlax salvaje, y uso este código:

'---------------
#org 0x29638B
wildbattle 0x8F 0x5 0x0
release
end
¿que tengo que añadirle para que una vez vencido o capturado desaparezca?
 
[align=center]la verdad Pedí Re-Abrir el tema para poder editar el tutorial
dándome cuenta después de tanto tiempo ... que ni yo lo entiendo xD , y mi ortografía me mata ami mismo

ya arregle un poco el tema y lo ordene un poco mas , ahora cuando tenga mas tiempo voy a
editar la ortografía y agregar mas información a los comandos , ya que vi que algunos
están muy incompletos


P.D: Gracias ??OR? KAKTU?? por lo de los "release" xD.... la verdad nunca me habían traído problemas pero
tienes razón mas vale prevenir que curar xD
[/align]
 

Hunter Digi Ace

Pokehacker Retirado
me gusto tu tutorial, pero porque enseña comandos que no conocia,(fadescren) (tengo que buscar algun lugar donde esten todos XD), pero se ve un poco raro como muy monotono,
espero sigas actualizando ^^
 
Estado
Cerrado para nuevas respuestas.
Arriba