Jump to content

Buscar en la comunidad

Mostrando resultados para las etiquetas 'quest'.

  • Buscar por etiquetas

    Escribe las etiquetas separadas por comas.
  • Buscar por autor

Tipo de contenido


Foros

  • Metin2 Zone
    • Comunidad
    • Presentaciones y despedidas
  • Servidores Privados
    • Presentaciones de Servidores
    • Presentación de Proyectos
  • General
    • Discusiones generales
    • Socios y Colaboraciones
    • Servicios y compraventa
    • Ayudas y preguntas
    • Opiniones y consejos
    • Offtopic
  • Técnica
    • Programación
    • Edición de servidores Metin2
    • Desarrollo Web
    • Seguridad
    • Sistemas Operativos
    • Informática
  • Arte
    • Diseño y sección gráfica
    • Galería de imágenes y vídeos
    • Modelado 3D
    • Mapping
  • Descargas
    • Servidores y Clientes
    • Modelos 3D
    • Imágenes Metin2
    • Mapas
    • Traducciones
  • Archivo
    • Servidores Offline
    • Temas Links Caidos

Encontrar resultados en...

Encontrar resultados que...


Fecha creación

  • Inicio

    Fin


Última actualización

  • Inicio

    Fin


Filtrar por número de...

Ingreso

  • Inicio

    Fin


Grupo


Email


Sitio web


Jabber


Skype


Discord


Localización


Intereses

  1. Hola chicos y chicas os dejo esta quest que hace que perdamos toda nuestra exp, sirve para metineros y eso mas que nada. Cuando se usa el anillo se queda igual. La quest es de los files oyunu, solo esta traducida así que los créditos para los creadores de esos files. quest anti begin state start begin when 72501.use begin if pc.getqf("antiexp") == 0 then pc.setqf("antiexp", 1) chat("Anti EXP usado, espere un tiempo para volver a usarlo!") local ep = pc.get_exp() pc.give_exp2(-ep) timer("AntiEXP", 2) elseif pc.getqf("antiexp") == 1 then pc.setqf("antiexp", 0) chat("Anti EXP Desactivado.") end end when erfahrung.timer with pc.getqf("antiexp") == 1 begin local ep = pc.get_exp() pc.give_exp2(-ep) timer("erfahrung1", 3) pc.setqf("antiexp", 1) end when erfahrung1.timer with pc.getqf("antiexp") == 1 begin local ep = pc.get_exp() pc.give_exp2(-ep) timer("erfahrung", 3) pc.setqf("antiexp", 1) end end end
  2. Hola chicos, les traigo una pequeña quest con la que podrán mostrarles a sus jugadores las noticias del servidor en tiempo real, sin necesidad de reload o reboot. quest noticias begin state start begin when letter begin send_letter("Últimas Noticias") end when button or info begin local fecha = write_or_read("/home/game/share/locale/germany/quest/noticias/", "fecha.txt", "leer", "linea") say_title("Noticias - "..fecha.."") say(write_or_read("/home/game/share/locale/germany/quest/noticias/", "noticias.txt", "leer", "todo")) end end end Para usarla debéis crear una carpeta llamada noticias en la ruta que pongáis, dentro de ella creáis dos archivos, uno llamado fecha.txt y otro noticias.txt (supongo que ahí ya os guiáis bastante) Necesitareis está función: http://metin2zone.net/index.php/topic/13945-nueva-funcion-write-or-read/ Se que no es mucho, pero a alguien le servirá.
  3. Les traigo este resumen de quest lo hice mientras estudiaba este lenguaje. Tiene lo básico no está completo (Me ha dado pereza completarlo hace casi 1 año que lo hice... pero les servirá a los que deseen aprender. ---Resumen de las Quest [*]Estructura de una quest quest capidos begin -----> Encabezado de la quesy seguido del nombre de la quest se recomienda que sea el mismo del archivo que se crea. state start begin -----> Indica que la quest empieza aquí when login begin -----> Pregunta por algo que esta pasando en este caso pregunta por un login es decir si un personaje se conecto. chat("Bienvenido al servidor, pasalo bien") -----> La acción que se realiza en al quest. end -----> Finaliza la acción end -----> Finaliza el estado end -----> Finaliza la quest [*] Comentarios Se hacen con un -- [*] Variables local nombre = variable -----> Nos sirve para almacenar datos. Ejemplo local nivel = pc.get_level() local texto = input() local numero = math.random(1,100) local s = select ("opcion1" , "opcion2" , "opcion3") -----> Sirve para colocar botones en los mensajes if s == 1 then -----> Sirve para preguntar por cual de las opciones se le dió clic es decir a la opcion1 corresponde el 1 a la opcion2 corresponde el 2 y asi sucesivamente con la cantidad de opciones que se coloquen. [*] Estados de las quest start -----> Estado de inicio de una quest. setstate("nombre estado") -----> Cambiar de estado. Tambien se usa la funcion set_state("nombre estado") set_quest_state(,) -----> Cambiar el estado de una quest distinta. Recordando que el nombre y el estado van dentro de comillas "" asi: set_quest_state("nombre", "estado") Ejemplo de estados: quest capidos begin -----> Encabezado de la quesy seguido del nombre de la quest se recomienda que sea el mismo del archivo que se crea. state start begin -----> Indica que la quest empieza aquí when login begin -----> Pregunta por algo que esta pasando en este caso pregunta por un login es decir si un personaje se conecto. setstate("run") -----> Ejecuta el cambio de STATE end -----> Finaliza la acción end -----> Finaliza el estado state run begin -----> Indica que la quest empieza aquí when enter begin -----> Se usa para que las acciones se hagan cuando se entra al estado. chat("Has entrado al state.") end when leave begin -----> Se usa para que las acciones se hagan cuando se finaliza o sale del estado. chat("Has salido del state.") end when login begin -----> Pregunta por algo que esta pasando en este caso pregunta por un login es decir si un personaje se conecto. return -----> Finaliza la quest end -----> Finaliza la acción end -----> Finaliza el estado end -----> Finaliza la quest [*] Operadores lógicos when -----> sirve para comenzar acciones. while -----> sirve para comenzar acciones. with -----> poner condiciones. and -----> poner condiciones. or -----> poner condiciones. if -----> poner condiciones. elseif -----> poner condiciones. else -----> poner condiciones. > -----> Comparación < -----> Comparación >= -----> Comparación <= -----> Comparación == -----> Comparación ~= -----> Comparación [*] Estructura de un IF if [X] then accion1 else if [X2] then accion2 end [*] Estructura de un when when condiciones begin accion end [*] Ciclos o Bucles Un BUCLE se puede romper con la palabra break [*] Bucle 1 repeat bloque de sentencias until (condición) [*] Bucle 2 while (condición) do bloque de sentencias end -- BUCLE INFINITO while true do bloque end -- FIN DE BUCLE INFINITO [*] Bucle 3 for var = start, stop , aumento do bloque de sentencias end [*] Bucle 4 -- FOR PARA ARRAY local tab = {"valor1", "valor2", "valor3"} for k, v in ipairs(tab) do say(k.." = "..v) end --for -- FIN FOR PARA ARRAY [*] Arrays local nombrearray = {10,20,34,43,57} -----> Array simple nombrearray[1] -----> Trae el contenido del array en la posición 1 en esta caso 10. EJEMPLO: local items = {160,161,162,163} for i=1, table.getn(items) do -- en la i ponemos igual a 1 y luego la cantidad de veces que se repita pc.give_item2(items[i]) -- te dara cada uno de los items que haya en la tabla end -- cada for le corresponde un end local nombre = { -- abres la tabla {} -- subcategoria 1 {} -- subcategoria 2 {} -- subcategoria 3 } -- cierras la tabla Una subcategoría sirve para agrupar una cantidad de elementos en si y para obtener los elementos se hace: nombre[subcategoria][posicion] Ejemplo: local cordes = { {12500,13400,17500,14000}, {12400,18900,13200} } cordes[1][4] -- 14000 cordes[2][2] -- 18900 EJEMPLO PRACTICO 1: local cordes = { {12500,13400}, {12400,18900}, {19800,12300} } pc.warp(cordes[1][1],cordes[1][2]) -- 12500, 13400 EJEMPLO PRACTICO 2: say("Que arma quieres") say("") local items = { {160,2}, {161,1}, {162,3} } local arma = select ("Ninfa +0" , "Ninfa +1" , "Ninfa +2" , "Cerrar") if arma == table.getn(items)+1 then return end pc.give_item2(items[arma][1],items[arma][2]) [*]Mostrar Texto En El Cliente chat("mensaje") -----> Mostrar chat de infromación en el chat general. Solo lo ve el personaje que se conecta. notice_all("mensaje") -----> Mostrar a todos los personajes Conectados. say_title("mensaje") -----> Mensaje en forma de título say("mensaje") -----> Mensaje que muestra el texto que se desea. Est mensaje es mostrado en un recuadro en medio de la pantalla. say_reward("mensaje") -----> Mensaje en forma de recompensa con color distinto. [*] Datos Curiosos. math.random(numero incial,numero final) -----> Funcion que devuelve un número aleatorio entre el numero inicial y el numero final que se establezca. pc -----> Es el usuario o personaje que esta conectado. pc.get_level() -----> Obteiene el nivel de un personaje. login -----> Acción que se da al conectarse un personaje. logout -----> Acción que se da al desconectarse un personaje. when vnum.chat."texto de opcion" begin -----> Se utiliza para activar la quest cuando le da en una opcion de un lista de opciones. Es decir, cuando se le da clic en la opcion "texto de opcion" del npv o item del vnum. pc.count_item("vnum") -----> Sirve para comprobar si el personaje tiene el item correspondiente al venum en su inventario. vnum.chat."texto" -----> Al darle clic en la npc con el vnum se abre un dialogo con opciones. Al dar click en la opción que contiene el texto empieza el contenido del when. vnum.click -----> Al hacer click en el npc del vnum, empieza el contenido del when. vnum.click -----> Al hacer click en el npc, empieza el contenido del when. kill -----> Cuando el jugador mata un enemigo, comienza el contenido del when. when vnum.kill begin -----> Indica si el monstruo que le corresponde el vnum esta muerto party_kill -----> Cuando un miembro del grupo mata a un enemigo inicia el contenido del when. vnum.party_kill -----> Cuando un miembro del grupo mata a aun enemigo con vnum, empieza el contenido del when. X.target.click -----> Cuando haces click al tarjet de nombre X empieza el contenido del when. X.target.arrive -----> Cuando llegas al punto con el tarje de nombre X empieza el contenido del when. pc.get_map_index == codigomapa -----> Indica si el personaje esta en el mapa de codigomapa pc.get_max_hp -----> Se puede preguntar por el nivel de hp que tienes. pc.is_mount -----> Se puede preguntar si estas montado en una montura o no. when condicion1 with condicion2 and condicion3 begin ----> Estrctura para 2 o mas condiciones pc.get_empire() -----> Se puede preguntar en que reino estas. vnum.use -----> Cuando se una un el item del vnum se activa esta quest pc.give_item2("vnum", cantidad) -----> Se utiliza para dar un item al inventario del personaje. return -----> Accion que se utiliza en la accion de un boton de cancelar o cerrar. Y sirve para cerrar la ventana de la quest. pc.change_money(-cantidad) -----> Acción que sirve para disminuir o aumentar la cantidad de yang de un personaje. pc.remove_item(vnum, cantidad) -----> Accion que sirve para remover un item del inventario del personaje. pc.gold -----> Pregunta por la cantidad de yang que tiene el personaje. pc.get_sex() -----> Obtiene el sexo de un personaje. Se compara 1 hombre 2 mujer. say_item_vnum(vnum) -----> Muestra 1 item con su imagen. pc.count_item(vnum) -----> Cuenta cuantos items hay. mob_name(vnum) -----> Nombre de un monstruo pc.getname() -----> Obtener el nombre del personaje. --------------------------------------------------------------------------------------------------------------------------------------------- ¡¡¡¡¡IMPORTANTE !!!! EL JUEGO ALMACENA PARA SIEMPRE LOS VALORES DE LOS SIGUIENTES COMANDOS pc.setqf -----> nos permite asignar un determinado valor a un personaje de modo que podamos usar el comando pc.getqf para crear condiciones que impliquen que el personaje tenga ese valor concreto para activarse. pc.setqf("nombredelqf", valor) otra forma pc.setqf("kekomola", pc.getqf("kekomola") + 1) ejemplo: pc.setqf("kekomola", 2) --> valor fijo pc.setqf("kekomola", pc.getqf("kekomola") + 1) ---> Cada que se use aumenta 1 pc.getqf -----> Chekea que valor tiene el comando anterior ejemplo: if pc.getqf("kekomola") == 5 then ----> se comprueba el valor de kemola que es el valor que se acumulo en el comando anterior. Ejemplo combinado: quest item begin state start begin when 70045.use begin pc.setqf("buenas", pc.getqf("buenas") + 1) if pc.getqf("buenas") == 1 then chat("buenas") elseif pc.getqf("buenas") == 2 then chat("que tal") elseif pc.getqf("buenas") >= 3 then chat("me aburro") end end end end Ejemplo Practico: quest muertes begin state start begin when kill with not npc.is_pc() begin pc.setqf("mobs", pc.getqf("mobs") + 1) chat("LLevas "..pc.getqf("mobs").." matados en tu juego") end end end --------------------------------------------------------------------------------------------------------------------------------------------- horse.unsummon() -----> Nos permite guardar el Caballo horse.summon() -----> Nos permite sacar el caballo horse.set_level(nivel) -----> Asigna un nivel al caballo letter : Relacionado con las letters (explicación en otro capitulo). button : Relacionado con las letters (explicación en otro capitulo). info : Relacionado con las letters (explicación en otro capitulo). nombre.timer : Cuando el timer llamado con nombre llega a 0, empieza el contenido del when. nombre.server_timer : Cuando el server_timer llamado con nombre llega a 0, empieza el contenido del when. ---------------------- Como hago yo para saber que valor tiene en el qf cierto personaje? es decir puedo poner una ques con el mismo nombre del qf para todos los personajes? y si es así como hago yo para saber con otra quest distinta que valor del qf tiene un personaje X ? pc.getf('nombrequest','nombreqf') pc.getqf = get playing character quest flag pc.getf = get playing character flag ----------------------- Resumen de Quest.txt
  4. Me gustaria Que el siguiente Quest Quedaría en un ITEM (80010) Pero cuando yo lo hice no me deja. no me aparece. y me sale el siguiente error. quest control begin state start begin when login with pc.is_gm() begin set_state(information) end end state information begin when letter begin send_letter("Control de Gm") end when button or info begin say_title("Control de Gm:") say("Que Quieres hacer?") local menu = select("Halloween","Dia/Noche","Rates","Bloquear chat","Navidad","Banear","Teleport","Cerrar") if menu == 8 then return --Halloween elseif menu == 1 then command("m 20023") --npcs para halloween(Quitarle los -- de delante para que funcionen -- command("m npc") -- command("m npc") --Dia/Noche elseif menu == 2 then say("Que quieres poner?") local menu2 = select("Dia","Noche","Cerrar") if menu2 == 1 then command ("x 2") elseif menu2 == 2 then command ("x 1") elseif menu2 == 3 then return end --Rates elseif menu == 3 then say("Rates:") say("Que rate quieres añadir?") local menu2 = select("Experiencia","Yang","Drop","Cerrar") if menu2 == 4 then return --Exp elseif menu2 == 1 then say("Experiencia:") say("A que reino le quieres dar experiencia?") local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar") if menu3 == 5 then return elseif menu3 == 1 then local tipo = 4 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Experiencia para Shinsoo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 2 then local tipo = 4 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Experiencia para Chunjo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 3 then local tipo = 4 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Experiencia para Jinno:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 4 then local tipo = 4 local reino = 0 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Experiencia para todos:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end end --Yang elseif menu2 == 2 then say("Yang:") say("A que reino le quieres dar Yang?") local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar") if menu3 == 5 then return elseif menu3 == 1 then local tipo = 2 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Yang para Shinsoo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 2 then local tipo = 2 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Yang para Chunjo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 3 then local tipo = 2 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Yang para Jinno:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 4 then local tipo = 2 local reino = 0 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Yang para todos:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end end --Drop elseif menu2 == 3 then say("Drop:") say("A que reino le quieres dar Drop?") local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar") if menu3 == 5 then return elseif menu3 == 1 then local tipo = 1 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Drop para Shinsoo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 2 then local tipo = 1 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Drop para Chunjo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 3 then local tipo = 1 local reino = menu3 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Drop para Chunjo:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end elseif menu3 == 4 then local tipo = 1 local reino = 0 say("Que porcentaje quieres darle?") say_reward("Introduce solo numeros enteros.") local rate = input() rate=tonumber(rate) say("Introduce el tiempo de duración en minutos") say("Ej: 120") say("Que serian 2 horas") local tiempo=input() tiempo=tonumber(tiempo) say("Drop para todos:") say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?") local menu4 = select("Si","No") if menu4 == 1 then __give_empire_priv(reino, tipo, rate, tiempo*60) else return end end end --Mutear elseif menu == 4 then say("Que quieres hacer") local menu2 = select("Bloquear chat","Quitar bloqueo de chat","Lista de bloqueados","Cerrar") if menu2 == 1 then say("Bloquear chat:") say("Introduce el nombre del jugador que quieres mutear") local nombre = input() say("Introduce el tiempo que quieres silecciarlo en minutos") say("Recuerda 1 hora = 60 minutos") say("Debes introducir solo el numero") local tiempo = input() say("Estas seguro que quieres mutear a "..nombre.."[ENTER]durante "..tiempo.." minutos?") local menu3 = select("Si","Cerrar") if menu3 == 1 then notice_all(nombre.." ha sido silenciado del chat durante "..tiempo.." minutos de juego") tiempo = tonumber(tiempo)*60 command("block_chat "..nombre.." "..tiempo) elseif menu3 == 2 then return end elseif menu2 == 2 then say("Desbloquear chat:") say("Escribe el nombre del jugador que quieres desmutear.") local nombre = input() if find_pc_by_name(nombre) == 0 then say("Ese nombre no existe") return end say("Estas seguro que quieres quitar el muteo a "..nombre) local menu3 = select("Si","Cerrar") if menu3 == 1 then command("block_chat "..nombre.." 0") elseif menu3== 2 then return end elseif menu2 == 3 then command("block_chat_list") elseif menu2 == 4 then return end --Navidad elseif menu == 5 then say("Que quieres hacer?") local menu2 = select("Nieve","Villancicos","Fuegos artificiales","Arbol navidad","Santa Claus","Cerrar") if menu2==1 then say("Nieve:") local menu3 = select("Nieve On","Nieve Off","Cerrar") if menu3 == 1 then command("xmas_snow 1") elseif menu3 == 2 then command("xmas_snow 0") elseif menu3 == 3 then return end elseif menu2 == 2 then say("Villancicos:") local menu3 = select("Villancicos On","Villancicos Off","Cerrar") if menu3 == 1 then command("xmas_song 1") elseif menu3 == 2 then command("xmas_song 0") elseif menu3 == 3 then return end elseif menu2 == 3 then say("Fuegos artificiales:") local menu3 = select("Fuegos artificiales On","Fuegos artificiales Off","Cerrar") if menu3 == 1 then command("xmas_boom 1") elseif menu3 == 2 then command("xmas_boom 0") elseif menu3 == 3 then return end elseif menu2 == 4 then say("Arbol de navidad:") local menu3 = select("Arbol Fase1","Arbol Fase 2","Arbol Fase 3","Arbol Off","Cerrar") if menu3 == 1 then command("xmas_tree 1") elseif menu3 == 2 then command("xmas_tree 2") elseif menu3 == 3 then command("xmas_tree 3") elseif menu3 == 4 then command("xmas_tree 0") elseif menu3 == 4 then return end elseif menu2 == 5 then say("Santa Claus:") local menu3 = select("Santa Claus On","Santa Claus Off","Cerrar") if menu3 == 1 then command("xmas_santa 1") elseif menu3 == 2 then command("xmas_santa 0") elseif menu3 == 3 then return end elseif menu2 == 6 then return end --Banear elseif menu == 6 then say("Banear:") say("Que quieres hacer?") local menu2 = select("Banear","Quitar Ban","Cerrar") if menu2 == 1 then say("Introduce el nombre del jugador[ENTER]que quieres perder de vista xD") local nombre = input() say("Estas seguro que quieres banear a "..nombre) local menu2 = select("Si","No") if menu2 == 1 then local id = mysql_query("SELECT player.account_id from player.player where player.name = '"..nombre.."'","survgrim","Dan1Gr1m12","player","192.168.0.100") --say(id.account_id[1].." intento 1") --say(id.id.." intento 2") mysql_query("Update account.account set account.status = 'BLOCK' WHERE account.id = "..id.account_id[1].."","survgrim","Dan1Gr1m12","account","192.168.0.100") say(nombre.." ha sido baneado.") elseif menu2== 2 then return end elseif menu2 == 2 then say("Introduce el nombre del jugador[ENTER]al que le quieres quitar el ban.") local nombre = input() say("Estas seguro que quieres[ENTER]quitarle el ban a "..nombre) local menu2 = select("Si","No") if menu2 == 1 then local id = mysql_query("SELECT player.account_id from player.player where player.name = '"..nombre.."'","survgrim","Dan1Gr1m12","player","192.168.0.100") --say(id.account_id[1].." intento 1") --say(id.id.." intento 2") mysql_query("Update account.account set account.status = 'OK' WHERE account.id = "..id.account_id[1].."","survgrim","Dan1Gr1m12","account","192.168.0.100") say(nombre.." ha sido desbaneado.") elseif menu2== 2 then return end elseif menu2 == 3 then return end --teleport elseif menu == 7 then say("Que quieres hacer") local menu2 = select("Traer a alguien","Ir hacia alguien","Cerrar") if menu2 == 3 then return elseif menu2 == 1 then say("Traer a alguien:") say("") say("Escribe el nombre del jugador") local nombre = input() if find_pc_by_name(nombre) == 0 then say("El jugadore no existe o está desconectado") return else command("t "..nombre) say("El jugador "..nombre.." está de camino xD") end elseif menu2== 2 then say("Ir hacia alguien:") say("") say("Escribe el nombre del jugador") local nombre = input() if find_pc_by_name(nombre) == 0 then say("El jugadore no existe o está desconectado") return else command("warp "..nombre) end end end end end end ​
  5. Alguien me puede crear una quest asi como una mision de muertes que al matar 400 personas te de la piedra arcoiris y un anillo de teletransportacion? porfavor si no es molestia las id del anillo de teletransportacion es 80009 y la de la piedra arcoiris es 50512 no pido mas nada sera que me puede ayudar please? Gracias :DD
  6. No sean muy duros que es mi primer post Muy buenas Metin2Zone hoy me he decidido a hacer unas misiones de los jefes de metin2, basándome en la quest creada por Jfirewall pero con algunas mejoras y 100% editable para los que no saben sobre quest, con este método se os hará muy fácil meter nuevas misiones en vuestro servidor. NO QUIERO VER MIS POST EN OTROS FOROS COMO UJ SIN MI CONSENTIMIENTO ¡Comenzamos! http://metin2zone.net Misión nº 1 Tigris (LV 10) Lo que se encuentre en color #Granate se puede editar a su gusto Misión nº 2 Capitán Bestial (LV 35) Lo que se encuentre en color #Granate se puede editar a su gusto Misión nº 3 Reina Araña (LV 50) Lo que se encuentre en color #Granate se puede editar a su gusto http://metin2zone.net Misión nº 4 Jefe Tortuga del desierto (LV 60) Lo que se encuentre en color #Granate se puede editar a su gusto http://metin2zone.net/ Misión nº 5 Jefe 9 Colas (LV 80) Lo que se encuentre en color #Granate se puede editar a su gusto http:metin2zone.net Misión nº 6 Jefe Rey Demonio (LV 90) Lo que se encuentre en color #Granate se puede editar a su gusto CON EL TIEMPO IRÉ AÑADIENDO MÁS, SI QUIERES UN JEFE (POR EJEMPLO LOS NUEVOS) ESCRIBE UN COMENTARIO Y TE LO ARÉ. EDITO: GRACIAS A TOD@S POR ESTE RECIBIMIENTO, POR SUS LIKES Y COMENTARIOS QUE AUNQUE A ALGUNOS LES PAREZCAN "NEGATIVOS" ES LA FORMA DE APRENDER. ¡¡¡CREDITOS!!! WEEDCALIFA; POR EDITAR LA QUEST Y CREAR EL POST: http://metin2zone.ne...-100-editables JFIREWALL; por crear la quest base que es: http://metin2zone.ne...mision-9-colas/ PD: ESTE ES UN REGALO EXCLUSIVO PARA METIN2ZONE SI QUIERES POSTEARLO EN OTROS FOROS MANDARME MP.
  7. Hola, encontré es un foro rumano una quest para subir de level matando "PJs" y me preguntaba si alguien me podria ayudar a modificarla un poco (si es posible) y hacer que no siempre de exp. Me explico: Quiero que dé experiencia al matar 3 de cada 10 personajes (30% probabilidad de recibir exp) **Si lo de arriba no es posible , agradeceria que me ayudaran para que pueda activar esta quest en el juego cuando quiera , como si fuera un evento. Al activarla ,cuando se maten entre ellos reciban la exp, y al desactivarla que ya no reciban exp matando pjs obviamente xD. Os dejo la quest que encontré, Gracias. quest player_kill1 beginstate start beginwhen login or levelup with pc.level >= 1 beginset_state(player_kill1)endendstate player_kill1 beginwhen letter beginsend_letter("Quest - PvP")endwhen button or info beginsay("Vrei din nou Experienta ?.")say("distrugeti rivalul,")say("Esti pregatit !")say_reward("Aminteste-ti să fie dintr-un alt taram")say("")q.set_counter("kills", 0)set_state(kill)endendstate kill beginwhen letter beginsend_letter("Omoara Player")endwhen button or info beginsay_title("Player:")say_reward("Lai omorat pe "..pc.getqf("state").." player")say("")endwhen kill beginif npc.is_pc() and npc.empire != pc.empire thenlocal count = pc.getqf("state") + 1if count >= 0 thenq.set_counter("kills", count)pc.give_exp2(20000)endelseif count == 0 thensay("¡Rivalul tau a fost omorat!")endendendend
  8. Alguien podría echar un vistazo? No se donde falla.http://pastebin.com/raw.php?i=ZuHV5Mcu
  9. con estas funciones se puede leer lo q el jugador utilisa...por ejemplo, si qieres saver qual escdo el jugador utiliza pos lo escribes en la quest asi say(pc.shield()) te da el vnum del escudo q usas actualmente, si no usas nada el vnum es 0y una funcion mas q ise, 'slen' esta funcion te lee el tamaño de un string o una tabla, so el attribute no es un string o tabla te retira false por ejemplo... slen('Noa')-->> 3 por que N = 1 o = 2 a = 3 lo mismo con tablas slen({1,2,3,4,5,6})-->> 6 por q 1,2,3,4,5,6 6 values en la tabla, no funciona con nombres en el index por ejemplo asi ['Noa']=1 asi no lee el tamaño de las tablas pos a q las funcionesInformacion: El item utilizado se selectiona, asi se puede usar varias funciones mas...function_list pc.armor pc.helmet pc.shoes pc.bracelet pc.weapon pc.necklace pc.earrings pc.shield pc.slot1 pc.slot2 slen Questlib.lua pc = pc or {}pc.armor = function() item.select_cell(90) return item.get_cell()==90 and item.vnum or 0 end-- armadurapc.helmet = function() item.select_cell(91) return item.get_cell()==91 and item.vnum or 0 end-- cascopc.shoes = function() item.select_cell(92) return item.get_cell()==92 and item.vnum or 0 end-- zapatospc.bracelet = function() item.select_cell(93) return item.get_cell()==93 and item.vnum or 0 end-- pulserapc.weapon = function() item.select_cell(94) return item.get_cell()==94 and item.vnum or 0 end-- armapc.necklace = function() item.select_cell(95) return item.get_cell()==95 and item.vnum or 0 end-- collarpc.earrings = function() item.select_cell(96) return item.get_cell()==96 and item.vnum or 0 end-- aretepc.shield = function() item.select_cell(100)return item.get_cell()==100 and item.vnum or 0 end-- escudopc.slot1 = function() item.select_cell(97) return item.get_cell()==97 and item.vnum or 0 end-- slot1 abajo de la armapc.slot2 = function() item.select_cell(98) return item.get_cell()==98 and item.vnum or 0 end-- slot2 abajo de la pulsera--pc.outfit_body = function() item.select_cell(109) return item.get_cell()==109 and item.vnum or 0 end-- kostum-armadura--pc.outfit_head = function() item.select_cell(110) return item.get_cell()==110 and item.vnum or 0 end-- kostum-cascofunction slen(typ) return ((type(typ)=='string' and string.len(typ)) or (type(typ)=='table' and table.getn(typ))) or falseend
  10. Hola chicos, necesitaba hacer una quest para recuperar la contraseña del almacén desde el juego y ya que estamos la quiero compartir con todos vosotros, se que se puede mejorar pero tampoco me apetecía hacer mucho más. Para que tenga algo de seguridad he puesto que pida la cuenta, si no queréis esto poned un 0 en el local seguridad. Quest: Questlib:
  11. function pc.give_item2_select(...) local tmp = { ['Alt']={}, ['Neu']={} } for i =0,89 do item.select_cell(i) if not tmp.Alt[item.get_id()] then tmp.Alt[item.get_id()] = i end end if table.getn(arg)< 2 then pc.give_item2(arg[1]) else pc.give_item2(arg[1],arg[2]) end for i =0,89 do item.select_cell(i) if not tmp.Neu[item.get_id()] then tmp.Neu[item.get_id()] = i end end local data = {{},{}} for id,slot in next,tmp.Alt do table.insert(data[1],slot) end for id,slot in next,tmp.Neu do table.insert(data[2],slot) end table.sort(data[1]);table.sort(data[2]) for i = 1,table.getn(data[1]) do for i = 1,table.getn(data[2]) do if data[1][i] ~= data[2][i] then item.select_cell(data[2][i]) return end end endend te da un item y selectiona por ejemplo: quest test begin state start begin when login begin pc.give_item2_select(19)-- te da el item y te lo selectiona for i = 0,6 do -- 0-6 = 7 bonus item.set_value(i,1,50000)-- espada+9 con 50000 TP-Bonus end end endend La funcion es para la game rev q es menos de 34k por q esa funcion ai no existe Para los expertos de ustedes en Lua, una simulasion de el 'Inventory' http://pastebin.com/efgQE21L
  12. Hace un rato vi esta guía, aporte (o como queráis llamarlo) que me pareció muy interesante. Se trata de los errores más comunes en la inserción de quests en nuestros servidores (errores de sintaxis, errores de compilación...). Esta guía la veo yo más enfocada hacia los más novatos, pues con la práctica aprendes el significado de estos errores y su solución. Aún así, estoy seguro que muchas personas aprenderán algo que no sabían. RECALCO que esta guía no es creada por mí, sino que tan solo es traducida al español y un poco ampliada con mis conocimientos. Aquí os dejo el post original de .Alessa en elitepvpers: http://www.elitepvpe...fehler-etc.html Bueno, pues vamos al lío xd Antes de empezar: Como esta guía es general para cualquier quest, utilizaremos variables [X]. Es decir, esta variable puede ser diferente en cada caso y substituida por cualquier cosa. 1. when doesn't have begin-end clause Error de sintaxis: when doesn't have begin-end clause. ([X]) [X]:[X]: Error occured on compile [X] Significado: "when" no sigue la estructura begin-end Análisis: Este error se produce cuando el conjunto del "when" no sigue la sintaxis apropiada. Seguramente, la razón de este error es un error de escritura o falta de un "begin". Es también común intercambiar un "begin" por un "then". Debemos recordar siempre que un when sigue la estructura: when [X] begin - end. Corrección: Buscar los "when" en nuestra quest y asegurarnos que sigue la sintaxis apropiada. when [X] begin [acción] end Imagen ejemplo: Imagen ejemplo - solución: Hemos cometido un error de escritura: ha sido intercambiado el "begin" por "begn" 2.`[X]' expected near `[X]' Error de sintaxis: syntax error : [string "[X]"]:[X]: `[X]´ expected near `[x]´ [X]:[X]: Error occured on compile [X] Significado: No ha sido especificado algo requerido por la sintaxis (acostumbra a ser especificado en el lugar de nuestras variables [X]). Análisis: Este error es similar anterior, pero acostumbra a darse en condiciones (if). La sintaxis es incorrecta: el servidor espera encontrar un "then" después de la condición, pero no lo encuentra. Como en el caso anterior, acostumbra a darse por fallos en la escritura o intercambio del "then" por "begin". Corrección: Corregir la sintaxis. Podemos saber aproximadamente donde esta el error por "expected near". Estos errores acostumbran a estar relacionados con los "if". Recordemos que la sintaxis apropiada es: if [X] == [X] then [acción] end *A veces es posible que los operadores estén invertidos. Recuerda que en todos los operadores que utilizamos que contienen más de un signo (>=, <=, !=, ==,...), el último signo siempre es es el "=". Imagen ejemplo: Imagen ejemplo - solución: Hemos cometido un error de sintaxis: el servidor espera encontrar un "then", pero no lo encuentra. La solución sería especificar el "then" junto a nuestra condición. 3. Calls undeclared function! Error de sintaxis: Calls undeclared function! [X] Error occured on compile [X].[X] Significado: El servidor no detecta una función. Análisis: El servidor ha encontrado en nuestra quest una función que no ha sido especificada. Por lo tanto, no posee esa información y no puede realizar ninguna acción. Corrección: Debemos revisar la sintaxis: es posible que la función no esté bien escrita. También debemos revisar que nuestra función se encuentre en el archivo quest_functions (recordemos que si queremos crear una nueva función, debemos crearla en questlib.lua y especificarla en quest_functions para que la reconozca el servidor). Si queremos especificar una función que ha sido escrita dentro de una quest, tenemos que utilizar la siguiente sintaxis: nombredelaquest.nombredelafuncion (en vez de escribir tan solo la función) Imagen ejemplo: Imagen ejemplo - solución: Debemos especificar en el archivo quest_functions la función say_item_vnum 4. assertion failure Error de sintaxis: assertion failure : nested==0 [X]:[X]:Error occured on compile [X] Significado: Estructura equivocada. Análisis:La sintaxis general de la quest no es correcta. Este error puede darse en muchas ocasiones. Por ejemplo, este error se da cuando hay demasiados "end" o falta alguno. Corrección: Revisar que la sintaxis "quest [X] begin" está cerrada con un "end". Revisar que todos los "when" están cerrados con un "end". Revisar que todas las condiciones (if) están cerradas por un "end". Revisar que todos los "state" están cerrados por un "end". Imagen ejemplo: Imagen ejemplo - solución: Nuestro "when" no está cerrado con un "end". 5. expecting state Error de sintaxis: expecting 'state' [X]:[X]:Error occured on compile [X] Significado: Es necesario un state: la estructura de "state" no es correcta. Análisis: Hay un error de sintaxis o es necesario un state. Este error sucede, por ejemplo, cuando un "when" está fuera de un "state". Corrección: Revisar que todos los "when" y "if" están dentro de un state. Revisar que los "state" están bien colocados y cerrados con un "end". Imagen ejemplo: 6. state name not found Error de sintaxis: [X]:[X]:state name not found : [X] Error occured on compile [X] Significado: El servidor no encuentra un "state". Análisis: El uso o búsqueda de un "state" no es encontrado. Este error se da, por ejemplo, cuando utilizamos la función "set_state()" y el "state" definido en esta función no se encuentra dentro de la quest. Corrección: Asegúrate que todos los "state" definidos son correctos, la función que los utiliza está el "state" bien escrito y que todos los "state" están cerrados con un "end". Imagen ejemplo: 7. must start with 'quest' Error de sintaxis: must start with 'quest' [X]:[X]:Error occured on compile [X] Significado: La quest debe empezar con 'quest'. Análisis: Toda quest debe ser iniciada con "quest [X] begin" y cerrada con un "end". Corrección: Asegúrate que la quest empieza con la sintaxis "quest [X] begin". Asegúrate que no hay nada fuera de el bloque "quest [X] begin" - end. Asegúrate que no has cometido un error de escritura en la forma típica de inicio de la quest. Imagen ejemplo: 8. Trying/attempt to compare number with nil Error de sintaxis: Trying/attempt to compare number with nil (se muestra en el Syserr) Significado: Al servidor le es imposible comparar un dato con nil. Análisis: Nil es lo que se le da a algo que no tiene valor. Es similar al 0, es decir, la nada, algo que no existe. Teniendo esto en cuenta, es lógico pensar que el servidor no pueda comparar algo con la nada. Corrección: Revisar que todas las variables o funciones que se comparen (a través de una sentencia if) tengan un valor definido previamente. Y eso es todo. Si os aparece algún otro error relacionado con quest, decírmelo. Ampliaré la guía sin ayuda de Alessa xd Un saludo
  13. Hola chicos, les traigo dos mini funciones para las quest, es necesario tener puesto el mysql en quest, pero ahora casí todos los tienen así que no creo que haya problema. Las funciones son las siguientes: pc.change_coins(x) function pc.change_coins(x) mysql_query("UPDATE account.account SET coins=coins+'"..x.."' WHERE id='"..pc.get_account_id().."' LIMIT 1")end Te permite dar o quitar coins del usuario, por ejemplo quest cupon_md_1000 begin state start begin when idcupon.use begin pc.change_coins(1000) end endend Para restar simplemente añadir - antes del número pc.change_coins(-100) pc.get_coins() function pc.get_coins() local a = mysql_query("select * from account.account where id ='"..pc.get_account_id().."' LIMIT 1") return a.coins[1] end Te permite ver las coins que tienes, por ejemplo: quest consulta_coins begin state start begin when login begin if pc.get_coins() < 100 then say("Tienes menos de 100 coins") else say("Tienes más de 100 Coins") end end endend
  14. Happy

    [Quest]Primer Login

    Hoy os traigo mi primera quest , si veis algún error o algún consejo por favor comentarlo Es bastante básica yo la eh probado en mi server y va genial quest give_basic_weapon begin state start begin when login with pc.getqf("basic_weapon") == 0 begin if pc.job == 0 then notice_all("Un nuevo guerrero llamado ".. pc.get_name() .." se ah unido a Metin2Mew.") pc.give_exp2 ( 200000000 ) pc.change_money ( 1500000000 ) pc.change_alignment(11990) horse.set_level( 21 ) pc.set_skill_level(124 ,59) pc.set_skill_level(131 ,59) pc.set_skill_level(121 ,59) pc.set_skill_level(129 ,59) pc.set_skill_level(126 ,59) pc.set_skill_level(127 ,59) pc.set_skill_level(128 ,59) pc.set_skill_level(137 ,59) pc.set_skill_level(138 ,59) pc.set_skill_level(139 ,59) pc.set_skill_level(140 ,59) pc.set_skill_level(125 ,59) pc.set_skill_level(122 ,2) pc.give_item2(50053, 1) pc.give_item2(72702, 1) pc.give_item2(70007, 1) pc.give_item2(27115, 200) pc.give_item2(27112, 200) pc.setqf("basic_weapon", 1) end end end end PD: Gracias a KeKo y Dextrok por corregirme la quest
  15. Hola ando buscando la quest que saca la ultima o cualquier piedra de las armaduras y armas muchas gracias, de antemano.
  16. nivel: http://prntscr.com/1a39hg selection con el nivel: http://prntscr.com/1a39mf otro nivel: http://prntscr.com/1a39re selection con ese nivel: http://prntscr.com/1a39ul para cambiar las mapas, editen la tabla quest tele begin state start begin function warp_tab(warp) local a,lvl={},pc.get_level() table.foreach(warp,function(val,i) if lvl >= val then table.insert(a,val) end end) return a end function local_table(warp) local tabelle,main_menu,sel_table = tele.warp_tab(warp),{},{} table.sort(tabelle) table.foreach(tabelle,function(i,n) main_menu[i]={warp[n][1],warp[n][2]} sel_table[i]=warp[n][3] end) return main_menu,sel_table end when 9009.chat."Teleport pro" begin local warp={ --[lvl]={x,y,"Map_name"}, [30]={105,106,"Cuba"}, [50]={109,110,"Spain"}, [20]={103,104,"Miami"}, [10]={101,102,"USA"}, [40]={107,108,"London"}, } say_title("Teleport:") say() say("if your level is rising, more maps unlocked.") say("where you like want to go?") local ports,map_auswahl=tele.local_table(warp) table.insert(map_auswahl,locale.cancel) local auswahl=select_table(map_auswahl)--select2(map_auswahl) if auswahl==table.getn(map_auswahl) then return end pc.warp(ports[auswahl][1],ports[auswahl][2]) --say(ports[auswahl][1].."x , "..ports[auswahl][2].." y") end end end
  17. Pues buenas queria saber porque esta quest que es la del anillo telentransportador cuando la uso desde una city funciona bien pero al usarla desde otro mapa solo salen letras chinas y solo da la opcion de ir a jinno 1. Queria saber si me la podrian corregir o darme una buen. Gracias
  18. Hola amigos de mt2zone! Necesito ayuda con esta quest: ------------------------------------ MAIN QUEST LV5-- Ayuda a Octavio----------------------------------quest main_quest_lv5 beginstate start beginwhen login or levelup or enter with pc.get_level() >= 5 beginset_state ( information )endendstate information beginwhen letter beginsend_letter ("Octavio te busca!")endwhen button or info beginsay_title ("Octavio pregunta por ti!")say("")say("Octavio dijo")say("que estaba buscando algo")say("ve con el")say("Te dira")say("lo quiere de ti.")say("Podras Hacerlo?")say("")end when 179.kill beginlocal s = number(1, 100)if s <= 5 and pc.count_item("30020") == 0 thenpc.give_item2(30020, 1)set_state(gototeacher)endendend state gototeacher beginwhen letter beginsend_letter ("Ve a ver a Octavio") local v==find_npc_by_vnum(20008)if 0==v thenelsetarget.vid("__TARGET__", v, "Octavio ")endendwhen button or info begin say_title ("Vuelve Rapido") say("")say("Super, Ya lo tienes!")say("Ahora ve, pero rapido")say("a donde Octavio")say("Estara esperando por ti")say("y te tiene una sorpresa!")say("")endwhen __TARGET__.target.click or20008.chat."Vuelve a donde Octavio".." begintarget.delete("__TARGET__")---say("Gracias!")say("Durante mucho tiempo he")say("esperado por esto!")say("Aqui esta tu sorpresa:")say("")say("100000 EXP")say("1000000 Yang")say("") pc.give_exp2(100000)pc.give_gold2(1000000)set_state ( __COMPLETE__ )set_quest_state("main_quest_lv30","levelup","run")say_reward("Has ganado 100.000 EXP")say_reward("Has ganado 1.000.000 Yang")endendstate __COMPLETE__ beginend end Y Tengo otro error, que no me compila una quest, la misma, parece estar bien, en la maquina me pone "error occured on compiled ...." Porque sera? Hay varias Quest que me ponen el mismo error de que no se pueden compilar, uso los ServerFiles de invoice. Antes usaba los de lauling y no daban tanto errores. Les agradesco su ayuda Saludos!
  19. Tengo está quest. quest map_boss begin state start begin when login with pc.get_map_index() == 64 begin setbgimage("mob.tga") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") say("") end when 691.npc.get_race with pc.get_map_index() == 64 begin syschat("Has matado el Jefe") syschat("Tu obtienes 300k de yang") pc.change_money(300000) end end end Donde está el npc.get_race había 1 kill , pero yo no quiero ponerle 1 kill porque ya en otra quest le afecta el kill , y quiero ponerle el npc.get_race pero no se como seria. Agradeciera que alguien me corrigiera la quest
  20. Hola gente, soy nuevo y de echo este es mi primer post, bueno, os escribo para pedir ayuda sobre unas quest. Antes de estas he implementado algunas otras a mi server y perfecto, pero al implementar estas la consola me da un error: must start with 'quest' nombredelaquest.quest:1:Abort (core dumped) Yo creo que es algún fallo en las quest, os las dejo aquí: quest armaduras begin state start begin when 9002.chat."Armaduras" begin npc.open_shop (4) say ( "El comerciante de Armaduras" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end when 9002.chat."Armaduras 2" begin npc.open_shop (16) say ( "El comerciante de Armaduras" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end when 9002.chat."Accesorios" begin npc.open_shop (6) say ( "El comerciante de Accesorios" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end end end quest armas begin state start begin when 9001.chat."Armas" begin npc . open_shop ( 1 ) say ( "El comerciante de Armas" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end when 9001.chat."Armas 2" begin npc . open_shop ( 5 ) say ( "El comerciante de Armas" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end when 9001.chat."Flechas" begin npc . open_shop ( 15 ) say ( "El comerciante de Flechas" ) say ( "esta listo para comerciar" ) say ( "con usted." ) end end end quest almacen_portatil begin state start begin when 40003.use begin say_title("Almacen Portatil:") local s = select("Abrir Almacen", "Abrir Item Shop", "Salir") if 1 == s then game.open_safebox() elseif 2 == s then game.open_mall() elseif 3 == s then return end end end end Muuuchas gracias y espero colaborar mucho por este foro. SALUDOS!
  21. Hola Hoy Les Traigo Una Quest Creada Por Mi quest removeritens begin state start begin when 20006.chat."La eliminación de artículos" begin say_title ("La eliminación de artículos") say_title ("Quest By Mrfersak M2Z") say("Con esta opción se puede eliminar todos los ") say("elementos que desee, incluso los que ") say("No puede negociar o tirar ") say("Para remover elementos no deseados ") say("Simplemente arrastra el elemento para mí. ") end when 20006.take begin say_title("La eliminación de artículos! ") say("") say("Usted está tratando de destruir el siguiente material: ") say_reward(string.trim(item.get_name())) say("") say("") say("Deseos, incluso destruir este artículo? ") local opcao = select ("Si", "No") if opcao == 1 then say_title("¡Gracias! ") say("") say("") say("Este artículo fue destruido con éxito. ") item.remove() else say_title("La eliminación de artículos! ") say("") say("") say("Antes, cuando usted está más seguro ") say("remover de este material ... ") end end end end Creditos: MrFersak JaJaJaJaJa Siin Dormiir Tres Diias Por Hacer Esta Quest Para Ustedes
  22. Hola amigos M2Z Estaba revisando algunas quest de los Files de Metin2 Caos , y me di cuenta que tiene algunas quest que no las reconoce la maquina , algunas con otros idiomas que ni se para que sirven y otras que son misiones de nivel 30 , 40 , algunas misiones del biologo , y misiones normales . No se , si se deba a que me subo el nivel con el comando " /level " o si para que me aparescan esas misiones deba leviar o completar las otras misiones , Pero cuando me doy el level maximo solo aparecen como 5 misiones . Espero que me digan la razon . Salu2!
  23. 4ss

    Remover Itens (Nueva)

    Hola, esta es una quest echa por un amigo, pero esta muy buena e yo hai decidido publica la... es una quest muy simples, pero muy buena quest removeritens begin state start begin when 20006.chat."Remocao de Itens" begin say_title ("Remocao de Itens") say("Com esta opçao podes remover todos os ") say("itens que desejas, mesmo aqueles que ") say("nao podes negociar ou deitar para o chao... ") say("Para removeres os itens indesejados ") say("Basta Arrastares o item para cima de mim. ") end when 20006.take begin say_title("Remocao de Itens! ") say("") say("Estas a tentar destruir o seguinte item: ") say_reward(string.trim(item.get_name())) say("") say("") say("Desejas mesmo destruir este item? ") local opcao = select ("Sim", "Nao") if opcao == 1 then say_title("Obrigado! ") say("") say("") say("Este item foi destruido com sucesso. ") item.remove() else say_title("Remocao de Itens! ") say("") say("") say("Volta quando estiveres mais seguro ") say("para removeres esse item... ") end end end end La quest es en Portugues, teen de ha traduzir... Fuente : Cyber-gamers.org
  24. Hola mz queria pedirles una quest porfavor doy +1 ... Bueno se trata de que cuando inicia el juego una cuenta nueva pj nuevo es lvl 1 ok luego lo q quiero es que le de una mision salga ahy para que valla donde este npc 20093 y es npc le da lvl 80 y 100kkk yang porfavor
  25. esta quest te entrena el caballo automatico de 1 -21 nivel ademas te da loslibros que nesesita para llamar el caballo el presio sube como el caballo su nivel lvl 1-10 = 50000 yang lvl 11- 20= 100000 yang lvl 21 = 200000 yang los niveles estan en la tabla ni escritos. pienso que les gusten. un saludo a todos, Noa quest test begin state start begin when 20349.chat."Entrenar el Caballo" begin local bild= {50051,50052,50053,50050,50000} local ni={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 } local lvl = horse.get_level() for p = 1,table.getn(ni) do while lvl <= p do if lvl == 1 then pc.give_item2(bild[1]) elseif lvl == 11 then bild[5]=bild[5]+bild[5] pc.give_item2(bild[2]) elseif lvl == 21 then bild[5]=bild[5]+bild[5] pc.give_item2(bild[3]) break end if pc.get_money()<= bild[5] and pc.count_item(bild[4]) < 1 then say("no tienes sufisiente cosas para entrenar el caballo") return end lvl=lvl+1 horse.set_level(lvl) pc.change_money(-bild[5]) pc.remove_item(bild[4]) chat(horse.get_level()) setskin(NOWINDOW) end end end end end bla.txt
×
×
  • Crear nuevo...