Author Id: 15014 Author Name: Cheve_X Post Content: 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 [spoiler=Alumnos Inscriptos] 1. Nikoplo 2. Z4N7Y460 3. isa47 4.CopyKat 5.death_L 6.Comandante Kaktus 7.Franco!~ 8. Skaktrex 9. El_Franco [/spoiler] 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... [QUOTE]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.[/quote] [spoiler=Ver Primera Clase] Bueno, bienvenidos a la primer clase, hoy veremos el comando "DYNAMIC", éste se escribe al principio de nuestro script... Antes de empezar con todo esto, veamos las cosas básicas que tiene el XSE y como usarlo en A-Map 1. Vamos a configurar el A-map para que utilize XSE y que luego se nos haga mas sencillo Para esto seguimos unos sencillos pasos: A. Abrimos el A-map vamos a opciones y clic en "Choose Script Editor" [IMG]http://img7.imageshack.us/img7/1552/30919673.png[/IMG] B. Buscamos donde tengamos puesto el XSE, lo seleccionamos y le damos a "Abrir" [IMG]http://img11.imageshack.us/img11/779/71512561.png[/IMG] C. A continuación les saltará un cartel como éste: [IMG]http://img215.imageshack.us/img215/933/54224341.png[/IMG] Denle a "No" D. ¡Listo! ¡Ya tenéis configurado XSE en A-Map! Alumno: ¿¡Eh!? ¿eso es todo? pues... :awesome: ¡No! eso fué solo el punto 1. Ahora vayamos al punto 2. 2. En este punto, actualizaremos el XSE (Lo cual es muy sencillo) A. Abrimos nuestro XSE, y vamos al menú "ayuda", y clic en "actualizar" [IMG]http://img853.imageshack.us/img853/9671/96029532.png[/IMG] Si vuestro menú no es como el de esa imágen, sino que es [IMG]http://img717.imageshack.us/img717/3134/67702268.png[/IMG] Quiere decir que ya está actualizado, y deben saltear el punto 2. B. Se nos abrirá un cartel, le damos a siguiente: [IMG]http://img829.imageshack.us/img829/1949/78037186.png[/IMG] C. Ahora XSE se conectará a internet para saber si hay una versión más reciente, y al finalizar nos mostrará esto: [IMG]http://img51.imageshack.us/img51/3459/14116527.png[/IMG] D.Pues¡Adivinen qué!¡Le hacemos clic en siguiente! ahora esperaremos a que descargue... [IMG]http://img600.imageshack.us/img600/4732/71063597.png[/IMG] E. Cuando termine, aparecerá la siguiente pantalla, en la cual le daremos clic a "Finalizar" [IMG]http://img11.imageshack.us/img11/125/49894991.png[/IMG] F. Nuestro XSE se cerrará y se abrirá de nuevo, dejandonos ver claramente, que ha cambiado... [¡Punto 2 terminado!¡Yay!] 3.Bueno, ahora lo que haremos, será cargar nuestra ROM favorita (Ya que lo que se enseñará en la primer clase, es igual en todas) Para eso, vamos al A-Map, lo abrimos y le damos a "Archivo" y a "Cargar Rom" A. Ahora, abriremos un mapa cualquiera, para el ejemplo, usaré Emerald, y Littleroot; y vamos a la pestaña "eventos" (Para que los eventos se vean con su respectivo mini, asegurense de tener, en el menú opciones, marcado "mostrar sprites" y desmarcado "esconder otros eventos") B. Seleccionaremos un caracter de esos que están ahí, yo usaré al "rellenito" (Me encanta modificarlo :awesome: ) le haremos doble clic, a lo que se nos debería abrir el XSE con nuestro script cargado: [IMG]http://img708.imageshack.us/img708/6207/94804608.png[/IMG] C. Bueno, ahora viene la parte com-pli-ca-da... Empezaremos por 5 comandos esenciales y fáciles que le darán a nuestro script un toque estético: "Lock", "Lockall", "release", "releaseall" y "faceplayer": Lock: éste comando, hará que el sprite que tenga asignado el script no se mueva. Release: desactiva el efecto del lock, es decir, deja livbre de movimientos al sprite. Lockall: Hará que ningún sprite del mapa pueda moverse, es decir, aplicará el efecto del lock en todos los sprites. Releaseall: desactiiva el efecto del lock, es decir libera todos los sprites. Faceplayer: hace que el sprite al que le hemos asignado un script, nos mire al hablarle, si no lo usamos, nos hablaría de espaldas... (por ejemplo) Ahora sí, pasaremos al comando DYNAMIC: Definición: El comando "DYNAMIC", es un comando muy útil, agregado en la version 1.1 del XSE, el cual nos sirve para buscar espacio libre donde "escribir" nuestro script... Su utilización es la siguiente: #DYNAMIC 0x Luego del 0x, irá un nº dependiendo de con qué Rom trabajemos: Ruby: 0x800000 Fire Red: 0x6B0000 Emerald: 0xE3CF64 Condiciones que debe tener el comando para funcionar bien: Debe estar al principio del script, debajo de '--------- Y para usarlo debemos hacer un "pointer dinámico"... ¿Qué es un pointer? un "pointer", "offset", o "dirección" es donde XSE guardará nuestro script. ¿Y un pointer dinámico? es una dirección "temporal" a la que le daremos un nombre, y, a la hora de compilar un script, el comando DYNAMIC le asignará un valor. Ejemplo: @sms1 @lol3 @whackahackcomunidaddehackromshispanos @fantasticalmentenadaquedecir... Algo que nunca deben hacer es, por ejemplo, algo así @sms 1... NO DEBEN LLEVAR ESPACIO!!! D. Luego de haber comprendido esto, pasamos a aprender lo que es el comando "msgbox", y como usarlo con "DYNAMIC" Definición: El comando "msgbox", hará que en nuestro scripts, se ejecute un diálogo o mensaje, de una forma o de otra (formas configurables por supuesto)en nuestra Rom. éste comando se usa de la/s siguiente/s forma/s: msgbox [pointer dinámico] 0x[Tipo de mensaje] msgbox 0x[pointer] 0x[Tipo de mensaje] Existen varios tipos de mensajes, del 0x1 al 0x6 y, si trabajamos en Emerald, también se agrega el 0xA. Se pueden escribir de dos maneras distintas: MSG_OBTAIN 0x0 [Mensaje de "Has obtenido...", reproduce el sonido que se escucha cuando nos dan un item] MSG_FIND 0x1 [Mensaje de "Has encontrado...", reproduce el sonido que se escucha cuando encontramos un objeto con el Zahori] MSG_FACE 0x2 [Mensaje de "Habla" es un mensaje común y corriente mas un "faceplayer" que se ejecuta automáticamente] MSG_SIGN 0x3 MSG_KEEPOPEN 0x4 [Hace que el diálogo quede abierto hasta que agregemos el comando "closeonkeypress"] MSG_YESNO 0x5 [Mensaje con pregunta de "si" o "No", lo desarrollaremos más adelante] MSG_NORMAL 0x6 [Un mensaje normal, común y corriente, similar al 0x2 (o MSG_FACE) pero sin incluir el faceplayer] MSG_POKENAV 0xA [Hace que nos llamen de la pokénav] ¿Cómo escribir un msgbox? A.Usando un pointer dinámico: #org @sms1 = Escribe aquí B. Usando un pointer preestablecido (No recomendado) #org 0xF5466 = ¿Leíste las reglas de éste\p subforo? Bueno, nótese que e remarcado el \p, bien.. pero ¿qué es eso? eso, incluye un cambio de párrafo, es decir que, al apretar un botón, la primer linea, es decir "¿Leíste las reglas de éste" desaparecerán y serán reemplazadas por "subforo?". Si se quiere hacer otro "salto de párrafo" consecutivo, se debe usar"\l" También se puede usar \n, que hará que salte de una linea a otra, pero luego de usar \n, si queremos seguir con nuestro msgbox, debemos usar \p, o si queremos que haga otro "pase de linea", debemos usar \l Conclusión: \p:Nuevo párrafo \n:Nueva línea \l:Repetir comando anterior Además, se pueden hacer textos de color, agregando códigos en los mensajes: [IMG]http://img820.imageshack.us/img820/5320/85257155.png[/IMG] [IMG]http://img26.imageshack.us/img26/8081/79162944.png[/IMG] [IMG]http://img263.imageshack.us/img263/6632/14984349.png[/IMG] Además hay otros códigos, pero aquí pondré los básicos: [player]: Nombre que ha puesto quien juega al hack a su personaje [rival]: Nombre del Rival Más adelante quizás veamos los demás códigos[/spoiler] 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! [Spoiler=Notas de la Primer Tarea] El_Franco: 9.5 Fíjate que se te pasaron unas tildes (o acentos) Pero aún así muy bien hecho! Nikoplo: 7 Usa un poquito más la imaginación, ¡Los Textos son lo principal de los Juegos! Z4N7Y460: 8 Lo mismo que a nikoplo, ¡usa la imaginación!, aunque está mejor, porque le has puesto colores. Nota: ¡No uses el color Blanco, es más difícil de leer! :D Gershel: 9.5 Bien Hecho! (-0.5, por que recién entraste, y hay que valorar el trabajo de quienes lo entregaron en forma y horario!) Death_L, me ah comunicado que por problemas con youtube no ha podido subir su video, por lo tanto esperaré a que lo entregues, no habrá sanción. Al resto: Tienen una Amonestación, por no entregar en tiempo y forma el trabajo!¡A las 2 amonestaciones, quedan fuera, y alguien más ocupará su lugar! Aún tienen pendiente ésta tarea, para la cual tienen una semana más! Alumnos: Disculpen, pero la Fuente de mi CPU se rompió, por lo que recién la semana que viene tendremos la Clase 2... Lo siento [/spoiler] 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.