Ya hace rato me encontraba desaparecido.... Pero he vuelto y con unos files que les encantaran.
No olviden dejar ese "Mencorazona" si te gustaron los files
Texto traido desde el Foro:
"Son los archivos del proyecto los que hicimos hace 2 años, considero apropiado que sea compartido por el propietario original porque ha estado en manos de las personas equivocadas y circuló debajo de la mesa.
Los archivos están en plena forma, se puede iniciar sesión en el juego con freebsd 11.3 mariadb 10.3, gcc8.
Hay un montón de cosas en él, como un ronark de ortografía cero que no se ve en otros lugares (puede que no sea suave), un sistema de comestibles objeto en el juego (estoy hablando de la forma en que estas otras moscas comparten nuestras migas de pan), rubinum offlineshop (incluyendo alquimia, cristal de comercio, precio promedio, etc.), etc; Pero no es del todo transparente. Déjame decirte que este archivo no se ha utilizado desde este proyecto"
Visualizacion de presentacion:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Descargar Files:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Libs:
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.
- Discord : Mustang#1649
- Boost 1.7.2
- Cryptopp 8.2.0
- MariaDB 10.3
- FreeBSD 12.1 RELEASE (32 BIT & 64 BIT)
- LLVM-DEVEL-11.0 (CLANG 11)
- Mob proto & Item Pro from official v20.1.3
- race.msm from officiel v20.1.3
- Save account system
- Official create/select character
- Syserr clean
- Only official Metin2 system
- No one custom system added
- No one syserr was hide with //
- Sell with VDI full source+start
- No coredown, all fix applied
- Visual Studio 2019
- Granny 2.9
Service.h
#ifndef __INC_SERVICE_H__
#define __INC_SERVICE_H__
/****************************************
* title_name : System Info Client
* filename : ../../common/service.h
* author : Mustang
* version : Version 1.2
* date : 25 03 2020
* update : 01 05 2020
****************************************/
/*** YMIR System ***/
#define ENABLE_PET_SYSTEM // Système de pet de Ymir
#define ENABLE_UDP_BLOCK // Block UDP port
#define ENABLE_TRADABLE_ICON // Effet d'icon lors des échanges
#define ENABLE_HIGHLIGHT_SYSTEM // Effet slot nouveau item
#define ENABLE_CHEQUE_SYSTEM // Système de Won
#define ENABLE_GAYA_SYSTEM // Système de Gaya
#define ENABLE_SASH_SYSTEM // Système d'étole
#define ENABLE_PENDANT_SYSTEM // Système de talisman du FR
#define ENABLE_NEW_BONUS // Les nouveaux bonus du FR
#define ENABLE_ELEMENT_TARGET // Affiche l'élement du monstre
#define ENABLE_MAGIC_REDUCTION_SYSTEM // Pierre réduction magique du FR
#define ENABLE_QUIVER_SYSTEM // Système de carquois
#define ENABLE_SOULBIND_SYSTEM // Système de liaison d'âme
#define ENABLE_TRANSMUTATION_SYSTEM // Système de transmutation
#define ENABLE_SHOW_MOB_INFO // Niveau et aggresivité des monstres
#define ENABLE_DICE_SYSTEM // Système de drop aléatoire
#define ENABLE_COSTUME_WEAPON_SYSTEM // Système de costume d'arme
#define ENABLE_MOUNT_COSTUME_SYSTEM // Système de costume monture
#define ENABLE_NEW_EMOTION // Système de new emotion
#define ENABLE_MESSENGER_BLOCK // Système de block message
#define ENABLE_VIEW_EQUIPMENT_SYSTEM // Système de visualisation du profil
#define ENABLE_OX_RENEWAL // Mise à jours de l'OX de l'officiel
#define ENABLE_AGGREGATE_MONSTER_EFFECT // Système d'effet des capes
#define ENABLE_CHANGE_CHANNEL_SYSTEM // Système de changement de channel
#define ENABLE_MAILBOX_SYSTEM // Système de boîte aux lettres
#define ENABLE_AURA_SYSTEM // Système d'aura de l'officiel
#define ENABLE_COSTUME_ENCHANT_SYSTEM // Changement de switch bonus costume
#define ENABLE_ATTR_TRANSFER_SYSTEM // Système de transfert bonus costume
#define ENABLE_SOUL_EVENT_SYSTEM // Soul event system
#define ENABLE_GROWTH_PET_SYSTEM // Système de familier
/*** YMIR System ***/
/*** Official Update System ***/
#define ENABLE_PARTY_UPDATE // Mise à jour de l'officiel
#define ENABLE_MOUNT_TRANSMUTATION_SYSTEM // Système de transmutation monture
#define ENABLE_CUBE_RENEWAL // Les bonus sont sauvés lors d'un craft
#define ENABLE_CUBE_STONE_RENEWAL // Les pierres sont sauvés lors d'un craft
#define ENABLE_YMIR_AFFECT_FIX // Accumulation de bonus d'effet à la connexion
#define ENABLE_PAERYONG_CENTER // Rugissement du dragon à distance
#define ENABLE_KNOCBACK_SYSTEM // KNOCKBACK Patch Skill 17.5
#define ENABLE_NEW_GYEONGGONG_SKILL // Pas de plume explosif de l'officiel
#define ENABLE_GACHA_SYSTEM // ITEM_GACHA
#define ENABLE_QUEST_RENEWAL // Quest renewal with categories
#define ENABLE_GRADE_MYTH // Dragon soul mythical grade
#define ENABLE_EXTENDED_SOCKET // Extend item sockets
/*** Official Update System ***/
/*** Enable Hack System ***/
#define ENABLE_CHECK_GHOSTMODE_HACK // Respawn si le joueurs est en ghost mode
/*** Enable Hack System ***/
/*** Enable System ***/
#define ENABLE_PORT_SECURITY // Port p2p fix
#define ENABLE_IMPROVED_PACKET_ENCRYPTION // Encryption des packets
#define ENABLE_EXTENDED_INVENTORY // Pages d'inventaire supplémentaire
//#define ENABLE_IGNORE_LOW_POWER_BUFF // Ignore low power buff
/*** Enable System ***/
#endif
Locale_inc.h
/****************************************
* title_name : System Info Client
* filename : ../../UserInterface/Locale_inc.h
* author : Mustang
* version : Version 1.2
* date : 25 03 2020
* update : 08 06 2020
****************************************/
/*** YMIR Services System ***/
#define LOCALE_SERVICE_EUROPE
/*** YMIR Services System ***/
/*** YMIR System ***/
#define ENABLE_COSTUME_SYSTEM // Système de costume
#define ENABLE_ENERGY_SYSTEM // Système d'energie
#define ENABLE_DRAGON_SOUL_SYSTEM // Système d'alchimie du dragon
#define ENABLE_NEW_EQUIPMENT_SYSTEM // Système de ceinture
#define ENABLE_TRADABLE_ICON // Système d'effet d'échanges
#define ENABLE_HIGHLIGHT_SYSTEM // Système "nouveau item"
#define ENABLE_CHEQUE_SYSTEM // Système de Won
#define ENABLE_GAYA_SYSTEM // Système de Gaya
#define ENABLE_SASH_SYSTEM // Système de sash
#define ENABLE_MOUNT_COSTUME_SYSTEM // Système de monture
#define ENABLE_PENDANT_SYSTEM // Système de talisman
#define ENABLE_NEW_BONUS // Système de talisman et nouveau bonus
#define ENABLE_ELEMENT_TARGET // Système de target d'élement
#define ENABLE_MAGIC_REDUCTION_SYSTEM // Système de réduction magie
#define ENABLE_COSTUME_WEAPON_SYSTEM // Système de costume d'arme
#define ENABLE_QUIVER_SYSTEM // Système de carquois
#define ENABLE_SOULBIND_SYSTEM // Système de liason d'âme
#define ENABLE_TRANSMUTATION_SYSTEM // Système de transmutation
#define ENABLE_BONUS_BOARD // Système de tableau de bonus
#define ENABLE_NEW_MINIMAP // Renew de la minimap
#define ENABLE_TAB_NEXT_TARGET // Système de switch de cible
#define ENABLE_SHOW_MOB_INFO // Système d'info niveau/aggressivité
#define ENABLE_TASKBAR_GROUPING // Fenêtre barre de tache séparé comme l'officiel
#define ENABLE_DICE_SYSTEM // Système de drop aléatoire
#define ENABLE_NEW_EMOTION // Système de new emotion
#define ENABLE_MESSENGER_BLOCK // Système de block joueur
#define ENABLE_VIEW_EQUIPMENT_SYSTEM // Système de visualisation des équipements
#define ENABLE_AGGREGATE_MONSTER_EFFECT // Système d'effet des capes
#define ENABLE_CHANNEL_CHANGE_SYSTEM // Système de changement de channel
#define ENABLE_MAILBOX_SYSTEM // Système de boite aux lettres
#define ENABLE_AURA_SYSTEM // Système d'aura
#define ENABLE_ENCHANT_COSTUME_SYSTEM // Système switch bonus costume
#define ENABLE_ATTR_TRANSFER_SYSTEM // Système de transfert bonus costume
#define ENABLE_SOUL_SYSTEM // Soul system
#define ENABLE_GROWTH_PET_SYSTEM // Growth pet system
/*** YMIR System ***/
/*** Official Update ***/
#define ENABLE_PARTY_UPDATE // Système de groupe map officiel
#define ENABLE_MOUNT_TRANSMUTATION_SYSTEM // Système de transmutation pour monture
#define ENABLE_OX_RENEWAL // Message OX de l'officiel
#define ENABLE_NEW_GYEONGGONG_SKILL // Pas de plume explosif de l'officiel
#define ENABLE_NINJA_INVISIBILITY_RENEW // Système d'invisibilité au complet
#define ENABLE_GACHA_SYSTEM // ITEM_GACHA
#define ENABLE_QUEST_RENEWAL // Quest page renewal
#define ENABLE_DS_GRADE_MYTH // Dragon soul mythical grade
#define ENABLE_MOB_SCALE // ENABLE_MOB_SCALE like official
#define ENABLE_EXTENDED_SOCKET // Extended item sockets
/*** Official Update ***/
/*** Enable System by Mustang ***/
#define ENABLE_EXTENDED_INVENTORY // 4 Pages d'inventaire
#define ENABLE_NEW_REFRESH_MONEY // Nouvelle actualisation des yangs
#define ENABLE_PERFORMANCE_BOOST // Boost des performance du client
/*** Enable System by Mustang ***/
Update 05/07/2020
- Compatibility with 32/64 bits FREEBSD
- All errors encountered resolved
Client test available with 15 account saved : Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Muy buenas a todos,
En nombre de la comunidad M2Tec, me gustaría presentarles el generador de parches en línea.
¿Qué es y qué hace exactamente?
Esta es una herramienta sencilla creada por el personal de M2Tec, con la que puede crear fácilmente un parcheador en línea de forma gratuita para su cliente.
Actualmente estamos en una fase beta y comenzaremos a actualizar su contenido muy pronto, incluyendo un selector multi-idioma, ahora mismo está disponible únicamente en Ingles.
Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
Puede acceder a través de este enlace: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Analisis de URL: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Si tiene algún problema o sugerencia, por favor contacte con nosotros en el foro de la comunidad, es la única forma que tenemos de contacto directo por el momento (aunque también puede contactar conmigo por mensaje privado).
(Quiero aclarar que esto no se pública con la intención de generar SPAM o publicidad de dicha comunidad, simplemente queremos dar a conocer dicha herramienta, por lo tanto la atención por parte de la publicación va diriga a la misma, y si existe algún inconviente por favor le pido honestamente a la administración que me lo haga saber para retirarlo, gracias por su comprensión.)
Saludos cordiales,
Jayden
Bueno, les hago un pequeño aporte de una quest que usaba para dar premios mediante orejas de tanaka, debido a que se ha modernizado la cosa, con el sistema de crafteo es mucho mas facil a la hora de que los usuarios elijan sus premios.
Pero siempre habra uno a quien le sirva esta quest 😄
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Buenasss zoneros y zoneras, hoy os voi a explicar como implementar en vuestro servidores el sistema de logros que meti en Metin2Extasis, hasta con mi querida quest de canjes xd (aunque en elite hay una mas completa la mia es mas sencillita).
ESTA GUIA ES EXCLUSIVA DE METIN2ZONE, QUE NADIE LA COPY PASTEE A OTROS FOROS
Este sistema consiste en una quest y una edicion del cliente que hace que cada vez que un jugador alcance un objetivo concreto, que tu fijas en la quest, le da los puntos correspondientes al logro que haya alcanzando. Si un jugador acumula puntos luego los puede canjear por premios.
Aqui teneis algunas fotos del resultado final (son antiguas del extasis xd):
2 - Como meto yo esto?
El sistema de logros consiste en una quest y en editar unos archivos en el cliente, asà que vamos a ir paso por paso:
2.1: Parte del cliente:
*Todos los archivos que tengais que meter estan en esta descarga:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
2.1.1 - Que archivos vamos a editar? En el cliente editaremos los siguientes archivos:
-Root: dentro de el los archivos game.py y uiachievement.py (este lo meteremos nosotros).
-Etc: donde meteremos los archivos achievement_small.sub y achievement_small.dds
-Uiscript: aqui meteremos el archivo achievementboard.py y warteschleife.py
2.1.2 - Manos a la obra, a implementar!
2.1.2.1: Primero empezaremos con el root. Decompilad vuestro root, abrid el archivo game.py y buscad esto:
def __ServerCommand_Build(self):
Una vez esteis ahi, vais hasta donde pone "CloseSafeBox" y cuando esteis en esa linea le dais a a enter y pegais esto:
# Achievement System START
"achievement" : self.__AchievementTest,
"achievementpoints" : self.__ShowAchievementPoints,
# Achievement System END
Quedandoos asi:
(Las -------------------- las pongo solo para que distingais la parte que acabamos de añadir, no hay que ponerlas)
Ahora vais al final del archivo, le dais a enter para dejar algo de espacio y pegais esto:
*Siguiente paso: metemos en la carpeta root el archivo uiachievement.py y lo añadimos al xml
<File archivedPath="uiachievement.py" type="2"><![CDATA[Sourceuiachievement.py]]></File>
Listo el root! Sigamos con el etc.
2.1.2.2: Decompilamos nuestro etc, vamos a la carpeta ymir work/ui y metemos el achievement_small.dds. Despues vamos a la carpeta ymir work/ui/public y metemos el achievement_small.sub. Por ultimo agregamos ambos al xml:
<File archivedPath="d:/ymir work/ui/public/achievement_small.sub" type="0"><![CDATA[Sourceymir workuipublicachievement_small.sub]]></File>
<File archivedPath="d:/ymir work/ui/achievement_small.dds" type="0"><![CDATA[Sourceymir workuiachievement_small.dds]]></File>
2.1.2.3: El ultimo paso en el cliente es decompilar nuestro uiscript y meter el archivo achievementboard.py y el warteschleife.py: en la carpeta. Los añadimos al xml y compilamos:
<File archivedPath="uiscript/achievementboard.py" type="2"><![CDATA[Sourceuiscriptachievementboard.py]]></File>
<File archivedPath="uiscript/warteschleife.py" type="2"><![CDATA[Sourceuiscriptwarteschleife.py]]></File>
Y listo ya tenemos todo lo del cliente
2.1: Parte del server:
Bueno ahora ya solo nos queda meter nuestra quest del sistema de logros en la carpeta /home/game/quest (o la ruta en la que tengais la carpeta quest). Aqui os dejo la mia, con los nombres en español, algunos logros añadidos, canje, un item que te da logros (pa quien lo quiera xd), una opcion que te dice tus logros, etc
quest logros_keko begin
state start begin
--LOGIN
when login begin
local actual_achievement_points = pc.getqf("achievement_points")
if pc.getqf("firstlogin") != 1 then
local Reward = 1
pc.setqf("firstlogin", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Primer_login%".. actual_achievement_points + Reward .."")
else
cmdchat("achievementpoints ".. pc.getqf("achievement_points"))
end
end
--BOSSE
when 691.kill begin
local Reward = 2
local Achievement = "Jefe_Orco"
local killcount = pc.getqf("691")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("691", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 791.kill begin
local Reward = 3
local Achievement = "Lider_esoterico"
local killcount = pc.getqf("791")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("791", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2493.kill begin
local Reward = 100
local Achievement = "Dragon_azul"
local killcount = pc.getqf("2493")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2493", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2492.kill begin
local Reward = 20
local Achievement = "Comandante_Setaou"
local killcount = pc.getqf("2492")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2492", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 1091.kill begin
local Reward = 5
local Achievement = "Rey_demonio"
local killcount = pc.getqf("1091")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("1091", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2597.kill begin
local Reward = 20
local Achievement = "Muerte"
local killcount = pc.getqf("2597")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2597", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 1192.kill begin
local Reward = 12
local Achievement = "Bruja_de_hielo"
local killcount = pc.getqf("1192")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("1192", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 1304.kill begin
local Reward = 5
local Achievement = "Tigre_fantasma"
local killcount = pc.getqf("1304")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("1304", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 1901.kill begin
local Reward = 4
local Achievement = "9_colas"
local killcount = pc.getqf("1901")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("1901", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2091.kill begin
local Reward = 3
local Achievement = "Reina_araña"
local killcount = pc.getqf("2091")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2091", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2206.kill begin
local Reward = 4
local Achievement = "Jefe_logros"
local killcount = pc.getqf("2206")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2206", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 2191.kill begin
local Reward = 5
local Achievement = "Tortuga_del_desierto"
local killcount = pc.getqf("2191")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("2191", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 692.kill begin
local Reward = 3
local Achievement = "Orco_elite"
local killcount = pc.getqf("692")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("692", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 693.kill begin
local Reward = 5
local Achievement = "Orco_renacido"
local killcount = pc.getqf("693")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("693", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
--Item shop---
when 50129.use begin
say_title ( "Obten puntos logro")
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Obten 200 puntos logro" )
if p == 1 then
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points + 200 )
say ( "Enorabuena tienes 200 logros mas" )
say ( "Disfrutalos!" )
item.remove ( "50129", 1 )
end
end
when 50130.use begin
say_title ( "Obten puntos logro")
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Obten 100 puntos logro" )
if p == 1 then
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points + 100 )
say ( "Enorabuena tienes 100 logros mas" )
say ( "Disfrutalos!" )
item.remove ( "50130", 1 )
end
end
when 50131.use begin
say_title ( "Obten puntos logro")
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Obten 50 puntos logro" )
if p == 1 then
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points + 50 )
say ( "Enorabuena tienes 50 logros mas" )
say ( "Disfrutalos!" )
item.remove ( "50131", 1 )
end
end
when 50132.use begin
say_title ( "Obten puntos logro")
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Obten 25 puntos logro" )
if p == 1 then
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points + 25 )
say ( "Enorabuena tienes 25 logros mas" )
say ( "Disfrutalos!" )
item.remove ( "50132", 1 )
end
end
--CANJES--
when 50115.use begin
say_title ( "Canjea tus puntos logro" )
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Caballo armado - 5 puntos" , "Caballo militar - 30 puntos" , "Bonus mediohumanos +20% por 30min - 50 puntos" , "Bonus HP +5000 por 30min - 60 puntos" , "Armadura divina - 400 logros" , "Mascota de ataque - 30 puntos" , "Mas" )
if p == 1 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
say ( "Has recibido un caballo armado" )
horse . set_level ( "11" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50052" , 1 )
return
elseif p == 2 then
if pc . getqf ( "achievement_points" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 30 )
say ( "Has recibido un caballo militar" )
horse . set_level ( "21" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50053" , 1 )
return
elseif p == 3 then
if pc . getqf ( "achievement_points" ) <= 49 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 50 )
say ( "Has recibido 20% fuerza contra mediohumanos por 30min" )
affect . add_collect ( apply . ATTBONUS_HUMAN , 20 , 60 * 30 )
return
elseif p == 4 then
if pc . getqf ( "achievement_points" ) <= 59 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 60 )
say ( "Has recibido 5000hp por 30min" )
affect . add_collect ( apply . MAX_HP , 5000 , 60 * 30 )
return
elseif p == 5 then
if pc. getqf ( "achievement_points" ) <= 399 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 399 )
local armor = select ( "Armd. divina (G)" , "Armd. divina (N)" , "Armd. divina (S)" , "Armd. divina (C)" )
if armor == 1 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "42080" , 1 )
return
elseif armor == 2 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "44080" , 1 )
return
elseif armor == 3 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "46080" , 1 )
return
elseif armor == 4 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "48080" , 1 )
return
end
elseif p == 6 then
if pc . getqf ( "achievement_points" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 29 )
say ( "Has recibido la mascota de ataque" )
pc . give_item2 ( "30312" , 1 )
return
elseif p == 7 then
local p2 = select ( "Leon Blanco - 40 puntos" , "Anillo experiencia - 5 puntos" , "Fuerza monstruo +20% 30min - 15 puntos" , "Velocidad movimiento +25% 30min - 10 puntos" , "Mascota de defensa - 25 puntos" , "Cuantos logros tengo?" , "Cerrar" )
if p2 == 1 then
if pc . getqf ( "achievement_points" ) <= 39 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 40 )
say ( "Has recibido un leon blanco disfrtualo, no se acaba" )
pc . give_item2 ( "50110" , 1 )
return
elseif p2 == 2 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
say ( "Disfruta de un anillo de experiencia" )
pc . give_item2 ( "71015" , 1 )
return
elseif p2 == 3 then
if pc . getqf ( "achievement_points" ) <= 14 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 15 )
say ( "Has recibido 20% fuerza monstruo por 30min" )
affect . add_collect ( apply . ATTBONUS_MONSTER , 20 , 60 * 30 )
return
elseif p2 == 4 then
if pc . getqf ( "achievement_points" ) <= 9 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 10 )
say ( "Has recibido 25% velo.movimiento por 30min" )
affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 30 )
return
elseif p2 == 5 then
if pc . getqf ( "achievement_points" ) <= 24 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 25 )
say ( "Has recibido la mascota de defensa" )
pc . give_item2 ( "71124" , 1 )
return
elseif p2 == 6 then
local Reward = 0
local Achievement = "Ver_tus_logros"
local killcount = pc.getqf("logros")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
elseif p2 == 7 then
return
end
end
end
--METINS
when 8013.kill begin
local Reward = 8
local Achievement = "Metin_muerte"
local killcount = pc.getqf("8013")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8013", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 8016.kill begin
local Reward = 5
local Achievement = "Metin_demonio"
local killcount = pc.getqf("8016")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8016", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 8012.kill begin
local Reward = 6
local Achievement = "Metin_caida"
local killcount = pc.getqf("8012")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8012", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 8015.kill begin
local Reward = 5
local Achievement = "Metin_dureza"
local killcount = pc.getqf("8015")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8015", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 8026.kill begin
local Reward = 2
local Achievement = "Metin_85"
local killcount = pc.getqf("8026")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8026", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
when 8027.kill begin
local Reward = 3
local Achievement = "Metin_90"
local killcount = pc.getqf("8027")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("8027", killcount + 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_destruido#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
end
--LEVELS
when login or levelup with pc.get_level() >= 15 and pc.getqf("Level15") != 1 begin
local Reward = 2
local Achievement = "Level_15"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level15", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 30 and pc.getqf("Level30") != 1 begin
local Reward = 2
local Achievement = "Level_30"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level30", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 40 and pc.getqf("Level40") != 1 begin
local Reward = 3
local Achievement = "Level_40"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level40", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 50 and pc.getqf("Level50") != 1 begin
local Reward = 4
local Achievement = "Level_50"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level50", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 75 and pc.getqf("Level75") != 1 begin
local Reward = 5
local Achievement = "Level_75"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level75", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 85 and pc.getqf("Level85") != 1 begin
local Reward = 10
local Achievement = "Level_85"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level85", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 90 and pc.getqf("Level90") != 1 begin
local Reward = 25
local Achievement = "Level_90"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level90", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 95 and pc.getqf("Level95") != 1 begin
local Reward = 50
local Achievement = "Level_95"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level95", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
when login or levelup with pc.get_level() >= 99 and pc.getqf("Level99") != 1 begin
local Reward = 100
local Achievement = "Level_99"
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("Level99", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_alcanzado%".. actual_achievement_points + Reward .."")
end
--CHECK EQUIP
when login begin
loop_timer("check_eq", 10)
end
when check_eq.timer begin
local russi = pc.get_armor()
local waffe = pc.get_weapon()
local actual_achievement_points = pc.getqf("achievement_points")
local Reward = 5
if russi==11299 and pc.getqf("achievement_ssp") != 1 then
pc.setqf("achievement_ssp", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."")
elseif russi==11499 and pc.getqf("achievement_swa") != 1 then
pc.setqf("achievement_swa", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."")
elseif russi==11699 and pc.getqf("achievement_mpp") != 1 then
pc.setqf("achievement_mpp", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."")
elseif russi==11899 and pc.getqf("achievement_sk") != 1 then
pc.setqf("achievement_sk", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Armadura negra+9%".. actual_achievement_points + Reward .."")
elseif waffe==189 and pc.getqf("achievement_gifti") != 1 then
pc.setqf("achievement_gifti", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Giftschwert+9%".. actual_achievement_points + Reward .."")
elseif waffe==199 and pc.getqf("achievement_lowenschw.") != 1 then
pc.setqf("achievement_lowenschw.", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Löwenschwert+9%".. actual_achievement_points + Reward .."")
elseif waffe==5129 and pc.getqf("achievement_orchiglocke") != 1 then
pc.setqf("achievement_orchiglocke", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Orchideenglocke+9%".. actual_achievement_points + Reward .."")
elseif waffe==2179 and pc.getqf("achievement_krahenstahl") != 1 then
pc.setqf("achievement_krahenstahl", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Krähenstahlbogen+9%".. actual_achievement_points + Reward .."")
elseif waffe==1139 and pc.getqf("achievement_teufelsflugenchak") != 1 then
pc.setqf("achievement_teufelsflugenchak", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Teufelsflügel-Chakram+9%".. actual_achievement_points + Reward .."")
elseif waffe==3169 and pc.getqf("achievement_Grolli") != 1 then
pc.setqf("achievement_Grolli", 1)
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement Grollschwert+9%".. actual_achievement_points + Reward .."")
end
end
end
end
Y para que no os quedeis simplemente metiendo la quest y ya ta os voi a explicar como funciona:
1 - Lo mas importante de los logros es que cuando alcanzas uno (por ejemplo matar al jefe orco) te suma puntos mediante un pc.setqf:
when 691.kill begin
local Reward = 2
pc.setqf("achievement_points", actual_achievement_points + Reward)
Como veis ahà al jefe orco (mob de id 691) le asigna los puntos que vale con local Reward = 2 y luego te suma 2 puntos con el pc.setqf("achievement_points", actual_achievement_points + Reward (el reward en este caso seria un +2).
Por lo tanto si quereis añadir otro mob a la lista de logros solo tendreis que hacer lo siguiente:
when idmob.kill begin
local Reward = puntos -- Poneis cuantos puntos quereis que os de
local Achievement = "Nombre del mob que saldra en el cliente"
local killcount = pc.getqf("idmob") -- Se usa para que el juego lleve la cuenta de cuantas veces lo mataste
local actual_achievement_points = pc.getqf("achievement_points") -- Calcula cuantos puntos tenes
pc.setqf("693", killcount + 1) -- Aqui os suma 1 al numero de ese mob que llevais
pc.setqf("achievement_points", actual_achievement_points + Reward) -- aqui te suma tus puntos por matarlo
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") -- Con esto te saldra la ventana en el cliente diciendo que lo mataste y cuantos puntos tenes
end
Ahora os enseñare como hacer los canjes. En mi caso los canjes se hacen mediante un item, pero vosotros podeis hacerlo como querais simplement cambiando el when iditem.use por un when npc.chat."Canje de Logros" o como os apetezca.
Veamos como tengo yo los canjes:
when 50115.use begin
say_title ( "Canjea tus puntos logro" )
local actual_achievement_points = pc . getqf ( "achievement_points" )
local p = select ( "Caballo armado - 5 puntos" , "Caballo militar - 30 puntos" , "Bonus mediohumanos +20% por 30min - 50 puntos" , "Bonus HP +5000 por 30min - 60 puntos" , "Armadura divina - 400 logros" , "Mascota de ataque - 30 puntos" , "Mas" )
if p == 1 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
say ( "Has recibido un caballo armado" )
horse . set_level ( "11" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50052" , 1 )
return
elseif p == 2 then
if pc . getqf ( "achievement_points" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 30 )
say ( "Has recibido un caballo militar" )
horse . set_level ( "21" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50053" , 1 )
return
elseif p == 3 then
if pc . getqf ( "achievement_points" ) <= 49 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 50 )
say ( "Has recibido 20% fuerza contra mediohumanos por 30min" )
affect . add_collect ( apply . ATTBONUS_HUMAN , 20 , 60 * 30 )
return
elseif p == 4 then
if pc . getqf ( "achievement_points" ) <= 59 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 60 )
say ( "Has recibido 5000hp por 30min" )
affect . add_collect ( apply . MAX_HP , 5000 , 60 * 30 )
return
elseif p == 5 then
if pc. getqf ( "achievement_points" ) <= 399 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 399 )
local armor = select ( "Armd. divina (G)" , "Armd. divina (N)" , "Armd. divina (S)" , "Armd. divina (C)" )
if armor == 1 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "42080" , 1 )
return
elseif armor == 2 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "44080" , 1 )
return
elseif armor == 3 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "46080" , 1 )
return
elseif armor == 4 then
say ( "Has recibido la Armadura divina" )
pc . give_item2 ( "48080" , 1 )
return
end
elseif p == 6 then
if pc . getqf ( "achievement_points" ) <= 29 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 29 )
say ( "Has recibido la mascota de ataque" )
pc . give_item2 ( "30312" , 1 )
return
elseif p == 7 then
local p2 = select ( "Leon Blanco - 40 puntos" , "Anillo experiencia - 5 puntos" , "Fuerza monstruo +20% 30min - 15 puntos" , "Velocidad movimiento +25% 30min - 10 puntos" , "Mascota de defensa - 25 puntos" , "Cuantos logros tengo?" , "Cerrar" )
if p2 == 1 then
if pc . getqf ( "achievement_points" ) <= 39 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 40 )
say ( "Has recibido un leon blanco disfrtualo, no se acaba" )
pc . give_item2 ( "50110" , 1 )
return
elseif p2 == 2 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
say ( "Disfruta de un anillo de experiencia" )
pc . give_item2 ( "71015" , 1 )
return
elseif p2 == 3 then
if pc . getqf ( "achievement_points" ) <= 14 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 15 )
say ( "Has recibido 20% fuerza monstruo por 30min" )
affect . add_collect ( apply . ATTBONUS_MONSTER , 20 , 60 * 30 )
return
elseif p2 == 4 then
if pc . getqf ( "achievement_points" ) <= 9 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 10 )
say ( "Has recibido 25% velo.movimiento por 30min" )
affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 30 )
return
elseif p2 == 5 then
if pc . getqf ( "achievement_points" ) <= 24 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 25 )
say ( "Has recibido la mascota de defensa" )
pc . give_item2 ( "71124" , 1 )
return
elseif p2 == 6 then
local Reward = 0
local Achievement = "Ver_tus_logros"
local killcount = pc.getqf("logros")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
elseif p2 == 7 then
return
end
end
end
*Si os fijais la ultima opcion de la tienda de canjes te permite ver tus logros, para ello le hice un logro que te sume 0 puntos pero que te enseña cuantos tienes:
elseif p2 == 6 then
local Reward = 0
local Achievement = "Ver_tus_logros"
local killcount = pc.getqf("logros")
local actual_achievement_points = pc.getqf("achievement_points")
pc.setqf("achievement_points", actual_achievement_points + Reward)
cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")
Asi que si necesitais hacer vuestra opcion de ver logros ahi teneis
Tal como eso son todos los canjes, si quereis hacer vuestros propios canjes os hago aqui un pequeño script de canje para explicaros como seria:
when 20095.chat."Canjear mis logros" begin
say_title("Canjear mis logros")
say("")
say("Hola jugador, si tienes logros")
say("yo te los puedo cambiar por cositas.")
say("")
say("Si no tienes intenta conseguir alguno")
say("porque merece la pena")
say("")
say_reward("Quieres canjear tus punots?")
local canje = select ("Si" , "No")
if canje == 1 then
say_title("Canjes de logros")
say("")
say("Elige lo que quieras")
local elegir = select ("Quinto bonus - 3 logros" , "Añadir 6-7 bonus - 4 logros" , "Cambiar 6-7 bonus - 5 logros" , "Caballo armado - 6 logros" , "Caballo militar - 8 logros" , "Cerrar")
if elegir == 1 then
if pc . getqf ( "achievement_points" ) <= 2 then
chat( "Lo siento necesitas mas puntos" )
return
end
pc.give_item2("70024", 1)
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 3 )
return
elseif elegir == 2 then
if pc . getqf ( "achievement_points" ) <= 3 then
chat( "Lo siento necesitas mas puntos" )
return
end
pc.give_item2("71051", 1)
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 4 )
return
elseif elegir == 3 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
pc.give_item2("71052", 1)
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
return
elseif elegir == 4 then
if pc . getqf ( "achievement_points" ) <= 5 then
chat( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 6 )
chat ( "Has recibido un caballo armado" )
horse . set_level ( "11" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50052" , 1 )
return
elseif elegir == 5 then
elseif p == 2 then
if pc . getqf ( "achievement_points" ) <= 7 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 8 )
chat( "Has recibido un caballo militar" )
horse . set_level ( "21" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50053" , 1 )
return
elseif elegir == 6 then
return
end
elseif canje == 2 then
return
end
end
Este script es un pequeño regalo para vosotros, lo hice ahora para que podais usar otro si no quereis el que tenia en el extasis.
*Para meterla en vuestra quest podeis quitar mi tienda de canjes y pegar esta si quereis, o hacerla como quest separada.
Por ultimo os explicare como funcionan los canjes con un ejemplo:
local p = select ( "Caballo armado - 5 logros")
if p == 1 then
if pc . getqf ( "achievement_points" ) <= 4 then
say ( "Lo siento necesitas mas puntos" )
return
end
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 )
say ( "Has recibido un caballo armado" )
horse . set_level ( "11" )
horse . unsummon ( )
horse . summon ( )
pc . give_item2 ( "50052" , 1 )
return
Empieza con un local = select para que escojais vuestro premio y os aconsejo que pongais ahi cuantos logros cuesta como hice yo.
Luego puse una restriccion para que si teneis menos puntos que los que pide el item no os deje comprarlo:
if pc . getqf ( "achievement_points" ) <= 2 then
chat( "Lo siento necesitas mas puntos" )
return
end
Funciona de la siguiente manera: donde pone <= 2 teneis que poner un punto menos que los que pide, ya que eso dice que si tienes esos puntos o menos no te deje comprar.
Despues del return end ya solo teneis que poner el comando para que os quite los puntos que es este:
local actual_achievement_points = pc . getqf ( "achievement_points" )
pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) --Poneis ahi los que quereis que quite
Y lo que quereis que os dea justo debajo de esas dos lineas:
pc.give_item2("71052", 1) --- Ahi poned lo que quereis que dea
Y eso es todo zoneros, que disfruteis del sistema de logros !!!
Creditos: al creador del sistema (que no es mio xd) y a mi por la parte de la quest mia y la traduccion de la original.
Ola k ase (yawn) , pues aki yo de nuevo pero esta vez con la guia de instalar autopach por .lz bueno empezamos.. primero que nada quiero aclarar que el compilador del autopach no es mio pero lo dejare , pero todo lo demas me toco investigarme por mi mismo repito me toco investigar por mi mismo.. bueno primero que nada aca estan los links:
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.
Bueno una ves teniendo eso empesaremos por la parte de la web subiremos la carpeta autopach a tu web , localhost o lo que tengamos..
Una ves subido editaremos el metin2torrent.config.xml y lo configuraremos algo asi:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Bien una ves hecho eso quedara algo haci en la web:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Cuidado aqui el 0.0.0.1 es donde se subiran los parches.. en fin seguimos con la parte del cliente
Bien vamos a autopach creator (por zetsu) que por cierto tambien traduci la parte del torrent y blabla . bien entonces haremos lo siguiente
abriremos..
TorrentPatch.url.xml
TorrentPatch.locale.xmleditaremos los URL de los autopach.. en mi caso seria algo asi: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Bueno aora seguimos con el TorrentPatch.url.xml
bueno este es muy delicado teneis que poner exactamente donde esta tu URL con el metin2torrent.config.xml
Bien en mi caso seria algo asi:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Bueno una ves hecho guardamos eso crearemos el patch.. que seria con el que creò zetsu.. (Metin2_Autopatcher_Creator.exe) con ese lo crearemos y quedara Metin2Patch.exe ese meteremos al cliente
despues de eso abriremos la carpeta client cojemos eso y lo pegamos en el cliente y bien aremos lo siguiente (cuando ya copies y peges en el cliente) , Pondremos el URL del autopach que en mi caso seria algo asi:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Bueno una ves hecho eso abrimos y todo estara terminado lo que les faltara que acontinuacion explicare como hacer patch's, que se compilan con .lz y se pega el codigo en el crclist.. y se crean directorios en 0.0.0.1 que por ejemplo es algo asi
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Cada actualisacion que vallas haciendo metela dependiendo en donde quieres que llegue del cliente..
y bueno es todo al final se mirara algo asi:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
bueno eso es todo saludos y gracias a rafa por motivarme (aunque lo aiga hecho en contra de mi voluntad xd)
Files are based on Easy Oldschool
Files included
Advance duel (choose type of duel)
normal duel
Advance duel (without critical, penetration or poison)
Inventory Yang (example 1T 987M 654K 32 Yang)
Skills over P.
New emotes
It's called inventory
Insert link in chat
Petsytem as official
New pets from Official
Costumes
Weapon costumes
3D weapons
Target information system
Item Buff System
Wing system
Title system from Vegas
Offline shop
Sidebar (day / night switchbot, teleporting, recycling)
Bonus page
Block EXP and Shadow (options)
Shop name Pickup Yang Drop (game options)
Offline messages
New trade "$"
Inventory lock via password
interface color system
record video
prestige system
vip system (miss and mister over head)
alchemy
transmutation
Game - Mysql
Client
Server/Client Source
Dump Proto Source.
etwas PSD
Ich habe einige Bilder hinzugefügt. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
OX MAP
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Automatically polymorph at OX map
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Buff system
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Charinterface
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Color system 2
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Color system
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
enter password inventory password
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Inventory lock
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Offline shop
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Options
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Paste link open
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
paste link
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
recycle
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sidebar
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Teleport
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Title system
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
150 €
If I'm interested, please write a letter. Price can also be traded
Weitere Informationen Zwerg # 2967
Hola, les vengo a regalar esta quest tipo dungeon hecha por mi, la tengo en mi servidor como dungeon y va súper bien, espero que les guste, les dejo los regen también.
Quest:
----------------
-Quest By Fuuton97
-www.metin2skill.com & www.fuuton97.com
-Dungeon Templo Perdido
----------------
quest templo_perdido begin
state start begin
when login begin
if pc.get_map_index() == 42 then
pc.set_warp_location(42, 216, 3335)
end
end
when 20095.chat."Mapa Templo Perdido" begin
if pc.get_level() <= 209 then
say_title("*ANCIANO*:")
say("")
say_reward("Usted debe ser Nivel 210 para Entrar.!")
return
end
say_title("*TEMPLO PERDIDO*")
say("")
say("Guerrero ".. pc.get_name() .." estás hablando con el anciano")
say("que te va a llevar al mundo donde han despertados las bestias.")
say("Te encomiendo este reto viajero")
say("Estos mob te dropearán 5to bonos.")
say("Cyclops, bestias jamas antes vistas en este mundo.")
say("Recuerda deberás ser Nivel 210 para Entrar.")
say("Suerte Viajeros...!!")
say("")
say_reward("Quieres entrar?")
local templo = select("Si" , "No")
if templo == 1 then
pc.warp(21600, 336000)
else
say_title("*ANCIANO*:")
say("Vale, vuelve cuando estés listo.")
say("By Metin2 Skill - www.metin2skill.com")
return
end
end
when 20094.chat."Acceso al Templo Perdido" with pc.get_map_index() == 42 begin
timer("entrada_templo", 5)
chat("Suerte Viajeros")
end
---PLANTA:1---
when entrada_templo.timer begin
d.new_jump_all(42, 216, 3367)
d.setf("fuuton", 1)
d.regen_file("data/dungeon/fuuton/planta_1.txt")
d.notice("Viajeros, destruye el Metin para liberar el Mal de esta primera Planta")
d.spawn_mob(8027, 240, 166)
end
when 8027.kill with d.getf("fuuton") == 1 begin
d.notice("Han destruido el Metin del Mal, avanzarán a la 2da Planta.")
timer("segunda_planta", 5)
end
---PLANTA:2---
when segunda_planta.timer begin
d.jump_all(190, 3657)
d.setf("fuuton", 2)
d.regen_file("data/dungeon/fuuton/planta_2.txt")
d.notice("Destruye al Guardían de esta Planta")
d.spawn_mob(2738, 186, 405)
end
when 2738.kill with d.getf("fuuton")== 2 begin
d.notice("Han destruido al Guardían")
timer("tercera_planta", 5)
end
---PLANTA:3---
when tercera_planta.timer begin
d.jump_all(501, 3471)
d.setf("fuuton", 3)
d.setf("metines", 5)
d.regen_file("data/dungeon/fuuton/planta_3.txt")
d.notice("Destruye los Metines, tienen 5 minutos.")
d.spawn_mob(8025, 570, 224)
d.spawn_mob(8025, 556, 225)
d.spawn_mob(8025, 563, 226)
d.spawn_mob(8025, 560, 225)
d.spawn_mob(8025, 556, 220)
end
when 8025.kill and d.getf("fuuton") == 3 begin
d.setf("metines", d.getf("metines")-1)
if d.getf("metines") == 0 then
d.notice("Han destruido todos Metines, ascendereis")
timer("cuarta_planta", 5)
end
d.notice("Han destruido 1 Metin, aun les quedan "..d.getf("metines").." por destruir")
end
---PLANTA:4---
when cuarta_planta.timer begin
d.jump_all(573, 3904)
d.setf("fuuton", 4)
d.regen_file("data/dungeon/fuuton/planta_4.txt")
d.notice("Matar a los mob y dar con el verdadero.")
local fuu = math.random(1, 5)
if fuu == 1 then
local vid = d.spawn_mob(2740, 544, 582)
d.set_unique("real", vid)
elseif fuu == 2 then
local vid = d.spawn_mob(2740, 545, 567)
d.set_unique("real", vid)
elseif fuu == 3 then
local vid = d.spawn_mob(2740, 599, 555)
d.set_unique("real", vid)
elseif fuu == 4 then
local vid = d.spawn_mob(2740, 578, 556)
d.set_unique("real", vid)
elseif fuu == 5 then
local vid = d.spawn_mob(2740, 589, 565)
d.set_unique("real", vid)
end
end
when 2740.kill with pc.in_dungeon() and d.getf("fuuton")== 4 begin
if d.is_unique_dead("real") then
d.notice("Haveis matado el mob verdadero")
d.notice("Ascendereis de planta")
timer("quinta_planta", 5)
else
d.notice("Este mob no es el correcto")
end
end
---PLANTA:5---
when quinta_planta.timer begin
d.jump_all(282, 3993)
d.setf("fuuton", 5)
d.regen_file("data/dungeon/fuuton/planta_5.txt")
d.notice("Mata al Gran Jefe *|CYCLOPS BOSS DEVIL|*")
d.spawn_mob(2739, 187, 670)
end
when 2739.kill with d.getf("fuuton") == 5 begin
notice_all("El personaje ".. pc.get_name() .." ha derrotado al Gran Jefe *|CYCLOPS BOSS DEVIL|*")
chat("Viajeros, haveís completado el desafio, Metin2 Skill Team - By Fuuton97")
timer("final_planta", 60)
end
---SALIDA---
when final_planta.timer begin
warp_to_village()
end
end
end
Si la deseas descargar la dungeon en formato .quest acá:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Descargar regen's:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Espero que les guste, un saludo Fuuton97.
Bueno, ya que estaba hablando con vampirito, e decidido hacer el baul del aprendiz, esta bastante simplificado con 1 array muy facilmente modificable.
Aqui os la dejo.
Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Hello, bears. Here you have a list where you can find the entire plechito available on the internet. You don't have to search, and we provide it to prevent the sale of free items, as is the case with one of the Polish forums.
free
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
The list is constantly updated
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Buenas tardes , Vengo a traer un cliente virgen 2008 para los que quieran trabajar files antiguos !
Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Puede descomprimir los archivos en el paquete con EterNexus y para iniciar el cliente puede crear un archivo .bat con el texto de inicio metin2.bin dentro de él.
Buena Zone! Cuando publiqué ServerFile2009 ... tengo un pequeño error ... ¡y lo resolví en el lado del cliente! y lo instalé todo !!! ¡va bien para el juego 2089m! ¡Base de misiones de miembros! ¡miembro del cliente solo 4 systeme! Tamaño 680 MB! ¡Vaya bueno y con 512 MB de RAM!
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.
1) ¡Pregunta a la Ayuda de GM!
2) Modificar la interfaz Clog-Client
3) ¡el nuevo cluster de mapas map1 con plantas!
4) el sistema pvp cuando mata a un jugador aparece por encima del efecto normal * NO POKEMAN * ERROR ¡Cliente resuelto!
¡TUT MYSQL! Instalar mysql y juego! dar reinicio! Restablecer contraseña mysql dar reinicio y listo!
Files: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Cliente: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Creditos a : Debes iniciar sesión para ver el contenido del enlace en esta publicación.
NO OLVIDES DEJAR TU MG Y DAR GRACIAS !!
Hola Chicos, de mt2zone mirando foros encontre estos SF capaz y alguien los quiera trabajar.
NOTA: Establezca la configuración de información del servidor en la sección "lib / server /". Inicie sesión en Putty y escriba Cd / usr / home / game e ingrese Sh start.sh, y cuántos canales abrirá, ingrese y entre se abrirán sin problemas.
Creditos a: @ AsiLZаde @ Nikoo85
DB: 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.