Jump to content

DragonM2M

Miembro
  • Contador contenido

    5
  • Ingreso

  • Última visita

Actividad de reputación

  1. Me Gusta
    DragonM2M got a reaction from Marcos Pinheiro in [Boss]Dragon Esqueleto   
    Gran aporte, yo tengo por ahí los gemelos GHDP (creo que se llamaban así)
  2. Me Gusta
    DragonM2M reacted to MesterLum in [LUA]Operadores Logicos   
    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.
  3. Me Gusta
    DragonM2M reacted to MesterLum in [Quest]Guerra de reinos limpia.   
    Hola, que tal a todos, como hice un capitulo donde menciono esta quest, decidi postearla directamente, esta limpia, solamente tiene las funciones de una guerra, cabe decir que tenia pensarlo hacerla con 2 fases, pero, como siempre me ha ganado la flogera...
    --------------------------- -- Quest creada por MesterLum -- Mis huevos son sus ojos --------------------------- quest evento_mesterlum begin state start begin when 9004.chat."GM: Evento_reino" with pc.is_gm() begin say_title(""..pc.get_name()..":") say("") local se = select ("Activar evento","Desactivar evento","Salir") if se == 1 then game.set_event_flag("Guerra_Jinno", 1) game.set_event_flag("Guerra_Chunjo", 1) game.set_event_flag("Guerra_Shinso", 1) game.set_event_flag("Jinno", 1) game.set_event_flag("Chunjo", 1) game.set_event_flag("Shinso", 1) game.set_event_flag("Jinno_kill", 1) game.set_event_flag("Chunjo_kill", 1) game.set_event_flag("Shinso_kill", 1) notice_all("Evento_reino activado") elseif se == 2 then game.set_event_flag("Guerra_Jinno", 0) game.set_event_flag("Guerra_Chunjo", 0) game.set_event_flag("Guerra_Shinso", 0) game.set_event_flag("Jinno", 0) game.set_event_flag("Chunjo", 0) game.set_event_flag("Shinso", 0) game.set_event_flag("Jinno_kill", 0) game.set_event_flag("Chunjo_kill", 0) game.set_event_flag("Shinso_kill", 0) notice_all("Evento_reino desactivado") else return end end when 9004.chat."Acerca del evento pvp" begin if game.get_event_flag("Guerra_Chunjo") == 0 and pc.get_empire() == 2 then say_title("El evento:") say("Actualmente esta desactivado") say("") end if game.get_event_flag("Guerra_Chunjo") == 1 and pc.get_empire() == 2 then say_title("El evento:") say("Actualmente esta activo") local temo = select ("Quiero entrar", "Salir") if temo == 1 then pc.warp(819200, 204800) else return end end if game.get_event_flag("Guerra_Jinno") == 0 and pc.get_empire() == 3 then say_title("El evento:") say("Actualmente esta desactivado") say("") end if game.get_event_flag("Guerra_Jinno") == 1 and pc.get_empire() == 3 then say_title("El evento:") say("Actualmente esta activo") local temo1 = select ("Quiero entrar", "Salir") if temo1 == 1 then pc.warp(819200, 204800) else return end end if game.get_event_flag("Guerra_Shinso") == 0 and pc.get_empire() == 1 then say_title("El evento:") say("Actualmente esta desactivado") say("") end if game.get_event_flag("Guerra_Shinso") == 1 and pc.get_empire() == 1 then say_title("El evento:") say("Actualmente esta activo") local temo2 = select ("Quiero entrar", "Salir") if temo2 == 1 then pc.warp(819200, 204800) else return end end end when login with pc.get_map_index() == 43 begin if pc.get_empire() == 1 then game.set_event_flag("Shinso", game.get_event_flag("Shinso")+1) chat(""..game.get_event_flag("Shinso").." en el evento hay esos shinsos") elseif pc.get_empire() == 2 then game.set_event_flag("Chunjo", game.get_event_flag("Chunjo")+1) chat(""..game.get_event_flag("Chunjo").." en el evento hay esos chunjos") elseif pc.get_empire() == 3 then game.set_event_flag("Jinno", game.get_event_flag("Jinno")+1) chat(""..game.get_event_flag("Jinno").." en el evento hay esos Jinno") end if game.get_event_flag("Shinso") == 2 then notice_all("El reino shinso ya alcanso su maximo numero de jugadores, esta listo para comenzar") notice_all("Las puertas para este imperio han sido bloqueadas") game.set_event_flag("Guerra_Shinso", 0) elseif game.get_event_flag("Jinno") == 2 then notice_all("El reino Jinno ya alcanso su maximo numero de jugadores, esta listo para comenzar") notice_all("Las puertas para este imperio han sido bloqueadas") game.set_event_flag("Guerra_Jinno", 0) elseif game.get_event_flag("Chunjo") == 2 then notice_all("El reino Chunjo ya alcanso su maximo numero de jugadores, esta listo para comenzar") notice_all("Las puertas para este imperio han sido bloqueadas") game.set_event_flag("Guerra_Chunjo", 0) end end when kill with npc.is_pc() and pc.get_map_index() == 43 begin loop_timer("Tiempo", 20*1) if pc.get_empire() == 3 then game.set_event_flag("Jinno_kill", game.get_event_flag("Jinno_kill")+1) notice_all("Jinno lleva:"..game.get_event_flag("Jinno_kill").." puntos") elseif pc.get_empire() == 2 then game.set_event_flag("Chunjo_kill", game.get_event_flag("Chunjo_kill")+1) notice_all("Chunjo lleva:"..game.get_event_flag("Chunjo_kill").." puntos") elseif pc.get_empire() == 1 then game.set_event_flag("Shinso_kill", game.get_event_flag("Shinso_kill")+1) notice_all("shinso lleva:"..game.get_event_flag("Shinso_kill").." puntos") end end when Tiempo.timer begin chat("El tiempo ha acabado") if game.get_event_flag("Jinno_kill") > game.get_event_flag("Chunjo_kill") > game.get_event_flag("Shinso_kill") then -------- Aqui shinso pierde notice_all("Shinso ha sido eliminado") elseif game.get_event_flag("Jinno_kill") > game.get_event_flag("Shinso_kill") > game.get_event_flag("Chunjo_kill") then ------- Aqui chunjo pierde notice_all("Chunjo ha sido eliminado") elseif game.get_event_flag("Chunjo_kill") > game.get_event_flag("Shinso_kill") > game.get_event_flag("Jinno_kill") then ------- Aqui jinno pierde notice_all("Jinno ha sido eliminado") end end end end   Suerte, falta anexarle funciones para que tenga un mejor uso, suerte.
  4. Me Gusta
    DragonM2M reacted to MesterLum in [LUA]Function MATRIZ   
    Hey, hola a todos.
     
    Desde hace dias me he preguntado que utilidad podria tener una matriz en un servidor de metin2, y sinceramente creo que es algo que podria tener algo de útilidad, por ejemplo, se pueden hacer itemshop, o algo parecido, guardar datos, o X cosas en la FUNCTION, y pues bueno, he hecho una buena variedad de cosas con ella, y pues, aqui esta mi function (aunque sinceramente no se si ya estaba inventada.
     
    Por ejemplo, la útilidad que podriamos darle es que en: (COLUMNA) podríamos poner por ejemplo: ARMAS, y en "RENGLON" podriamos poner X ITEM, o algo así, la funciones o la logica tocara para vosotros.
     
    (SOLAMENTE ES UN EJEMPLO)
     
    Esta es mi function de la matriz (Básica), aunque claro, podeís hacer muchas cosas...
    function matriz_temo(x,y) ------ X= VALOR DE COLUMNA, Y = valor del renglon (o vector) for temo = 1, x do say("Columna: ", temo) for temo1 = 1, y do say("Renglon: ", temo1) end end end y este es un ejemplo de la utilisacion en la quest
    quest matriz_mesterlum begin state start begin when 20094.chat."Matriz" begin matriz_temo(2,3) end end end Suerte, ya ós tocara hacer vuestra logica con esto...
     
     

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
×
×
  • Crear nuevo...