Elite™ Posted November 11, 2016 Report Share Posted November 11, 2016 Hola buenas de nuevo a la gente de metin2zone, hoy vengo a aportar mi versión del evento de verano de este año. Os dejo el enlace del npc Summer Debes iniciar sesión para ver el contenido del enlace en esta publicación. ¿En que consiste el evento? - Consiste en conseguir distinos objetos que se deben ir entregando al npc Summer. Estos són los objetos que hay que entregar: Cambia 10 Bolas de hielo por una Bolsa de hielo. Cambia 3 Bolsa de hielo por un Cuenco de cristal. Cambia 3 Cuenco de cristal por un Pastel de hielo. Cambia 1 Pastel de hielo por un Arcón helado. Cambia 100 Bolas de hielo por un Sello del Caballo Negro de 7 dias. Cambia 200 Bolas de hielo por un Sello del Caballo Negro de 15 dias. Cambia 300 Bolas de hielo por un Sello del Caballo Negro de 30 dias. Cambia 500 Bolas de hielo por un Sello del Caballo Negro de 60 dias Aquí os dejo la Quest totalmente funcional con código legible y simplificado ---------------------------------- -- Evento Verano (Summer) -- Creado por Elite™ ---------------------------------- quest summer begin state start begin function getObjeto() return ( { --Nombre,Vnum,Cantidad,Recompensa {"Bolas de hielo", 50279,10,50278}, {"Bolsa de hielo", 50278,3,50280}, {"Cuenco de cristal",50280,3,50281}, {"Pastel de hielo", 50281,1,50282}, {"Bolas de hielo", 50279,100,71131}, {"Bolas de hielo", 50279,200,71132}, {"Bolas de hielo", 50279,300,71133}, {"Bolas de hielo", 50279,500,71134} } ) end when 30307.chat."¿Algo para refrescarse?" begin say_title(mob_name(30307)) say("¡Hola, mi sol! Me encanta este árbol, pero ni") say("siquiera a su sombra refresca. ¡Daría lo que") say("fuera por un helado! ¿Y tú cómo lo llevas?") wait() say_title(pc.getname()..":") say("Genial... ¡y refrescante!") wait() say_title(mob_name(30307)) say("Ahora sí: voy a necesitar tu ayuda, porque el") say("mejor helado lo tienen los monstruos. ¡Que no, no") say("me ha dado ninguna insolación! ¿Podrías ir y") say("arrancarles unas cuantas Bolas de hielo?") say_item_vnum(50279) wait() say_title(pc.getname()..":") say("Ir a buscar Bolas de hielo y traértelas... ¡Dalo") say("por hecho!") set_state(refrescante) end end state refrescante begin when 30307.chat."¿Algo para refrescarse?" begin say_title(mob_name(30307)) say("¡Vaya calor hace hoy! ¿Qué se te ofrece?") local opcion=select("Bolsa de hielo","Cuenco de cristal","Pastel de hielo","Arcón helado","Cancelar") if opcion > 4 then return end local objeto = summer.getObjeto() local nombre = objeto[opcion][1] local vnum = objeto[opcion][2] local cantidad_objeto = objeto[opcion][3] local recompensa = objeto[opcion][4] local cantidad = cantidad_objeto - pc.count_item(vnum) if pc.count_item(vnum) >= cantidad_objeto then say("¡Lo has conseguido! Toma, te has ganado tu parte") say("con todas las de la ley. Pero no toques el helado") say("de chocolate: eso es todo para mí. Disfruta el") say("verano... y vuelve cuando quieras una segunda porción.") pc.remove_item(vnum,cantidad_objeto) pc.give_item2(recompensa,1) else say("Falta "..nombre.." Te hacen falta "..cantidad..".") end end when 30307.chat."El caballo negro noble" begin say_title(mob_name(30307)) say("Quiero hacer el Pastel de hielo más grande del") say("mundo. Para ello voy a necesitar infinidad de") say("Bolas de hielo. ¿Te queda alguna? Sabré ") say("recompensarte. Cuantas más Bolas de hielo me des,") say("más tiempo podrás usar el Caballo negro.") local pregunta=select("Sí ","No") if pregunta == 2 then return end local opcion=select("Caballo negro 7 días - 100 Bolas de Hielo","Caballo negro 15 días - 200 Bolas de Hielo","Caballo negro 30 días - 300 Bolas de Hielo","Caballo negro 60 días - 500 Bolas de Hielo","Cancelar") if opcion > 8 then return end local objeto = summer.getObjeto() local nombre = objeto[opcion+4][1] local vnum = objeto[opcion+4][2] local cantidad_objeto = objeto[opcion+4][3] local recompensa = objeto[opcion+4][4] local cantidad = cantidad_objeto - pc.count_item(vnum) if pc.count_item(vnum) >= cantidad_objeto then say("¡Lo has conseguido! Toma, te has ganado tu parte") say("con todas las de la ley. Pero no toques el helado") say("de chocolate: eso es todo para mí. Disfruta el") say("verano... y vuelve cuando quieras una segunda porción.") pc.remove_item(vnum,cantidad_objeto) pc.give_item2(recompensa,1) else say("Falta "..nombre.." Te hacen falta "..cantidad..".") end end end end Gregory i Ptaszniki, laraxkox, VELZY and 10 others 12 1 Quote Link to comment Share on other sites More sharing options...
Elite™ Posted November 11, 2016 Author Report Share Posted November 11, 2016 Parte Servidor Añado el item_proto.txt 50278 ¾ÆÀ̽ºÅ©¸² ITEM_USE USE_SPECIAL 1 ANTI_DROP | ANTI_SELL | ANTI_STACK | ANTI_MYSHOP ITEM_STACKABLE NONE NONE 0 0 0 0 0 REAL_TIME 2592000 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 1800 10 5 10 0 0 0 0 0 50279 ½ºÄò ITEM_QUEST 0 1 NONE ITEM_STACKABLE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 50280 ¾óÀ½Á¢½Ã ITEM_QUEST 0 1 NONE ITEM_STACKABLE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 50281 ¾ÆÀ̽ºÅ©¸² ÄÉÀÌÅ© ITEM_QUEST 0 1 NONE ITEM_STACKABLE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 50282 ¿©¸§»óÀÚ ITEM_GIFTBOX 0 1 ANTI_DROP | ANTI_SELL | ANTI_STACK | ANTI_MYSHOP ITEM_STACKABLE NONE NONE 0 0 0 0 0 REAL_TIME 2592000 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 71131 ɦضݒȯ҇ ITEM_UNIQUE UNIQUE_SPECIAL_RIDE 1 ANTI_MYSHOP | ANTI_STACK | ANTI_GIVE | ANTI_SELL | ANTI_DROP LOG | QUEST_USE_MULTIPLE WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 10800 0 0 0 0 0 0 0 0 71132 ɦضݒȯ҇ ITEM_UNIQUE UNIQUE_SPECIAL_RIDE 1 ANTI_MYSHOP | ANTI_STACK | ANTI_GIVE | ANTI_SELL | ANTI_DROP LOG | QUEST_USE_MULTIPLE WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 21600 0 0 0 0 0 0 0 0 71133 ɦضݒȯ҇ ITEM_UNIQUE UNIQUE_SPECIAL_RIDE 1 ANTI_MYSHOP | ANTI_STACK | ANTI_GIVE | ANTI_SELL | ANTI_DROP LOG | QUEST_USE_MULTIPLE WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 43200 0 0 0 0 0 0 0 0 71134 ɦضݒȯ҇ ITEM_UNIQUE UNIQUE_SPECIAL_RIDE 1 ANTI_MYSHOP | ANTI_STACK | ANTI_GIVE | ANTI_SELL | ANTI_DROP LOG | QUEST_USE_MULTIPLE WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 86400 0 0 0 0 0 0 0 0 Añado item_names.txt 50278 Bolsa de hielo 50279 Bolas de hielo 50280 Cuenco de cristal 50281 Pastel de hielo 50282 Arcón helado 71131 Sello del Caballo Negro 71132 Sello del Caballo Negro 71133 Sello del Caballo Negro 71134 Sello del Caballo Negro Añado mob_proto.txt 30307 ¿©¸§ NPC KING NPC MELEE 1 100 NOMOVE 0 STUN,SLOW,TERROR 2 0 0 0 0 0 0 0 0 120 3 1 0 0 10 4 100 100 0 2000 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Añado mob_names.txt 30307 Summer Parte Cliente Añado Item_proto.xml <ItemDef Vnum="50278" Name="¾ÆÀ̽ºÅ©¸²" LocalizedName="Bolsa de hielo" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="98688" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="7" LimitValue0="2592000" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="1800" Value1="10" Value2="5" Value3="10" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="50279" Name="½ºÄò" LocalizedName="Bolas de hielo" Type="18" SubType="0" Weight="0" Size="1" AntiFlags="0" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="50280" Name="¾óÀ½Á¢½Ã" LocalizedName="Cuenco de cristal" Type="18" SubType="0" Weight="0" Size="1" AntiFlags="0" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="50281" Name="¾ÆÀ̽ºÅ©¸² ÄÉÀÌÅ©" LocalizedName="Pastel de hielo" Type="18" SubType="0" Weight="0" Size="1" AntiFlags="0" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="50282" Name="¿©¸§»óÀÚ" LocalizedName="Arcón helado" Type="23" SubType="0" Weight="0" Size="1" AntiFlags="98688" Flags="4" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="7" LimitValue0="2592000" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="71131" Name="Èæ¸¶¼Òȯ±Ç" LocalizedName="Sello del caballo negro" Type="28" SubType="2" Weight="0" Size="1" AntiFlags="106880" Flags="9216" WearFlags="128" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="10080" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="71132" Name="Èæ¸¶¼Òȯ±Ç" LocalizedName="Sello del caballo negro" Type="28" SubType="2" Weight="0" Size="1" AntiFlags="106880" Flags="9216" WearFlags="128" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="21600" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="71133" Name="Èæ¸¶¼Òȯ±Ç" LocalizedName="Sello del caballo negro" Type="28" SubType="2" Weight="0" Size="1" AntiFlags="106880" Flags="9216" WearFlags="128" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="43200" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> <ItemDef Vnum="71134" Name="Èæ¸¶¼Òȯ±Ç" LocalizedName="Sello del caballo negro" Type="28" SubType="2" Weight="0" Size="1" AntiFlags="106880" Flags="9216" WearFlags="128" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="86400" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" /> Añado mob_proto.xml <MobDef Vnum="30307" Name="¿©¸§ NPC" LocalizedName="Summer" Type="1" Rank="5" BattleType="0" Level="1" ScalePct="100" Size="0" DropGoldMin="0" DropGoldMax="0" Experience="10" MaxHP="120" RegenCycle="3" RegenPercent="1" Defense="4" AIFlags="2" RaceFlag="0" ImmuneFlag="35" Str="0" Dex="0" Con="0" Int="0" DamageMin="0" DamageMax="0" AttackSpeed="100" MovingSpeed="100" AggressiveHPPct="0" AggressiveSight="2000" AttackRange="150" EnchantCurse="0" EnchantSlow="0" EnchantPoison="0" EnchantStun="0" EnchantCritical="0" EnchantPenetrate="0" ResistSword="0" ResistTwohand="0" ResistDagger="0" ResistBell="0" FesistFan="0" ResistBow="0" ResistFire="0" ResistElect="0" ResistMagic="0" ResistWind="0" ResistPoison="0" ResistBleeding="0" ResistClaw="0" ResurrectionVnum="0" DropItemVnum="0" MountCapacity="0" OnClickType="2" Empire="0" Folder="" DamMultiply="0.000000" SummonVnum="0" DrainSP="0" MonsterColor="0" PolymorphItemVnum="0" SkillVnum0="0" SkillLevel0="0" SkillVnum1="0" SkillLevel1="0" SkillVnum2="0" SkillLevel2="0" SkillVnum3="0" SkillLevel3="0" SkillVnum4="0" SkillLevel4="0" BerserkPoint="0" StoneSkinPoint="0" GodSpeedPoint="0" DeathBlowPoint="0" RevivePoint="0" Unknown1="0" Unknown2="0" Unknown3="0" Unknown4="0" /> Añado itemdesc.txt 50278 Bolsa de hielo Esta Bolsa de hielo tiene un efecto especial: velocidad de movimiento +10%, daño +5%, experiencia +10%. Tiene una duración de 30 minutos. Consúmela o canjea una vez al día 3 Bolsas de hielo por un Cuenco de cristal. 50279 Bolas de hielo Reúne Bolas de hielo para Summer. Necesita 10 Bolas de hielo para una Bolsa de hielo. 50280 Cuenco de cristal Este exclusivo Cuenco de hielo te ofrece muchas posibilidades para presentar tus creaciones de hielo de manera creativa. Ve a la ciudad a ver a Summer para canjear 3 Cuencos de cristal por un Pastel de hielo. 50281 Pastel de hielo Ve a pedirle a Summer una bolsa de frío para tu Pastel de hielo. 50282 Arcón helado ¡Este Arcón helado no es cualquier cosa! Ábrelo y extrae uno de los codiciados objetos. 71131 Sello del caballo negro Un sello para un caballo de pura raza. 71132 Sello del caballo negro Un sello para un caballo de pura raza. 71133 Sello del caballo negro Un sello para un caballo de pura raza. 71134 Sello del caballo negro Un sello para un caballo de pura raza. Añado item_list.txt 50278 ETC icon/item/50278.tga 50279 ETC icon/item/50279.tga 50280 ETC icon/item/50280.tga 50281 ETC icon/item/50281.tga 50282 ETC icon/item/50282.tga 71131 ETC icon/item/71131.tga 71132 ETC icon/item/71131.tga 71133 ETC icon/item/71131.tga 71134 ETC icon/item/71131.tga ... 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. Naund, laraxkox, LovePlay and 3 others 6 Quote Link to comment Share on other sites More sharing options...
PACI Posted November 11, 2016 Report Share Posted November 11, 2016 Esta muy bien, pero solo un par de cosillas: Puedes utilizar la funcion item_name(itemVnum) para los nombres de los objetos, no hay necesidad de añadir ese dato a la tabla. También es posible utilizar la función npc.get_race() para obtener el vnum del NPC seleccionado, de este modo no se necesita cambiarlo en el mob_name(). LovePlay, Elite™ and Alexis_. 3 Quote Link to comment Share on other sites More sharing options...
Fulger Posted November 12, 2016 Report Share Posted November 12, 2016 No tienes los objetos que los puedas compartir ? PD: Se ve interesante.. Quote Link to comment Share on other sites More sharing options...
Elite™ Posted November 12, 2016 Author Report Share Posted November 12, 2016 No tienes los objetos que los puedas compartir ? PD: Se ve interesante.. Hecho, he actualizado el post. Quote Link to comment Share on other sites More sharing options...
admnahui Posted November 15, 2016 Report Share Posted November 15, 2016 esta muy buena la quest pero yo le cambiaria y le pondria que de recompensa de trajes de verano :/ PD: si alguien tiene los trajes de verano que me pase el link del post Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.