school_archive
Thread Id: 10027
Thread Name: Escuela de Scripts [Nivel Bajo a medio] [Reinscripciones, por falta de alumnos]
#0
Cheve_X 15014
Escuela de Scripts [Nivel Básico a Medio]


Temario:

1. DINAMYC & Msgbox (Comando DINAMYC y diálogo común y corriente)

2. Diálogo incluyendo pregunta de "Si" o "No"

3.Applymovement

4. Flags y Scripts de nivel

5. Givepokémon y Giveegg (Dar pokémon y dar huevo)

6. Wildbattle (batalla contra un pokémon salvaje)

7. Trainerbattle (batalla contra un entrenador)[Como modificarlos]

8. Puntos 4 a 6 Shiny

9. Scripts de Gatillo y Variables








Primera Clase!


Si, ésta es la primer clase, pero antes debemos saber mas o menos qué es un script, así que aquí pondré una cita de Baro...

Iniciado por Baro
Cualquier videojuego actual, es como una película interactiva y por lo tanto tiene un guión. Pero al referirnos a la interactividad, el guión de cada evento cobra más importancia porque dependerá de las demás acciones, si ya se han ejecutado para, sobretodo, conseguir coherencia en la historia. Además muchas de esas acciones deberán ser ejecutadas una sola vez, por lo que la cosa se complica.





Tarea: Hacer un prolijo msgbox, incluyendo una conversación entre el personaje de vuestro Hack, y una persona común.

Plazo: 1 Semana, hasta el Lunes 6 de Junio

El video, puede ser subido a youtube o a imageshack, o donde quieran.
Si tienen dudas, me envían un mp, por perfil, o por msn

Salu2!



Atención:Hay una vacante libre, cedida por Franco!~, quien la desee, me manda un MP, y, si lo acepto, deberá exponer la primer tarea antes del lunes 13.

Alumnos que se van por problemas personales: Franco!~ y Death_L

*El lugar de Death_L ya ha sido ocupado por Gershel.
#1
El_franco 15724
Hola! Mucho gusto nuevamente Cheve_X Al parecer fuí el unico que se tomo la molestia de preguntarte algo, Bueno lo que más aprendi hoy fue el dominio del comando [player] que es muy facil ._. el de los colores y el MSG_FACE que es el más común espero no te moleste que haya puesto 2 conversaciones ^^ es que quede con ganas de más porque luce divertido, En fin, me serviran todas tus clases para Futuros Proyectos.

http://www.youtube.com/watch?v=s2zmxpqvcPY

En fin, quisiera ver alguno de mis scripts en futuros trabajos, porque asi como se vé esta mal, (Por falta de tiles nuevos,etc) Pero en fín es solo Una clase de Scripters! ... Asi que listo ^^ Ojala se hayan reido con la primera parte xDD

Saludos! Atte Franco
#2
nikoplo 15329
Video
#3
Theós 15736
Hola, yo he hecho lo mismo que El_Franco, osea dos scripts uno hay una conversacion entre [player] y [rival] y en el otro hay una conversacion entre [player] y alguien que puse el nombre...Además aprendí a usar el tema de los colores, no lo entendí muy bien porque(Cuando habla con may) me salen colores diƒerentes colores, por ejemplo puse [player] habla con azul(pero yo puse que hablara con rojo)....
Bueno basta de hablar, a callar y ver los resultados...
http://www.youtube.com/watch?v=TKD9UkvQpao
http://www.youtube.com/watch?v=TKD9UkvQpao
#4
Gershel 12314
Holas! Gracias por aceptarme en la escuela.
Como prometí, traigo la Tarea número 1.
Me motivé un poco y no hice ni uno ni dos msgbox sinó tres, espero que no cuente negativamente :S, pero esque como vi que era facilillo, quería experimentar un poco más.
Aquí dejo el video, siento la mala calidad del video xD:

http://www.youtube.com/watch?v=p19DHKlG4g0

Espero sacar buena nota! Saludos!
#5
Cheve_X 15014



Hola alumnos! Tanto tiempo!


Segunda Clase:


En la segunda clase, veremos como hacer un mensaje con pregunta de Si o No.

Como ya sabemos, para ejecutar este tipo de mensajes, es de la siguiente manera:

msgbox 0x[nºde Offset] 0x5

Al escribir un comando de éste tipo, se abrirá una "Ventanita" con las opciones: "Si" "No" o "Yes" "No".

Teoría: Al seleccionar si o no, la ROM archiva un valor temporal, (si=0x1 ; no=0x0) el cual se puede utilizar mediante el comando especial "LASTRESULT" (Traducido "Ultimo Resultado").
Para realizar un script de Si/No, tambien necesitamos saber la utilidad del comando "If", el comando "If" (Traducido "si", ejemplo: si 3x4=6 4x3=6) que lo que hace, es chequear si lo que se ha dicho en el anterior comando es verdad o no... ¿difícil de entender? pues es difícil de explicar '^^
Ejemplo del uso del comando "If":

comparevar 0x4005 0x1234
if 0x1 goto 0x[offset]

checkflag 0x4500
if 0x1 call 0x[Offset]

En los Comandos de aquí arriba, siempre me estoy fijando si estos valores dan 0x1, en el primer caso, si ambas variables son iguales, y en el segundo caso, si la flag expresada está activada.
Cuando demos Variables, veremos formas mas complejas de usar el comando If, pero, a simple vista de los ejemplos, podemos ver que que luego del "if" eh puesto un "call" y un "goto"... ¿Pues... qué son?


call 0x[offset]

Nos envía a un determinado script, secundario al que estabamos trabajando, para usarlo de forma dinámica, es igual que un msgbox:

goto @offset2

pero, a la hora de hacer nuestro script secundario dinámico, es de la siguinete manera. Ejemplo:


...
if 0x1 goto @pointer
...
end

#org @pointer
[Script secundario]
return


Ah! otro script desconocido! Return: Return, este comando se utiliza como el comando "end" (que finaliza el script) pero, es obviamente distinto y se usa solo en scripts secundarios que derivan de un call.
Lo que hace el script al encontrarse con este comando, es seguir el script desde debajo de la linea del call.


Goto: es lo mismo que el call, se usa de la misma forma y para lo mismo, la unica diferencia, es que en el script secundario al que nos lleva este comando, termina en End, y por lo tanto, no regresa al script raiz.

Teoría terminada...

Bueno, os explicaré como encajar todo esto para hacer una pregunta de si o de no.

#DYNAMIC 0x800000
#org 0x[Pointer]
lock
msgbox @smspregunta 0x5
comaprevar LASTRESULT 0x1
if 0x1 call @pointersi
msgbox @smsno 0x2
release
end

#org @pointersi
msgbox @smssi 0x2
end


[En esta parte irian los textos]




Bien! Tarea al paso! [Esto, se llama metodo contructivista, los alumnos deben descubrir qué están haciendo por ellos mismos]

Tarea!


1) Razonar, entender y explicar que hace cada línea, completando los espacios punteados:



#DYNAMIC 0x800000
#org 0x[Pointer]
lock
msgbox @smspregunta 0x5 ..................
comaprevar LASTRESULT 0x1 Pista dada: Compara si el valor de LASTRESULT es de 0x1
if 0x1 call @pointersi ....................... [Esta es la parte más importante]
msgbox @smsno 0x2
release
end

#org @pointersi
msgbox @smssi 0x2
end

2) Agregarle los correspondientes textos al script, y comprovar que esté bien hecho, y así ver si lo que hicieron en el ejercicio 1 está bien hecho.(Quiero ver el video :D )

Tienen hasta el martes 21

Bueno, eso es Todo.

Suerte, Salu2!

Ah! quienes no entregaron su primer tarea, si no la entregan con la segunda quedan ¡FUERA!
#6
nikoplo 15329
Video
#7
Cheve_X 15014
Hola! Disculpenme, pero no podré seguir la escuela por unas semanas, (por los exámenes y tal) así que eh pedido que ésta se cierre.

No se preocupen, apenas terminen de atosigarme con los examenes la seguiré. n.n

Suerte, Salu2 y espero que me comprendan :D
#8
Javi4315♪ 13374
Escuela reabierta a petición del autor.
#9
Cheve_X 15014
Tercera Clase!


Discúlpenme por la ausencia, es que eh tenido exámenes (Aún tengo, pero no tan numerosos) pero bueno... pasemos a la tercer clase!!

Hoy, aprenderemos el Applymovement:


Applymovement: El comando applymovement, traducido "aplicar movimiento", es un comando que hará que el mini que nosotros querramos (incluyendo el de nuestro personaje) se mueva de la manera que le indiquemos dentro del script, el resultado sería como ver una película, todos se moverán independintemente de lo que nosotros hagamos.

Aplicación:

Se escribe en un script de la siguiente manera:



applymovement 0xiddelminiamover 0xoffset


o de forma dinámica:

applymovement 0xiddelminiamover @movimientos1

y luego

#org @movimientos1
[movimientos]

[hr]

Luego de cada applymovement, debemos usar un "waitmovement", aunque en ocasiones especiales, podemos obviarlo.

Waitmovement: espera que el movimiento de X mini termine para seguir con el script.

Aplicación:

Se escribe en un script, siempre despues de un applymovement, y se utiliza de la siguiente manera:

applymovement 0xid 0xoffset
waitmovement 0xid

El 0xid, debe ser igual en ambos casos, si el script no funciona de esa manera, se puede intentar usando 0x0, que lo que haría, sería esperar a que finalicen todos los movimientos.

Sobre lo que les decía de "Ocasiones especiales" más arriba, me refiero a si es necesario mover dos o mas minis al mismo tiempo, sería así:

...
Applymovement 0xid1 0xoffset1
applymovement 0xid2 0xoffset2
waitmovement 0x0
...

Especiales del applymovement:

Si queremos, por ejemplo, mover al personaje, se hace poniendo en la id del mini 0xFF.

Ajá! hasta ahora todo bien, pero ¿Como hacemos que se mueva como nosotros queremos?

Bueno... todo tiene una parte difícil ¿No?... pues el applymovement ¡No! :XD:

Para definir los movimientos de un mini, debemos hacer lo siguiente:

...
applymovement 0x2 0x326547
waitmovement 0x2
...

#org 0x326547
#raw 0x2
#raw 0x2
#raw 0x3
#raw 0xFE

O de forma dinámica
....
applymovement 0x2 @mov1
waitmovement 0x2
...

#org @mov1
#raw 0x2
#raw 0x2
#raw 0xFE

Ajá! ¿Y qué es eso?

Son números Hex de los movimientos, y cada vez que termines una lista de movimientos, debes usar 0xFE.







[hr]

Tarea! Jiji.

Hacer un script aplicando msgbox si/no y un applymovement... Recordar Tambien el estilo de los mensajes dado en la primer clase ^^

Bueno, Tienen hasta el lunes 4 de julio para presentar la Tarea.


Rspecto a la tarea de la clase dos, Nikoplo, Muy bien hecho te llevas un 9 n.n

Quienes no la presentaron, no es necesario que lo hagan, ya que al presentar la de la tercer clase, me demostrarán que han entendido la segunda :awesome:

Nuevo Alumno: Darkess ¡Bienvenido!
Nuevo Alumno: Gray_Fullbuster ¡Bienvenido!
#10
Darkess 15877
Bueno aqui está lo prometido, las tres tareas: http://www.youtube.com/watch?v=KIXcCtS1OHQ&feature=channel_video_title
#11
Gershel 12314
Aquí está el vídeo, justo a tiempo xD! Esque estuve un poco liado con algunas cosas.
Aquí te lo dejo, espero que guste:

[RHT]41BR9D89HSGW[/RHT]
#12
Cheve_X 15014
Hola! Este es un comunicado para todos los Wahreros, ésta escuela, en parte por mi culpa, en parte por culpa de algunos (casi todos) sus alumnos, ah quedado inactiva, pero no la dejaré caer.

Primero y principal, quiero agradecer a Gershel su buena voluntad ^^

Ahora sí, vamos al grano.

La escuela seguirá en pié, pero habrá nuevas inscripciones,

Los únicos que quedan inscriptos son: Gershel y Darkess
Nuevo alumno: ???????

Así, que las inscripciones quedan nuevamente abiertas.

Para inscribirse, escribir en mi perfil completando el siguiente formulario:

Quiero ingresar a la escuela porque:

¿Me considero una persona madura, responsable, y que sobre todo, entiendo que al solicitar un lugar en la escuela, se lo arrebato a alguien más?: (Si/no)

¿Qué piensas de la vida?:


Eso es todo, ns vemos n.n

Pd: ¿Porque no pregunto sobre capacidades o algo así? Porque eh aprendido, que el saber no viene acompañado de la responsabilidad ni del buen comportamiento...