Jump to content

fuuton97

Miembro
  • Contador contenido

    177
  • Ingreso

  • Última visita

  • Días ganados

    10

Todo lo publicado por fuuton97

  1. Está muy bien, el post, espero que no sea copy paste xD, mentira, bueno quien sabe. Pero hago una observación, ami manera sería más fácil hacerlo con Visual Basic, menos pasos como los haces con Java, eso digo yo, veo más passo en java y para convertirlo en .exe que en Visual basic, que tiene infinidades de funciones.
  2. Qué mierda es esa?, tras que es copia no lo hace bien, es que no deberías copiarla, me das pena JFIREWALL. Haz las cosas bien, y si es copiada que sean bien.
  3. Excelente, y muy útil para mirar lo que equipan nustros usuarios. +1. Te felicito.
  4. Vale, Gracias, como iba a hacer esta guía fui muy rápido y no percibí esos errores, pero gracias por verlos, para eso eres Corrector . Referente a lo que dices, si no supiera dungeon, no fuese posteado 3 dungeon a la sección como regalo, simplemente me equivoqué por ir a prisas, espero que te quede claro. Saludos,
  5. Madre mía, eso me pasa por no ver antes de publicar xDDDDDDD! Vale gracias. Pero si miras yo puse dos opciones a usuario, no se que te cuesta mirar ¬¬, aparte para mi siempre es mejor llevar a la city.
  6. Hola, estoy de nuevo aquí trayéndoles el segundo capítulo de DUNGEON, y hoy comenzaremos haciendo paso a paso una dungeon sencilla para principiantes, nos profundizaremos en una dungeon muy eficaz, con funciones generales y de su derivado. Si te pasaste el Primer Capítulo te lo dejo aquí: http://metin2zone.net/topic/11399-dungeoncapítulo-i-¿qué-es-una-dungeon-intro/ Bien, primero que nada, debemos saber que dungeon es lenguaje LUA, y por lo tanto vamos a usar sus funciones ya sean de dungeon o no. 1. Comenzamos haciendo lo inicial, que es lo que toda quest debe llevar: quest dungeon_principiante begin state start begin 2. En este paso comenzamos haciendo el cuerpo de la dungeon. Haremos el NPC que nos va a hacer llevar a X mapa para comenzar la dungeon: when 20090.chat."Dungeon Principiante" begin say_title("Dungeon:") say("Hola viajero, hoy te llevaré") say("aun magico lugar donde podrás explorar") say("nuevas tierras") say("") say("Quieres ir?") local dungeon = select("Si" , "No") if dungeon == 1 then pc.warp(6521200, 1231200) elseif dungeon == 2 then return end end Bueno, como ven es un simple NPC que te va a llevar a ese X mapa, para comenzar la dungeon. 3. Ahora iremos con el paso dentro del mapa, para darle el comienzo en sí, en este caso pondré que inicie mediante un mob, osea matando a ese mob. when 101.kill begin Una vez aniquilado el mob 101, será comenzado la dungeon. 4. Paso seguido ponemos el timer, para que los lleve a comenzar en 5 segundos: timer("inicio_dungeon", 5) end Se preguntarán, ¿Qué es un timer?, pues bien timer quiere decir en su significado literal, tiempo, pero este da inicio en tiempo, ejemplo, si queremos ir a otro lugar ponemos timer, más un nombre para darselo y el tiempo, puede ser en segundos, minutos, etc; también el timer se usa para acabar en un evento o algo. Esta fue la manera que trate de explicarles, no se si me entiendan bien xD. 5. En este paso ya comenzaremos con el inicio dentro de la dungeon, comenzaremos con el timer que pusimos anteriormente: when inicio_dungeon.timer begin 6. Aquí en este paso vamos a usar la primera función "d." de dungeon, y será para que nos lleve a X planta: d.new_jump_all(23, 2312, 2122) Explicaré: La función mostrada nos da a ir a todos que se encuentren en ese mapa a esas coordenadas (X y Y), el número 23 que está de primero nos indica el INDEX de ese mapa donde los va a llevar o donde están. 7. El paso séptimo, usaremos nuestra segunda función dungeon, para eso miremos: d.setf("fuuton97", 1) Cómo ven pusimos la función "d.setf", donde nos indica un nombre inicial secuencial denominado "fuuton97", cabe decir que se puede colocar cualquier nombre, pero siempre en todos los d.setf se debe colocar el mismo nombre; el número "1", indica que es el primer d.setf, en otras palabras primera planta en la que comenzamos la dungeon. En este mismo paso colocamos un anunció, para darle ambiente a la dungeon, pero ojo, aquí comenzamos a jugar nuestra imaginación de como haremos divertido esta dungeon. Invocamos al mob con la función "d.spawn_mob". Quedaría así: d.setf("fuuton97", 1) d.spawn_mob(101, 12312, 123123) d.notice("Están en la Primera Planta!!!!") 8. Seguidamente ponemos a disposición el "juego", llamaremos a un mob que nos permitirá ir a la segunda planta. Le hacemos ambiente de diálogo a la dungeon: when 101.kill d.getf("fuuton97") == 1 begin d.notice("Havepis destruido al Perro Salvaje...") d.notice("Avanzarán a la segunda planta.") Cómo ven vemos otra función nueva para ustedes, y es la "d.getf" que es el complemento de "d.setf", en esa hay que colocar el nombre que dimos para todas las plantas, osea fuuton97, en mi caso, pero ustedes pueden colocarle otro nombre; el "1" no hace referencia también como en "d.setf", en otras palabras quiere decir que vamos por la primera planta. 9. Cerramos con un timer que nos va a dirigir a la segunda planta y un end: timer("seguda_dungeon", 5) end Hasta ahora toda la dungeon debe ir así: quest dungeon_principiante begin state start begin when 20090.chat."Dungeon Principiante" begin say_title("Dungeon:") say("Hola viajero, hoy te llevaré") say("aun magico lugar donde podrás explorar") say("nuevas tierras") say("") say("Quieres ir?") local dungeon = select("Si" , "No") if dungeon == 1 then pc.warp(6521200, 1231200) elseif dungeon == 2 then return end end when 101.kill begin timer("inicio_dungeon", 5) end when inicio_dungeon.timer begin d.new_jump_all(23, 2312, 2122) d.setf("fuuton97", 1) d.spawn_mob(102, 12312, 123123) d.notice("Están en la Primera Planta!!!!") d.notice("Encontrar el Perro Salvaje.") end when 102.kill d.getf("fuuton97") == 1 begin d.notice("Havepis destruido al Perro Salvaje...") d.notice("Avanzarán a la segunda planta.") timer("segunda_dungeon", 5) end 10. Iniciamos llamando al timer, y hacemos lo mismo en los pasos anteriores, ambientando con diálogo, haciendo jugadas de kill mob o metines, etc, que vuele su imaginación: when segunda_dungeon.timer begin d.jump_all(312312, 12131) d.setf("fuuton97", 2) d.spawn_mob(8025, 431232, 412421) d.notice("Viajeros estás en la segunda planta") d.notice("Acaba con un metin y avanzarán.") end 11. Ahora llamamos al metin que pusimos y hacemos lo mismo con los pasos anteriores: when segunda_dungeon.timer begin d.jump_all(312312, 12131) d.setf("fuuton97", 2) d.spawn_mob(8025, 431232, 412421) d.notice("Viajeros estás en la segunda planta") d.notice("Acaba con un metin y avanzarán.") end when 8025.kill with d.getf("fuuton97") == 2 begin d.notice("Haveís acabado con un Metin") d.notice("Avanzarán a la tercera planta....") timer("tercera_dungeon", 5) end 12. Acá iniciamos con el timer que dejamos, osea lo llamamos, y en esta tercera planta haremos este jueguito: Pondremos un drop en mob, soltará una llave, al coger la llave damos click derecho y nos llevará a la cuarta y última planta de dungeon. En este paso conoceremos otras funciones que combinaremos con la dungeon, veamos: when tercera_dungeon.timer begin d.jump_all(3123, 123123) d.setf("fuuton97", 3) d.setf("drop_dungeon", 0) d.spawn_mob(103, 312312, 123123) d.spawn_mob(104, 123123, 123123) d.spawn_mob(105, 123123, 123123) d.spawn_mob(103, 312312, 123123) d.spawn_mob(104, 123123, 123123) d.spawn_mob(105, 123123, 123123) d.notice("Encontrar la llave!!!!!!!!!!") end when 103.kill or 104.kill or 105.kill with d.getf("fuuton97") == 3 begin d.setf("drop_dungeon", d.getf("drop_dungeon")+1) if d.getf("drop_dungeon") == 2 game.drop_item(43003, 1) d.setf("drop_dungeon", 0) end end when 43003.use begin item.remove() timer("cuarta_dungeon", 5) end Cómo ven es algo fantástico, el código de esta tercera planta es fácil, igual al de todos, solo invocamos más mob para el drop, utilizamos el game.drop_item para que suelte la llave. 13. Llamamos al timer, y haremos la última planta, que en este caso solo se hizo para 4. Haremos los mismos pasos cómo los demás, solo veremos una función que agregaremos: when cuarta_dungeon.timer begin d.jump_all(12312, 13212) d.setf("fuuton97", 4) d.spawn_mob(108, 12312, 12312) d.notice("Acaba con el Jefe y ganarás la Dungeon") end when 108.kill with d.getf("fuuton97") == 4 begin game.drop_item(289, 1) notice_all("El Jugador ".. pc.get_name() .." ha derrotado al Jefe...") d.notice("Acabaron con el Jefe, felicitaciones...") d.notice("Tienen 10 segundos para recoger su premio..") timer("salir_dungeon", 10) end Bueno como ven pusimos el Jefe, al matarlo suelta un item, que es la recompensa, ponemos un anuncio General para que lo vean todos de quien fue el que mató al Jefe, cerramos con un timer de 10 segundos para recoger el premio, y nos llevará para afuera de la dungeon. 14. Último paso, solo añadiremos el timer que nos llevará fuera de la dungeon, o si quieres llevar a todos a sus citys: when salir_dungeon.timer begin d.exit_all() end end end También podemos usar la otra función: warp_to_all_village(): when salir_dungeon.timer begin warp_to_all_village() end end end Por último cerramos con end del when, otro end del begin de inicio y el segundo begin de inicio, con total de 3 end's. Y para ver como quedó toda la dungeon, pequeña pero atendible para este curso: quest dungeon_principiante begin state start begin when 20090.chat."Dungeon Principiante" begin say_title("Dungeon:") say("Hola viajero, hoy te llevaré") say("aun magico lugar donde podrás explorar") say("nuevas tierras") say("") say("Quieres ir?") local dungeon = select("Si" , "No") if dungeon == 1 then pc.warp(6521200, 1231200) elseif dungeon == 2 then return end end when 101.kill begin timer("inicio_dungeon", 5) end when inicio_dungeon.timer begin d.new_jump_all(23, 2312, 2122) d.setf("fuuton97", 1) d.spawn_mob(102, 12312, 123123) d.notice("Están en la Primera Planta!!!!") d.notice("Encontrar el Perro Salvaje.") end when 102.kill d.getf("fuuton97") == 1 begin d.notice("Havepis destruido al Perro Salvaje...") d.notice("Avanzarán a la segunda planta.") timer("segunda_dungeon", 5) end when segunda_dungeon.timer begin d.jump_all(312312, 12131) d.setf("fuuton97", 2) d.spawn_mob(8025, 431232, 412421) d.notice("Viajeros estás en la segunda planta") d.notice("Acaba con un metin y avanzarán.") end when 8025.kill with d.getf("fuuton97") == 2 begin d.notice("Haveís acabado con un Metin") d.notice("Avanzarán a la tercera planta....") timer("tercera_dungeon", 5) end when tercera_dungeon.timer begin d.jump_all(3123, 123123) d.setf("fuuton97", 3) d.setf("drop_dungeon", 0) d.spawn_mob(103, 312312, 123123) d.spawn_mob(104, 123123, 123123) d.spawn_mob(105, 123123, 123123) d.spawn_mob(103, 312312, 123123) d.spawn_mob(104, 123123, 123123) d.spawn_mob(105, 123123, 123123) d.notice("Encontrar la llave!!!!!!!!!!") end when 103.kill or 104.kill or 105.kill with d.getf("fuuton97") == 3 begin d.setf("drop_dungeon", d.getf("drop_dungeon")+1) if d.getf("drop_dungeon") == 2 game.drop_item(43003, 1) d.setf("drop_dungeon", 0) end end when 43003.use begin item.remove() timer("cuarta_dungeon", 5) end when cuarta_dungeon.timer begin d.jump_all(12312, 13212) d.setf("fuuton97", 4) d.spawn_mob(108, 12312, 12312) d.notice("Acaba con el Jefe y ganarás la Dungeon") end when 108.kill with d.getf("fuuton97") == 4 begin game.drop_item(289, 1) notice_all("El Jugador ".. pc.get_name() .." ha derrotado al Jefe...") d.notice("Acabaron con el Jefe, felicitaciones...") d.notice("Tienen 10 segundos para recoger su premio..") timer("salir_dungeon", 10) end when salir_dungeon.timer begin warp_to_all_village() end end end Espero que valoren mi tiempo, esto solo es una dungeon explicativa para principiantes, solo digo y hago lo básico, luego iremos añadiendo más funciones, condiciones, etc. Aprovecho para decir que se hacen Dungeon's profesionales, con las plantas que quieran, y como quieren que sea, claro no se vallan de la imaginación xD, a tan solo 15 Euros; pueden contáctarme por skype: fuuton97 o enviarme un mensaje por mp al foro. Próximo capítulo: [DUNGEON] Capítulo III - Condiciones y Funciones en Dungeon. Espero que valoren este POST, me tome mi tiempo para ustedes, no desaprovechen esta oportunidad. Saludos.
  7. Con mucho gusto ya estoy. Siempre se ha llamado Dungeon xD en Metin2, desde que crearon la mazmorra se ha llamado así, dungeon. De nada, y esto solo es el comienzo. http://es.wikipedia.org/wiki/C%2B%2B
  8. Hola, hoy les vengo a dar este Capítulo 1, relacionado con las dungeon's. Comenzaremos explicando su literal hasta las funciones existentes, sin embargo esto solo es un pre ambulo para dar a inicio con la formación de una dungeon sencilla, pero eficaz. En Cada capítulo que va saliendo vamos añadiendo la dificultad en código y funciones para llevar a cabo una dungeon eficaz y buena. ¿Qué es una dungeon (Literal)? Una "dungeon", que en su significado original es una cueva o calabozo (también denominada mazmorra), en donde emplea varias plantas, donde debes pasar por diferentes lugares donde encontraras bestias infinitas. En Metin2 lo relacionamos con una sucesión de recorridos por plantas y/o mapas, en donde cada vez se encuentra una dificultad mayor en bestias encontradas en el camino, por defecto al llegar, al último recorrido se encuentra con un Boss (Jefe), donde debes destruirlo , obteniendo así una recompensa. El ejemplo más claro que tenemos es la Torre de demonios, que es la más popular y entretenida, pero también contamos con la de los Monos, la Mazmorra de los Monos. Funciones de una dungeon: Cómo se denomina y se sabe que es una función de dungeon?, pues simplemente lleva a su inicio una "d.", que es de Dungeon. Las funciones son: d.check_eliminatedd.clear_regend.count_monsterd.exitd.exit_alld.exit_all_to_start_positiond.get_kill_mob_countd.get_kill_stone_countd.get_map_indexd.getfd.is_unique_deadd.is_use_potiond.joind.jump_alld.jump_all_locald.kill_uniqued.new_jumpd.new_jump_alld.purged.purge_uniqued.regen_filed.revivedd.selectd.set_destd.set_exit_all_at_eliminated.set_regen_filed.set_uniqued.set_warp_at_eliminated.setfd.spawnd.spawn_goto_mobd.spawn_groupd.spawn_mobd.spawn_move_groupd.spawn_move_uniqued.spawn_name_mobd.spawn_stone_doord.spawn_uniqued.spawn_wooden_doord.unique_get_hp_percd.unique_set_def_graded.unique_set_hpd.unique_set_maxhpd.noticed.kill_alld.setqf ¿Qué es lo más esencial que debe llevar una Dungeon? Lo que una Dungeon debe llevar en general son timer, los timer's son esenciales, sin ellos no se pudiera hacer ninguna acción que determine seguir adelante. Existe otras funciones secundarias esenciales en las dungeon's, como siempre un JUMP ALL, D.SETF y D.GETF. Esto solo es una introducción al nombre de DUNGEON, sabiendo su origen literal, funciones, lo más importante de ella. Próximo Capítulo: [DUNGEON]Capítulo II - ¿Cómo hacer una Dungeon? Saludos.
  9. fuuton97

    Quest De Muerte

    Somos 3 qué decimos lo mismo.
  10. when kill with npc.is_pc() and pc.get_empire() != npc.get_empire() begin if game.get_event_flag("nation_war") == 1 and pc.get_map_index()== 112 then
  11. Prefiero hacerlo así, pero cojo tu sugerencia.
  12. Hola, hoy les traigo esta pequeña quest que hice, estuve 1 semana off por motivos personales, y en ese tiempo poco que tuve hice esta quest para gm para bloquear y/o desbloquear el chat. Es algo simple, pero espero que les sirve: -------------------------------------- // Script LUA Hecha por Fuuton97-- // @2013 - Metin2 Zone-- // Bloquear Chat - GM------------------------------------quest bloquear_chat begin state start begin when 20094.chat."Bloquear Chat" with pc.is_gm() begin say_title(mob_name(20094)) say("¿Está molesto por el SPAM en el servidor?,") say("que esperas a usar el bloqueo del chat.") say("Conmigo podrás bloquear el chat de ") say("cualquier usuario que usted desee,") say("podrá bloquear y desbloquear con el tiempo") say("que usted decida") say_reward("Elimina esos SPAMERS") local bloquear = select("Bloquear Chat" , "Desbloquear Chat" , "Salir") if bloquear == 1 then say_title(mob_name(20094)) say("Por favor introduzca el nombre del usuario a") say("bloquear su chat:") local bloquear_chat = input() say("Ahora introduzca por cuanto tiempo") say("quiere el bloqueo del chat.") say("A continuación le daré algunos parámetros de tiempo:") say("Tiempos:") say("5 Minutos = 300") say("10 Minutos = 600") say("1 Hora = 3600") say_reward("Por favor diga los segundos a bloquear el chat:") local bloquear_tiempo = input() command("block_chat ".. bloquear_chat .." ".. bloquear_tiempo .."") say("Listo, bloqueado el chat del usuario ".. bloquear_chat .." ") notice_all("El Chat del Jugador ".. bloquear_chat .." ha sido bloqueado por ".. bloquear_tiempo .." tiempos/segundos") elseif bloquear == 2 then say_title(mob_name(20094)) say("Por favor introduzca el nombre del personaje a") say("desbloquear su chat:") local desbloquear_chat = input() command("block_chat ".. desbloquear_chat .." 0") notice_all("El Chat del Jugador ".. desbloquear_chat .." ha sido desbloqueado!!") say("Listo, Chat desbloqueado.") elseif bloquear == 3 then return end end endend Saludos.
  13. Por lo menos deja créditos de quién la hizo, porque tu no fuiste.
  14. Por lo que describe si, tiene versión gratis y de pago. Siendo este mejor que CloudFare, en mi punto de vista. Web Site: http://www.incapsula.com/
  15. Item_proto del .es: http://metin2zone.net/topic/8017-actualizadoitem-proto-del-es-desencriptado-100/ Mob_proto del .es te lo adjunto. mob_proto_descompilado.xml
  16. Como dice keko xd, la primera es el mapa premium, y el segundo me imagino que es el Zrun xd. +1 por el mapa.
  17. Da de seguido fsck -y Has como 4 veces, y das reboot.
  18. Ya hay das reboot xD, eso quiere decir que respondío todo a YES. Cuando te salga a # da reboot. y ya se te solucionará.
  19. Hola, a continuación les daré un pequeño tip de como cambiar la password en la máquina virtual, o por el putty, será un paso muy sencillo. Primero que nada necesitamos un servidor y tal máquina, claro FreeBSD. Abrimos Putty, o máquina, y ponemos: mysql -u root - Luego introducirán su password de MYSQL (VIEJA). - Ahora ya entrado en mysql, ponemos este comando: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('aquí nueva pasasword'); Y listo, ya tenemos nuestra password cambiada. Para salirnos de mysql solo tenemos que dar el comando: quit Por último damos reboot e iniciamos. Sacado de: Manual FreeBSD. Saludos.
  20. NO ES TANTO, creo que akroma se le escapó, debes poner es: pc.level() con los paréntesis, no coloques el pc.level en quest_fuctions, que igual no te irá
×
×
  • Crear nuevo...