Registrarse

[Scripts] [Pedido] Script de regalo

Estado
Cerrado para nuevas respuestas.
Buenas, necesito un script en el que al hablar con un personaje te haga un regalo por ejemplo el pokémon que yo elija, o una pokéball, soy nuevo en esto y necesitaré algo de ayuda en cosas que para algunos son básicas :)

Saludos y gracias a tod@s!

-Cristo
 
Estos 4 comandos son sencillísimos de usar. A ver, hagamos un script con givepokemon.

Código:
Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
givepokemon 0x0 0x0 0x0 0x0 0x0 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto
Bien, ahí tenemos el givepokemon, pero antes procedamos con su explicación

givepokemon: Muy simple. Te regala un Pokémon. El que quieras, al nivel que quieras y con el objeto que quieras.

¿Cómo relleno sus parámetros?

Muy fácil:

El primer 0x0: Número del Pokémon que quieras recibir. Tiene que ser el nº de la Pokédex nacional y ha de estar en hex (el XSE tiene calculadora)

Segundo 0x0: Nivel del Pokémon que quieras recibir, también en hex.

Tercer 0x0: Pulsa Ctrl + N para abrir una nueva pestaña en el XSE, y pulsa Ctrl + O. Luego ve a la carpeta donde tengas el XSE, y abre el archivo "stditems". Ahí tienes los números de los objetos.

¿Y qué hago yo con todos esos códigos que no sé para que sirven? Ah, pues eso es muy sencillo.
Pulsa Ctrl + F y en "Buscar" pones el nombre (en inglés y, si son varias palabras, juntarlas, ejemplo: Restura todo = FULLRESTORE), luego pulsas en "Buscar siguiente".
Una vez encontrado el objeto que queramos equiparle...

Copiamos lo que va después del 0x, en mi caso sería 13, es el número del objeto. Volvemos al givepokemon y en el tercer 0x0, el del objeto, pegamos ese número (0x13)

Cuarto, quinto y sexto 0x0: Esos serán siempre 0x0, no los toques.

Bien, como con todo script, hay que poner un ejemplo. Supongamos que queremos recibir un Pidgey al nivel 12 con un Restaura todo equipado.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
givepokemon 0x10 0xC 0x13 0x0 0x0 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

No te preocupes, lo explicaré todo.

0x10: El número de Pidgey en la Pokédex nacional es 16, y 16 en hexadecimal es 10.

0xC: El nivel era 12, ¿no? 12 en hexadecimal es C, por lo que C se queda.

0x13: Aquí puse el restaura todo que expliqué antes.

0x0 0x0 0x0: Esto siempre va así.

Bueno, y aquí terminamos con el givepokemon. Ahora vamos con otros comandos que son mucho más sencillos.

NOTA IMPORTANTE: Al final de tu script, debes activar una flag (está explicado abajo, tú ponlo) para que el Pokémon se vea en el menú. En Ruby debes usar setflag 0x800, en FR setflag 0x828, en Esmeralda setflag 0x860.

Giveitem: Sirve para recibir un objeto.

¿Recuerdas el archivo que abrimos antes, donde el restaura todo era el número 13? Muy bien, todos esos números los usaremos también para el giveitem.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
giveitem 0x0 0x0 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

Bien, antes de explicar nada del giveitem quiero preguntaros algo. ¿No habéis notado algo distinto en el script? Sí, no he puesto el msgbox. ¿Recuerdas los tipos de msgbox que expliqué antes? Pues eso usaremos en el giveitem.

Ahora procederé a explicar los parámetros.

Primer 0x0: Aquí introduce el número del objeto a recibir, ya expliqué antes como mirarlo.

Segundo 0x0: Cantidad de objetos a recibir, en hexadecimal (Por ejemplo, 10 objetos = 0xA)

Tercer 0x0: Tipo de mensaje. Debes poner 0x1 si es para encontrar una Pokéball tirada por ahí y 0x0 si es alguien el que te da el objeto.

Y, una vez aclarado esto, procedamos con el simple giveegg.

Giveegg: Para recibir un huevo Pokémon.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
giveegg 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

"Y qué corto es", dirás tú. Pues sí, es un comando muy corto, de un único y simple parámetro, el mismo que el primer 0x0 del givepokemon.

Primer y único 0x0: Número de la Pokédex nacional en hex del Pokémon a recibir en huevo.

Procedamos con el antepenúltimo de los comandos del episodio 2: givemoney

givemoney: Simplemente, te da dinero. Como el dinero que ganas al salir victorioso de una batalla, o al vender algo. Veamos cómo es:

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
givemoney 0x0 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

¿Te esperabas que fuese un solo parámetro? Pues no.

Primer 0x0: Cantidad de dinero a recibir, como siempre, en hex.

Segundo 0x0: Aquí simplemente pon 0.

Vayamos con los dos últimos comandos: givecoins y removecoins.

Si alguien se pensaba que tenía algo que ver con el dinero, estaba equivocado. Bueno, en realidad, sí tiene que ver. Se refiere a las fichas del casino, las cuales se compran con dinero, ¿no?

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
givecoins 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

Primer y único 0x0: Número de fichas a recibir, como siempre, en hex.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
removecoins 0x0
release
end

#org @frase
= Aquí iría nuestro\nquerido texto

Primer y único 0x0: Número de fichas a quitar.
Siento haber tardado tanto en postear este capítulo... pero bueno, aquí lo tenéis. ¿Recuerdas el givepokemon, giveitem, etc. que enseñé antes?
Pues claro, cada vez que hablas con esa persona te vuelve a dar un Pokémon/Objeto... vaya decepción, ¿no?
Bah, pero eso no nos importa, porque tenemos la ayuda de nuestras queridas flags!

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
msgbox @frase 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
release
end

Sí, ese script se repite inifinitamente. Cada vez que hables con esa persona, te dará el jodido Bulbasaur al nivel 5. Arreglemos eso.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
checkflag 0x2100
if 0x1 goto @inicio2
msgbox @frase 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x2100
release
end

Antes de nada, me gustaría decir que yo, por una manía que tengo, siempre uso desde la flag 2100 para arriba.

Ahora toca explicar los nuevos comandos (incluso el if que ya hemos usado)

checkflag 0x2100: Como su nombre indica, "checkea", mira si la flag del "0x" está activada.
if 0x1 goto @inicio2: Si (if) la flag está activada (0x1) irás (goto) a otro puntero (@inicio2). 0x0 sería si la flag estuviese desactivada.
setflag 0x2100: Activa la flag 2100, para que se cumpla el if. La flag se puede activar en otro script distinto, así hasta que no se hable con una persona no se pueda ir al inicio2 de esta persona, etc.

Psé, es algo fácil, ¿no? Completemos todo el script.
Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
checkflag 0x2100
if 0x1 goto @inicio2
msgbox @frase 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x2100
release
end

#org @frase
= Toma tu Pokémon, es un\nBulbasaur al nivel 5.

#org @inicio2
lock
faceplayer
msgbox @frase2 0x6
release
end

#org @frase2
= Pero bueno, ya te he dado a tu\nPokémon, ¿qué más quieres?

Por supuesto, las flags se pueden utilizar para un montón de cosas... pero en este capítulo sólo explicaremos esta. Recuerda, las flags no son infinitas, ahorra todas las posibles, utiliza la misma flag para todos los scripts posibles.

clearflag

El comando clearflag es un comando no tan usado como checkflag o setflag, lo que hace es desactiva la flag. Imaginemos que tenemos la flag 2100 activada, y que no la volveremos a usar.

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
checkflag 0x2100
if 0x0 goto @inicio2
msgbox @frase 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
clearflag 0x2100
release
end

#org @frase
= Toma tu Pokémon, es un\nBulbasaur al nivel 5.

#org @inicio2
lock
faceplayer
msgbox @frase2 0x6
release
end

#org @frase2
= Pero bueno, ya te he dado a tu\nPokémon, ¿qué más quieres?

Veamos las cosas que han cambiado:

if 0x0 goto @inicio2: Al cambiar ese 1 por un 0, el checkflag y el if hacen que si la flag está desactivada vaya al puntero @inicio2. Como la flag 2100 estaba activada, te dará el Pokémon.

clearflag: ya he explicado la función de este comando. Ha desactivado la flag 2100, que no la volveremos a necesitar, para poder hacer este script.

Se entiende la función del checkflag, setflag y clearflag, ¿verdad?
Y en los archivos adjuntos estan mis guias (no hechas por mi) así, si quiero ver algo me meto y ya, espero haberte ayudado.
 
Estado
Cerrado para nuevas respuestas.
Arriba