Jump to content

fuuton97

Miembro
  • Contador contenido

    177
  • Ingreso

  • Última visita

  • Días ganados

    10

Mensajes publicados 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. En esta parte

    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)	if dungeon == 2 then		return	endend

    Hay 2 errores, uno es el siguiente

    local dungeon = select("Si" "No")

    Esto, es así

    local dungeon = select ("Si", "No")

    Segundo, esto

    local dungeon = select("Si", "No")	if dungeon == 1 then		pc.warp(6521200, 1231200)	if dungeon == 2 then		return	end

    Está mal, esto es así

    if dungeon == 1 then	pc.warp(6521200, 1231200)elseif dungeon == 2 then	returnend

    Tercero, esto

    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.detf("drop_dungeon") == 2	game.drop_item(43003, 1)	d.setf("drop_dungeon", 0)	endend

    También está mal, debería ser así

    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 then		game.drop_item(43003, 1)		d.setf("drop_dungeon", 0)	endend

    Eso es lo que ví, un gran dungeon como tú dices serlo, debe arreglar todo esto y no equivocarse

     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

    No es por nada, pero tienes que ver los errores antes de decir que eres professional en las dungeons.

    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 :P.

     

    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,

  3. Para salir de una dungeon supongo que la función será d.exit_all(), y no warp_all_to_village(), que por cierto tienes warp_to_all_village(). XD En los kill tienes d.setf("drop_dungeon") == 2, en vez de get, y en el timer cuarta_dungeon el d.spawn supongo que quieres decir d.spawn_mob

    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. 

  4. 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í:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

    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.

  5. Te puedes conectar a Skype?

    Con mucho gusto ya estoy.

     

    Yo la primera vez que oí de las Dungeon, fue en Minecraft y eran eso lo que dijiste, me parece raro que actualmente ahora le digan Dungeon en Metin2 jamas lo oí viniendo de Metineros trabajando en Metines xD, pero bueno, me gusto tu post :)

    Siempre se ha llamado Dungeon xD en Metin2, desde que crearon la mazmorra se ha llamado así, dungeon.

     

    a Aprender :D

     

     

     

    Gracias por la Guía :)

    De nada, y esto solo es el comienzo.

     

    Ami que chugchas , na mentira, para los que me estan diciendo no se supone que te ivas solo estoy aqui para responder a los que nadie les responder 

    como tu estas subiendo eso, comenzare a subir Lenguaje C++ ¿Que es lenguaje C++?

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

  6. 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.

  7. Esta buena , pero le agregaria un

    if bloquear_chat == nil thensay_title(mob_name(20094))say("Debes introduccir algún nombre de un usuario")say("para poder acceder a Bloqueárle el chat.")returnend

    Un ..

    if bloquear_chat == pc.get_name() thensay_title(mob_name(20094))say("Lo siento , pero no puedes bloqueárte el chat")say("a tí mismo , intenta nuevamente con otro nombre.")returnend

    Un ...

    if bloquear_tiempo == nil thensay_title(mob_name(20094))say("Perdon , pero debes introduccir algun número")say("para poder darle el tiempo de bloqueo de chat.")returnend

    Y Un ..

    if desbloquear_chat == pc.block_chat(..desbloquear_chat..) == 0 thensay_title(mob_name(20094))say("Lo siento pero el jugador no tiene ningun bloqueo de chat.")say("Lo puedes desbanear cuando tenga un ban de chat. Suerte.")returnend

    De todos modos esta buena ^^ +1

    Prefiero hacerlo así, pero cojo tu sugerencia. :P

  8. 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.

  9. 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.

×
×
  • Crear nuevo...