Hola shabots, antes que nada se que estan en el foro los files de pandora-eternia2 que subio Debes iniciar sesión para ver el contenido del enlace en esta publicación., la cosa es que se lo traigo ya montados facilitando lo maximo posible a quien quiera usarlos, ya vienen en un VDI de BSD 9.3, solo los monte y les hice un mini test, no movi nada, no limpie nada en mysql, le toca meter mano a quien lo use.
El VDI suponiendo que estan usando virtualbox vean un tutorial por si no saben como montarlo ahi, se loguean, le dan el tipico sysinstall, cambian la ip 192.168.0.123 por la ip ipv4 de su computadora (teniendo en cuenta que usan virtualbox xd) y en la siguiente ip ponen su misma ip pero cambiando al final por .100 o lo que quieran pero te recomiendo .100 para que no haya fallas, esta ip terminada en .100 la pondran en el cliente para que les conecte :v
El cliente esta sin el root, pero esta la carpeta unpack con un descompilador (ahi esta la carpeta root, locale_es y un descompilador de los protos), cambian la ip de la carpeta root / serverinfo.py, ponen la ip terminada en .100 o como la hayan dejado (NO LA IPV4) lo compilan y meten en pack del cliente (supongo que saben lo mas basico).
USUARIOS Y CONTRASEÑAS:
VDI
Usuario: root
Contraseña: delaro
MYSQL
Usuario: root
Contraseña: Vla%Lord%v1
Datos del juego
Usuario: delaro
Contraseña: delaro
COMO INICIAR?
Una vez puestas las ips correctamente en cliente y VDI, te logueas en el VDI o putty si es lo que usas, e inicias el servidor con los comandos:
cd /usr/game das enter y ahora si quieres iniciar 1, 2, 3 o 4 channels escribe solo uno de los siguientes comandos:
sh run.sh iniciara 1 channel
sh run2.sh iniciara 2 channels
sh run3.sh iniciara 3 channels
sh run4.sh iniciara los 4 channels
espera a que te diga que esta listo y ya podras loguearte en el cliente y entrar al juego.
para detener el servidor: sh close.sh esperas a que termine de detenerse y ya podras reiniciar sin problemas.
Links por MEGA, es el VDI, el cliente y el source con los libs :v
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.
Lo que traen estos files es:
ARREGLO PARA PAR DE BUG "SEVEROS" GRACIAS A Debes iniciar sesión para ver el contenido del enlace en esta publicación. Y Debes iniciar sesión para ver el contenido del enlace en esta publicación.:
Imagenes ejecutando los 4 channels sin problemas :v
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.
Si estas leyendo esto: te amo uwu
Te creas prro deja el me encanta y abrete alv :v
Hola zoneros, bueno hace tiempo que me había encontrado un bonito desing de un login y pues comenze a trabajarlos para crearle los scripts de 0, tenia pensado no postearlo ya que nunca lo e visto en un cliente, y pues bueno después de todo aquí se los traigo chavales, espero les guste.
Ojo El script Todavía no esta terminado, le faltan cosas pero como esta funciona perfecto.
También mas delante les traeré el PSD junto con un slect pj, create pj y select empire con el mismo desing de login para los que les gusta tener todo el cliente igual.
Saludos Chavales
Espero Su MG.
Los Amo A todos<3
LINK: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Instrucciones para instalarlo:
Descomprimen el archivo, encontraran 2 carpetas locale y root
las de locale descompialaran su locale_xx
entraran hasta la carpeta ui hay dentro copean todos los archivos.
después descompilan root
y lo de la carpeta root lo meterán dentro remplazan y listo ya pueden utilizarlo.
PS: El Script esta para clientes 40k con phyton 2.7, también pueden utilizarlo en clientes con versión menor
pero deberán actualizar el phyton a la versión 2.7.
Hola chicos, por inforge vi esta guía de hace tiempo, es para poner color en quest pero con más colores y con una nueva cosa.
He dejado lo que son los archivos en italiano, si alguien los quiere traducidos los traduzco enseguida.
Link Original: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Creador: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Vamos al tema:
Para usarlo ponemos así en los say de la quest:
say_color("nombre color", "texto")
Una función secundaría:
set_text_color("rosso")
say("Ahora escribira todo el rato rojo")
say("Ahora escribira todo el rato rojo")
say("Ahora escribira todo el rato rojo")
say("Ahora escribira todo el rato rojo")
set_text_color("giallo")
say("Ahora escribira siempre en amarillo")
say("Ahora escribira siempre en amarillo")
say("Ahora escribira siempre en amarillo")
say("Ahora escribira siempre en amarillo")
set_text_color("default")
say("Ahora escribiremos como siempre")
Imagen de está función secundaria
Esto ultimo os lo añado yo de extra, como añadir un nuevo color:
Para añadir un color solo debemos hacer esto:
vamos al questlib y debajo de el color 'nero' copiamos lo siguiente
['color'] = {R,G,B},
En color ponemos el nombre del color que vamos a poner.
En r,g,b tenemos que poner el color, os dejo una tabla de colores aquí:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Es el R,G,B dec
Luego vamos a quest_functions y añadimos el nombre del nuevo color igual que en el questlib
Hola, amigos de Metin Zone.
He visto este post en otro foro y he decidido traerlo a zone, ya que son una base estable y de aquí pueden empezar muchos sin algunos errores.
Inicialmente estos Files + Source son Pagos, pero los traigo gratis, ya que compartir es vivir, oh al menos eso dicen, sin mas que decir, los dejo con ello.
Cito Texto Anexado a los Files y Source:
Hola, compartí la fuente principal hace meses, pero no me percate de muchos problemas, el gremio, alquimia tenían problemas, etc. Cerré el tema para crear uno nuevamente. Este es el nuevo. No hay problemas en muchos sistemas oficiales como el sistema de alquimia. Les deseo buen uso a quienes lo usen. Una pequeña nota; No tomé la infraestructura de nadie, o no tomé la infraestructura de la parte de alguien. El proyecto; Mainline FUENTE Fix. Cliente; Granny 2.9 Python 2.7 Contraseña de Navicat:
123456 personaje GM;
ID: root
PASS: 123456 Comandos de compilación;
/ usr / mainlinesource / Server gmake clean & gmake all o el comando anterior se puede hacer de una manera clásica
Errores Solucionados
------------------------------------->Se Aumento el Tamaño de los Boos <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Info. Hora, Nivel En MP <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Atuendos y Vestidos de Boda Fix <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
-------------------------------------> Objetos de "0" Yang cambian a "Gratis" <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Hoguera Fixeada <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Bloqueo de Comercio mientras se esta TRANSFORMADO <---------------------------------------
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.
------------------------------------->Alquimia Sin Coste <---------------------------------------
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.
------------------------------------->Alquimia Sin Coste <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Mensaje de Área Protegida <---------------------------------------
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
------------------------------------->Cambio de Color a Signos de Reino [J] [S] [C] <---------------------------------------
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. <---------------------------------------
#Mui buen aporte yo tengo esas armas en gr2 en mi servidor, pero que mejor que las transformen en mde para ponerlas animadas quedan de lujo buen aporte men saludos
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.
Aqui os dejo el sistema de monturas entero y en español cojoné, y haber si la Comunidad hispana le tiramos mas al relase que epvp la mayoria de post son relase
Sera que somos muy avariciosos incluyendome.
La descarga trae :
-Todas las monturas
-Leones
-Tigres
-Jabalies
-Renos
-Tiempo en los sellos
-Evolucion de monturas
-Cada montura te da un bonus que pone en la desc del item.
Cliente
-ItemProto (Todos los sellos)-GR2 Y Texturas-NPCLIST-Itemlist-Uitooltip (Para el tiempo en los sellos)-ItemDesc
Servidor
-Quest x2 -Las quest en español y el sistema identico al español.-Querys del : -Item_Proto
Os dejo unas imagenes para que no me lloren...
Esta posteado por epvp la quest y tal, pero esta en español y encima viene todo en este post...
IMPORTANTE: Tambien en el sistema esta la nueva Montura el Dinosaurio que lo añadio sema en la quest mandenle besos. (EN LA DESCARGA NO TRAE EL GR2 NI LA TEXTURA, YA QUE NO LOS ENCONTRE)
Creditos:
-SeMa porque me gustan sus fotos de perfiles. (okno porque el me lo paso)
-Mi madre (Por parirme y poder postear esto)
-Mi padre (Por rellenar a mi madre de jugo y comprarme el PC para poder postear esto)
-Skype (Por poder hablar con sema y comprarle cosas chungas de gente pro )
-El que lea esto es tonto.
-Shakelum retarder come We*v*s (Quedo bonita la frase)
-ARRIBA LA DICTADURA
-Van 2 y se cae el del medio JAJAJWJADJAWDUJAWUAJWJUAJUAJAJAJUAJWUJAIJAIJIAJ
Link de descarga cojoné:
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.
Un cliente mío quería este sistema en su servidor y no pude encontrarlo en ninguna parte. Y cuando lo encontré en algún foro estaba incompleto.
Me quedé un par de horas y busqué cada solución en este sistema. ¡Así que lo compartiré contigo! 🙂
¡Disfrutar!
¿Qué es nuevo?
- Corregido crash core
- Arreglado el exploit de recompensa de nivel 90
- Corregidos errores de compilación
- Agregado botón de inventario
Evidence
Download
Download Mirror # 2
VirusTotal
Thanks:
- Mot (corrección de error char.cpp)
- Diaconu (corrección de error AFF_BIO)
- Kratos (corrección de Crash core)
- amvenitsavadcv (corrección de error count_value)
- [HF] White - Dan Andrei (reelaborado y completado el sistema / tutorial
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Hoy les traigo unos files (que no es nada raro) de EDWARD BestProduction, esta vez en su version V5 del mes de Febrero, y como ya saben, si tienen la marca de EDWARD son de calidad, uno que otro error pero nada que no tenga solucion. Como bonus adicional, nos deja una guia (espero poderla seguir y subir el FreeBSD) de como crear un freebsd v12.0 para estos files, que en cuanto pueda instalarlo bien y adecuadamente se los estare pasando.
En cuanto a esta version, viene mas recargada, con nuevos sistemas, nuevos mapas, nuevas dungeons y mas chula. Sin mas que decir les dejo estos lindos Files.
Cito:
"Hola amigos he esperado mucho tiempo la versión v4 La versión V5 es una versión fija de los problemas solucionados. Puedo decir muchas razones para no compartir, pero prometí no compartir ninguna necesidad. Sé que llevas mucho tiempo esperando. Ignoré los problemas incluidos en el sistema para interrumpir el equilibrio del juego que me gusta. He eliminado los sistemas que necesitan juegos innecesarios. Lycan -Lyceless 1-105 1-120 formatos diferentes se dividen. Durante este tiempo algunos de los vacíos son inútiles. Virtual 30-40 realde niños de 10-15 años en el grupo de niños mismos. Han pronunciado discursos como si estuvieran obligados. Trabajamos con salario adicional a estos elementos 🙂 No hables como tu cabeza sopla, a nadie le gustará tu corazón Hará lo que quieras si viene de dentro, ayuda a compartirlo. No puedes decidir un poco sobre tu mente. No tuve que agregar la presentación completa de los archivos v4 en el apósito y se realizó la eliminación. Aquellos que quieran información detallada pueden ver v4. Se entiende mejor si escribí y escribí las correcciones. He explicado las ediciones y configuración necesarias en los archivos v4. Puedes hacer esto mirando el tema."
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
'' BUG - FIX DISPLAYS '' Versión GCC actualizada Lista de sistema fuente revisada sistemas innecesarios eliminados. El personaje Lycan fue eliminado por completo de los packs y source. La estructura del juego fue dibujada de 1-120 a 1-105. El 99% de nuestros amigos en V4 y @traglon11 han resuelto sus problemas. Algunos mapas teletransportan al problema de cierre del cliente solucionado. Se han reconfigurado los mapas y MAPA PERMITIR. Algunas misiones han sido arregladas. Solucionado el problema abierto en reemplazos de transferencia de bono de atuendos. El tiempo de apertura mejoró al comenzar el juego. Se agregaron algunas funciones de código faltantes en la ventana comercial. Uitooltip.py ha sido revisado. Se han eliminado algunos códigos redundantes en los paquetes. Las opciones de juego y sistema han sido reconfiguradas. Habilidad revisada Proto / C ++ Python Se arreglaron algunos problemas en el sistema de chamanes. Los problemas con el sistema de eventos se han solucionado. Estoy pensando en lo que recuerdo ahora ..."
Nuevos Sistemas
'' INTRODUCCIÓN DE NUEVOS SISTEMAS AÑADIDOS ''
1- Sistema de báscula móvil [Puedes ampliar la ranura que quieras]
2- sistema Ronark
3- Sistema de avistamiento zodiacal.
4- sistema de control de bot
5- Sistema de la torre del diablo revuelto
6- Sistema de bloqueo de cuenta.
6- Sistema informático seguro / Entrada del cliente y en el juego.
6- Sistema automático de eventos oficiales.
7- Sistema de rompecabezas de pescado.
7- Sistema Boss Hunter
8- Personaje dentro del juego de la bandera lateral que muestra el chat global / Empire Flag
9- Sistema de deslumbramiento del traje [Karaca425]
10- Sistema de efecto de tapón de pistola.
11- Sistema de efecto Boss.
12- Caña de pescar y sistema de efectos de excavación [+]
13- + sistema de anuncio push
14- Sistema oficial de demostración de bonus.
15- Sistema de carreras de caballos.
16- Sistema de modo prisión.
17- 9 Sistema de zodiaco plegado [de linterna]
18- 5 nuevos mapas [mapa]
19- Nuevo sistema mejorado y opciones de juego.
20- Gui oficial del gremio.
21- 2 nuevo barco de pesca.
22- Nuevas emociones y estilos de baile.
23- Sistema de torneos WS
IMAGENES DE MUESTRA
Aumento de escala de Jefes
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
5 Nuevos mapas
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.
Cambios Tipo Oficial(Normal - Cambio+)
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Chat Mejorado
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Prision
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Control de Switch
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Brillos de Atuendo
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.
Sistema de Efecto de Jefes
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Nuevas Emociones
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Eventos Automaticos
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.
Sistema de Gremios Tipo Oficial
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de WS
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema Nuevo de Seguridad
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.
Mapa Laberinto
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Nuevas Opciones
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.
Brillos de Caña y Pico
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.
Sistema de Opciones Rediseñado
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.
Sistema de Atuendos
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Bonus Tipo Oficial
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Mejora Mejorado :u
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Sistema de Ronark
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.
Sistema de Torre demonios Mejorado
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.
Sistema de Zodiaco
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Poco a poco pondre cada sistema, pues se cayo la pagina y las imagenes desaparecieron
El pack incluye:
- Cliente
- Source code cliente
- Source code server
- Server files (quests, mapas, cores, etc.)
Son unos server bastante estables y equilibrados, probados con más de 500 usuarios online al mismo tiempo sin problemas de lag o caídas.
Sin bugs.
Actualmente el servidor se encuentra online y podéis probarlo en Debes iniciar sesión para ver el contenido del enlace en esta publicación.
También le podéis echar un ojo a la presentación si queréis ver lo que incluyen: Presentación
Descripción y sistemas:
- Base estable, equilibrada y testeada con cientos de usuarios online.
- Cabos y flechas infinitas
- Instant equip
- Special Storage
- Diálogo destruir objetos
- MP al hacer click en nombre
- Target information
- Shop offline + WON (versión única sin bugs)
- Cambiar CH (versión única sin bugs)
- Pet system
- Inventory slot marking + exchange system
- Rocios en affect bar
- Revivir full hp
- Block/unblock exp
- Estolas
- Biólogo profesional
- Sistema de brillos
- Party buff
- Un jugador por IP en mapas indicados
- Revive event para quests
- Limite de yang 999.999.999.999
- Dungeon info
- Transfiguración
- Dar MDs a todos los player de un imperio en un mapa.
- Dungeons únicas: (Aryas dungeon, Cueva Slime, Bosque Celestial...)
- Dungeons normales: (Nemere, Arrador, Azrael, Torre...)
- Eventos: (Budokan, guerra de reinos, defiende tu metin, sayon, guerra total, evento de caza, trueque sorpresa...)
- Atuendos de armas y armaduras únicos
- Y mucho más... revisa presentación o descarga el servidor.
Server File: Debes iniciar sesión para ver el contenido del enlace en esta publicación. (Elimine base de datos y estan limpios)
WEB programada en Python: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Puedes revisar el funcionamiento de esta en www.metin2rage.com
Bueno amigos como vi que mucho no pudieron montar los .tar.gz asi que los monte & los subi espero que les sirva & no olviden dejar El "Me Gusta" & Decir Gracias :33 XD
DESCARGA
SERVERFILES
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
CLIENTE
MEGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
MEDIAFIRE: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
PARCHE DE TORRE NEMERE CLIENTE
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
CREDITOS
asusta99
EzekielitohMercury (Ezekielitoh) por subirlos & montarlos en VDI
DATOS DE LA MAQUINA
Usuario:root
Contraseña:dar enter no poner nada
COMANDOS PARA ENCENDER EL SERVIDOR
DATOS DE NAVICAT
ID: ragemt2
pass: susta
CUENTA DEL JUEGO
ID:ragemt2
CONTRASEÑA:123
Bueno @Jfirewall y yo hemos estado haciendo un sistema.
El sistema consta en:
En el npc que queráis, le dais 50 coins y os dan el acceso premium. No desaparece nunca el premium. "Todo esto es fácil de editar"
Dentro del .rar viene toda la información necesaria para instalarlo.
Sabemos que el sistema tiene muchas consultas sql, pero en la siguiente versión, lo vamos a renderizar mucho mas.
PD: Tiene un bugg que vamos a arreglarlo y es que te sale el logo de V.I.P pero si te pones una armadura por ejemplo, se te quita el logo, pero al cabo de 1 minuto se te vuelve a poner.
PD2: Vamos a ir actualizando el post con novedades del sistema.
PD3: Cualquier bugg, dejarlo anotado en el post.
Contraseña del rar con su link de descarga.
Agradecimiento:
-SeMa por ayuda con mysql_query.
-Rafa23Alzira por sus consejos y unas funciones.
Weno, eh aquà otra guÃa, de cómo ponerle un icono a su .exe ya sea del launcher o lo que quieran , simpre que sea .exe xD!. Esto es para la gente que esta cansada del icono original de metin2 o quieren hacer el suyo. PD: si hacen el suyo deben guardarlo en formato .ico Primero paso: Descargar el Resourse Hacker: Debes iniciar sesión para ver el contenido del enlace en esta publicación. Pass: www.metin2zone.net
Segundo paso: Ahora lo descomprimen y abren. Van a File>open y abren el archivo a modificar.
Tercer Paso: Una ves abierto, verán muchas sub carpetas, buscan la de icon , simplemente lo seleccionan al icono y le dan click secundario>delete icon y van a Actions>add resourse
Lo primero lo dejan como esta en lo segundo le ponen icon y listo
Cuarto paso: Ahora cierran, les pregunta si quieren guardar, ponen Si y el nombre que quieren para el nuevo .exe con el icono actualizado [GUIA]Ponerle un icono a un .exe
Weno, eh aquà otra guÃa, de cómo ponerle un icono a su .exe ya sea del launcher o lo que quieran , simpre que sea .exe xD!. Esto es para la gente que esta cansada del icono original de metin2 o quieren hacer el suyo.
PERDON POR LA PANTALLA OSCURA! a mi me gusta asà :$
PD: si hacen el suyo deben guardarlo en formato .ico
PD2: si no tiene icono solo hacen lo del paso 3 desde Add resoruse .
Buenas vi un post en metin2zone de unos de los files que estoy trabajando pero están mal traducidos esos files que fueron publicados como Legendary y tienen error.
Yo los tengo original como Legendy que no tienen errores y los voy a postear aquí tal cual como los comencé a trabajar y también aprovechare les dejare el Debes iniciar sesión para ver el contenido del enlace en esta publicación. de la traducción de la cual estoy vendiendo como Metin2 Max V3 que son los files que llevo trabajado de estos Legendy.
FreeBSD Versión 9.2
Mysql Versión 5.5
Gcc Versión 49
Mysql: root contraseña: legendy
VDI: root contraseña: 1
Actualización del post debido a que muchas personas han tenido inconvenientes con la instalación dejare el link del vdi y los tar.gz que uso y los que están en este vdi no los que estan originalmente hay les deje como adelanto los itemproto y mobproto traducidos al español para que se animen un poquito hay se ahorran unas 25 mil líneas de códigos por traducir.
vdi frebsd 12.2 64 bit
usuario: root clave: 12345678
makepack.rar
metin2client.rar
mysql.tar.gz
game.tar.gz
link de descarga
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Este vdi esta limpio no tiene los files instalados, subir los files y configurar los cores con su ip, y en el root modificar serverinfo.py con su ip y ya, el Vdi frebsd12.2 64bit ya viene con los tar.gz instalado.
Hola Metin2Zone, soy consciente de que hay muchas guías de cambiar contraseña de mysql. Pero como he visto en el chat de metin2zone, comentarios de que no le funcionan la guía o que no esta bien explicado. Lo que voy hacer es una guía definitiva, de recuperar contraseña o cambiar la contraseña de mysql fácilmente.
Nos podemos encontrarnos en los siguientes casos:
Caso 1: No se cual es la contraseña del Navicat (mysql)
(Nota: En los comandos aparecerá "Break#" este es el hostname, de mi vps y en el directorio que me encuentro, no le hagáis mucho caso, solo tenéis que copiar lo que viene detrás)
Break# /usr/local/etc/rc.d/mysql-server stop
Pasaremos a parar lo primero de todo la mysql, para así poder editar la contraseña de los usuarios haciendo una entrada forzosa.
Break# mysqld_safe --skip-grant-tables &
Con este comando lo que hacemos es iniciar el servidor en modo seguro.
Conocimiento sobre este comando que estamos haciendo:
Break# mysql -u root
Entramos a la mysql como usuario root
mysql# use mysql;
Nos movemos a la database mysql, que es la base de datos del sistema de mysql, donde se almacenan los usuarios que existen en la mysql entre otras cosas.
Aquí podemos reemplazar la contraseña que tenia nuestro usuario root, la cual no conocemos, con el siguiente comando:
mysql# update user set password=PASSWORD("TUPASSWORD") where user='root';
Ahora saldremos de la mysql:
mysql# quit
Por último quedaría ya solo arrancar la mysql:
Break# /usr/local/etc/rc.d/mysql-server start
Hasta aquí, seria el caso que desconozcamos la contraseña del usuario root, también serviría este caso para cambiar la contraseña del usuario root, pero lo veo mucho lío, esto ultimo se ve mucho mejor en el caso 2.
Caso 1.1- "En caso de que no hubiésemos tenido éxito en realizar el apartado 1, dejo otras maneras de hacerlo" (AGRADECIMIENTOS A Debes iniciar sesión para ver el contenido del enlace en esta publicación. por compartir la idea).
Para poder cambiar la clave puedes hacerlo desde la maquina o cambiarla desde el filezila o Winscp y aqui tendras dos opciones de cambiarla.
La primera es descargar el rar y añadirlo en la carpeta /var/db/mysql darle permiso 777 a los 3 archivos y antes de hacer reboot cambiar en todos los config el usuario y contraseña
PLAYER_SQL: localhost sebas Juan870614 player
COMMON_SQL: localhost sebas Juan870614 common
LOG_SQL: localhost sebas Juan870614 log
Si tienes Notepad++ abres todos los config de todos los ch de la db y del auth y le cambias todos de una.
Haces reboot y ya podras entrar a modificarlo ya como tu quieras.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Caso 1.2- "En caso de que no hubiésemos tenido éxito en realizar el apartado 1 y 1.1, dejo otras maneras de hacerlo que es muy parecida que el 1.1"
Abrimos winscp o filezilla y nos vamos al siguiente directorio:
/var/db/mysql/mysql
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Descomprimimos el .rar en nuestro pc y subimos los archivos que hay dentro a ese directorio, dirá que si queremos reemplazar, le decimos que si y le damos permisos 777
Por defecto los usuarios que existirán son:
root@localhost
root@%
Ambos usuarios tienen la contraseña: metin2zone
Ahora, nos vamos al config de alguno de nuestros channel
PLAYER_SQL: localhost root passdelosfiles player
Nos fijamos la palabra que tiene detras del usuario ''root'' y esa es la pass de los files.
A partir de aquí en vez de cambiar los configs, podemos hacer el Caso 2, y cambiar la pass por la que hay en los configs, que es mucho más rapido, entrando al navicat con el usuario root y pass metin2zone
He de recordar que usemos siempre el usuario de ''localhost'' para los files, ya que es más seguro.
Caso 2: Conozco la contraseña de mi usuario de mysql pero no se como cambiarla.
Este es el mas sencillo, abres el navicat y te logeas.
Una vez logeado le damos a user:
Y nos saldrán todos los usuarios que existen en nuestra mysql. Seleccionamos el usuario que queramos cambiar la contraseña, en este caso elegiré el usuario Break y le daré a ''Edit User"
Ahora la nueva password, la pondremos en Password: y en Confirm Password:
Una vez puesta le damos a Save y ya estaría cambiada.
Hasta aquí seria el Caso 2.
Espero que os haya resultado útil esta guía, me he intentado explicar lo mejor posible para que todo el mundo pueda utilizar la guía, sin tener mucho conocimiento de la materia.
Si se os da más caso que tengáis problema con los usuarios de la mysql o algo, decirlo en los comentarios y agrego la solución a esos casos. Por lo pronto solo se me han ocurrido esos dos.
Estos files ya estaban en el foro pero esta caído el link así mismo como en el foro turco, los files son de Legendy con base MartySama en su versión 4.9.89 r88
# # # # # # # # # # # # # # # # # # # # # # # # #
CONTENIDO:
Solo traduje a español en cliente y servidor item_proto, mob_proto, locale_game y locale_interface.
Falta traducir quest, locale_string y algunas cosas mas en locale_interface que son "sistemas" añadidos, pero eso ya será cosa de ustedes.
Si hay bugs y sus fixes podrían añadirlo en comentarios y yo podría añadirlo despues al post.
# # # # # # # # # # # # # # # # # # # # # # # # #
VDI: se recomienda asignar al vdi mínimo 4gb de ram, no probé con menor cantidad.
Mysql 5.6
GCC6
Visual Studio 2019
VDI:
Usuario: root Contraseña: delaro
Mysql:
Usuario: root Contraseña: 12345
Esta montado directamente en un VDI funcionando sin ningún problema y ya listo para compilar source game.
Una vez hayan configurado su ip con el comando bsdconfig, para iniciar pueden hacerlo como yo normalmente lo hago, cd /admin ENTER sh admin.sh ENTER y tendrán el menú a la vista, ya solo seria escribir 1 ENTER e iniciaran los 2 channels sin ningún tipo de complicaciones.
# # # # # # # # # # # # # # # # # # # # # # # # #
CUENTA GM:
Usuario: marty Contraseña: 1
IMAGENES DENTRO DEL JUEGO:
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.
LINK DE DESCARGA:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.