Jump to content

[LUA]Operadores Logicos


MesterLum

Mensajes recomendados

Hola, buenas a todos, estuve viendo que en la sección de quest y/o LUA de este foro no estaba un capitulo de operadores lógicos (y si lo hay borren mi post).

 

 

PD: ACLARO QUE ALGUNAS DEFINICIONES LAS SAQUE DE INTERNET POR QUE NO SABÍA DECIRLAS CON MIS PROPIAS PALABRAS.

 

Bueno, primero que nada, ¿Qué es un operador lógico?.

Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false

y tu te preguntaras, ¿Para qué coño me sirve esto en metin2?, bien la respuesta es:

Cuando por ejemplo, iniciamos una quest con la siguiente sentencia:


when login with pc.is_gm() and pc.get_level() >= 110 begin


básicamente a qui estamos haciendo una expresión de tipo bool, en la que si esta es "true" entrara a la función, y en caso de que no se cumpla la expresión lógica no entrara.

Tú diras... Mmmmh okey, ya entendí un poco de su utilidad, ¿Pero qué más puedo hacer?

 

y la respuesta es... BASTANTES COSAS.

 

Yo, en lo personal, las expresiones lógicas son uno de mis mejores aliados cuando hablamos de meterle un poco de razonamiento y limitar ACCIONES en un determinado programa.

 

Os daré un mejor ejemplo de como darle un buen uso a los operadores lógicos...

(quest completa) 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

mira esta sentencía:

if game.get_event_flag("Guerra_Jinno") == 1 and pc.get_empire() == 3 then

Básicamente aqui estoy diciendo lo siguiente:

Si game.get_event_flag("Guerra_Jinno") == 1 Y el pc.get_empire() == 3 entonces hacer lo siguiente:


<EXPRESION>

Es decir, con los operadores lógicos puedes LIMITAR las cosas para que sea más restringidas las acciones.

 

 

Cabe mencionar que no solo existen los tipos de operadores que he puesto, tambíen existen una gran variedad como por ejemplo:

OR ------ Si es por lo menos una de las acciones esta será un "true".
AND ----- Ambos valores tienen que ser "True" para que te regrese un "True"
XOR ----- (No sé su sintaxis para el LUA) Sí los valores son diferentes entonces retornara un "True"

ETC...



AQUI MÁS COMPLETO PARA EL QUE LE INTERESE SABER QUE VALORES RETORNAN:

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Bien chavos, esto es todo de momento por mí parte, no sé si le falte algo, y si le falta lo anexaré posteriormente...

 

 

-Mecos

 

 

HASTA LUEGO.

Enlace para comentar
Compartir en otros sitios

Operador and  retorna verdadero si todas sus condiciones se cumplen

1 == 1 and 2 == 2 = True

1 == 1 and 2 == 1 = False

Operador or

retorna verdadero si por lo menos una de sus condiciones es verdadero

1 == 1 or 2 == 3 = True

1 == 2 or 2 == 4 = False

esos son los mas utilizados.

xd

(((1 == 1) and (1 != 2)) and (2 >4)) or (90 < 80) = False

 

Gracias por el aporte.

Enlace para comentar
Compartir en otros sitios

Operador and  retorna verdadero si todas sus condiciones se cumplen

1 == 1 and 2 == 2 = True

1 == 1 and 2 == 1 = False

Operador or

retorna verdadero si por lo menos una de sus condiciones es verdadero

1 == 1 or 2 == 3 = True

1 == 2 or 2 == 4 = False

esos son los mas utilizados.

xd

(((1 == 1) and (1 != 2)) and (2 >4)) or (90 < 80) = False

 

Gracias por el aporte.

 

Tienes razon, se me olvido mencionar los tipos de valores y que retornara...

 

YA LO ANEXO, gracias.

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...