Jump to content

Shogun

Miembro
  • Contador contenido

    378
  • Ingreso

  • Última visita

  • Días ganados

    51

Actividad de reputación

  1. Me Gusta
    Shogun got a reaction from LovePlay in Horse Image   
    reemplaza esto que te puse antes
    def SetHorseState(self, level, health, battery): if level==0: self.horseImage=None else: image = HorseImage() image.SetParent(self) image.SetState(level, health, battery) image.Show() self.horseImage=image self.__ArrangeImageList() por esto
    def SetHorseState(self, level, health, battery): self.horseImage=None
  2. Me Gusta
    Shogun got a reaction from Seru in Horse Image   
    reemplaza esto que te puse antes
    def SetHorseState(self, level, health, battery): if level==0: self.horseImage=None else: image = HorseImage() image.SetParent(self) image.SetState(level, health, battery) image.Show() self.horseImage=image self.__ArrangeImageList() por esto
    def SetHorseState(self, level, health, battery): self.horseImage=None
  3. Me Gusta
    Shogun got a reaction from Seru in Horse Image   
    Te falta esto en uiAffectShower.py
    def SetHorseState(self, level, health, battery): if level==0: self.horseImage=None else: image = HorseImage() image.SetParent(self) image.SetState(level, health, battery) image.Show() self.horseImage=image self.__ArrangeImageList() Debe ir debajo de esta linea:
     
    self.lovePointImage.OnUpdateLovePoint(lovePoint)
     
    y antes de esta
     
    def SetPlayTime(self, playTime):
  4. Me Gusta
    Shogun got a reaction from luis ricardo porres dias in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  5. Me Gusta
    Shogun got a reaction from ahmedhaies in Vanilla Core 2.3   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. + eliminadas las funciones de licencia, el servidor no comprobará la validez de tu licencia+ eliminada la fecha de caducidad del game+ combinadas todas las tablas de exp en una única+ el nivel máximo es 255+ En todos los niveles el jugador recibirá puntos de estado+ Eliminado el bug de vampirismo para no perder HP cuando haces una matanza (los suras agradecerán esto)+ El bonus de Exp es cumulativo en lugar de dar una posibilidad de obtener doble exp. Es decir si tienes 20% Bonus de EXP recibiras un 20% mas de EXP.+ Reescrito Version Check. Ahora puedes configurar tu versión en CONFIG para que sea comparada con la del cliente - si no coinciden, el jugador será desconectado.+ Límite de Yang aumentado a 999.999.999.999+ Arreglado el buffer de memoria. Ahora el buffer está optimizado para no consumir mucha RAM, sólo la justa para no provocar la desconexión del jugador.+ Ahora puedes dar bonus de imperio hasta 2000%+ Muchas nuevas funciones, triggers y opciones de CONFIG+ Mejor estabilidad y rendimiento ya que está compilado con una versión más reciente de gcc+ El check de IP interna admite IPs que comiencen por 5. y 25.+ Se pueden vender items por 0 Yang+ 6o y 7o bonus funcionales+ Cambio de Nombre funciona en cualquier Locale+ Exceso de Yang: si se supera el límite, se reseteará al valor máximo.+ La tabla del caballo admite hasta nivel 51. Aumentar el level aumenta los stats proporcionados por el caballo.+ Nuevo tratamiento de error para exceso de bonus.+ La velocidad de movimiento del jugador será comprobada por el jugador y reducida al valor máximo si lo supera.+ Las habilidades pueden proporcionar nuevos bonus. Por ejemplo puedes aumentar la INT con una habilidad. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. MAX_LEVEL_STATUS: unsigned intNivel máximo para recibir puntos de estado.MAX_STATUS: unsigned intSets a maximum of distributed status points. If you e. g. set it to 20, you can only raise your stat's by 20 each status.SERVER_CHECK: 1/0Habilita la comprobación de versión del cliente.SERVER_VERSION: unsigned intEstablece la versión para SERVER_CHECK.MAX_HT: unsigned intIt's the same option than MAX_STATUS but only for the con-attribute.MAX_IQ: unsigned intIt's the same option than MAX_STATUS but only for the int-attribute.MAX_ST: unsigned intIt's the same option than MAX_STATUS but only for the str-attribute.MAX_DX: unsigned intIt's the same option than MAX_STATUS but only for the dex-attribute.ATTR_ALWAYS_ADD: 1/0Si es 1, el Añadir Bonus tendrá un 100% de posibilidadATTR_ALWAYS_5_ADD: 1/0Si es 1, la Bola de Bendición tendrá un 100% de posibilidadATTR_CHANGE_LIMIT: intYou can set a limit time to change your attributes again. It's changed to seconds (set it to 1 to let the users switch only once per second their attributes).GUILD_MAX_LEVEL: intMáximo nivel de gremio (el valor máximo posible es 50)ITEM_OWNERSHIP_TIME: intTiempo durante el cual un item dropeado conserva el nombre del propietario.MIN_ADDON_FKS: intMínimo Daño de HabilidadMAX_ADDON_FKS: intMáximo Daño de HabilidadMIN_ADDON_DSS: intMínimo Daño de MediaMIN_ADDON_DSS: intMáximo Daño de MediaSKILLBOOK_DELAY: intTiempo de espera para leer libros, en segundos.SKILLBOOK_NEED_EXP: intExp necesaria para leer un libro.SKILLBOOK_ALWAYS_BOOK: 1/0Si es 1, todos los libros de habilidad funcionarán con Lectura ConcentradaGOLD_DROP_TIME_INTERVAL: intTiempo de espera al dropear Yang en segundosSEQUENCE_CHECK: 1/0Si es 1, se comprobará la tabla de secuencias del cliente corresponde a la del servidor.SKILLBOOK_STEP_LEVELING: 1/0Si es 0, solo se necesitará un libro para pasar al siguiente M. Si es 1, será como en el oficial.RAISE_EMPIRE_PRICES: 1/0Si es 0, los items costarán lo mismo en los 3 reinos.HORSE_MAX_LEVEL: intMáximo nivel del caballo (ten en cuenta que tendrás que escribir tú mismo las quest que permitan aumentar el nivel)MARRIAGE_MAX_PERCENT: intMáximo porecentaje de Puntos de Amor. Ojo! Si es mayor de 100 provocará bugs al divorciarse.PC_MAX_MOVEMENT_SPEED: intMáxima velocidad de movimiento.PC_MAX_ATTACK_SPEED: intMáxima velocidad de ataque.MOB_MAX_MOVEMENT_SPEED: intMáxima velocidad de movimiento de los mobs.MOB_MAX_ATTACK_SPEED: intMáxima velocidad de ataque.TAXES: intDe 0 a 100. Impuestos que debes pagar al comprar en tienda.DYE_LEVEL: intNúmero de niveles que hay que esperar antes de volver a teñir tu pelo.YANG_MAX: long longMáximo de Yang que puedes llevar. El máximo posible es 999.999.999.999 Yang. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. item.get_attr_type(int index)item.get_attr_value(int index)item.set_attr(int ApplyType, int ApplyValue[, int index])npc.get_level()game.mysql_real_escape_string(string query)game.mysql_query(string query)game.mysql_update_query(string query)pc.delayed_disconnect(int zeit)pc.get_mount_vnum()pc.set_level(int level)pc.send_effect(int id) Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. OnBuy (al comprar un item)OnDie (al morir) Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. MAX_HPMAX_SPHP_REGENSP_REGENBLOCKHPSPATT_GRADEDEF_GRADEMAGIC_ATT_GRADEMAGIC_DEF_GRADEBOW_DISTANCEMOV_SPEEDATT_SPEEDPOISON_PCTRESIST_RANGECASTING_SPEEDREFLECT_MELEEATT_BONUSDEF_BONUSRESIST_NORMALDODGEKILL_HP_RECOVERKILL_SP_RECOVERHIT_HP_RECOVERHIT_SP_RECOVERCRITICALMANASHIELDSKILL_DAMAGE_BONUSNORMAL_HIT_DAMAGE_BONUSHTIQSTDXSTUN_PCTSLOW_PCTPENETRATE_PCTATTBONUS_HUMANSTEAL_HPSTEAL_SPMANA_BURN_PCTDAMAGE_SP_RECOVERRESIST_SWORDRESIST_TWOHANDRESIST_DAGGERRESIST_BELLRESIST_FANRESIST_BOWRESIST_FIRERESIST_ELECRESIST_MAGICRESIST_WINDREFLECT_CURSEPOISON_REDUCEEXP_DOUBLE_BONUSGOLD_DOUBLE_BONUSITEM_DROP_BONUSPOTION_BONUSIMMUNE_STUNIMMUNE_SLOWIMMUNE_FALLCURSE_PCTSTAATTBONUS_WARRIORATTBONUS_ASSASSINATTBONUS_SURAATTBONUS_SHAMANATTBONUS_MONSTERMAX_HP_PCTMAX_SP_PCTSKILL_DEFEND_BONUSNORMAL_HIT_DEFEND_BONUSRESIST_WARRIORRESIST_ASSASSINRESIST_SURARESIST_SHAMANENERGYRESIST_CRITICALRESIST_PENETRATE Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  6. Me Gusta
    Shogun got a reaction from ASIKOO in Vanilla Core 2.3   
    ~~~Vanilla v3 rev52410 CHANGELOG~~~* Guerras de gremio de tipo negativo ya no crashean el servidor (/war exploit)* Ya no puedes evitar el límite de nivel y Yang al crear un gremio.* Bug de invisibilidad arreglado* Bug de imperios arreglado (si el imperio es > 3 será tratado como 3)* Arreglada la opción de límite de Yang en CONFIG* Arreglada la opción de límite de nivel en CONFIG* Reconstruido el código fuente con tablas editadas* Arreglado overflow de HP y Yang* Arreglado SKILLBOOK_STEP_LEVELING. Ahora funcionará como debe.* Cambiado el nivel a long permitiendo superar 255.* Arreglado ITEM_DROP_TIME. Ahora funcionará correctamente.* Arreglado belt_allow_all_items. Ahora funciona como debe.* El sistema de mascotas funciona de nuevo+ Añadida versión al arrancar el servidor+ Añadidas nuevas opciones de CONFIG:
     Se permite la libre distribución de Vanilla Core pero asegúrate de dar créditos a los autores. El código fuente base es obra de YMIR, las modificaciones son de Vanilla. Y si lo publicas en algun otro foro asegúrate de crear una referencia al hilo oficial: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Planes futuros:* Mejorar el tratamiento de errores* Arreglar el hack de daño de habilidad* Arreglar el kick hack* Nuevas opciones CONFIG para hacer innecesario el uso de DIFsDescarga: Debes iniciar sesión para ver el contenido del enlace en esta publicación.Password: vanillaInstalación: leer readme.txt
  7. Confuso
    Shogun got a reaction from Ruby in Vanilla Core 2.3   
    vanilla 2.2 changelogNuevas opciones en conf.txt (db) Nuevas opciones de CONFIG: Nuevas funciones de quest: 
  8. Me Gusta
    Shogun got a reaction from compraventa in Vanilla Core 2.3   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. + eliminadas las funciones de licencia, el servidor no comprobará la validez de tu licencia+ eliminada la fecha de caducidad del game+ combinadas todas las tablas de exp en una única+ el nivel máximo es 255+ En todos los niveles el jugador recibirá puntos de estado+ Eliminado el bug de vampirismo para no perder HP cuando haces una matanza (los suras agradecerán esto)+ El bonus de Exp es cumulativo en lugar de dar una posibilidad de obtener doble exp. Es decir si tienes 20% Bonus de EXP recibiras un 20% mas de EXP.+ Reescrito Version Check. Ahora puedes configurar tu versión en CONFIG para que sea comparada con la del cliente - si no coinciden, el jugador será desconectado.+ Límite de Yang aumentado a 999.999.999.999+ Arreglado el buffer de memoria. Ahora el buffer está optimizado para no consumir mucha RAM, sólo la justa para no provocar la desconexión del jugador.+ Ahora puedes dar bonus de imperio hasta 2000%+ Muchas nuevas funciones, triggers y opciones de CONFIG+ Mejor estabilidad y rendimiento ya que está compilado con una versión más reciente de gcc+ El check de IP interna admite IPs que comiencen por 5. y 25.+ Se pueden vender items por 0 Yang+ 6o y 7o bonus funcionales+ Cambio de Nombre funciona en cualquier Locale+ Exceso de Yang: si se supera el límite, se reseteará al valor máximo.+ La tabla del caballo admite hasta nivel 51. Aumentar el level aumenta los stats proporcionados por el caballo.+ Nuevo tratamiento de error para exceso de bonus.+ La velocidad de movimiento del jugador será comprobada por el jugador y reducida al valor máximo si lo supera.+ Las habilidades pueden proporcionar nuevos bonus. Por ejemplo puedes aumentar la INT con una habilidad. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. MAX_LEVEL_STATUS: unsigned intNivel máximo para recibir puntos de estado.MAX_STATUS: unsigned intSets a maximum of distributed status points. If you e. g. set it to 20, you can only raise your stat's by 20 each status.SERVER_CHECK: 1/0Habilita la comprobación de versión del cliente.SERVER_VERSION: unsigned intEstablece la versión para SERVER_CHECK.MAX_HT: unsigned intIt's the same option than MAX_STATUS but only for the con-attribute.MAX_IQ: unsigned intIt's the same option than MAX_STATUS but only for the int-attribute.MAX_ST: unsigned intIt's the same option than MAX_STATUS but only for the str-attribute.MAX_DX: unsigned intIt's the same option than MAX_STATUS but only for the dex-attribute.ATTR_ALWAYS_ADD: 1/0Si es 1, el Añadir Bonus tendrá un 100% de posibilidadATTR_ALWAYS_5_ADD: 1/0Si es 1, la Bola de Bendición tendrá un 100% de posibilidadATTR_CHANGE_LIMIT: intYou can set a limit time to change your attributes again. It's changed to seconds (set it to 1 to let the users switch only once per second their attributes).GUILD_MAX_LEVEL: intMáximo nivel de gremio (el valor máximo posible es 50)ITEM_OWNERSHIP_TIME: intTiempo durante el cual un item dropeado conserva el nombre del propietario.MIN_ADDON_FKS: intMínimo Daño de HabilidadMAX_ADDON_FKS: intMáximo Daño de HabilidadMIN_ADDON_DSS: intMínimo Daño de MediaMIN_ADDON_DSS: intMáximo Daño de MediaSKILLBOOK_DELAY: intTiempo de espera para leer libros, en segundos.SKILLBOOK_NEED_EXP: intExp necesaria para leer un libro.SKILLBOOK_ALWAYS_BOOK: 1/0Si es 1, todos los libros de habilidad funcionarán con Lectura ConcentradaGOLD_DROP_TIME_INTERVAL: intTiempo de espera al dropear Yang en segundosSEQUENCE_CHECK: 1/0Si es 1, se comprobará la tabla de secuencias del cliente corresponde a la del servidor.SKILLBOOK_STEP_LEVELING: 1/0Si es 0, solo se necesitará un libro para pasar al siguiente M. Si es 1, será como en el oficial.RAISE_EMPIRE_PRICES: 1/0Si es 0, los items costarán lo mismo en los 3 reinos.HORSE_MAX_LEVEL: intMáximo nivel del caballo (ten en cuenta que tendrás que escribir tú mismo las quest que permitan aumentar el nivel)MARRIAGE_MAX_PERCENT: intMáximo porecentaje de Puntos de Amor. Ojo! Si es mayor de 100 provocará bugs al divorciarse.PC_MAX_MOVEMENT_SPEED: intMáxima velocidad de movimiento.PC_MAX_ATTACK_SPEED: intMáxima velocidad de ataque.MOB_MAX_MOVEMENT_SPEED: intMáxima velocidad de movimiento de los mobs.MOB_MAX_ATTACK_SPEED: intMáxima velocidad de ataque.TAXES: intDe 0 a 100. Impuestos que debes pagar al comprar en tienda.DYE_LEVEL: intNúmero de niveles que hay que esperar antes de volver a teñir tu pelo.YANG_MAX: long longMáximo de Yang que puedes llevar. El máximo posible es 999.999.999.999 Yang. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. item.get_attr_type(int index)item.get_attr_value(int index)item.set_attr(int ApplyType, int ApplyValue[, int index])npc.get_level()game.mysql_real_escape_string(string query)game.mysql_query(string query)game.mysql_update_query(string query)pc.delayed_disconnect(int zeit)pc.get_mount_vnum()pc.set_level(int level)pc.send_effect(int id) Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. OnBuy (al comprar un item)OnDie (al morir) Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. MAX_HPMAX_SPHP_REGENSP_REGENBLOCKHPSPATT_GRADEDEF_GRADEMAGIC_ATT_GRADEMAGIC_DEF_GRADEBOW_DISTANCEMOV_SPEEDATT_SPEEDPOISON_PCTRESIST_RANGECASTING_SPEEDREFLECT_MELEEATT_BONUSDEF_BONUSRESIST_NORMALDODGEKILL_HP_RECOVERKILL_SP_RECOVERHIT_HP_RECOVERHIT_SP_RECOVERCRITICALMANASHIELDSKILL_DAMAGE_BONUSNORMAL_HIT_DAMAGE_BONUSHTIQSTDXSTUN_PCTSLOW_PCTPENETRATE_PCTATTBONUS_HUMANSTEAL_HPSTEAL_SPMANA_BURN_PCTDAMAGE_SP_RECOVERRESIST_SWORDRESIST_TWOHANDRESIST_DAGGERRESIST_BELLRESIST_FANRESIST_BOWRESIST_FIRERESIST_ELECRESIST_MAGICRESIST_WINDREFLECT_CURSEPOISON_REDUCEEXP_DOUBLE_BONUSGOLD_DOUBLE_BONUSITEM_DROP_BONUSPOTION_BONUSIMMUNE_STUNIMMUNE_SLOWIMMUNE_FALLCURSE_PCTSTAATTBONUS_WARRIORATTBONUS_ASSASSINATTBONUS_SURAATTBONUS_SHAMANATTBONUS_MONSTERMAX_HP_PCTMAX_SP_PCTSKILL_DEFEND_BONUSNORMAL_HIT_DEFEND_BONUSRESIST_WARRIORRESIST_ASSASSINRESIST_SURARESIST_SHAMANENERGYRESIST_CRITICALRESIST_PENETRATE Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  9. Me Gusta
    Shogun got a reaction from barbera69 in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  10. Me Gusta
    Shogun got a reaction from fuuton97 in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  11. Me Gusta
    Shogun got a reaction from PACI in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  12. Me Gusta
    Shogun got a reaction from LovePlay in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  13. Me Gusta
    Shogun got a reaction from TheSanto in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  14. Me Gusta
    Shogun got a reaction from Anthony's in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  15. Me Gusta
    Shogun got a reaction from JazZ* in Alguien puede ver algo Mal ? o.O   
    Lo que está mal es que cierra la db antes de los games cuando debe hacerse en este orden:
     
    auth
    games
    db
  16. Me Gusta
    Shogun got a reaction from Jeo in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  17. Me Gusta
    Shogun got a reaction from JazZ* in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  18. Me Gusta
    Shogun got a reaction from Pac092 in [Quest] Mapa de Eventos   
    Hoy tenía un rato libre y traduje al español la primera quest que hice para el SG que también es el primer trabajo que publico sólo para Zone.
     
    Se trata de un mapa de eventos configurable (yo he usado metin2_map_t1 pero podéis usar otro) en el que se entra desde el Alguacil de Batalla en la ciudad. Podéis escoger que niveles y que reinos pueden entrar así como abrir el mapa o cerrarlo (lo cual mandará a todos los que se encuentren en el a su ciudad). Cuando el mapa está cerrado sólo los GM pueden entrar a él.
     
    Requisitos: metin2_map_t1 con mapindex 103 ( o se lo cambiáis en la quest ) el mapa para quien no lo conozca es este:
     

     
    Para que cada reino renazca en su lado aconsejo añadir esto al Town.txt oficial:
     
    452 579 469 200 208 300 452 579   Y nada más a partir de aquí podéis inventar cualquier cosa nosotros lo usamos para lluvias de metines y para el evento de minería pero se pueden hacer otras cosas como la caza del zorro (soltar 100 zorros del desierto en modo "cobarde" y gana el gremio o reino que los mate antes), etc.   quest sg_eventarena begin state start begin when login with pc.get_map_index() == 103 begin if game.get_event_flag("sg_eventarena") == 0 and pc.is_gm() == false then warp_to_village() end end when 11001.chat."Mapa de eventos" or 11003.chat."Mapa de eventos" or 11005.chat."Mapa de eventos" with game.get_event_flag("sg_eventarena") > 0 begin ----"111111222222333333444444555555666666777777888888999999" say_title("Alguacil de Batalla:") say("") say("El pueblo se está reuniendo en el paso del monte") say("Baekdu. Veamos si estás preparado para resistir la") say("jornada...") say("") wait() if game.get_event_flag("sg_eventarena_open"..pc.get_empire()) == 0 then say_title("Alguacil de Batalla:") say("") ----"111111222222333333444444555555666666777777888888999999" say("Lo siento, tu imperio no puede acceder a la montaña") say("en este momento.") say("") return end if game.get_event_flag("sg_eventarena_minlv") > pc.level then say_title("Alguacil de Batalla:") say("") say("Lo siento, necesitas nivel "..game.get_event_flag("sg_eventarena_minlv").." para entrar.") say("") return end if game.get_event_flag("sg_eventarena_maxlv") < pc.level then say_title("Alguacil de Batalla:") say("") say("Tu nivel es demasiado alto. El máximo permitido") say("en este momento es "..game.get_event_flag("sg_eventarena_maxlv")..".") say("") return end say_title("Archer Guardian:") say("") say("¿Estás preparado?") say("Vamos hacia la montaña...") say("") wait() if pc.get_empire() == 1 then pc.warp(46942, 45372) elseif pc.get_empire() == 2 then pc.warp(20754, 55748) else pc.warp(45253, 83437) end end when 11001.chat."GM: Mapa de Eventos" or 11003.chat."GM: Mapa de Eventos" or 11005.chat."GM: Mapa de Eventos" with pc.is_gm() begin say_title("Opciones del Mapa de Eventos") say("") if game.get_event_flag("sg_eventarena") > 0 then msg = "El mapa está abierto." statuschange = "Cerrar" new = 0 else msg = "El mapa está cerrado." statuschange = "Abrir" new = 1 end say(msg.." Ajustes actuales:") say("Nivel mínimo: "..game.get_event_flag("sg_eventarena_minlv").." Nivel máximo: "..game.get_event_flag("sg_eventarena_maxlv").." ") say("") say("") local s = select("Editar niveles admitidos", "Editar imperios admitidos", statuschange.." mapa de eventos", "Salir del menú") if s == 1 then say("Escribe el nivel mínimo:") say("") local min = input() say("Escribe el nivel máximo:") say("") local max = input() if min > max then say("¡El nivel máximo debe ser mayor o igual que el mínimo!") say("") return end game.set_event_flag("sg_eventarena_minlv",min) game.set_event_flag("sg_eventarena_maxlv",max) say("Nivel admitido ajustado.") elseif s == 2 then if game.get_event_flag("sg_eventarena_open1") > 0 then statuschange1 = "No admiti" new1 = 0 else statuschange1 = "Admiti" new1 = 1 end if game.get_event_flag("sg_eventarena_open2") > 0 then statuschange2 = "No admiti" new2 = 0 else statuschange2 = "Admiti" new2 = 1 end if game.get_event_flag("sg_eventarena_open3") > 0 then statuschange3 = "No admiti" new3 = 0 else statuschange3 = "Admiti" new3 = 1 end s=select(statuschange1.."r reino Shinsoo", statuschange2.."r reino Chunjo", statuschange3.." reino Jinno", "Cancelar") if s == 1 then game.set_event_flag("sg_eventarena_open1",new1) say("Shinsoo "..statuschange1.."do") say("") elseif s ==2 then game.set_event_flag("sg_eventarena_open2",new2) say("Shinsoo "..statuschange2.."do") say("") elseif s== 3 then game.set_event_flag("sg_eventarena_open3",new3) say("Jinno "..statuschange3.."ed") say("") end elseif s == 3 then if new == 0 then notice_all("El mapa de eventos está cerrado.") warp_all_to_village(103, 10) else notice_all("El mapa de eventos ha abierto! El Alguacil de") notice_all("Batalla está reclutando a los más valientes.") end game.set_event_flag("sg_eventarena",new) say("El mapa de eventos está "..statuschange..".") say("") end end endend
  19. Me Gusta
    Shogun got a reaction from LovePlay in [Release]New NPC - Shogun Soldier   
    Finally I have my own npc 
  20. Me Gusta
    Shogun got a reaction from PACI in [Release]New NPC - Shogun Soldier   
    Finally I have my own npc 
  21. Me Gusta
    Shogun got a reaction from RatedR203 in [Release]New NPC - Shogun Soldier   
    Finally I have my own npc 
  22. Me Gusta
    Shogun reacted to RatedR203 in [Release]New NPC - Shogun Soldier   
    Hello community,i have a new npc for release
        Debes iniciar sesión para ver el contenido del enlace en esta publicación.   Debes iniciar sesión para ver el contenido del enlace en esta publicación.   See ya!  
      RatedR203 © TGC-TEAM
  23. Me Gusta
    Shogun got a reaction from LovePlay in [Petición]Quest Torre Demonios 1 y 2   
    La oficial de las catacumbas, en inglés:
    quest devilcatacomb_zone begin state start begin function setting() return { ["base"]={["x"] = 3072 , ["y"]= 12032 ,}, ["floor1_s"] = { ["x"] = 20, ["y"] = 20, }, ["floor1_e"] = { ["x"] = 500, ["y"] = 470,}, ["floor2_s"] = { ["x"] = 510, ["y"] = 18, }, ["floor2_e"] = { ["x"] = 978, ["y"] = 470,}, ["floor1_entry"] = {["x"] = 73, ["y"] = 63,}, ["floor2_entry"] = {["x"] = 550, ["y"] = 45,}, ["floor3_entry"] = {["x"] = 1378, ["y"] = 249,}, ["floor4_entry"] = {["x"] = 70, ["y"] = 592,}, ["floor5_entry"] = {["x"] = 846, ["y"] = 898}, ["floor6_entry"] = {["x"] = 1362, ["y"] = 666}, ["floor7_entry"] = {["x"] = 73, ["y"] = 1156}, ["map_idx"] = 206, ["rag"] = 30311, ["devil_king"] = 2591, ["reapers_credit1"] = 30319, ["reapers_credit2"] = 30320, ["reapers_credit3"] = 76002, ["reapers_credit4"] = 79001, ["floor3_stone"] = 8038, ["floor3_stone_pos"] = { {1366, 150}, {1366, 351}, {1234, 365}, {1234, 140}, {1150, 135}, {1130, 365}, {1135, 253} }, ["mob_regen_file_path"] = "data/dungeon/devilcatacomb/", ["floor4_regen_file"] = {"devilcatacomb_floor4_regen1.txt", "devilcatacomb_floor4_regen2.txt", "devilcatacomb_floor4_regen3.txt", "devilcatacomb_floor4_regen4.txt", "devilcatacomb_floor4_regen5.txt"} , ["credit_stone"] = 30101, ["credit_stone_pos"] = {307,323}, ["floor2_stone"] = 30103, ["floor2_stone_pos"] = {741,217}, ["floor2_merchant_npc"] = 20368, ["floor2_merchant_npc_pos"] = {734,214}, ["floor4_npc"] = 30104, ["floor4_npc_pos"] = {500, 717}, ["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}}, ["unlock_stone"] = 30312, ["floor5_stone"] = 30102, ["floor5_stone_pos"] = {848, 735}, ["devil_great_king"] = 2597 , ["devil_great_king_pos"] = {1303,704}, ["devil_emperor"] = 2598, ["devil_emperor_pos"] = {74,1103}, ["dc2_door_set_size"] = {4,2,3,2}, ["dc2_door_set1"] = { {{30111, 566, 117, 5},{30112, 562, 311, 5,},{30118, 663, 434, 7},{30119, 881, 434, 7}}, {{30116, 743, 390, 3},{30119, 612, 251, 1,}}, {{30113, 654, 211, 5},{30111, 707, 338, 7,},{30112, 775, 336, 7}}, {{30117, 733, 294, 3},{30113, 694, 271, 1,}} }, ["dc2_door_set2"] = { {{30115, 942, 141, 5},{30116, 942, 245, 5},{30117, 942, 321, 5},{30115, 763, 64, 7}}, {{30118, 643, 116, 3},{30114, 900, 167, 1}}, {{30114, 850, 293, 5},{30113, 715, 164, 7},{30114, 817, 162, 7}}, {{30111, 802, 277, 1},{30112, 800, 241, 1}} }, } end when login begin local setting = devilcatacomb_zone.setting() local idx = pc.get_map_index() if idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then-- pc.set_warp_location(65, 5914, 992) -----------¾Æ±Íµ¿±¼ ÁÂÇ¥·Î local level = d.getf("level") -- warp locationÀÌ 0,0 ÀÌ¸é ½Ã½ºÅÛ »óÀ¸·Î, Á¾·á ½Ã, Á¾·á À§Ä¡¸¦ ½ÃÀÛ À§Ä¡·Î ÀúÀåÇÑ´Ù. d.set_warp_location (0, 0, 0) if level == 2 then say_title("The Devil´s Catacomb: Level 2") say("") say("Destroy the seal of this door to reach Level 3.") say("You have 60 minutes left.") say("") elseif level == pc.getqf ("level") then-- say ("³«¿ÀµÇÁö ¾Ê±â À§ÇØ µ¿·áµé°ú ÇÕ·ùÇϽʽÿÀ.") --say (locale.devilcatacomb_follow_peer) else-- say (locale.devilcatacomb_dropout)-- say ("´ç½ÅÀº ³«¿ÀµÇ¾ú½À´Ï´Ù. ¿ë½ÅÀÇ ÈûÀ» ºô¾î Àá½Ã µÚ µ¿±¼ ¹ÛÀ¸·Î À̵¿ÇÕ´Ï´Ù.")-- timer ("devilcatacomb_ban_timer", 5) end end if idx == setting.map_idx then pc.setf("devilcatacomb_zone","last_exit_time", get_global_time()) -- 2ÃþÀÌ»óÀ̸é, ÂѰܳª if pc.get_x() < setting.floor1_s.x + setting.base.x or pc.get_y() < setting.floor1_s.y + setting.base.y or pc.get_x() > setting.floor1_e.x + setting.base.x or pc.get_y() > setting.floor1_e.y + setting.base.y then -- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î-- if not is_test_server() then --say (locale.devilcatacomb_dropout) timer ("devilcatacomb_ban_timer", 5)-- end else -- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î-- pc.set_warp_location(65, 5914, 992) addimage(20, 12, "catacombs.tga") say("") say("") say("") say("") say_title("The Devil´s Catacomb: Level 1") say("") say("Hunt monsters in this area to obtain the Soul") say("Crystal Key and unlock the next level.") say("") say_item("Soul Crystal Key", 30311, "") pc.remove_item(30311, pc.count_item(30311)) pc.remove_item(30312, pc.count_item(30312)) end end end when logout begin local idx = pc.get_map_index() local setting = devilcatacomb_zone.setting() if idx == setting.map_idx or idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then pc.setf("devilcatacomb_zone","last_exit_time", get_global_time()) end end when devilcatacomb_ban_timer.timer begin pc.warp((5914)*100, (992)*100, 65) end when warp_timer.timer begin local level = d.getf("level") local level_switch = { [3] = "Find the correct metin stone and destroy it!", [4] = "Find the right way.", [5] = "Kill the Demon-Guards to obtain the Totem Faces. They serve as the key to Level 6!", [6] = "Slay Grim Reaper and his minions!", } local t = 3600 -(get_global_time() - d.getf("enter_time")) local t_r = math.mod (t, 60) local t_m = (t - t_r) / 60 d.notice ( level_switch[level] ) d.notice ( "You have " ..t_m.." minutes left.") d.set_warp_location (0, 0, 0) end when 20367.chat."Enter the Devil's Catacomb" with pc.get_map_index() == 65 begin local setting = devilcatacomb_zone.setting() if pc.get_level() < 75 then say_title("Guardian of the Catacombs:") say("") say("I will not give access to the Devil's Catacomb") say("to an unexperienced knight such as you.") say("") say("It is for your own safety.") say("") say_reward("Level 75 is required to enter.") say("") --elseif pc.getf("deviltower_zone","9_done") == 0 then -- say(locale.devilcatacomb_man_say_deviltop_clear) --elseif ((get_global_time() - pc.getf("devilcatacomb_zone","last_exit_time")) < 1800) then -- say(locale.devilcatacomb_man_say_see_you_later) else say_title("Guardian of the Catacombs:") say("") say("Do you wish to enter Devil's Catacomb now?") say("") local s = select("Yes, I want to enter.", "No, I want to leave.") if s == 1 then pc.warp ((setting.floor1_entry.x + setting.base.x )* 100, (setting.floor1_entry.y + setting.base.y) * 100) end end end when 20367.chat."Back to the Dark Temple" with pc.get_map_index() == 206 begin say_title("Guardian of the Catacombs:") say("") say("Are you sure you want to give up and") say("return to the Dark Temple?") say("") local s = select("Yes, I am too weak.", "No, I will fight on!") if s == 1 then pc.warp(591400, 99900) end end -- ¸ó½ºÅÍ°¡ Á×À¸¸é ¹ß»ýÇÏ´Â À̺¥Æ®. when kill begin local setting = devilcatacomb_zone.setting() -- ¾Æ±Íµ¿±¼ 1ÃþÀ̸é 1% È®·ü·Î ±Ý½Ã°ÇÀ» µå¶øÇÑ´Ù. if pc.get_x() > setting.floor1_s.x + setting.base.x and pc.get_y() > setting.floor1_s.y + setting.base.y and pc.get_x() < setting.floor1_e.x + setting.base.x and pc.get_y() < setting.floor1_e.y + setting.base.y then local j = number(1, 100) if j == 1 then game.drop_item (setting.rag, 1) end end end function spawn_doors () local setting = devilcatacomb_zone.setting() for i = 1, 4 do local mob_set = setting.dc2_door_set1[i] local set_size = setting.dc2_door_set_size[i] for j = 1, set_size do d.set_unique (i.."_1_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4])) end mob_set = setting.dc2_door_set2[i] for j = 1, set_size do d.set_unique (i.."_2_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4])) end end end -- ±Ý½Ã°ÇÀ» ³ªÂûÀÎÁõ¼®¿¡ µå·¡±×Çϸé 2ÃþÀ¸·Î º¸³½´Ù. 2ÃþºÎÅÍ´Â ´øÀüÀÌ´Ù. when devilcatacomb_credit_stone. take begin local setting = devilcatacomb_zone.setting() if item.vnum == setting.rag then if not party.is_party() then say_title("Statue of Kud:") say("") say("You need a strong party to adventure into the") say("Devil´s Catacomb.") say("") return elseif party.is_in_dungeon() then say_title("Statue of Kud:") say("") say("Your Party is already in a dungeon.") say("") return end item.remove() say_title("Statue of Kud:") say("") say("The entrance has been unlocked.") say("Pass it quickly!!") say("") wait() say_title("Statue of Kud:") say("") say("Here is where the real adventure starts.") say("") say("From now on you will only have one hour") say("to explore the Devil's Catacomb.") say("") wait() d.new_jump_party (setting.map_idx, setting.floor2_entry.x + setting.base.x , setting.floor2_entry.y + setting.base.y ) d.setqf2("devilcatacomb_zone","level", 2) d.setf ("level",2) --d.regen_file (setting.mob_regen_file_path.."dc_2f_regen.txt") d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base2_regen.txt") --d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base2_npc.txt") -- d.spawn_mob (setting.floor2_merchant_npc, setting.floor2_merchant_npc_pos[1], setting.floor2_merchant_npc_pos[2]) d.spawn_mob (setting.floor2_stone, setting.floor2_stone_pos[1], setting.floor2_stone_pos[2]) devilcatacomb_zone.spawn_doors () server_timer('devilcatacomb_45m_left_timer',60 * 15, d.get_map_index()) d.setf("enter_time", get_global_time()) end end when devilcatacomb_45m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice ("You have 45 minutes left.") server_timer('devilcatacomb_30m_left_timer', 60 * 15, get_server_timer_arg()) end end when devilcatacomb_30m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice ("You have 30 minutes left.") server_timer('devilcatacomb_15m_left_timer', 60 * 15, get_server_timer_arg()) end end when devilcatacomb_15m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice ("You have 15 minutes left.") server_timer('devilcatacomb_5m_left_timer', 60 * 10, get_server_timer_arg()) end end when devilcatacomb_5m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice ("You have 5 minutes left.") server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_server_timer_arg()) end end when devilcatacomb_1m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice ("You have 1 minute left.") server_timer ("devilcatacomb_0m_left_timer", 60 * 1, get_server_timer_arg()) end end when devilcatacomb_0m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Your time is up. You failed to release the Catacombs") d.notice("from the claws of evil.") d.set_warp_location (65, 5914, 992) server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg()) end end function is_dc2_doors_clear () local setting = devilcatacomb_zone.setting() local clear = true for i = 1, 4 do local set_clear = true local mob_set = setting.dc2_door_set1[i] local set_size = setting.dc2_door_set_size[i] for j = 1, set_size do set_clear = set_clear and d.is_unique_dead (i.."_1_"..j) end if not set_clear then set_clear = true mob_set = setting.dc2_door_set2[i] for j = 1, set_size do set_clear = set_clear and d.is_unique_dead (i.."_2_"..j) end end clear = clear and set_clear end return clear end -- ÇöȲ¼®À» Ŭ¸¯Çϸé 3Ãþ ÁøÀÔ ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°í -- ÁøÀԽà »ç½ÅÀÇÁõÇ¥¸¦ °Ë»çÇÑ´Ù. -- »ç½ÅÀÇ ÁõÇ¥°¡ ¾ø´Ù¸é ¹ÛÀ¸·Î ¿öÇÁµÈ´Ù. when devilcatacomb_floor2_stone.click begin local setting = devilcatacomb_zone.setting() if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then if not devilcatacomb_zone.is_dc2_doors_clear () and not is_test_server() then say_title ("The Devil´s Catacomb:") say ("You first have to kill each door.") say ("") wait () return end say_title("Tortoise Rock:") say("") say("As you observe the stone closely, you") say("encounter an inscription.") say("") wait() say_title("The Devil´s Catacomb:") say("") say("Only the one who possesses the shrunken head") say("may enter once the seal of three doors has") say("been broken.") say("") say_reward("If you do not possess this relic, you will") say_reward("be warped out from the Devil's Catacomb.") say("") wait() local s = select("Yes, let me enter.", "I don't have a Relic.") if s == 1 then if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then d.setf("devilcatacomb_floor2_stone_clicked", 1) d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time()) d.set_item_group ("reapers_credit", 4, setting.reapers_credit4, 1, setting.reapers_credit3, 1, setting.reapers_credit2, 1, setting.reapers_credit1, 1) d.say_diff_by_item_group ("reapers_credit", "The Devil´s Catacomb:[ENTER][ENTER]You possess the shrunken head and you will now[ENTER]enter Level 3.[ENTER][ENTER]", "The Devil´s Catacomb:[ENTER][ENTER]You do not possess the shrunken head.[ENTER]You will now be warped out from[ENTER]the Devil's Catacomb..[ENTER][ENTER]") timer ("devilcatacomb_floor3_enter_timer", 7) end end else say_title("The Devil´s Catacomb:") say ("") say ("Please wait.") say ("") end end when devilcatacomb_floor3_enter_timer.timer begin local setting = devilcatacomb_zone.setting() d.set_warp_location (65, 5914, 992) d.exit_all_by_item_group ("reapers_credit") d.delete_item_in_item_group_from_all ("reapers_credit") d.purge () d.jump_all (setting.floor3_entry.x + setting.base.x , setting.floor3_entry.y + setting.base.y) d.setf("level",3) d.setqf2("devilcatacomb_zone","level", 3) --d.regen_file (setting.mob_regen_file_path.."dc_3f_regen.txt") d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base3_regen.txt") timer("warp_timer",3) local position = setting.floor3_stone_pos local n = number(1,7) for i = 1, 7 do if (i != n) then d.set_unique("fake"..i, d.spawn_mob( setting.floor3_stone, position[i][1], position[i][2])) end end local vid = d.spawn_mob( setting.floor3_stone, position[n][1], position[n][2]) d.set_unique ("real",vid) if (is_test_server()) then -- real stone pos chat (position[n][1],position[n][2]) end end when devilcatacomb3_stone.kill begin local setting = devilcatacomb_zone.setting() -- µ¹ÀÌ Æı«µÇ¸é ÁøÂ¥°¡ Á×¾ú´ÂÁö È®ÀÎÇغ»´Ù. -- ÁøÂ¥°¡ Á×¾úÀ¸¸é 4ÃþÀ¸·Î À̵¿ÇÑ´Ù. if d.is_unique_dead("real") then d.notice ("You have destroyed the correct metin stone. You will now enter Level 4.") d.setf ("level",4) d.setqf2("devilcatacomb_zone","level", 4) timer ("devilcatacomb_floor4_enter_timer", 3) else d.notice ("This was a false metin stone. Find the correct one, quick!") end end when devilcatacomb_floor4_enter_timer.timer begin local setting = devilcatacomb_zone.setting() local i = number (1, 5) timer("warp_timer",3) d.purge () d.jump_all (setting.floor4_entry.x + setting.base.x , setting.floor4_entry.y + setting.base.y) --d.regen_file (setting.mob_regen_file_path.."dc_4f_regen.txt") --d.regen_file (setting.mob_regen_file_path..setting.floor4_regen_file[i]) d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base4_regen.txt") d.spawn_goto_mob(70, 673, 94, 847) d.spawn_goto_mob(91, 948, 347, 564) d.spawn_goto_mob(401, 558, 272, 829) d.spawn_goto_mob(274, 713, 141, 807) d.spawn_goto_mob(68, 815, 313, 868) d.spawn_goto_mob(431, 935, 355, 840) d.spawn_goto_mob(430, 842, 499, 787) if (is_test_server()) then d.notice (setting.floor4_regen_file[i]) end d.spawn_mob (setting.floor4_npc, setting.floor4_npc_pos[1], setting.floor4_npc_pos[2]) end -- devilcatacomb_floor4_stone´Â Ŭ¸¯ ½Ã 4Ãþ¿¡¼­ 5ÃþÀ¸·Î À̵¿½ÃÅ°´Â npcÀÌ´Ù. when devilcatacomb_floor4_stone.click begin local setting = devilcatacomb_zone.setting() local n = number (1,5) say_title("The Devil´s Catacomb:") say("") say("YES, found the way out! Let´s go down to the 5th") say("level!") wait() if (is_test_server()) then -- devil_king pos chat (setting.devil_king_pos[n][1], setting.devil_king_pos[n][2]) end d.purge () d.jump_all (setting.floor5_entry.x + setting.base.x, setting.floor5_entry.y + setting.base.y ) d.setf ("level",5) d.setqf2("devilcatacomb_zone","level", 5) timer("warp_timer",3) --d.regen_file (setting.mob_regen_file_path.."dc_5f_regen.txt") d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base5_regen.txt") d.spawn_mob (setting.devil_king, setting.devil_king_pos[n][1], setting.devil_king_pos[n][2]) d.spawn_mob (setting.floor5_stone, setting.floor5_stone_pos[1], setting.floor5_stone_pos[2]) end -- ¾Æ±Í¿Õ(2591)ÀÌ Á×À¸¸é ºÀÀÎÇØü¼® µå¶ø when devilcatacomb_devil_king.kill begin local setting = devilcatacomb_zone.setting() game.drop_item (setting.unlock_stone, 1) end -- »ç½Å±ÝÁ¦ºñ(30102)¿¡ ±ÝÁ¦ÇØü¼®ºÀÀ» µå·¡±×ÇÏ¸é ¸ðµç ¸ó½ºÅ͸¦ Á×ÀÌ°í -- 6ÃþÀ¸·Î À̵¿Çϴ ŸÀ̸Ӹ¦ µ¿ÀÛ½ÃŲ´Ù. when devilcatacomb_floor5_stone.take begin local setting = devilcatacomb_zone.setting() if item.vnum == setting.unlock_stone then item.remove () d.notice("From the dephts of the Devil's Catacomb comes a furious brawl.") d.notice("The Grim Reaper has awakened!") -- 6ÃþÀ¸·Î À̵¿ d.clear_regen() d.purge() timer("devilcatacomb_floor6_timer",2) end end when devilcatacomb_floor6_timer.timer begin local setting = devilcatacomb_zone.setting() d.setf("level",6) d.setqf2("devilcatacomb_zone","level", 6) d.jump_all (setting.floor6_entry.x + setting.base.x, setting.floor6_entry.y + setting.base.y ) --d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt") d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base6_regen.txt") d.spawn_mob (setting.devil_great_king, setting.devil_great_king_pos[1], setting.devil_great_king_pos[2]) timer("warp_timer",3) end -- ¾Æ°É(2597)ÀÌ Á×À¸¸é, 6ÃþÀÇ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÑ´Ù. when devilcatacomb_devil_great_king.kill begin server_timer ("floor6_eli_check_timer_1", 5,d.get_map_index()) end -- 6ÃþÀÇ Å¸À̸Ó1Àº ´øÀüÀÇ ¸ðµç ¸ó½ºÅÍ ¼ýÀÚ¸¦ º¸°í, -- 0À̸é 7ÃþÀ¸·Î ¿öÇÁÇϴ ŸÀ̸Ӹ¦ µ¿ÀÛÇÑ´Ù. -- ¹Ù·Î 7ÃþÀ¸·Î °¡Áö ¾Ê´Â ÀÌÀ¯´Â, À¯Àú¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù. -- 1À̸é ŸÀ̸Ó2¸¦ µ¿ÀÛ½ÃŲ´Ù. -- ŸÀ̸Ó1À» recursiveÇÏ°Ô µ¿ÀÛ½ÃÅ°Áö ¾ÊÀº °ÍÀº, -- ±×·² °æ¿ì resetÇÑ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. when floor6_eli_check_timer_1.server_timer begin if d.select(get_server_timer_arg()) then if d.count_monster() == 0 then say_in_map(get_server_timer_arg(), color256(255, 230, 186).."The Devil´s Catacomb:[ENTER]"..color256(196, 196, 196).."You have gained victory over Charon![ENTER]You will now enter the last Level[ENTER]of the Devil's Catacomb![ENTER]") server_timer ("devilcatacomb_floor7_timer", 3, get_server_timer_arg()) else server_timer ("floor6_eli_check_timer_2", 5, get_server_timer_arg()) end end end when floor6_eli_check_timer_2.server_timer begin if d.select(get_server_timer_arg()) then if d.count_monster() == 0 then say_in_map(get_server_timer_arg(), color256(255, 230, 186).."The Devil´s Catacomb:[ENTER]"..color256(196, 196, 196).."You have gained victory over Charon![ENTER]You will now enter the last Level[ENTER]of the Devil's Catacomb![ENTER]") server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg()) else server_timer ("floor6_eli_check_timer_1", 5, get_server_timer_arg()) end end end when devilcatacomb_floor7_timer.server_timer begin if d.select(get_server_timer_arg()) then local setting = devilcatacomb_zone.setting() d.setf("level",7) d.setqf2("devilcatacomb_zone","level", 7) d.jump_all (setting.floor7_entry.x + setting.base.x, setting.floor7_entry.y + setting.base.y ) --d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt") d.regen_file(get_locale_base_path().."/map/metin2_map_dd/base7_regen.txt") d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2]) server_timer ("devilcatacomb_floor7_say_timer", 2, get_server_timer_arg()) end end when devilcatacomb_floor7_say_timer.server_timer begin if d.select(get_server_timer_arg()) then local t = 3600 -(get_global_time() - d.getf("enter_time")) local t_r = math.mod (t, 60) local t_m = (t - t_r) / 60 d.notice("Kill Lord Gahnasel!") d.notice ("You have ".. t_m.." minutes left.") d.set_warp_location (0, 0, 0) end end -- 6Ãþ°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(2598)ÀÌ Á×À¸¸é -- 7ÃþÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù. when 2598.kill begin notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!") server_timer ("floor7_eli_check_timer_1", 5, d.get_map_index()) end -- 7ÃþÀÇ Å¸À̸Ӵ 6Ãþ ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç, -- ¸ó½ºÅÍ ¼ýÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ý½ÃŲ´Ù. -- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù. when floor7_eli_check_timer_1.server_timer begin if d.select(get_server_timer_arg()) then if d.count_monster() == 0 then d.set_warp_location (65, 5914, 992) d.setqf2("devilcatacomb_zone","done", 1) say_in_map(get_server_timer_arg(), color256(255, 230, 186).."The Devil´s Catacomb:[ENTER]"..color256(196, 196, 196).."Lord Gahnasel has been killed. Finally[ENTER]peace can return to the Catacombs.[ENTER]You will now be warped back out.[ENTER]") clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg()) server_timer("devilcatacomb_exit_timer", 60, get_server_timer_arg()) else server_timer ("floor7_eli_check_timer_2", 5, get_server_timer_arg()) end end end when floor7_eli_check_timer_2.server_timer begin if d.select(get_server_timer_arg()) then if d.count_monster() == 0 then d.set_warp_location (65, 5914, 992) d.setqf2("devilcatacomb_zone","done", 1) say_in_map(get_server_timer_arg(), color256(255, 230, 186).."The Devil´s Catacomb:[ENTER]"..color256(196, 196, 196).."Lord Gahnasel has been killed. Finally[ENTER]peace can return to the Catacombs.[ENTER]You will now be warped back out.[ENTER]") clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg()) server_timer("devilcatacomb_exit_timer", 30, get_server_timer_arg()) else server_timer ("floor7_eli_check_timer_1", 5, get_server_timer_arg()) end end end when devilcatacomb_exit_timer.server_timer begin if d.select(get_server_timer_arg()) then d.setqf2("devilcatacomb_zone","level", 0) d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time()) clear_server_timer("devilcatacomb_5m_left_timer", get_server_timer_arg()) clear_server_timer("devilcatacomb_1m_left_timer", get_server_timer_arg()) clear_server_timer("devilcatacomb_0m_left_timer", get_server_timer_arg()) clear_server_timer("floor6_eli_check_timer_1", get_server_timer_arg()) clear_server_timer("floor6_eli_check_timer_2", get_server_timer_arg()) clear_server_timer("floor7_eli_check_timer_1", get_server_timer_arg()) clear_server_timer("floor7_eli_check_timer_2", get_server_timer_arg()) clear_server_timer("devilcatacomb_floor7_say_timer", get_server_timer_arg()) clear_server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg()) d.clear_regen() d.exit_all() end end end --stateend --quest
  24. Me Gusta
    Shogun got a reaction from CHRISTIAN YESID CARVAJAL FUENTES in Texturas de terreno   
    Para los que os guste crear mapas, aquí van tres packs de texturas que podéis usar en el World Editor para crear vuestros propios mapas sin las monótonas texturas de YMIR
     
     

     

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

     

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

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
     
    Espero que os sirva
  25. Me Gusta
    Shogun reacted to Shang in [R]Interfaz de login del EternityMt2   
    Después de estar un rato largo pensando en postearlo o no, pues me decidí en postearlo...
     
    Este es el login;
     

     
    Agradecimientos a FelipeArd por los botones.
     
    PD: Cuando tenga más parte de la interfaz completa, la iré posteando.
     
    Saludos! y agradeced maleducados! (si queréis claro...)

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