NWN: Baldur's Gate & Icewind Dale
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

NWN: Baldur's Gate & Icewind Dale

Bienvenido al servidor de Neverwinter Nights: Baldur's Gate & Icewind Dale. Aquí encontrarás toda la información que necesitas para entrar a jugar.
 
ÍndiceÍndice  PortalPortal  GaleríaGalería  Últimas imágenesÚltimas imágenes  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

 

 Tutorial NWN - Scripts (1)

Ir abajo 
2 participantes
AutorMensaje
EddieDrow
Master Creator
Master Creator
EddieDrow


Cantidad de envíos : 280
Edad : 45
Localización : Logroño, Capital del Vino
Fecha de inscripción : 03/07/2008

Tutorial NWN - Scripts (1) Empty
MensajeTema: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) EmptyMiér Sep 10, 2008 4:57 pm

Un script es en realidad un texto en sí mismo, pero muy simplificado y utilizando un argot específico. No se trata de poner ceros y unos o usar programas complicados. Se puede escribir uno en un word como si de una carta se tratase.
Lo más importante antes de crear un script es saber exactamente qué quieres que haga, porque a veces se necesita más de uno para que algo funcione.
Todo script tiene un cuerpo principal, es decir un principio y un final. Este se escribe de este modo:

Código:
void main()
{
(Aquí se escribe el script en sí.  void main() quiere decir cuerpo principal y los corchetes delimitan el inicio y fin del mismo)
}

Antes de comenzar a explicar cómo hacer un script tenemos que hablar del sistema que usa nwn para que estos funcionen. A esto se le llama EVENTOS, y son referencias a scripts que usaran criaturas, objetos , areas etc. Pongamos algún ejemplo relativo a un área:

Un área consta de 4 eventos:

OnEnter: Este evento se hace que funcione un script cuando alguien o algo entra en el area, ya sea pnj p pj.

OnExit: Este evento hace lo mismo que el anterior pero se dispara cuando se sale del area.

OnHeartbeat:
Este evento se dispara cada 6 segundos. Ya explicaremos mas adelante como usarlo correctamente.

OnUserDefined: Este evento se utiliza para hacer cosas que no se puedan hacer con lo que nwn trae de serie y haya que programar o crear algo nuevo, también sirve para customizar mejor todo tipo de scripts sin alterar los que ya tiene nwn.

En la siguiente lección aprenderemos como crear un script sencillo, al entrar en un área haremos que a un personaje le llegue un mensaje de bienvenida en el log.
Volver arriba Ir abajo
EddieDrow
Master Creator
Master Creator
EddieDrow


Cantidad de envíos : 280
Edad : 45
Localización : Logroño, Capital del Vino
Fecha de inscripción : 03/07/2008

Tutorial NWN - Scripts (1) Empty
MensajeTema: Re: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) EmptyMiér Sep 10, 2008 9:53 pm

Antes de proseguir debo aclarar un par de cosas muy importantes:

¿Como organiza nwn los datos?

Las llamadas VARIABLES
Son como su nombre indica datos que varían segun los personajes u objetos o demas cosas que queramos contemplar o comprobar.
Usamos INT si es un número. OBJECT si es un objeto ya sea pnj, pj, ubicado, area o lo que sea. STRING si es una palabra o texto. FLOAT si es un número con decimales. etc Toda variable ha de tener un nombre al azar para distinguirla de otra. Y una vez que la definamos ha de acabar con punto y coma.
Ejemplos:

Código:
object PJ = GetEnteringObject();
int DadoDe6 = d6();

De este modo PJ es igual a la criatura que entre en el area y DadoDe6 es un número del 1 al 6.


Las llamadas FUNCIONES.
Una función no es mas que un código creado por los programadores del juego que permite acceder a diversos tipos de datos por los usuarios y realizar cualquier tipo de cosa, desde matar a un pj hasta hacerle saltar a un area. Para nuestro script vamos a necesitar varias funciones y os dejo una lista aqui debajo. Cada función encierra entre los parentesis que lleva al acabar una serie de datos que son los que queremos que ocurran.

*Necesitamos una función que sirva para que el script sólo funcione cuando entra un pj no un pnj en el area. Esta se llama GetIsPC().

*Necesitamos una función que nos busque al pj que entra en el área y no por ejemplo al que sale. Esta se llama GetEnteringObject()

*Necesitamos una función que nos sirva para le enviemos un mesaje al pj. Esta se llama SendMessageToPC()

Si os fijáis y sabeis inglés no es muy dificil ver que quiere decir cada una.

Para dejaros el script hecho y despues comentarlo para que lo entedáis solo necesito aclarar un aspecto más. Tiene que ver con el lenguaje que usan los scripts (se conoce como C a secas). Dejaré explicado sólo el que os vais a encontrara en el script que estamos tratando de hacer.

if

Se usa como condicional, ejemplos: si es un pj, si tiene level 5, si es paladin, etc
Para que un IF funcione hay que delimitarlo entre corchetes dentro del cuerpo principal. ejemplo:

Código:
if( lo que sea)
{
(Aqui decimos que pasa)
}

Sin más en el siguiente post os dejo el guión hecho y lo comento.


Última edición por EddieDrow el Miér Sep 10, 2008 10:53 pm, editado 1 vez
Volver arriba Ir abajo
EddieDrow
Master Creator
Master Creator
EddieDrow


Cantidad de envíos : 280
Edad : 45
Localización : Logroño, Capital del Vino
Fecha de inscripción : 03/07/2008

Tutorial NWN - Scripts (1) Empty
MensajeTema: Re: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) EmptyMiér Sep 10, 2008 10:08 pm

Código:
void main()
{

object PJ = GetEnteringObject();
string SaludoInicial = "Hola, bienvenido";

if(GetIsPC(PJ))
{
SendMessageToPC(PJ,SaludoInicial);
}

}

Ahora explicamos que significa todo para que lo entendais y luego os digo donde hay que colocar el script para que funcione.

object PJ = GetEnteringObject();

Con esta función definimos a cualquiera que entre en el área, de nombre PJ. Cada vez que escribamos PJ , hara referencia a eso mismo. Esto ocurre con todaslas funciones.

string SaludoInicial = "Hola, bienvenido";

Con esta definimos el texto del saludo, tiene que ir entre " ". De nombre SaludoInicial.

Después llega el IF, que viene a decir: Si es un personaje jugador el que entra en el área haz lo siguiente. Lo hará sólo en ese caso.

SendMessageToPC(PJ,SaludoInicial);

Y por último dentro del if, hacemos que le manden el mensaje.
Si os fijáis al entre los paréntesis de la funcion tenemos, PJ y Saludo Inicial. Hay que colocarlos ahi para que funcione.

Ahora para testearlo abris un área en el aurora y en sus propiedades, en la pestaña Sucesos, colocamos nuestro guión, antes de esto y una vez hecho le pondremos un nombre que queramos, y comprobaremos que no hay fallos en el para que funcione correctamente. Para esto último usamos un boton del menú de creación de scripts llamado Guardar y Compilar. Tecla F7.


Y ya está, al entrar en ese área le enviarán el mensaje al pj.


Postead las dudas pertinentes, animaos con esto del script que no es tan difícil.
Un saludo.


Última edición por EddieDrow el Miér Sep 10, 2008 10:54 pm, editado 2 veces
Volver arriba Ir abajo
Falconfeather
Gibberling
Gibberling
Falconfeather


Cantidad de envíos : 25
Fecha de inscripción : 02/09/2008

Tutorial NWN - Scripts (1) Empty
MensajeTema: Re: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) EmptyMiér Sep 10, 2008 10:35 pm

/clap

La verdad que te lo has currao nunca he visto una explicacion tan clara. intentare hacer algo luego a ver que sale.
Volver arriba Ir abajo
EddieDrow
Master Creator
Master Creator
EddieDrow


Cantidad de envíos : 280
Edad : 45
Localización : Logroño, Capital del Vino
Fecha de inscripción : 03/07/2008

Tutorial NWN - Scripts (1) Empty
MensajeTema: Re: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) EmptyMiér Sep 10, 2008 10:56 pm

Okis por aqui estaremos pa solucionar dudas.

Este script es muy básico e ire haciendolo más complejo, para que vayais aprendiendo más.
Volver arriba Ir abajo
Contenido patrocinado





Tutorial NWN - Scripts (1) Empty
MensajeTema: Re: Tutorial NWN - Scripts (1)   Tutorial NWN - Scripts (1) Empty

Volver arriba Ir abajo
 
Tutorial NWN - Scripts (1)
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Tutorial NWN1 - Ropas y armas para personajes.

Permisos de este foro:No puedes responder a temas en este foro.
NWN: Baldur's Gate & Icewind Dale :: Misceláneo :: Tutoriales-
Cambiar a: