Ir a contenido

Foto

Capitulo VI - Nuestro colegas los locales


  • Please log in to reply
3 Respuesta(s) a este Tema
Metin2

#1
KeKo

KeKo

    Forero Experto

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.475 Mensaje(s)
Buenas zoneros y zoneras, de nuevo esta aqui el curso de creacion de quests (despues de un pequeño descanso por causas de mucho curro) para ayudaros en vuestro apasionante viaje por el mundo de las quest de metin2.

En el capitulo de hoy os voi a hablar un poco sobre los popularmente llamados locales, que sera algo que utiliceis constantemente en vuestras quests.

Y para que quiero yo un local?

Pues eso tiene sencilla respuesta: un local nos sirve para trabajar con variables. Y aqui os estareis preguntando: um vale keko, pero que es una variable? Pues una variable (como su nombre indica) no es mas que el valor de una funcion que no es siempre el mismo.

No me ha quedado muy claro eso, me pones un ejemplo?

Venga va, os pondre un ejemplo: pensemos en una funcion que saque informacion del personaje, como puede ser pc.get_level. Esta claro que el resultado que muestre este funcion al recoger el nivel no va a ser siempre el mismo, ya que no siempre seremos un nivel fijo. He aqui entonces un resultado que es una variable, por lo que si queremos trabajar con ese resultado podremos usar un local.

Veamos otro ejemplo por si aun no os ha quedado claro, con el más típico de todos los local: el local select

Please Login or Register to see this Hidden Content


Ese es un local select de dos opciones. Para que os ambienteis los local select se usan cuando tenemos un dialogo, ya que como es obvio si vamos a hacer escojer entre diferentes opciones el dialogo no sera fijo, si no que tendra una variacion para escojer entre 2 nuevos dialogos que no son fijos, dependen de cada local select que hagamos.

Ya voi entendiendo algo, explicame: como se estructura un local?

Para usar un local siempre tendremos que escribirlo de la siguiente manera:

Please Login or Register to see this Hidden Content


En el cual:

- local se pone siempre igual.
- nombre: ahi ponemos el nombre que queramos a nuestro local (local keko por ejemplo como puse yo arriba)
- variable: ahi pondremos la variable con la queramos trabajar (select en el caso de los dialogos o pc.get_level() en el ejemplo anterior)

Detalle MUY imporante: Teneis que tener MUY claro que un local no es lo mismo que una condicion, veamos un ejemplo:

Please Login or Register to see this Hidden Content


Please Login or Register to see this Hidden Content


Como veis tanto la condicion como el local trabajan con una variable (pc.get_level), pero ojo! hay una diferencia muy grande entre ambos:

- La condicion no utiliza la variable, si no que da un valor fijo a la funcion (el nivel debe ser igual a 1) .
- El local sí utliza la variable: si nosotros ponemos la palabra nivel en nuestra quest despues del local el resultado que mostrara en el juego sera nuestro nivel (es decir una variable).

Y eso se nota en que (como espero que os hayais fijado) la condicion es una comparacion, por lo que lleva un == (que se usa en lua para comparar datos) y el local lleva un =

Ya se hacer un local, ahora que hago con el??

Pues resulta que hay momentos en los que os encontrareis con cosas en vuestras quest que seran variables, y no podreis simplemente poner una funcion, veamos algunos ejemplos:

Please Login or Register to see this Hidden Content


En este ejemplo, si nos logeamos con exp menor que 0 (negativa) usaremos el local exper para que recoja la variable de nuestra exp (que como ya sabeis a estas alturas, no es un dato fijo) y lo use para darnos tanta exp como tenemos en negativo pasandola a positivo (es decir poniendole el - al exper ya que - por - es mas) y asi dejarla en 0 otra vez.

Como acabo de explicar hemos usado un local ya que si lo hubieramos como pongo aqui abajo no funcionaria, ya que no podemos meter una funcion dentro de otra: y para eso usamos un local como habeis visto arriba.


Please Login or Register to see this Hidden Content


Ademas, lo bueno que tienen los local es que no tienen que ser siempre una funcion, mirad un ejemplo:

Please Login or Register to see this Hidden Content


Anda! Podemos poner por ejemplo un numero en un local tmbn , pues si! De paso esto me sirve para deciros que no siempre el local es la unica opcion, ya que ahi podria haber puesto simplemente la id 27003 en el pc.give_item2 y no habria problema.

Por lo tanto el detalle mas importante que debereis tener en cuenta es el de que no podemos meter una funcion dentro de otra, pero si un local: veamos otro ejemplo para que os quede claro:

Please Login or Register to see this Hidden Content


Como podeis ver este item es algo racista, dependiendo de tu reino (de nuevo otra variable) te dara mas o menos del bonus de ataque, de la siguiente forma:

Please Login or Register to see this Hidden Content


Please Login or Register to see this Hidden Content


Y de nuevo, si hubierais puesto asi no os habria funcionado.

Please Login or Register to see this Hidden Content


Ya lo entiendo!!! , alguna cosa mas?

Pues ahora que ya sabeis como funcionan y como usar los local ya poco me queda por deciros, nada mas que que hay una serie de funciones de quests que solo se utilizan en local como son:

Please Login or Register to see this Hidden Content


Que sirve para que el jugador introduzca un texto (lo que obviamente es una variable, no se va a escribir un mensaje fijo si no lo que ponga el pj).

Please Login or Register to see this Hidden Content


Que sirve para que el juego saque un numero aleatorio comprendido entre 1 y 100 (en este caso, ya que podeis poner los que querais en el parentesis) y que de nuevo es una variable (ya que el resultado va variando cada vez).

*Nuestro amigo el local select*

Please Login or Register to see this Hidden Content


Ya que este es el local mas habitual que vais a usar en vuestras quests voi a centrarme un poco en el: cuando tenemos un dialogo que siempre es igual:

Please Login or Register to see this Hidden Content


cada vez que veamos ese dialogo siempre sera ese, mientras que si metemos un local select:

Please Login or Register to see this Hidden Content


ya no siempre pasara la mismo, el dialogo cambiara (variará, ya tenemos una variable de por medio) dando lugar a diferentes opciones.

Ahi hay un detalle importante, vuestros locales (cualquier no solo el select) podeis usarlos para hacer una comparacion cpmo en el caso del select, ya que tenemos que asignar lo que queremos que pase en cada una de las nuevas variantes del dialogo:

Please Login or Register to see this Hidden Content


Como veis ahi hago que a cada una de las variantes se les haga una comparacion:

Please Login or Register to see this Hidden Content


Es decir, si de las opciones que hemos hecho en el dialogo elegimos la primera.

Pues esto sirve para todos los locales:

Please Login or Register to see this Hidden Content


Eso fue un ejemplo, poco a poco tendreis que ir viendo vosotros cuando usar vuestro propios locales.

Y hasta aqui ha llegado este emocionante nuevo capitulo del curso de creacion de quests de KeKo y ElRaulxX, estad atentos a nuevos capitulos y recordad:

La mejor manera de aprender quest es mirar otras quests ya echas e intentar imitarlo, hacer pruebas y pruebas hasta ver el funcionamiento, o leer este curso.
Pero claro! Solo con este curso no vais a aprender. Recordar que, sin práctica, nada se aprende!


Un saludo, KeKo

#2
Ryukend

Ryukend

    Aficionado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 199 Mensaje(s)
:O Good :inglip: :inglip: :inglip: :inglip:

#3
RafaVK

RafaVK

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 208 Mensaje(s)

Excelente tus post  :D mas explicado para donde  :)



#4
Desagradable

Desagradable

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 57 Mensaje(s)

gracias por tu me gusta






0 Usuario(s) están leyendo este Tema

0 miembro(s), 0 invitado(s), 0 usuario(s) anónimo(s)