Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

Tutorial de scripting: Mi primer hechizo


  • Por favor, ingresa para responder
11 respuestas al tema

#1 Olafo

Olafo

    DLan's official Pumpkin

  • Miembro DLAN
  • PipPipPipPipPip
  • 4939 posts

Posteado 21 August 2009 - 09:57 AM

Mi primer hechizo:

Este tutorial te ayudará a crear un nuevo hechizo usando una combinación de efectos predefinidos y por defecto.

Primeros pasos:
En primer lugar, abrimos el Construction Set y cargamos Oblivion.esm, el archivo maestro.

Crear el hechizo:
¡Muy bien! Después del arduo proceso de carga, podemos comenzar a crear un hechizo. Situémonos en Object Window. Nos interesa la categoría Category: Magic, así que expande esta opción en la lista. Hay varios artículos bajo Magic, pero nosotros crearemos un hechizo, así que expandiremos la lista Spell (Hechizo).

Debería desplegarse un enorme listado de hechizos. Hacemos clic en cualquiera de estos hechizos (no importa cuál) y escogemos New del menú contextual que aparece. Esto nos lleva a un diálogo en blanco de Hechizos.

ID: La ID es cómo referenciamos el hechizo dentro del Construction Set. Introducimos MyFirstSpell en este campo.
Name: Este es el verdadero nombre que tendrá el hechizo dentro del juego. Introducimos My First Spell en este campo.
Type: De qué tipo de hechizo se trata. Dejamos este campo con la opción que viene por defecto: Spell.

Añadir efectos predefinidos:
Por el momento, la lista de Effects (Efectos) debería estar en blanco. Esto se traduce en que el hechizo no hace nada. Empezaremos añadiendo un efecto predefinido.

Hacemos clic al botón derecho del ratón sobre la lista de Effects y seleccionamos New del menú contextual. Esto nos lleva a un diálogo de Efectos.

Effect: Este es el efecto mágico a aplicar. Seleccionaremos Shield de la lista.
Range: Este es el objetivo del hechizo; a quién puede afectar. Seleccionamos Self.
Area: Es el área afectada. Cómo hemos seleccionado Self (uno mismo; el propio personaje) la opción está deshabilitada.
Duration: Cuánto tiempo (en segundos) durará el hechizo. Teclearemos 30.
Magnitude: En este caso, cuánta más armadura recibirá el lanzador del hechizo. Pon a este parámetro un valor ridículo como 300.

Pulsa OK para añadir este efecto.

Creando el script del hechizo:
Ahora que hemos añadido un efecto mágico estándar a nuestro hechizo, vamos a crear nosotros uno. Necesitamos escribir un script, con el fin de crear un efecto predeterminado. Seleccionamos Gameplay->Edit Scripts... de la barra de herramientas.

Tenemos ante nosotros una ventana en blanco llamada Edit Scripts. Selecciona Script->New de la barra de herramientas de esta ventana. El marco de escritura estará deshabilitado.
Selecciona Magic Effect en el marco desplegable de Script Type (tipos de scripts). ¡Esto es importante! Si no hacemos esto, no podemos añadir un nuevo hechizo.

Primero vamos a darle nombre a nuestro script y añadir una variable, para usarla después:

scriptname MyFirstSpellScript short updateCount
Los scripts de hechizos son ligeramente diferentes de los scripts corrientes. Ellos solo reconocen 3 bloques de scripts, mientras que otros tipos de scripts pueden reconocer muchos más. Por tanto... ¿Qué es un bloque de scripts? ¡Me alegra que lo preguntes! Los bloques de scripts son bloques de código que se ejecutan bajo ciertas condiciones. Los scripts de hechizos reconocen estos bloques:

ScripptEffectStart: Este bloque de código es ejecutado cuando el hechizo se lanza por primera vez.
ScripttEffectUpdate: Este bloque de código es ejecutado (aproximadamente) durante todos los fotogramas del juego, mientras se lanza el hechizo.
ScriptEffectFinish: Este bloque de código es ejecutado al final de la duración del hechizo.

Añadamos los bloques de scripts ahora:

Bloque ScripptEffectStart:
Begin ScriptEffectStart  RemoveAllItemsEnd
Bloque ScripttEffectUpdate:
Begin ScriptEffectUpdate  set updateCount to updateCount + 1End
Bloque ScriptEffectFinish:
Begin ScriptEffectFinish  Message "Spell is finished. ScriptEffectUpdate was run %.0f times", updateCountEnd
Este script muestra en pantalla un texto que nos dice cuántas veces ha sido ejecutado el bloque ScripttEffectUpdate.

Aquí está el código completo:

scriptname MyFirstSpellScript short updateCount Begin ScriptEffectStart  RemoveAllItemsEnd Begin ScriptEffectUpdate  set updateCount to updateCount + 1End Begin ScriptEffectFinish  Message "Spell is finished. ScriptEffectUpdate was run %.0f times", updateCountEnd
Elige Script->Save del menu de herramientas (o haz clic con el botón izquierdo del ratón en el disquete) y cierra la ventana Script Edit.

Añadir efectos predeterminados:
Volvemos atrás, al diálogo de Hechizo. Hacemos clic con el botón derecho del ratón en la lista de Effects y escogemos New del menú contextual. Como hemos hecho antes.

Esta vez, escogemos ScriptEffect de las opciones que se despliegan. Esto nos permite usar el script que hemos escrito.

Effect: Selecciona Script Effect.
Range: Selecciona Target esta vez.
Area: Aquí pon, por ejemplo... 100.
Duration: Usa un pequeño intervalo, como 5 ó 10 para que no tengamos que esperar mucho tiempo a que el script finalice.
Script: Este es el script a usar. Elige MyFirstScriptSpell de la lista. (Fíjate que cuando haces clic en ... puedes abrir el editor de scripts igualmente).
Effect Name: Nombre del efecto. Pongamos algo como... I see London, I see France.
School: Esta es la disciplina que lo gobierna. No nos preocuparemos de esto, por esta vez.
Visual Effect: El efecto visual a utilizar. Elegiremos Frenzy (Frenesí) de la lista.
Effect is Hostile: Márcalo y a la gente no les gustará que les lances el hechizo. (Vamos a dejarlo desmarcado por el momento).

Retoques finales:
Estate seguro de desactivar Auto-Calculate en el diálogo del Hechizo, o probablemente no seas capaz de lanzar el hechizo.

Pulsa OK en el diálogo. El hechizo debería ahora añadirse a la lista de hechizos en Object Window.

Encontrando el Form ID:
Antes de que podamos probar el hechizo, necesitamos saber cómo referenciarlo al juego. Desgraciadamente no podemos usar, simplemente, MyFirstSpell así que tenemos que enterarnos de su Form ID.

Ve al principio de la lista de hechizos y encuentra la columna Count. Justamente a la izquierda de esta columna, deberías ver una doble línea, en lugar de una simple columna. Haz clic en ella y arrástra la línea de la derecha de estas líneas dobles a la derecha, para así poder expandir la columna Form ID. Ahora desplaza hacia abajo la lista y encuentra el hechizo que hemos añadido. Apunta el número de la columna Form ID. Debería ser algo así como 01000CE8 (pero podría no ser exactamente éste).

Guardar:
¡Esto es importante!
Elige File->Save del menú de herramientas. Elige algo memorable como 01000CE8 (o MyFirstSpell debería funcionar también).

Testeando:
¡Hemos llegado, finalmente, a la última sección! Aquí es donde nosotros testeamos nuestro hechizo. Ejecutamos el juego y hacemos clic en Archivos de Datos. Asegúrate de que el archivo maestro y tu mod están activados y pulsa OK.

Pulsa Jugar.

Empieza una nueva partida o una guardada con anterioridad. Recuerda que nuestro hechizo funciona mejor en varios objetivos.
Ahora que estás jugando, despliega la consola pulsando ~ (o también º, no recuerdo exactamente qué botón era...), y escribe:
player.addspell <formId>
donde <formID> es el Form ID de nuestro hechizo.

Debería ser algo así:

player.addspell 01000ce8
Si todo va bien, un mensaje aparecerá avisándonos que My First Spell ha sido añadido. ¡Elige el hechizo del inventario de hechizos y lánzalo!
Deberías ganar armadura, y segundos después, un mensaje de notificación aparecerá informándote cuántas veces se ha ejecutado el bloque ScripttEffectUpdate.
Si no funciona es porque quizá el juego no reconozca la ID, puedes probar a incrementar el segundo dígito (en nuestro ejemplo sería sustituir 01000ce8 por 02000ce8, 03000ce8...) hasta que funcione.

¡Diviértete creando hechizos!

Editado por Olafo, 21 August 2009 - 01:55 PM.


#2 Ashara

Ashara

    Fire and Blood

  • Miembro DLAN
  • PipPipPipPipPip
  • 2709 posts

Posteado 21 August 2009 - 01:08 PM

Muy bien elegido el tutorial, Olafo, es el que usé para crear la primera habilidad que hice en mi mod de sirenas ???

#3 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 24 August 2009 - 08:54 PM

Buenas.

Gran Olafo, como siempre. Pues yo no te doy las gracias porque ese tuto ya lo había hecho, aunque me atasqué en la parte final porque en aquel tiempo no podía abrir la consola.... ???

Jeje. Lo de no darte las gracias es broma. Gracias, por supuesto, pienso que a más de uno le puede venir bien. ???

Saludetes. :D

#4 Erik

Erik

    Humano

  • Miembro
  • Pip
  • 5 posts

Posteado 28 February 2010 - 01:26 AM

Muy buen tutorial ???
Segun lo reinstale por problemas tecnicos lo probare aver, gracias ???

#5 Betto1

Betto1

    Humano

  • Miembro
  • Pip
  • 9 posts

Posteado 29 July 2010 - 10:43 PM

Oh, gran tutorial gracias, creo que me servira mucho :alabanza:

#6 Lordi

Lordi

    Humano

  • Miembro
  • Pip
  • 64 posts

Posteado 02 May 2011 - 08:00 PM

Olafo algo no va bien, cuando intento añadir el script no aparece en effects lo de scripteffect, que tengo que hacer?

#7 Olafo

Olafo

    DLan's official Pumpkin

  • Miembro DLAN
  • PipPipPipPipPip
  • 4939 posts

Posteado 02 May 2011 - 09:14 PM

[...]

No entiendo bien tu duda, ¿puedes explicarla mejor, citándome o poniendo alguna imagen de tu problema?

#8 Lordi

Lordi

    Humano

  • Miembro
  • Pip
  • 64 posts

Posteado 02 May 2011 - 09:18 PM

Después de crear el script, cuando vas a añadirlo al hechizo, en la barra esa de effects, le doy a new y aparece lo de effects, area ,magnitud, etc.. pues bién, el script effect, osea todo lo de abajo está desactivado y no se como activarlo. Siento no poder poner imagenes.


aquí:

Añadir efectos predeterminados:
Volvemos atrás, al diálogo de Hechizo. Hacemos clic con el botón derecho del ratón en la lista de Effects y escogemos New del menú contextual. Como hemos hecho antes.

Esta vez, escogemos ScriptEffect de las opciones que se despliegan. Esto nos permite usar el script que hemos escrito.

Effect: Selecciona Script Effect.
Range: Selecciona Target esta vez.
Area: Aquí pon, por ejemplo... 100.
Duration: Usa un pequeño intervalo, como 5 ó 10 para que no tengamos que esperar mucho tiempo a que el script finalice.
Script: Este es el script a usar. Elige MyFirstScriptSpell de la lista. (Fíjate que cuando haces clic en ... puedes abrir el editor de scripts igualmente).
Effect Name: Nombre del efecto. Pongamos algo como... I see London, I see France.
School: Esta es la disciplina que lo gobierna. No nos preocuparemos de esto, por esta vez.
Visual Effect: El efecto visual a utilizar. Elegiremos Frenzy (Frenesí) de la lista.
Effect is Hostile: Márcalo y a la gente no les gustará que les lances el hechizo. (Vamos a dejarlo desmarcado por el momento).

Editado por Lordi, 02 May 2011 - 09:21 PM.


#9 Olafo

Olafo

    DLan's official Pumpkin

  • Miembro DLAN
  • PipPipPipPipPip
  • 4939 posts

Posteado 02 May 2011 - 09:31 PM

Bien, creo que ya sé cuál es tu problema. He andado repasando el mod y Script Effect en la versión hispánica del Construction Set lo llaman (agçarrate) Efecto de escritura. En fin, mira a ver si ese es el problema y si ves alguna vez a alguno de los tíos que contrataron para traducir eso así, escúpele a la cara de mi parte :)

Imagen posteada



#10 Lordi

Lordi

    Humano

  • Miembro
  • Pip
  • 64 posts

Posteado 02 May 2011 - 10:06 PM

Olafo, ya lo he creado, lo he guardado y lo he activado, pero cuando voy a meter el codigo en la consola ( he mirado la id del hechizo y es distinta a este, la he cambiado ) pero no funciona, ¿alguna idea? :S

#11 Olafo

Olafo

    DLan's official Pumpkin

  • Miembro DLAN
  • PipPipPipPipPip
  • 4939 posts

Posteado 02 May 2011 - 10:09 PM

Olafo, ya lo he creado, lo he guardado y lo he activado, pero cuando voy a meter el codigo en la consola ( he mirado la id del hechizo y es distinta a este, la he cambiado ) pero no funciona, ¿alguna idea? :S

Sí, es que esa parte se las trae. Además este tutorial no es obra mía, sino una traducción (es bastante chapucero xD). ¿Has probado a aumentar el dígito que te dicen ahí?
Comprueba que has activado el mod en Archivos de datos. No se me ocurren soluciones más fáciles. Sino... Podemos probar con difíciles, pero no ahora que no tengo tiempo xD

#12 alfonskywalker

alfonskywalker

    Humano

  • Miembro
  • Pip
  • 2 posts

Posteado 27 June 2015 - 11:40 AM

Hola, primero de todo agradecer a Olafo su esfuerzo por traer este tutorial, yo lo hice al pie dela letra y no me funcionó probe con varias versiones del construction tes y nada, así que probé lo siguiente, empiezas igual  archivo maestro, magia, hechizos , eliges cualquiera y editas no cambié ni el Id ni el nombre en Type elegí hechizo, luego ahora editas y cambias el hechizo por el que quieras por ejemplo daños de fuego , yo ice un tri poder de daños, daños de rayo fuego y escarcha los tres  de una magnitud de 20 por 10 de duración y 500 puntos cada uno, a objetivo y desactive el autolevel y puse 10 puntos magia al lanzarlo , le das al ok, ahora el hechizo tiene el mismo nombre y el mismo Id pero con el hechizo que querias  quedate con su id no a cambiado, el mio era prodigios fantasmales creo  ID 00005139  guardas el archivo esp en data del ovlibion y activas El mod en el launcher en el juego abres la consola player.addspell (000005139 por ejemplo) y ya tienes tu hechizo cambiado por ti asegurate de desactivar el autolevel  o en todo caso intoduce tgm modo dios o no seras capaz de lanzarlo 3 veces.A estas fechas seguramente ya lo sabréis pero como todavía  esta en el foro lo pongo para gente como yo que quiere apreder a modelar, insisto que Olafo a hecho un buen trabajo pero las malas traducciones vuelven a la gente loca , gracias por todo.

 PD  el mod lo he hecho  para reirme un rato e jugado y completado todos los gremios y  misione 5 veces , ahora estoy creandome un ovlibion 2.0 con los mod de la gente gracias a todos/as

Editado por alfonskywalker, 27 June 2015 - 11:50 AM.





A Bragol. Tus amigos te echan de menos.