boker9999
-
Contador contenido
69 -
Ingreso
-
Última visita
Actividad de reputación
-
boker9999 got a reaction from santos2002 in pack para cambiar texturas
Os dejare el enlace a un video tutorial para editar las texturas de los Gr2.
En el video teneis, el photoshop Cs6 + plugin DDS, el granni viewer y el texture changer granny ( para implementar la textura en el gr2 )
Os dejo el segundo video, ya que algunos dicen que no les guardaba el gr2, o que la textura seguia viendose blanca. En este segundo video explico esas dos cosas.
-
-
boker9999 reacted to ALEXANDER2020 in Sistema de chamán de soporte
Kod (C++):[/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER][/FONT][/CENTER] [FONT=Courier New][CENTER][FONT=Courier New][CENTER][FONT=Courier New] [CENTER][FONT=Courier New] [CENTER][FONT=Courier New] [CENTER]#ifdef ENABLE_SUPPORT_SYSTEM const DWORD exp_support_table[121] = { 0, 300, 800, 1500, 2500, 4300, 7200, 11000, 17000, 24000, 33001, 43000, 58000, 76000, 100000, 130000, 169000, 219000, 283000, 365000, 472000, 610000, 705000, 813000, 937000, 1077000, 1237000, 1418000, 1624000, 1857000, 2122000, 2421000, 2761000, 3145000, 3580000, 4073000, 4632000, 5194000, 5717000, 6264000, 6837000, 7600000, 8274000, 8990000, 9753000, 10560000, 11410000, 12320000, 13270000, 14280000, 15340000, 16870000, 18960000, 19980000, 21420000, 22930000, 24530000, 26200000, 27960000, 29800000, 32780000, 36060000, 39670000, 43640000, 48000000, 52800000, 58080000, 63890000, 70280000, 77310000, 85040000, 93540000, 102900000, 113200000, 124500000, 137000000, 150700000, 165700000, 236990000, 260650000, 286780000, 315380000, 346970000, 381680000, 419770000, 461760000, 508040000, 558740000, 614640000, 676130000, 743730000, 1041222000, 1145344200, 1259878620, 1385866482, 1524453130, 1676898443, 1844588288, 2029047116, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, 2147483646, }; #endif #ifdef ENABLE_SUPPORT_SYSTEM extern const DWORD exp_support_table[121]; #endif
descarga Debes iniciar sesión para ver el contenido del enlace en esta publicación.
-
boker9999 reacted to Break in Armas 105 del Oficial Animadas
Te dejo lo que buscas por aquí:
Y por aquí el virus total:
Un saludo!
-
boker9999 reacted to Metin2HOW in Armas 105 del Oficial Animadas
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.
Las armas se ponen en:
d:\ymir work\item\weapon\ Y en playersettingmodule.py source bin agregar una linea como por ejemplo:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "PART_WEAPON", "D:/ymir work/item/weapon/sabiebeta.mse")
-
boker9999 reacted to EzekielitohMercury in [SET] Armas animadas *Ryan*
Creditos: A&J Ryan
Descarga MEDIAFIRE: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Descarga MEGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
-
boker9999 reacted to Desmint in [ARMA]Armas Animadas
Hola amigos de Metin2 Zone.
En esta oportunidad les traigo este set de armas muy chulas que me he encontrado en otro foto.
Espero las disfruten. Saludos 🙂
Créditos: Just4Metin
Nota: El archivo contiene parte del source - parte de cliente - parte de SQL con un pequeño archivo para implementarlas
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to CriticalError in [GUIA] Adaptación de armas a Metin2.
Muchas gracias por el tuto, muy interesante,bueno pues seguramente ya lo habras conseguido debido al date de la fecha pero wi, aqui lo tienes por si las dudas.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Contrasela: CriticalError
-
boker9999 reacted to Pantsu in [GUIA] Adaptación de armas a Metin2.
Hola queridos usuarios de Metin2Zone. Hoy os traigo una guia de como adaptar un arma del World Of Warcraft por ejemplo y usarla en vuestro Metin2. Bueno lo primero que tenéis que saber son los programas necesarios para hacer dicha adaptación.
·Recursos:
- 3Ds Max 2007.
- World Of Warcraft Cliente.
- World Of Warcraft Model Viewer.
- Plugin Export GR2 Para 3Ds Max 2007.
- GR2 to Mesh.
·Descarga de recursos:
-
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
Debes iniciar sesión para ver el contenido del enlace en esta publicación. / Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Teniendo todo esto solo tendrÃamos que instalar el World Of Warcraft. La instalación puede demorar varias horas. Instalamos el World Of Warcraft Model Viewer y se guardara predeterminadamente en 'C:\Program Files\World Of Warcraft Model Viewer' Al dirigirnos a la ruta del model viewer podemos abrir el .exe llamado 'WowModelViewer32' al abrirlo le damos todo a 'Si' en lo que nos aparezca y se cargara automáticamente la base de datos del World Of Warcraft (Para esta parte hace falta tener el World Of Warcraft instalado y actualizado). Ahora el 3Ds max lo instalan. Descomprimimos el archivo Plugins y la carpeta la pasamos a la raÃz del 3Ds MAX 2007. Después de todo esto podremos comenzar con la guÃa.
1º Paso: Exportar cosas del World Of Warcraft Model Viewer.
Lo primero de todo esto es abrir el Model Viewer del World Of Warcraft. Al abrir el Model Viewer y si ya tenemos el World Of Warcraft instalado nos aparecerá el programa y primero una ventana y le damos a 'Si' luego a 'Aceptar' y tendremos la Base de datos cargada. Para las armas nos vamos a 'Item' luego a 'Objectcomponents' y finalmente a 'Weapons' y escogemos un arma para nuestro metin. Asi como muestro en la imagen. Para exportar le dais a File -> Export Model -> Wavefront OBJ.
[El arma que se muestra en la imagen en la base de datos se llama 'sword_1h_raid_d_03']
2º Paso: Sacar modelo de arma Metin2 para adaptar el arma del World Of Warcraft.
Descargamos el GR2 to Mesh y arrastramos ahi un GR2 de un arma del Metin2. Por ejemplo el de un arma del nivel 1 (00010.gr2) lo ponemos en la carpeta del GR2 to Mesh. Y arrastramos el GR2 a 'grnreader' y aparecerán 3 ventanas es cuestion de darle 'Si' a las tres ventanas.Despues de este paso ya tendremos el 00010.GR2.ms y ese archivo lo arrastramos hasta el 3Ds Max. Asi ya tendremos un modelo fijo para adaptar el arma con la medida correcta. Asi se vera en el 3Ds Max 2007, aqui la imagen de muestra.
[El arma que se muestra en la imagen no es la espada del nivel 1 (00010.gr2.ms) si no otra que ya tiene guardada]
3º Paso: Adaptacion del modelo del World Of Warcraft al Modelo de Metin2.
Lo primero de todo al tener el arma del World Of Warcraft que extrajimos antes la arrastramos al 3Ds Max 2007 saldrá girada mal. Lo primero es poner el arma recta. Para eso cogéis la herramienta que esta en el menú de arriba. Luego de ponerla recta lo siguiente es aumentarle el tamaño al tamaño del Modelo del Metin, pues muy fácil. Cogéis la herramienta que también esta en el menú de arriba y es ir aumentando hasta que del mismo tamaño que el arma del Metin. Bueno ahora es eliminar el modelo del Metin el verde de arriba para eso escogemos la herramienta que también esta en el menú de arriba y seleccionáis la capa de 'Object01' y le dais a 'Select' y luego a la tecla 'Delete/Suprimir' ahora ya quedara el arma solamente. Solamente queda centrar el arma para eso vamos al cuadro de arriba a la izquierda (Como os habréis dado cuenta ahà 4 Cuadros distintos cada uno una perspectiva diferente para ver el arma) en el de arriba a la izquierda ponéis el arma en esta posicion. Que las lineas queden en linea con las negras. Se puede mover el arma con esta herramienta que esta ubicada en el menú de arriba. Aquà una imagen de como tiene que quedar el arma.
NOTA: Para añadirle la textura a un arma solo es necesario arrastrar la textura (TGA/DDS o cualquier archivo de imagen). Para que a los usuarios se les vea con textura dentro de el juego el arma tiene que tener de ruta 'D:\Ymir Work\Item\Weapon'.
Bueno eso es todo, espero que le haya gustado la guÃa y que pronto puedan tener armas únicas en su servidor, gracias y
buena suerte.
Guia oficial Metin2Zone
Att. Strach
-
boker9999 got a reaction from matador7 in [Video-Tutorial BASICO] #4 - Como conectarse a Navicat y crear Cuentas 2014
gracias
-
boker9999 reacted to Digital-RBK in [ARMADURAS] Revolution Set 2015-[icluye new armor para lycan]-Link[MG]
Hola gente de zone, pues estaba bastante jodido, como sabeis no me puedo mover mucho, y me tire toda la tarde sin internet y pues bueno, me puse a adaptar unas armaduras a las que he bautizado
REVOLUTION
Como sinceramente no creo que aga anda con ellas, aunque podria venderlas perfectamente, creo que las aportare al foro asi las disfrutamos todos.
Imagenes del set, ya podreis hacer una idea que son todas del mismo estilo
Saludos
Descarga: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Descarga el Lycan: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
"El lycan quedan resolver unos bugs"
"Estan sin testear, cualquier fallo, aganmelo saber"
Si te gusto el aporte, siempre puedes ayudar a que siga aportando al foro con una pequeña donacion a mi paypal
Debes iniciar sesión para ver el contenido del enlace en esta publicación.<script cf-hash='f9e31' type="text/javascript"> /* */</script>
¡Cualquier donacion es bienvenida!
Lucan ingam
-
boker9999 reacted to Javier Gigante in [Completo] Files+Game+Cliente+Source
Te daría un WOOOOW, tambien un AAAHHH, y muchas compartidas.... pero hoy el enlace está caido ^^
-
boker9999 got a reaction from Erick Pereira in Armadura olimpica en Lynca
enlace caido...
alguien tiene estas armaduras?
-
boker9999 reacted to Teklis in Mapa Comercio
Aqui os dejo un mapa nuevo bastante wapo
Descarga :
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to pupi015 in [Aporte] Instancia Jefe Orco Renacido
Hola de nuevo, hoy les traigo una instancia que hice hace poco, me fui guiando en otras instancias y guias sacadas de aca.
Bueno voy al grano, la instancia consiste en matar a un Jefe orco, ir a hablar con un npc ( en mi caso lo puse al npc 20376 que lo tenia sin uso en mi servidor, pero pueden poner el que mas les guste.), este mismo te pedirá que elimines al Jefe orco, para poder derrotar al Jefe orco Renacido.
Vamos a la instalacion, Vamos la ruta de las quest en mi caso es cd /usr/game/share/locale/germany/quest/
metemos el Archivo que voy a dejar para descargar e igual lo dejare posteado por las dudas.
quest Dungeon_Orco begin
state start begin
when 691.kill begin
chat("Has Matado al Jefe orco, ve con el Estudiante de Orcos ")
chat("si te sientes fuerte para derrotar al Jefe Orco Renacido..")
pc.setqf("entrar",1)
end
when 20376.chat."Entrar a la Dungeon" begin
say_title("Estudiante de Orcos")
say("Si has derrotado al Jefe Orco puedes entrar")
say("Te deseo Suerte!")
local dungeon = select ("Quiero entrar","Lo voy a pensar mejor")
if dungeon == 1 then
if pc.getqf("entrar") < 1 then
say("Necesitas matar al Jefe Orco Primero")
say("Ve a buscarlo al rededor de donde estamos ahora")
return
end
timer("primera_isla",10)
pc.setqf("entrar",0)
notice_all("El grupo de "..pc.get_name().." Quiere derrotar al Jefe Orco Renacido")
return
end
end
when primera_isla.timer begin
d.new_jump_all (64, 2821, 8050)
d.regen_file("data/dungeon/orcos/dungeon_orcos_1.txt")
d.setf("pupi",1)
d.setf("drop",1)
d.notice("Consigue el Mapa para pasar a la siguiente isla !")
end
when 614.kill or 615.klill or 616.kill or 617.kill or 656.kill or 657.kill with d.getf("drop") == 1 begin
local mapa = number ( 1 , 10 )
if mapa == 1 then
game.drop_item (27998,1)
d.setf("drop",2)
d.notice("Ha Caido el Mapa de la Isla, Usalo para Pasar")
end
end
when 27998.use with d.getf("pupi") == 1 begin
d.notice("Felicidades, en 5 Segundos seran Transportados a la siguiente Isla")
item.remove()
timer ("segunda_isla",5)
end
when segunda_isla.timer begin
d.new_jump_all(64, 3843, 7523)
d.spawn_mob(8016, 1300, 855)
d.notice("Destruye el Metin ! ")
d.setf("pupi",2)
end
when 8016.kill with d.getf("pupi") == 2 begin
d.notice("Felicidades,en 15 Segundos pasaran a la Tercera Isla, Estan Listos?")
timer ("tercera_isla",15)
end
when tercera_isla.timer begin
d.new_jump_all(64, 3057, 7792)
d.regen_file("data/dungeon/orcos/dungeon_orcos_2.txt")
d.notice("Eliminen a TODOS los Mounstruos")
d.setf("pupi",3)
d.setf("mob",40)
end
when 777.kill or 776.kill with d.getf("pupi") == 3 begin
d.setf("mob",d.getf("mob")-1)
chat("Bien Hecho, les queda "..d.getf("mob").." Mobs para pasar.")
if d.getf("mob") == 0 then
d.notice("Has Liquidado a todos los Mobs ")
d.notice("Pasaran a la Cuarta y Ultima Isla, el Jefe Orco Renacido los espera!")
timer("final_isla",5)
end
end
when final_isla.timer begin
d.new_jump_all(64, 3950, 7876)
d.regen_file("data/dungeon/orcos/dungeon_orcos_final.txt")
d.setf("pupi",4)
end
when 693.kill with d.getf("pupi") == 4 begin
d.spawn_mob(9012, 1392, 1220)
d.spawn_mob(20376, 1373, 1212)
d.notice("Has Derrotado al Jefe Orco Renacido ! Habla con el Estudiantes de Orcos para tu Recompensa.!")
d.setf("recompensa",1)
end
when 20376.chat."Recompensa Maravillosa" with d.getf("recompensa") == 1 begin
say_title("Estudiante de Orcos")
say("Has Vencido al Jefe Orco Renacido ! ")
local main = select ("Piedras","Enchant Armadura","Runas","Cerrar")
if main == 1 then
local piedra = select ("Def.Espada","Def.Dos Manos","Def.Campana","Def.Fan","Siguiente")
if piedra == 1 then
pc.give_item2(900036,1)
d.setf("recompensa",0)
elseif piedra == 2 then
pc.give_item2(900040,1)
d.setf("recompensa",0)
elseif piedra == 3 then
pc.give_item2(900039,1)
d.setf("recompensa",0)
elseif piedra == 4 then
pc.give_item2(900041,1)
d.setf("recompensa",0)
elseif piedra == 5 then
local piedra2 = select ("Def.Flechas","Res Habilidad","Fuerza Medio Humanos","Res Magia","Def Daga","cerrar")
if piedra2 == 1 then
pc.give_item2(900042,1)
d.setf("recompensa",0)
elseif piedra2 == 2 then
pc.give_item2(900043,1)
d.setf("recompensa",0)
elseif piedra2 == 3 then
pc.give_item2(900044,1)
d.setf("recompensa",0)
elseif piedra2 == 4 then
pc.give_item2(900038,1)
d.setf("recompensa",0)
elseif piedra2 == 5 then
pc.give_item2(900037,1)
d.setf("recompensa",0)
return
end
end
elseif main == 2 then
say("Quieres Enchants Armadura? ")
say("Te puede dar entre 1 y 5 Enchant Armadura")
local enchant = select ("Si","No")
if enchant == 1 then
local en = number ( 1 , 3 )
if en == 1 then
chat("Has Recibido x1 Enchant Armadura")
pc.give_item2(38068,1)
d.setf("recompensa",0)
elseif en == 2 then
pc.give_item2(38068,3)
chat("Has Recibido x3 Enchant Armadura")
d.setf("recompensa",0)
elseif en == 3 then
pc.give_item2(38068,5)
chat("Has Recibido x5 Enchant Armadura")
d.setf("recompensa",0)
end
return
end
elseif main == 3 then
say("Quieres alguna Runa ?")
say("Escoje bien, La Amarilla da F.MH, la Azul da Monster")
local runa = select ("Runa Amarilla","Runa Azul","Cerrar")
if runa == 1 then
chat("Has Recibido tu Runa Amarilla")
pc.give_item2(8010,1)
d.setf("recompensa",0)
elseif runa == 2 then
chat("Has Recibido tu Runa Azul")
pc.give_item2(8011,1)
d.setf("recompensa",0)
end
return
end
end
end
end
Una vez hecho eso agregamos el nombre de la quest al list en mi caso es el locale_list
en la ultima linea damos enter y agregamos asi
Dungeo_Orcos.quest (enter)
reemplazamos el locale_list por el que teníamos y hacemos un reset o en la maquina ponemos ./qc Dungeon_Orcos.quest que hay cargaría la quest.
Explicando un poco la quest de arriba es sencilla
La Primera Isla , te manda a vos y tu grupo a una "isla nueva" de el mapa de orcos, en esa isla tienes que matar mobs para que salga el item necesario en este caso es 27998 como muestra arriba pero le ponen el ítem que quieran, le dan click a ese "mapa" que puse y los mandara a la segunda isla.
La Segunda Isla, tendrás que romper un metin, fácil y sencillo , al eliminarlo te manda a la tercera isla.
Tercera Isla, tenes un contador de mobs en este caso 20 que al eliminar TODOS te pasara a la ultima isla con el jefe orco renacido
Cuarta Isla, aparecerá un grupo de mobs y el Jefe orco Renacido, al eliminarlo, aparte del drop, volvera a salir el npc 20376 pero ahora te dejara elegir una recompensa, como veran yo puse para elegir piedras +5, las runas anterior mente mensioandas en mi ultimo post, y unos enchant de armadura que los estare mostrando mas adelante. Aca pueden poner los items que quieran eso va a eleccion de cada uno.
Creo que no me quedo mas nada para explicar o decir, cualquier duda o mejora hacia la quest sera bienvenida, es de decir como el anterior post que esto lo hice desde cero yo mismo y no copie a nadie, (como mensione arriba, me fui guiando y ayudando de las guias que dejaron hace años en este mismo foro.) sin mas que agregar, espero que les guste.
Pupi :)
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to caanmasu in me ayudan a corregir esta quest
Aquí tienes
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Solo montas la quest y cambias los parámetros que quieras en la función info() 🙂
Ah, y también si vas a añadir nuevos objetos ponlos en el select() siguiendo la secuencia y ya -
boker9999 reacted to Dilong in Evento de apuestas
Esto lo hice basandome en la idea de alguien que pedia uno via source con gui y todo, pero en mi caso es solo quest simple, asi que no es gran cosa
Avisen si hay algun problema con la quest
Quest:
Dejo el .sql en un adjunto
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to PACI in Ranking De Kills
Hola MZ, como no hacia nada pensé en dejaros el la quest de ranking de kills que tengo en mi server, la he traducido para español.
Bueno, método simple:
Se descargan
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Después se conectan al FTP ( Filezilla o WinSCP ), se dirigen a:
/usr/rain/channel/share_data/locale/spain/quest En caso de tener otras files, solo cambian la parte de " rain " para el otro nombre
Y Mueven la quest hacia ai. Despues de eso, abre el archivo locale.lua y al final ponen:
Kills.quest Despues van a la maquina virtual y escriben esto:
cd /usr/rain/channel/share_data/locale/spain/quest Le dan ENTER
Y despues escriben esto:
./qc Kills.quest Despues o dan reboot, o con un personage GM hacen /reload q
Y es todo...
Buenas Noches
Me olvide de que esto iba en Quests Metin2 --"
-
boker9999 reacted to caanmasu in Ayuda con quest de bonus
quest bonus_7 begin state start begin when id_npc.take begin -- cambia por el id de tu NPC if item.get_type() == 1 then item.set_attribute(6, type, value) end end end end
-
boker9999 reacted to KeKo in [Sistema] Puntos Metin
Buenas zoneros y zoneras,
Hace tiempo que no posteaba ninguna quest, asi que hoy me ha dado por haceros un "mini-sistema" para que lo podais meter en vuestro servidores si os gusta
Lo he llamado sistema de "Puntos Metin" y como el nombre sugiere tiene que ver con los metines. Por cada metin que destruyas en el servidor obtendrás una determinada cantidad de un item que yo bautize como "Esfera Metin" pero que cada uno puede llamar como quiera (yo os dejo el tga del item por si lo quereis).
Las esferas que te da cada metin son diferentes (configurables a voluntad) y ademas os he hecho un npc de canjes para que podais llevar vuestras esferas metin y canjearlas por los items que querais (vosotros configurais el npc) .
Primero unas fotitos del proceso:
1 - Petando un metin, te da esferas:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
* Detalle: La quest reconoce automaticamente que metin destruyes y te da los puntos correspondientes a ese metin, mas abajo os enseñare a editar los puntos.
2 - Esta es una esfera metin:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
3 - Vamos al npc de los canjes:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
4 - Elegimos el item a canjear:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
5 - Si no tenemos las esferas suficientes saldra este mensaje, si las tenemos nos dara el item y nos quitara las esferas correspondientes (podeis poner el coste de cada item al lado del nombre en el local).
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Y bueno ahora que os he explicado un poco como va, aqui os dejo la quest:
(Aqui en pastebin para quien la prefiera tener con las tabs
Debes iniciar sesión para ver el contenido del enlace en esta publicación.)
Y bueno ahora os voi a enseñar como editarla:
Paso 1 - Los metines:
Para añadir nuevos metines ponemos su id en el array y vamos a configurarles el nombre y esferas que daran:
local metin = { [8001] = {1,"Metin de Dolor"}, [8002] = {1,"Metin de Combate"}, [8003] = {2,"Metin de Batalla"}, [8004] = {2,"Metin de Avaricia"}, [8005] = {3,"Metin Negro"}, [8006] = {3,"Metin de Oscuridad"}, [8007] = {3,"Metin de Celos"}, [8008] = {4,"Metin de Alma"}, [8009] = {4,"Metin de Sombra"}, [8010] = {5,"Metin de Dureza"}, [8011] = {5,"Metin de Demonio"}, [8012] = {6,"Metin de Caida"}, [8013] = {6,"Metin de Muerte"}, [8014] = {8,"Metin Asesino"}, [8024] = {10,"Metin Pung-Ma"}, [8025] = {11,"Metin de Ma-An"}, [8026] = {12,"Metin de Tu-Young"}, [8027] = {13,"Metin Jeon-Un"} } Este array contiene 3 elementos
[8027] Entre [ ] la id del metin de nuevo, si quereis añadir uno nuevo la poneis igual
{12,"Metin de Tu-Young"}, Entre { va primero la cantidad de esferas que dara (en este caso 12) una coma y luego entre " " el nombre del metin (es opcional, lo dice por el chat al peta uno).
Si quereis añadir una nueva linea pos haceis asi:
{esferas,"nombre"}, Ojo! El ultimo de los metines NO debe llevar una , al acabar el }
Y lo ultimo es poner la id de las esferas en el give_item
pc.give_item2("27003",metin[npc.get_race()][1]) Donde yo tengo 27003 (si, las potas rojas G, me aburria xd) vosotros pondreis la id que le pongais a la esfera (o el item que useis).
Paso 2: El npc de los canjes
Podeis ponerle tantos canjes como querais, yo en este caso he puesto 7 posibles canjes que podemos editar de la siguiente manera:
local elegir = select("Item1","Item2","Item3","Item4","Item5","Item6","Item7","Cancelar") Ponemos el nombre del item en cada caso. Si quereis añadir mas podeis hacer otra pagina (aunque a la segunda tendreis que hacerle vosotros las condiciones :trollface: ).
Luego debeis configurar este array:
local premios = { {27002,1,27003,1}, -- Premio1 {27002,5,27003,2}, -- Premio2 {27002,10,27003,3}, -- Premio3 {27002,15,27003,4}, --Premio4 {27002,50,27003,5}, --Premio5 {27002,100,27003,6}, --Premio6 {27002,200,27003,7} --Premio7 (sin la , despues del } recordad) } Os explico que hace cada cosa:
- El 27002 es el item que te daran al canjear cada elemento.
- El numero siguiente es la cantidad del premio que te daran.
- El tercer elemento es la id de las esferas o el item que useis como necesario para canjear
- El cuarto elemento es la cantidad de esferas que pedira cada premio.
Si quereis añadir mas recordar que el local anterior esta ligado a este, asi que si haceis otra pagina tendreis que usar otro array (o hacerlo normal).
Y eso seria todo, el resto de la quest ya esta configurada.
Espero que os guste :tiocereales:
P.D: Os dejo adjunto el icono de la esfera metin (solo icono sin item_proto ni na ya lo haceis vosotros :trolldad: )
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to Akinox2 in Sistema de títulos -Vegas-
No lo vi posteado en zone así que lo publico yo, por lo que vi no es idéntico al que esta ya publicado en otros foros, seguro alguno le saca provecho
Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
De nd
-
boker9999 reacted to Jfirewall in [SISTEMA] Sistema premium
Bueno aca les comparto lo ultimo que se trabajo algo mas avanzado y mejorado para nuestro uso, se puede mejorar mas pero mi tiempo es muy poco y edward tambien esta alejado entonces cuando pueda lo mejoro y se los comparto les adjunto fotos y los demas archivos
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.
--[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest premium begin state start begin when 20094.chat.'Sistema Premium' begin say_title'Sistema Premium' say(pc.get_name()) say'Hola aca tienes la opcion de poder ser miembo [VIP] de nuestro servidor[ENTER]' say'Con esta opcion tienes la posibilidad de tener nuevos bonus, ademas de nuevas tiendas para tu uso[ENTER]' say'Ademas tu nombre tendra una manera distinta de verse con [VIP], un logo que te ara ver mejor[ENTER]' say'Ademas que cuando hablas podran ver tu rango [VIP], para obtener esto y muchos mas privilegios[ENTER]' say'Deberas cancelar la suma de 50 coins por mes, para poder disfrutar de este sistema.' say_reward'Realmente Quieres obtenerlo?' local elejir = select('Si, Comprarlo', 'Salir') if elejir == 2 then return end if pc.get_coins() < 50 then say_title'Sistema Premium' say(pc.get_name()) say'Lo siento, no tienes los coins suficientes para ser miembo VIP' else say_title'Sistema Premium' say(pc.get_name()) say'FELICIDADES!, de ahora en adelante eres miembro vip de nuestro servidor[ENTER]' say'Usalo bien y con cautela todo estara moritoriado por el staff del servidor.' say'Recibido: bonus de experiencia' pc.change_coins(-50) affect.add(43, 100, 60*60*24) pc.set_vip() end end end end --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest shop_vip begin state start begin when login begin -- aqui yo entiendo que es: cuando se conecta cualquier user, ya le da el premium. Premium.Shop1() end when button or info begin say_title'Sistema Premium' say(pc.get_name()) say'Tienda VIP activa, compra tus objetos unicos' npc.open_shop(3) end end end --[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] quest shop_vip2 begin state start begin when login begin Premium.Shop2() end when button or info begin local items = {19,29,39,49,59}-- vnum items local bonus = { -- puedes agregar mas bonus si lo deseas {1,5000}, -- Max Hp {2,20}, -- Max Sp {3,20}, -- Vitalidad {4,20}, -- Inteligencia {5,20}, -- Fuerza {6,20}, -- Dextreza {7,20}, -- Velocidad de ataque {8,20}, -- Velocidad de Movimiento {9,20}, -- Velocidad Hechizo {10,20}, -- Regeneración de HP {11,20}, -- Regeneración de SP {12,20}, -- Probabilidad de Envenenamiento {13,20}, -- Probabilidad de Apagon {14,20}, -- Probabilidad de Retardo {15,20}, -- Probabilidad de golpes críticos {16,20}, -- Probabilidad de golpes de penetración {17,20}, -- Fuerza Contra MedioHumanos {18,20}, -- Fuerza Contra Animales {19,20}, -- Fuerza Contra Orcos {20,20}, -- Fuerza Contra Misticos {21,20}, -- Fuerza Contra No-muertos {22,20}, -- Fuerza Contra Demonios {23,20}, -- Probabilidad de Absorver HP {24,20}, -- Probabilidad de Absorver SP {25,20}, -- Probabilidad de robar HP {26,20}, -- Probabilidad de recuperar SP al golpear {27,20} -- Posibilidad de bloquear un ataque cuerpo a cuerpo } if pc.getqf('iniciar') <= 5 then say_title'Sistema Premium' say(pc.get_name()) say'Aqui podras obtener un item vip, el cual se te dara al azar.' say'Solo puedes usar 5 veces este metodo.' local aceptar = select('Si, quiero', 'Salir') if aceptar == 2 then return end say_title'Agregar bonus 1' local bonus1 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 2' local bonus2 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 3' local bonus3 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 4' local bonus4 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') say_title'Agregar bonus 5' local bonus5 = select('Maximo Hp', 'Maximo Sp', 'Vitalidad', 'Inteligencia', 'Fuerza', 'Dextreza', 'Velocidad de ataque', 'Velocidad de Movimiento', 'Velocidad Hechizo', 'Regeneracion de HP', 'Regeneracion de SP', 'Probabilidad de Envenenamiento', 'Probabilidad de Apagon', 'Probabilidad de Retardo', 'Probabilidad de golpes criticos', 'Probabilidad de golpes de penetracion', 'Fuerza Contra MedioHumanos', 'Fuerza Contra Animales', 'Fuerza Contra Orcos', 'Fuerza Contra Misticos', 'Fuerza Contra No-muertos', 'Fuerza Contra Demonios', 'Probabilidad de Absorver HP', 'Probabilidad de Absorver SP', 'Probabilidad de robar HP', 'Probabilidad de recuperar SP al golpear', 'Posibilidad de bloquear un ataque cuerpo a cuerpo') pc.give_item2_select(items[math.random(1,5)]) -- si agregas mas items debes modificar el numero 4 asta el numero mayor de items agregados item.set_value(0,bonus[bonus1][1],bonus[bonus1][2]) item.set_value(1,bonus[bonus2][1],bonus[bonus2][2]) item.set_value(2,bonus[bonus3][1],bonus[bonus3][2]) item.set_value(3,bonus[bonus4][1],bonus[bonus4][2]) item.set_value(4,bonus[bonus5][1],bonus[bonus5][2]) pc.setqf('iniciar', pc.getqf('iniciar') + 1) else say_title'Sistema Premium' say(pc.get_name()) say'Lo siento, ya lo usaste mas de 5 veces' say'compra premium item para volver a utilizar este metodo otras 5 veces' end end when 40002.use begin say_title'Sistema Premium' say(pc.get_name()) say'Al usar este item premium obtienes la posibilidad de 5 nuevos items nuevos, con los bonus al azar' say'Usalo cuando lo veas necesario es un item bastante valioso' pc.setqf('iniciar', 0) end end end questlib
--[[ Quest: Premium System Version: 1.2 (Game 34k en adelante) ]] Premium = Premium or {} function Premium.Shop1() cmdchat("tiendita1 "..q.getcurrentquestindex()) end function Premium.Shop2() cmdchat("tiendita2 "..q.getcurrentquestindex()) end function pc.change_coins(x) mysql_query("UPDATE account.account SET coins=coins+'"..x.."' WHERE id='"..pc.get_account_id().."' LIMIT 1") end function pc.get_coins() local a = mysql_query("select * from account.account where id ='"..pc.get_account_id().."' LIMIT 1") return a.coins[1] end function pc.set_vip() local nombre = pc.get_name() mysql_query("UPDATE player.player SET name='[VIP]"..nombre.."' WHERE account_id='"..pc.get_account_id().."' LIMIT 1") end function pc.give_item2_select(...) local tmp = { ['Alt']={}, ['Neu']={} } for i =0,89 do item.select_cell(i) if not tmp.Alt[item.get_id()] then tmp.Alt[item.get_id()] = i end end if table.getn(arg)< 2 then pc.give_item2(arg[1]) else pc.give_item2(arg[1],arg[2]) end for i =0,89 do item.select_cell(i) if not tmp.Neu[item.get_id()] then tmp.Neu[item.get_id()] = i end end local data = {{},{}} for id,slot in next,tmp.Alt do table.insert(data[1],slot) end for id,slot in next,tmp.Neu do table.insert(data[2],slot) end table.sort(data[1]);table.sort(data[2]) for i = 1,table.getn(data[1]) do for i = 1,table.getn(data[2]) do if data[1][i] ~= data[2][i] then item.select_cell(data[2][i]) return end end end end parte cliente
game.py
class GameWindow(ui.ScriptWindow): def __init__(self, stream): self.lastupdate = 0 self.lastupdatee = 0 onPressKeyDict[app.DIK_F6] = lambda : self.__premium() def OnUpdate(self): premiumvip = player.GetName() if app.GetGlobalTimeStamp() - self.lastupdate < 0: self.lastupdate = app.GetGlobalTimeStamp() if app.GetGlobalTimeStamp() - self.lastupdatee < 0: self.lastupdatee = app.GetGlobalTimeStamp() if premiumvip.find("[VIP]")!=-1: if self.lastupdate == 0: self.lastupdate = app.GetGlobalTimeStamp() if app.GetGlobalTimeStamp() - self.lastupdate >= 60: self.lastupdate = app.GetGlobalTimeStamp() net.SendEmoticon(12) def __ServerCommand_Build(self): serverCommandList={ # sistema vip 'tiendita1' : self.__tienda1, 'tiendita2' : self.__tienda2, # end sistema vip def __premium(self): import uipremium self.fire = uipremium.Premium() self.fire.Show() def __tienda1(self, tienda1vip): import event,constInfo constInfo.SHOP1 = int(tienda1vip) def __tienda2(self, tienda2vip): import event,constInfo constInfo.SHOP2 = int(tienda2vip) crean el archivo uipremium.py
import ui,uiCommon,item,player class Premium(ui.ScriptWindow): def __init__(self): ui.ScriptWindow.__init__(self) self.Fire() def __del__(self): ui.ScriptWindow.__del__(self) def Fire(self): self.Board = ui.BoardWithTitleBar() self.Board.SetSize(220, 280) self.Board.SetCenterPosition() self.Board.AddFlag("movable") self.Board.AddFlag("float") self.Board.SetTitleName("Panel Premium") self.Board.SetCloseEvent(self.Close) self.Board.Show() self.cancelar = ui.Button() self.cancelar.SetParent(self.Board) self.cancelar.SetPosition(135,250) self.cancelar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.cancelar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.cancelar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.cancelar.SetText("Cancelar") self.cancelar.SetEvent(ui.__mem_func__(self.Close)) self.cancelar.Show() self.refrescar = ui.Button() self.refrescar.SetParent(self.Board) self.refrescar.SetPosition(90,250) self.refrescar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.refrescar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.refrescar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.refrescar.SetText("Refrescar") self.refrescar.SetEvent(ui.__mem_func__(self.__refrescar)) self.refrescar.Show() self.aceptar = ui.Button() self.aceptar.SetParent(self.Board) self.aceptar.SetPosition(45,250) self.aceptar.SetUpVisual('d:/ymir work/ui/game/windows/tab_button_small_01.sub') self.aceptar.SetOverVisual('d:/ymir work/ui/game/windows/tab_button_small_02.sub') self.aceptar.SetDownVisual('d:/ymir work/ui/game/windows/tab_button_small_03.sub') self.aceptar.SetEvent(ui.__mem_func__(self.__Premium)) self.aceptar.SetText("Aceptar") self.aceptar.Show() self.fileListBox = ui.ListBoxEx() self.fileListBox.SetParent(self.Board) self.fileListBox.SetPosition(20, 50) self.fileListBox.Show() self.ScrollBar = ui.ScrollBar() self.ScrollBar.SetParent(self.Board) self.ScrollBar.SetPosition(190, 35) self.ScrollBar.SetScrollBarSize(220) self.fileListBox.SetScrollBar(self.ScrollBar) self.fileListBox.AppendItem(Item("Abrir Tienda VIP")) self.fileListBox.AppendItem(Item("Obtener Items VIP")) self.ScrollBar.Show() def Close(self): self.Board.Hide() self.ScrollBar.Hide() self.fileListBox.Hide() def __refrescar(self): self.fileListBox.Hide() self.fileListBox.Show() def __Premium(self): premiumvip = player.GetName() elItem=self.fileListBox.GetSelectedItem() if premiumvip.find("[VIP]")!=-1: if elItem: alcanzado=elItem.GetText() if alcanzado =="Abrir Tienda VIP": import event,constInfo event.QuestButtonClick(constInfo.SHOP1) elif alcanzado =="Obtener Items VIP": import event,constInfo event.QuestButtonClick(constInfo.SHOP2) else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("No Seleccionaste ninguna opcion") self.PopupMessage.Show() else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("No Seleccionaste ninguna opcion") self.PopupMessage.Show() else: self.PopupMessage = uiCommon.PopupDialog() self.PopupMessage.SetWidth(200) self.PopupMessage.SetText("Lo siento, no eres miembro VIP") self.PopupMessage.Show() class Item(ui.ListBoxEx.Item): def __init__(self, fileName): ui.ListBoxEx.Item.__init__(self) self.canLoad=0 self.text=fileName self.textLine=self.__CreateTextLine(fileName[:40]) def __del__(self): ui.ListBoxEx.Item.__del__(self) def GetText(self): return self.text def SetSize(self, width, height): ui.ListBoxEx.Item.SetSize(self, 6*len(self.textLine.GetText()) + 4, height) def __CreateTextLine(self, fileName): textLine=ui.TextLine() textLine.SetParent(self) textLine.SetPosition(0, 0) textLine.SetText(fileName) textLine.Show() return textLine constinfo.py
SHOP1 = 0 SHOP2 = 0 playersettingmodule.py
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", EmoticonStr+"vip_mark.mse") net.RegisterEmoticonString("(vip)") agregan la emocion en ymir work\effect\etc\emoticon
reemplazan el uiquest.py
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
buen resto de dia
-
boker9999 reacted to EzekielitohMercury in [FULL SYSTEM]Estolas Cliente + Source
DESCARGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
-
boker9999 reacted to harufen in Quest Panel GM
Alguien tiene esta quest. traducida? Yo la estoy traduciendo pero no sé si es así tal cual.
Gracias Por su atención.
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
boker9999 reacted to Break in Systema Expasion de Inventarios
Buenas zoneros, pues estaba buscando el sistema de inventarios de expansión y no estaba en el foro. Me he animado a compartirlo aquí también con vosotros.
Vídeo del sistema:
Link de descarga:
Fuente metin2dev.org
Espero que os sirva.
¡Saludos!