Jump to content

fuuton97

Miembro
  • Contador contenido

    177
  • Ingreso

  • Última visita

  • Días ganados

    10

Todo lo publicado por fuuton97

  1. Excelente Keko, muy interesante este sistema de Juegos del Hambre, por cierto, tú lees libros? xD.
  2. fuuton97

    [Quest] Z-run

    Si vasa postear algo explícalo, y deja créditos de esa quest o dungeon. ¿De que vale postear algo sino lo vas a explicar?.
  3. Si no estoy mal sigues con la misma síntesis de la guía de Serex.
  4. Vampirito, excelente guía . PD: :OOO Eres Mod xD, espero que hagas bien tu trabajo como moderador ¬¬ XDDDDDDDD
  5. fuuton97

    Baul del Aprendiz

    De eso se trata ¬¬ xD, pero Croqueta es un crack en eso *-* por eso lo admiro, a él, Keko, y Akroma xD
  6. Hola, como saben hace tiempo había hecho una quest de tipo dungeo para el mapa Ice Run, había mostrado un vídeo por aquí mismo sobre la subida por mi quest en el mapa osea en Ice Run + dungeon, y hoy decidí darles este regalo por mi cumpleaños adelantado xD. (Es 9 de Junio) Ver Preview del vídeo: También estoy trabajando en la misma dungeon pero la defino así: Dungeon Ice Run Extended Edition, una edición más larga con implementación de 20 plantas en dungeon, llevando así varios mapas que ya no se llamaría ICE RUN en general, porque combino mapas de plantas para esa dungeon extendidad en edición, este proyecto de dungeon lo estoy haciendo para solo MZ. Aún no tengo fecha fija para terminarlo y testearla. Sin más acá les dejo la dungeon Ice Run: ---- Quest Dungeon By Fuuton97 ---- Copyrigth 2013 quest ice_run begin state start begin when 20095.chat."Map Ice Run" begin say_title("DESAFIO HELADO") say("Hola, estás hablando con el paso a") say("lo que se llama como el Mapa del Hielo.") say("Se dice que es un Desafio o Reto, todos") say("los que entren acá deberán destruir las") say("Bestias jamás nuncas vistas.") say("La recompensa será drop de item para") say("subir a las Armaduras épicas.") say_reward("Quieres Entrar?") local ice = select("Si" , "No") if ice == 1 then pc.warp(513100, 408900) end end ---NPC INICIO PLANTA--- when 20094.chat."Acceso a Map Ice Run" with pc.get_map_index() == 46 begin say("Comenzarán la MAZMORRA.") timer("ice_run_1", 4) chat("HAN COMENZADO EL DESAFIO DEL MAPA DEL HIELO!!!!") end ---ICE_RUN_1--- when ice_run_1.timer begin d.new_jump_all(46, 5131, 4089) d.setf("ice_run", 1) d.setf("mob_ice", 20) d.regen_file("data/dungeon/ice_run/ice_1.txt") d.notice("Destruye todos los mob de esta sala y avanzarán") end when 101.kill or 102.kill with pc.in_dungeon() and d.getf("ice_run") == 1 begin d.setf("mob_ice", d.getf("mob_ice")-1) if d.getf("mob_ice") == 0 then d.notice("Han acabo con todos los mob de esta sala, avanzarán") timer("ice_run_2", 2) end end ---ICE_RUN_2--- when ice_run_2.timer begin d.jump_all(5433, 4122) d.setf("ice_run", 2) d.regen_file("data/dungeon/ice_run/ice_2.txt") d.notice("Destruye la resalia del Metin2") d.spawn_mob(8001, 388, 123) end when 8001.kill with d.getf("ice_run") == 2 begin d.notice("Han destruido el Metin, avanzarán") timer("ice_run_3", 2) end ---ICE_RUN_3--- when ice_run_3.timer begin d.jump_all(5610, 4088) d.setf("ice_run", 3) d.setf("drop", 0) d.regen_file("data/dungeon/ice_run/ice_3.txt") d.notice("Acaben con las Bestias hasta encontrar la Llave") end when 104.kill or 105.kill or 106.kill with pc.in_dungeon() and d.getf("ice_run") == 3 begin d.setf("drop", d.getf("drop")+1) if d.getf("drop")== 10 then game.drop_item(40003, 1) d.setf("drop", 0) chat("Se te ha caído el pase.") end end when 40003.use begin chat("Será llevados a la 4ta planta") item.remove() timer("ice_run_4", 2) end ---ICE_RUN_4--- when ice_run_4.timer begin d.jump_all(5464, 4458) d.setf("ice_run", 4) d.setf("metines", 3) d.regen_file("data/dungeon/ice_run/ice_4.txt") d.notice("Están en la 4ta planta.") d.notice("Destruye los Metines y avanzarán.") d.spawn_mob(8025, 473, 439) d.spawn_mob(8025, 478, 441) d.spawn_mob(8025, 481, 444) end when 8025.kill with d.getf("ice_run") == 4 begin d.setf("metines", d.getf("metines") - 1) d.notice("Todavia te quedan "..d.getf("metines").." metines por destruir") if d.getf("metines") == 0 then d.notice("Han destruido los metines.") d.notice("Avanzarán, suerte viajeros.") timer("ice_run_5", 2) end end ---ICE_RUN_5--- when ice_run_5.timer begin d.jump_all(5661, 4196) d.setf("ice_run", 5) d.regen_file("data/dungeon/ice_run/ice_5.txt") d.notice("Mata al Guardían de esta 5ta planta.") d.spawn_mob(115, 697, 194) end when 115.kill with d.getf("ice_run") == 5 begin d.notice("Han matado al Guardían de esta 5ta planta") d.notice("Suerte viajeros, avanzarás") timer("ice_run_6", 2) end ---ICE_RUN_6--- when ice_run_6.timer begin d.jump_all(5221, 4448) d.setf("ice_run", 6) d.regen_file("data/dungeon/ice_run/ice_6.txt") d.notice("Mata al Gran Jefe de esta planta y terminarán en desafio") d.spawn_mob(1901, 154, 449) end when 1901.kill with d.getf("ice_run") == 6 begin game.drop_item(279, 1) game.drop_item(269, 1) game.drop_item(249, 1) d.notice("Han derrotado al Gran Jefe.") notice_all("El personaje ".. pc.get_name() .." ha Derrotado al Gran Jefe") d.kill_all() chat("Han completado el Desafio: Map Ice Run") chat("www.metin2skill.com By Fuuton97") chat("Tienen 20 segundos, luego serán Telestrasportado a su Ciudad.") timer("salida_ice_run", 20) end ---SALIDA_ICE_RUN--- when salida_ice_run.timer begin warp_to_village() end end end Pueden probar de una, tiene las coordenadas del mapa Ice Run, los regen´s pueden hacerlo ustedes, como ven está totalmente editable por ustedes, pueden editar los .kill de los mob, metins etc etc. Cualquier duda, no olviden en comentar.
  7. Tienes que colocar el: IsARABIC En locale.py en root. Te dejo lo que debes meter completo, esto va en locale.py def IsARABIC(): global __IS_ARABIC return __IS_ARABIC __IS_ARABIC = "locale/ae" == app.GetLocalePath() Recuerda darle TAB. Saludos.
  8. Hasta donde chekie, no hay ninguno automático, y tampoco tengo xD.
  9. Hola, hoy les traigo esta script de Backup, ¿Para que sirve?, simplemente con este lo inicias y te hará al backup de la base de datos y la parte del servidor. Primero que nada creamos una carpeta llamada "backups" en /game/ (/usr/home/game) De hay mismo vamos y creamos un archivo llamado: backup con extensión .sh, y pegamos esto: #!/bin/sh echo "Eliminar registros después de realizar una copia de seguridad." rm -f */*/syserr && rm -f */*/syslog && rm -f */*/PTS && rm -f */*/game.core rm -f */syserr && rm -f */syslog && rm -f */PTS && rm -f */game.core echo "Registro Suprimido" cd /usr/home/game/backups mkdir `date +%d.%m.%Y_%H.%m` cd `date +%d.%m.%Y_%H.%m` sleep 2 tar cfzv game.tar.gz /usr/home/game sleep 2 tar cfzv mysql.tar.gz /var/db/mysql sleep 2 echo "Backup realizado!" Ahora guardamos, y la probamos iniciando en el putty o consola: cd /usr/game/ && sh backup.sh Los backups a realizar se guardarán en: /usr/home/game/backups O dependiendo de la ruta en que la tengas. Una novedad de esta script es que te elimina los backups por hora y día, osea que si tienes uno antes de 1 hora y haces otro se te elimina el de 1 hora, quedando el que hiciste al instante. Script sacada de Invoice. Saludos.
  10. Hay posibilidad de que al usar CoudFlare no se pueda entrar ni por WinSCP ni por CPANEL???, porque hice y no pude entrar.
  11. Excelente Noa, sería aún mas innovador hacer la parte por python que dijiste de las kill que genera en una bola :3, pero de resto muy bien.
  12. This difference file has been created by IDA Pro game 0004D0A4: 2C 05 0004D0A5: 01 00 Así se coloca, se parchea con un parchador xD, de tipo .exe
  13. Pues a las que no se le pueden meter más de 1 piedra. Puede hacerlo mediante una query sql pero se aplicaría a todo los item.
  14. socket_pc en la db buscas hay en el id de tu item y pones el número 3.
  15. Hola, como ya había hecho un mini curso, sobre como crear tu propia misión de Metin2 usando el lenguaje lua (quest), pues bien ahora vamos con el segundo mini curso, que es usando la condición pc.setqf más un contador y valor asignado a un setqf. Para los que no saben crear una misión básica y desde cero, acá les dejo el link: http://metin2zone.ne...-propia-mision/ La condición pc.setqf, en este caso la acomodaremos poniendo un valor con un counter, osea un contador que nos haga un límite de valor (numérico) de matar un mob o metin, o lo que sea, con tal que sea numérico. Para eso comenzaremos la estructura inicial y normal de una misión, si no saben, véanse el capítulo anterior de como crear una misión de metin2, el link está arriba. 1- Haremos rápido lo inicial, ya que se supone que debemos saberlo, vamos a concentrarnos en lo que vinimos, los pc.setqf. En mi punto de vista es necesario colocar un nivel requerido a las misiones (ES UNA SUGERENCIA, SINO OMITAN EL PASO DE PC.GET_LEVEL()) quest mision_test_2 begin state start begin when login or enter or levelup with pc.get_level() >= 100 begin set_state(test_2) end end state test_2 begin when letter begin send_letter("Test_2 usando pc.setqf") -- Cambiamos TEXTO end when button or info begin say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("") Esto sería lo inicial, ahora vamos con el segundo paso: 2- Hay mismo debajo del ("say") ponemos lo siguiente: pc.setqf("state", 100) En este caso la condición setqf quiere decir que al iniciar el state se active, con un total de matar, o traer algo sea 100, en el valor 100 pueden cambiarlo a cuanto quieren que sea. 3- Justamente hay seguimos y ponemos: q.set_counter("test_metin", 100) La condición counter, para llevar el conteo de cuantos metines o mob a destruir, en este caso 100, pueden cambiarlo a su gusto. 4- Añadiremos un state + dos end, para abrir la condición y dar la misión a ejecutar: set_state (kill_metin) end end Hasta el momento la quest de misión debe ir así: quest mision_test_2 begin state start begin when login or enter or levelup with pc.get_level() >= 100 begin set_state(test_2) end end state test_2 begin when letter begin send_letter("Test_2 usando pc.setqf") -- Cambiamos TEXTO end when button or info begin say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("") pc.setqf("state", 100) q.set_counter("test_metin", 100) set_state (kill_metin) end end 5- Abrimos el state: state metin_kill begin when letter begin send_letter("Misión TEST 2") end 6- Seguimos añadiendo un button y un info para que te diga cuantos tienes que destruir o traer: when button or info begin say_title("TEXTO") say_reward("Ve a conseguir ".. pc.getqf .." y luego recibirás tu recompensa, suerte") Cómo ven tenemos una nueva función, pc.getqf, esta condición nos muestra a ejecutar nuestra tarea o misión asignada, sin embargo es la que nos ayuda contar y descontar cada ves que vallas destruyendo lo asignado. 7- Pondremos la misión a que metin (en este caso) destruir: when 8025.kill begin local count = pc.getqf("state") -1 if count <= 100 then -- Número asignado a la misión pc.setqf("state", count) q.set_counter("test_metin", -count) end 8- Debajo seguimos para añadir una vez realizado la misión el say y la recompensa: if count == 0 then say_title("TEXTO!") say("TEXT!") say("TEXT") say_reward("TEXTO") say_reward("500.000.000 Exp") say_reward("100.000.000 Yang") pc.change_money(1000000000) pc.give_exp2(5000000000) 9- Por último añadimos la condición clear y cerrar el state completado: clear_letter() set_state(__COMPLETE__) end end end end state __COMPLETE__ begin end end 10- Al final la misión les deberá quedar así: quest mision_test_2 begin state start begin when login or enter or levelup with pc.get_level() >= 100 begin set_state(test_2) end end state test_2 begin when letter begin send_letter("Test_2 usando pc.setqf") -- Cambiamos TEXTO end when button or info begin say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("TEXTO") say("") pc.setqf("state", 100) q.set_counter("test_metin", 100) set_state (kill_metin) end end state kill_metin begin when letter begin send_letter("Misión TEST 2") end when button or info begin say_title("TEXTO") say_reward("Ve a conseguir ".. pc.getqf .." y luego recibirás tu recompensa, suerte") when 8025.kill begin local count = pc.getqf("state") -1 if count <= 100 then -- Número asignado a la misión pc.setqf("state", count) q.set_counter("test_metin", -count) end if count == 0 then say_title("TEXTO!") say("TEXT!") say("TEXT") say_reward("TEXTO") say_reward("500.000.000 Exp") say_reward("100.000.000 Yang") pc.change_money(1000000000) pc.give_exp2(5000000000) clear_letter() set_state(__COMPLETE__) end end end end state __COMPLETE__ begin end end Pueden modificar la parte de recompensa a dar. 11- Vamos a compilar la quest, vamos a nuestra ruta y subimos nuestra quest y damos .qc: ejemplo: cd /usr/game/share/locale/germany/quest ./qc nombre_de_quest.quest Recuerden que la la misión si la guardan en un archivo .txt deben cambiarle la extensión a .quest. Bueno, espero que les halla servido un poco este mini curso, si les quedo alguna duda no olviden en comentar. Esta es una guía de mi autoría, si se copia a otro dejar créditos por lo menos, esta guía es básica en el sentido de usar el pc.setqf y getqf, es más para principiantes.
  16. Si me pasas tu script de index, te haré la script y te la adapto, puedes envíarme Mp al foro, o ami skype: fuuton97. Con gusto de ayudo.
  17. Dios, por eso dije, cambien las COORDENDAS. Creo que falta más lectura en el post, hay mismo lo dije, cambiar las coordenadas.
  18. *-* SAO, me gusta, pero fuese sido mejor igual a la del anime (RESPECTO AL TAMAÑO Y FORMA, Y ESTRUCTURA COMO LA REPRESENTA EN EL ANIME.) +1.
  19. Ajpa xD, y cuando necesites descompilar el root como se hace? ¬¬, si se supone que fue oculto.
  20. Excelente Serex, tira a hacer un Panel de GM.
×
×
  • Crear nuevo...