Author Id: 16648 Author Name: fm~ Post Content: Escuela de Scripts ~ Por -FM Temario: 1- DYNAMIC, offset, #org, comandos generales. 2- msgbox (comandos de diálogo) 3- applymovement (movimientos de los minis) 4- givepokemon / giveegg (dar pokemon / dar huevo) 5- wildbattle (batalla salvaje contra un pokemon) 6- trainerbattle (batalla contra entrenadores) 7- Flags 8- Scripts de nivel 8- Scripts de Gatillo 9- Variables 10- Puntos Shiny [spoiler=Alumnos inscriptos] BlackCobalion Sanq Guerrero de luz Taicer RIAN alexiva fabian9819 Black2 klonoz Baster [/spoiler] [spoiler=Primera clase] Bueno, la primera lección será más teórica que práctica, voy a enseñar algunos conceptos acerca de los scripts y los fundamentos que usted necesita saber acerca de ella. 1. En primer lugar, configurar el mapa de A-Map a trabajar con XSE. A. Abrimos A-Map, vamos a "Opciones" y clic en "Choose Script Editor" [IMG]http://img7.imageshack.us/img7/1552/30919673.png[/IMG] B. Buscamos a XSE y le damos dos clics, o "Abrir". [IMG]http://img11.imageshack.us/img11/779/71512561.png[/IMG] C. Les saltará una ventanita, clic "No" D. iListo! A-Map ya estás configurado a trabajar con XSE. iPero este no es el fin! 2. Resta actualizar a XSE. iA trabajo! A. Abrimos XSE y clic en "Ayuda" ~ "Actualizar" ~ "Comprobar ahora". [IMG]http://img717.imageshack.us/img717/3134/67702268.png[/IMG] B. Se nos abrirá una ventanita. Le damos a "Siguiente", hasta XSE conectarse a Internet y descargar la actualización: [IMG]http://img600.imageshack.us/img600/4732/71063597.png[/IMG] C. Cuando termine, aparecerá una pantalla, solo damos clic a "Finalizar". iPor fin, nuestra clase! Aburrido pero importante. :dodgy: En primero, lo que és un script? [QUOTE]Iniciado por Baro Escreveu: 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] Todo script está en algún lugar, una dirección... Esta dirección és nomeada 'offset'. En una ROM, hay muchos offsets, sean vacíos u ocupados por cualquier script, sprite, etc. O offset también puede ser llamado de "pointer" Todo script comienza como: #org 0x1E8022 En el ejemplo, 0x1E8022 és el offset donde lo script está. Antes, era necesario sustituir a un offset, o encontrar uno que sea vacío, para que el script sea hecho. Pero, después de la actualización de XSE, un comando muy sencillo se añadió: el comando 'DYNAMIC'. Con este comando, no es necessário especificar el offset, sólo tiene que escrebir #DYNAMIC, para que este busque un offset libre donde "escribir" nuestro script, siendo así, un offset dinámico. Cuando especificamos el offset, el és un offset preestablecido(no recomendado). Alumno:Profesor, como se escribe el comando DYNAMIC? El comando #DYNAMIC debe siempre estar en el comenzo del script, seguido de 0x[nº dependiendo de con qué Rom trabajemos]. Este nº és: Rubí: 0x800000 Fire Red: 0x6B0000 Emerald: 0xE3CF64 Ejemplo: #DYNAMIC 0x800000 ~ Hemos llegado al final de la primera clase, y la primera tarea es entregarme una tabla por MP siguiendo este modelo. Plazo: 6 de Agosto, sábado. [spoiler=Tabla] ¿Qué es un offset?: Un offset puede ser llamado de: ¿Cuál es la función del comando #DYNAMIC?: ¿Donde se debe aplicar el comando #DYNAMIC?: ¿Qué tipo de offset se recomienda su uso?: [/spoiler] [/spoiler] [spoiler=Notas de la primera tarea] [spoiler=Sanq][QUOTE]Iniciado por Sanq ¿Qué es un offset?: Es el lugar donde se encuentra un script. Un offset puede ser llamado de: Pointer ¿Cuál es la función del comando #DYNAMIC?:Tiene la función de encontrar un script vació ¿Donde se debe aplicar el comando #DYNAMIC?: al comienzo del script ¿Qué tipo de offset se recomienda su uso?: el offset dinámico[/quote][/spoiler] Excelente, 10. [spoiler=klonoz][QUOTE]Iniciado por klonoz ¿Qué es un offset?:Es la dirección de un scrip. Un offset puede ser llamado de: pointer. ¿Cuál es la función del comando #DYNAMIC?:buscar un offset que no este ocupado. ¿Donde se debe aplicar el comando #DYNAMIC?:en el comienzo del scrip segido de 0x6B0000 (en mi caso ruby). ¿Qué tipo de offset se recomienda su uso?:offster dinamico.[/quote][/spoiler] Muy bién, 9,0 ~ En rubí el nº és 0x800000 [spoiler=Baster][QUOTE]Iniciado por Baster ¿Qué es un offset?:es el lugar o la direccion en el cual se encuentra el script Un offset puede ser llamado de: pointer ¿Cuál es la función del comando #DYNAMIC?:este comando sirve para localizar un offset libre en el cual podamos colocar nuestro script ¿Donde se debe aplicar el comando #DYNAMIC?: al inicio de nuestro script ¿Qué tipo de offset se recomienda su uso?: es recomendable usar un offset dinamico a uno preestablecido[/quote][/spoiler] Excelente, 10. [spoiler=Taicer][QUOTE]Iniciado por Taicer ¿Qué es un offset?: Pues, creo que viene siendo una especia de carpeta para colocar sprite, script, etc.. Un offset puede ser llamado de: Pointer ¿Cuál es la función del comando #DYNAMIC?: Buscar un offset libre donde "colocar" el script ¿Donde se debe aplicar el comando #DYNAMIC?: Debe de aplicarse al comienzo del script seguido de 0x[nº dependiendo del room ¿Qué tipo de offset se recomienda su uso?: offset dinámico[/quote][/spoiler] Muy bueno, 9,0 ~ Uno offset no es una carpeta, como de archivos, pero como una dirección, por ejemplo, como sería la dirección de una casa. [spoiler=alexiva][QUOTE]Iniciado por alexiva ¿Qué es un offset?: es la dirrecion donde se aloja el script a, sprite... se pueden encotrar varios offset puden estar vaciuos o ocupados ya en pocas palabras es la direccion de alojamiento de un script o sprite entre otros Un offset puede ser llamado de: poiter ¿Cuál es la función del comando #DYNAMIC?: su funcion es buscar on offset vacio donde podremos escribir nuestro script ¿Donde se debe aplicar el comando #DYNAMIC?: siempre debe estar al comienzo del script ¿Qué tipo de offset se recomienda su uso?: se recomienda el uso de uno vacio ya que modificar uno hecho puede ocasionar errores ( expriencia propia)[/quote][/spoiler] Excelente, 10 [spoiler=Guerrero de luz][QUOTE]Iniciado por Guerrero de luz ¿Qué es un offset?: Un offset es una dirección dentro del ROM en la que se localiza un script o un sprite. Un offset puede ser llamado de: pointer. ¿Cuál es la función del comando #DYNAMIC?: Su función es localizar un offset vacío en el que colocar el script. ¿Donde se debe aplicar el comando #DYNAMIC?: Al comienzo del script. ¿Qué tipo de offset se recomienda su uso?: Offset dinámico.[/quote][/spoiler] Excelente, 10 [spoiler=BlackCobalion][QUOTE]Iniciado por BlackCobalion ¿Qué es un offset?: Es el lugar o dirección en donde se encuentra ubicado el Script. Un offset puede ser llamado de: También se le puede llamar “pointer”. ¿Cuál es la función del comando #DYNAMIC?: Ubicar un offset “libre” en donde se pueda escribir el script. ¿Donde se debe aplicar el comando #DYNAMIC?: En la primera linea del script, y se debe escribir #DYNAMIC 0x mas el nuemro del rom en el que se trabaje. ¿Qué tipo de offset se recomienda su uso?: No entendí esta pregunta. 1.- No se recomienda especificar offset (offset preestablecido) 2.- Es mejor utilizar el comando #DYNAMIC[/quote][/spoiler] Excelente, 10 ~ El offset que tiene su uso recomendado es el offset dinamico, entendeste bien la clase. [/spoiler] [spoiler= Segunda clase] iHola alumnos! Llegamos a la segunda clase, entonce, comenzemos: Clase 2 ~ msgbox Como en la clase pasada, havia olvidadome de hablar sobre los comandos generales, comenzemos con ellos: Alumno:Pero, prof, ¿cuáles son los comandos generales? Son ellos: faceplayer, lock, lockall, release, releaseall, end faceplayer: Cuando hablas con alguiém, no se convierta para usted, ¿para que posa hablar? Para esto sirve el comando faceplayer. Vean: #DYNAMIC 0x800000 [Ya aprendemos este comando en la clase pasada] #org @inicio [Este es un offset dinamico] faceplayer [Este comando hace que cuando hablas con un mini, el conviertase a usted, para que posa hablar] Simples, ¿no? Ahora, hablaremos sobre el comando lock. lock: Gracias a este comando sencillo y muy importante, el mini no puede se mover, el es paralisado. Imagínese, cuando hablas con alguiém en el juego, fose posible moverse aúnque el otro estivesse estaba hablando con usted. Muy confuso, ¿no? Para eso serve el comando lock. Vea como utilizarlo: #DYNAMIC 0x800000 [Este comando ya aprendemos en la clase pasada] #org @inicio ['@inicio' es un offset dinamico] faceplayer [Convierte el otro mini a usted, para que posan hablar] lock [Paraliza el movimiento del prota, siendo imposible moverse aúnque hablas con alguiém] También un comando muy sencillo. lockall: Cuando utilizas el comando lock, tu mini no puede moverse, pero, los otros minis en el mapa, continuam libres. lockall sirve para paralizar el movimiento de TODOS los minis del mapa. Ni necesita un ejemplo :D release: Después del comando lock,¿el mini estará paralizado hasta la eternidad? Creo que no es lo que quieres :D Utiliza release para liberar el movimiento del mini prota. Ejemplo: #DYNAMIC 0x800000 [¿Es necessario explicar nuevamente? '¬¬] #org @inicio [''] faceplayer lock release [Aquí, tu movimiento es liberado] releaseall: Sirve como release, pero, si has utilizado lockall, utilizas ello para liberar los movimientos del todo mapa. También no es necesario un ejemplo :) end :furia:Este es el comando más estupendamente difícil :furia:, vea con un ejemplo: #DYNAMIC 0x800000 #org @inicio faceplayer lock release end [Simplemente, acaba el script :)] Vamos hablar sobre msgbox El comando msgbox es una mensaje, como ya dice el nombre :blush: Despues de tantas palabras, una carita para cativarlos: :awesome:. Listo, ahora volvemos a clase. El msgbox es como una mensaje, un discurso, una citación, una pregunta, etc. Es utilizado muy facilmente: #DYNAMIC 0x800000 #org @inicio faceplayer lock msgbox @mensaje1 [¿Porque utilizé @mensaje1? Porque es el offset dinamico del msgbox. No olviden, :OMG:imsgbox también lleva offset!:OMG:] release end Añadimos una mensaje a nuestro script, pero necesitamos editarla. Despues de terminado el cabezal del script, necesitase editar los otros offsets, allá de @inicio. #DYNAMIC 0x800000 #org @inicio faceplayer lock msgbox @mensaje1 0x6 [*~ El offset dinamico no puede ser escrito por separado, :OMG: ino deben levar espacio! :OMG:] release end Alumno: ¿Prof, que es 0x6? Simples, existem muchos tipos, del 0x0 hasta 0x6. Es el tipo de mensaje, siendo ellos: [QUOTE]Iniciado por Cheve_X 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] MSG_FACE 0x2 [Mensaje de "Habla" es un mensaje común y corriente mas un "faceplayer" que se ejecuta automáticamente] MSG_SIGN 0x3 [Mensaje de una placa, ejemplo, una placa en lo camino dieber ser 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][/quote] Ahora, otro concepto. Como msgbox es un offset a parte, es preciso hacerlo a parte del script principal. Así: #org @mensaje1 = -FM és un excelente profesor y amigo. ¿No le gusta? iPero estás mal! el cierto es: #org @mensaje1 = 'Escribe tu mensaje aquí' ------------------------------------------------------------------------------- #org @mensaje 1 = -FM és un excelente/nprofesor/ly amigo./pNo le gusta? Alumno:¿Lo que son esos /n, /l, /p /n, /l, /p sirvem como 'pasador de linea y de párrafo', vean: /n ~ Sirve para saltar una linea. /l ~ Tiene la miesma función de /n, pero, se ya utilizaste /n, debes utilizar /l ahora. Además, se pueden hacer textos de color, agregando códigos en los mensajes: [QUOTE]Iniciado por Cheve_X [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][/quote] Hay otros códigos: [player] ~ Nombre del personaje que el jogador he puesto. [rival] ~ Nombre del rival Bueno, ihemos a la tarea! :D Tarea: Hacer una conversación entre tu personaje con otra persona de vuestra hack, tiendo colores en las conversaciones. Plazo: 12 de Agosto El video, puede ser subido a youtube o a imageshack, o donde quieran. Si tienen dudas, me envían un mp o por perfil. Saludos alumnos. [/spoiler] Esto es todo, iAdiós e Saludos!