Jump to content

KeKo

Miembro
  • Contador contenido

    518
  • Ingreso

  • Última visita

  • Días ganados

    74

Todo lo publicado por KeKo

  1. Como dijo fuuton si pones fsck -y ya responde solo yes a todo.
  2. Um bueno, puede que el encargo fuese hazme una quest estilo la del pana xd :troll:
  3. Buenas zoneros, Aqui teneis una vieja quest que hice para el mistery2masters en su momento, en la que al crear el pj a lvl 1 te va llevando por la city a hablar con cada npc y ellos te van dando el equipo. Tiene mucho tiempo asi que podria hacerse con menos lineas, pero me da pereza reducirla ya se queda como cuando la hice quest comienzo begin state start begin when login begin set_state(comenzar) end end state comenzar begin when letter begin send_letter("Eres nuevo?") end end when button or info begin say_title("Eres nuevo?") say("") say("Hola "..pc.get_name().." he oido que eres nuevo") say("asi que te dare un buen consejo") say("") say("Si vas hasta city los npcs") say("te iran explicando su funcion") say("y te daran tu equipo basico") say("") say("Vete a hablar primero con npcarma") say("tendra una flecha encima, habla con el") say("y el te seguira explicando") say("") set_state(arma) end end state arma begin when letter begin local v = find_npc_by_vnum(9001) if v != 0 then target.vid("__TARGET__", v, "Npcarma") send_letter("Vete con npcarma") end end when button or info begin say_title("Vete con Npcarma") say("") say("Npcarma te esta buscando") say("tiene encima una flecha") say("asi que lo encontraras facilmente") say("") say_reward("Vete a hablar cn el!") say("") end when __TARGET__.target.click or 9001.chat."Npcarma" begin target.delete("__TARGET__") say_title("Npcarma") say("") say("Hola "..pc.get_name()..", yo soi npcarma") say("y soi el que vende armas aqui") say("") say("Aunque para ti por ser nuevo") say("tengo una arma de regalo") say("") say("No es muy buena pero") say("para empezar te gustara") say("") if pc.job == 0 then pc.give_item2(idarma,1) --espada pc.give_item2(idarma,1) --lanza elseif pc.job == 1 then pc.give_item2(idarma,1) --espada pc.give_item2(idarma,1) --arco pc.give_item2(idarma,1) --daga pc.give_item2(8000,200) --flechas elseif pc.job == 2 then pc.give_item2(idarma,1) --espada elseif pc.job == 3 then pc.give_item2(idarma,1) --fan pc.give_item2(idarma,1) --campana end say_reward("Me han contado que te busca") say_reward("npcarmadura, asi que ve con el") set_state(armor) end end state armor begin when letter begin local v = find_npc_by_vnum(9002) if v != 0 then target.vid("__TARGET__", v, "Npcarmor") send_letter("Vete con npcarmor") end end when button or info begin say_title("Vete con npcarmor") say("") say("Npcarmor te esta buscando") say("tiene encima una flecha") say("asi que lo encontraras facilmente") say("") say_reward("Vete a hablar cn el!") say("") end when __TARGET__.target.click or 9002.chat."Npcarmor" begin target.delete("__TARGET__") say_title("Npcarmor") say("") say("Hola "..pc.get_name().." he oido que eres nuevo") say("asi que te contare algo") say("") say("Yo soi el que vende las armaduras aqui") say("y por ser nuevo tengo un regalito para ti") say("") say("No es mi mejor armor, pero creo") say("que a tu nivel te gustara") say("") say_reward("He oido que el fabricante de piedras") say_reward("te estaba buscando, asi que ve con el") set_state(fabricante_piedras) if pc.job == 0 then pc.give_item2(idarmor,1) --armadura pc.give_item2(idcasco,1) --casco pc.give_item2(idescudo,1) --escudo elseif pc.job == 1 then pc.give_item2(idarmor,1) --armadura pc.give_item2(idcasco,1) --casco pc.give_item2(idescudo,1) --escudo elseif pc.job == 2 then pc.give_item2(idarmor,1) --armadura pc.give_item2(idcasco,1) --casco pc.give_item2(idescudo,1) --escudo elseif pc.job == 3 then pc.give_item2(idarmor,1) --armadura pc.give_item2(idcasco,1) --casco pc.give_item2(idescudo,1) --escudo end end end state fabricante_piedras begin when letter begin local v = find_npc_by_vnum(Npcpiedras) if v != 0 then target.vid("__TARGET__", v, "Npcpiedras") send_letter("El fabricante de piedras") end end when button or info begin say_title("El fabricante de piedras") say("") say("El fabricante de piedras te esta buscando") say("tiene encima una flecha") say("asi que lo encontraras facilmente") say("") say_reward("Vete a hablar cn el!") say("") end when __TARGET__.target.click or npcpiedras.chat."El fabricante de piedras" begin target.delete("__TARGET__") say_title("El fabricante de piedras") say("") say("Hola "..pc.get_name().." he oido que eres nuevo") say("asi que te contare quien soi yo") say("") say("Si tu me traes 3 piedras del mismo tipo") say("yo te dare una piedra mejor") say("Que te parece? Es buen trato?") say("") say("Bueno mientras no tengas piedras") say("te dare un collar para que mates monstruos") say("") say_reward("He oido que el fabricante de gemas") say_reward("tambien quiere hablar contigo") say("") pc.give_item2("idcollar", 1) set_state(fabricante_gemas) end end state fabricante_gemas begin when letter begin local v = find_npc_by_vnum(npcgemas) if v != 0 then target.vid("__TARGET__", v, "npcgemas") send_letter("El fabricante de gemas") end end when button or info begin say_title("El fabricante de gemas") say("") say("El fabricante de gemas te esta buscando") say("tiene encima una flecha") say("asi que lo encontraras facilmente") say("") say_reward("Vete a hablar cn el!") say("") end when __TARGET__.target.click or npcpiedras.chat."El fabricante de gemas" begin target.delete("__TARGET__") say_title("El fabricante de gemas") say("") say("Hola "..pc.get_name().." he oido que eres nuevo") say("asi que te contare quien soi yo") say("") say("Si tu me traes piedras") say("yo te dare a cambio gemas") say("Que te parece? Es buen trato?") say("") say("Las gemas son items que te daran") say("mejores bonus que las piedras normales") say("") say("Bueno mientras no tengas piedras") say("te dare unos zapatos para que no vayas descalzo") say("") say_reward("He oido que el comerciante de doblones") say_reward("tambien quiere hablar contigo") say("") pc.give_item2("idzapatos", 1) set_state(comerciante_doblones) end end state comerciante_doblones begin when letter begin local v = find_npc_by_vnum(npcdoblones) if v != 0 then target.vid("__TARGET__", v, "npcdoblones") send_letter("El Comerciante de Doblones") end end when button or info begin say_title("El Comerciante de Doblones") say("") say("El Comerciante de Doblones te esta buscando") say("tiene encima una flecha") say("asi que lo encontraras facilmente") say("") say_reward("Vete a hablar cn el!") say("") end when __TARGET__.target.click or npcdoblones.chat."El Comerciante de Doblones" begin target.delete("__TARGET__") say_title("El Comerciante de Doblones") say("") say("Hola "..pc.get_name().." he oido que eres nuevo") say("asi que te contare quien soi yo") say("") say("Los doblones son un item especial") say("de nuestro servidor") say("") say("Si tu me traes doblones") say("podras conseguir nuevos items") say("y tener privilegios que no podrias tener") say("") say("Asi es un doblon") say_item_vnum("iddoblon") say("") say("Cuando tengas alguno ven conmigo") say("Mientras te dare unos pendientes y brazalete") say("") pc.give_item2("idpendis", 1) pc.give_item2("idbraza", 1) set_state(finalmision) end end state finalmision begin when letter begin send_letter("Ya conoces la ciudad") end end when button or info begin say_title("Ya conoces la ciudad") say("") say("Bueno ahora ya sabes mejor") say("que hace cada npc de la ciudad") say("") say("Asi que ahora ya puedes irte") say("a matar monstruos y subir de nivel") say("") say("Esperamos que disfrutes tu juego") say("en nuestro servidor") say("") set_state(__complete) end end state __complete begin end end Saludos
  4. KeKo

    [Evento] Coliseo PvM

    Eso es que no tiene mdatr, habria que hacerselo o seguira atravesando. De todos modos es un mapa posible, puedes hacerlo en el que quieras
  5. KeKo

    [Evento] Coliseo PvM

    De que? xd Lo unico de lo que puedo hacer foto en este evento es del mensaje de: El coliseo va en la ronda X
  6. KeKo

    [Evento] Coliseo PvM

    Bueenas zoneros y zoneras, Hoy os traigo otro evento cosecha propia. Hace tiempo que habia escrito esta quest, que iba ser para un evento publico para mz, pero al final me dio pereza acabarla y quedo mi baul de las quests no acabdas. Bueno os comento: activas el evento mediante un npc, que le da 20min a todos los posibles jugadores para entrar al mapa hablando con el npc del evento. Una vez los 20min se cierra la entrada y si los jugadores hablan con el npc que debereis poner en el centro del mapa (o donde querais pero en el mapa) empezara el evento. La cosa es sencilla: acaba con todos los mobs de cada ronda. Si lo haces empezará la siguiente ronda (asi hasta la ronda que pongais de limite), perooo si moris os ireis para city. En este evento puede no haber ganadores asi que aconsejo a los usuarios que se preparen bien para el evento xd. Si los jugadores llegan a la ronda final aparecera un jefe especial que deberan matar entre todos, y si lo consiguen se les dara un premio (eso lo poneis ya de drop del jefe) El evento esta pensando para este mapa, pero podeis usar el que querais http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2393269-release-fliegendes-colloseum-map.html Tambien esta pensado para usar este mob como jefe final (es un metin gigante hecho por Chaoss) pero de nuevo usad el que querais. https://mega.co.nz/#!fJBGHI5Z!Pz_Io2HMpNxlrJHoUoA0rQYIIPpfhgE3XSDY0Ffdw1M Y bueno aqui teneis la quest: quest evento_coliseo begin state start begin when 20012.chat."GM: Evento Coliseo" with pc.is_gm() begin say_title("Evento Coliseo") say("") say("Buenas tardes caballero") say("que quiere hacer con el evento") say("") local pregunta = select ("Activar Coliseo" , "Desactivar Coliseo" , "Ir alli" , "Cerrar") if pregunta == 1 then notice_all("*El Evento Coliseo ha comenzado, hablad con el npc para ir alli*") notice_all("*teneis 20minutos para entrar todos los que querais*") server_timer("coliseo", 20) game.set_event_flag("evencoliseo", 1) elseif pregunta == 2 then notice_all("*El Evento Coliseo se ha acabado, esperamos que lo hayais disfrutado*") warp_all_to_village(250,2) game.set_event_flag("evencoliseo", 0) game.set_event_flag("empezar_coli",0) elseif pregunta == 3 then pc.warp(3107100, 3196900) end end when 20012.chat."Evento Coliseo" begin if game.get_event_flag("evencoliseo") == 0 then say_title("Evento Coliseo") say("") say("Hola "..pc.get_name().." soi el encargado del Coliseo") say("y lamento decirte que en estos momentos") say("el evento no se encuentra activo") say("") say("Estate atento que se avisara") say("cuando puedas entrar al Coliseo") say("") return end say_title("Evento Coliseo") say("") say("Buenas "..pc.get_name().." el evento Coliseo") say("en su evento en el que tendras que superar") say("montones de hordas de enemigos") say("") say("Si mueres seras enviado a city") say("pero si consigues llegar a la ultima ronda") say("te espera una gran recompensa") say("") say("Que haras, te atreves?") say("") local coli = select ("Quiero ir" , "Paso") if coli == 1 then pc.warp(3107000, 3208300) end end when coliseo.server_timer begin notice_all("*El Evento Coliseo se ha puesto en marcha*") game.set_event_flag("empezar_coli",1) end when 20012.chat."Comenzar el coliseo" with game.get_event_flag("empezar_coli") == 1 begin npc.purge() d.new_jump_all(238,31080,32065) d.setf("coliseo",1)d.regen_file("data/dungeon/coliseo.txt") end when login with d.getf("coliseo") == 1 begin loop_timer("salvar", 2) end when kill with not npc.is_pc() and d.getf("coliseofinal") != 1 begin local rondas = { [1] = {5}, [2] = {30}, [3] = {15}, [4] = {20}, [5] = {50}, [6] = {30}, [7] = {35} } d.setf("mobsronda", d.getf("mobsronda") + 1) if rondas[d.getf("coliseo")][1] == d.getf("mobsronda") then d.setf("coliseo", d.getf("coliseo") + 1) d.notice("*El Coliseo se encuentra en la ronda "..d.getf("coliseo").."*") d.regen_file("data/dungeon/coliseo"..d.getf("coliseo").."txt") d.setf("mobsronda",0) end if d.getf("coliseo") == 7 then -- ultima ronda notice_all("*Habeis llegado a la ultima ronda, mucha suerte con el metin final*") d.regen_file("data/dungeon/colifinal.txt") d.setf("coliseofinal", 1) end end when idjefe.kill with d.getf("coliseofinal") == 1 begin -- poneis la id del jefe notice_all("*Habeis superado el Coliseo, recoged vuestras recompensas") timer("pafuera", 10) end when salvar.timer begin if pc.get_hp() <= 0 then warp_to_village() end end when pafuera.timer begin d.exit_all() end endend Os explico como funciona: d.new_jump_all(238,31080,32065)d.setf("coliseo",1)d.regen_file("data/dungeon/coliseo.txt") Al hablar con el npc una vez comenzado el evento se hace un salto para comenzar una dungeon y se carga la primera ronda. Como no siempre usareis el mismo numero de mobs en cada rondas, he puesto un array en el que tendreis que configurar las rondas: local rondas = { [1] = {5}, -- [] numero ronda {} cantidad de mobs[2] = {30},[3] = {15},[4] = {20},[5] = {50},[6] = {30},[7] = {35} } Debereis añadir una linea al array por cada ronda que querais hacer. En el [ ] va el numero de ronda y en el { } la cantidad de mobs que tiene esa ronda de mobs. Al matarlos a todos saldra un mensaje diciendo en que ronda vais y se cargara la siguiente: d.setf("coliseo", d.getf("coliseo") + 1)d.notice("*El Coliseo se encuentra en la ronda "..d.getf("coliseo").."*")d.regen_file("data/dungeon/coliseo"..d.getf("coliseo").."txt") Como veis debereis meter vuestros regens en data/dungeon y se deberan llamar: el primero coliseo y de ahi en adelante seran coliseo2.txt,coliseo3.txt,coliseo4.txt,etc,etc (ojo, no hay coliseo1) Para limitar cual es la ronda del jefe lo pondreis aqui if d.getf("coliseo") == 7 then La ronda que pongais ahi sera la del jefe, que debereis cargar del regen d.regen_file("data/dungeon/colifinal.txt") Y bueno, espero que os guste el evento saludos
  7. ._. Pues si, los que me mandan en la uni y los que leo yo, como la gente normal xd
  8. Aqui teneis una quest que hice cuando me aburria. Es mi propia version del evento de Los Juegos del Hambre que hice tras leerme el libro, con una votacion via mysql para elegir a los jugadores del evento. Esta sin acabar, y no lo acabare, asi que pa quien quiera adaptarla a su server ahi va http://pastebin.com/P6D248MV Pa quien lo este implementado, os aconsejo usar esto: http://www.inforge.net/community/metin2-howto-addon-server-privati/295096-release-navigazione-tra-i-select-extra.html O el mega select de los candidatos os bugeara el chat con el npc. Y la tabla de mysql: https://mega.co.nz/#!jEpHSIyD!WcAAeF6fa5mn0XrxDwdcI3pIAVA8rpuBivvEuXBhoFo Saludos
  9. Me han pedido ayuda con una cosa de esta quest y me fije que el warp no funciona, meted asi el primer when when 11001.chat."Guerra de reinos" or 11003.chat."Guerra de reinos" or 11005.chat."Guerra de reinos" begin local akroma_war = { {19900, 30000}, {20000, 30000}, {30000, 30000} } if game.get_event_flag("nation_war")== 0 then say("La Nation War esta cerrada, en este momento") elseif game.get_event_flag("nation_war")== 1 then say("La Nation War esta abierta, quieres acceder viajero?") local nation_war = select("Si","No") if nation_war == 1 then if pc.level < 65 then say("Eres nivel "..pc.level()..", necesitas ser 65.") return end pc.warp(akroma_war[pc.get_empire()][1],akroma_war[pc.get_empire()][2]) end end end
  10. No os voy a dejar todo hecho no Si no sabes en que ruta va ni hacer los epk no sabes implementar un mapa....
  11. KeKo

    Mapas Para Metin2Zone

    lol, creo que no hacia falta postearlos habiendolos puesto en el post anterior a este
  12. El primero: https://mega.co.nz/#!GJZwDLrY!O1XBDRWirO7YMciq2L2JwkHjFBIW1sVNut-IM9uo1Dk El segundo https://mega.co.nz/#!DUN0EJjZ!L9LTyygYfbPCwvQ4HqR6RQmFqHEUqJIooTbM9U8GmTs El tercero (#128) http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2032270-release-qqw-zeugs-maps-3dmodels-graphics-etc-13.html
  13. vieja escuela del copy paste
  14. Monturas mas viejas que matusalen, del antiguo server de mi colega aquiles.
  15. KeKo

    [Sistema] Puntos Metin

    Esta explicado en el texto, es ir editando los datos de los arrays.
  16. No se yo si podra hacerla xd La parte del cliente esta tirada, con ver como funciona el sistema de prestigios se hace en 0,
  17. Pos en el primer caso era un 3, me equivoque al escribirlo [3][2] En el segundo caso también me equivoqué, era table.getn(cordes) no (sitio).
  18. Um sep se me colo el ) las prisas son malas compañeras perdonad
  19. Buenas zoneros, hoy que me encuentro especialmente trabajador (es decir, que no me apetece estudiar) voy a publicar una nueva entrega del curso de creación de quests de metin2zone. Esta nueva guía se la dedico a mi amigo raul, que siempre me habia dicho que debería aprender esto :trollface: y que era una de las guias que teniamos planeadas cuando configuramos el curso por primera vez pero que no se llego a llevar a cabo. Como veis la he titulado: amigas o enemigas? es para que os deis cuenta de que como programadores que somos los que nos especializamos en lua es importante reducir el código lo máximo posible por diferentes razones: ocupa menos, es menos texto para la vista, queda mas guay, etc y tu quest seguirá haciendo lo mismo que antes pero con menos código. 1 - Tablas: Bueno, antes de nada vamos a crear nuestra tabla o array sencillo: local keko = {10,20,34,43,57} Como veis, a diferencia de los selects a los que estáis acostumbrados los elementos de la tabla estan dentro de { } --------------------------------------------------------------------------------------------------------------------------- Ojo:Los elementos deben estar separados por comas, y el último de ellos NO debe llevar la coma. --------------------------------------------------------------------------------------------------------------------------- Bueno, ahora que tenemos una mini tabla vamos a llamar a los diferentes elementos de la misma. La sintaxis es la siguiente: nombre[posicion] keko[1] -- 10 keko[2] -- 20 keko[3] -- 34 keko[4] -- 43 keko[5] -- 57 Como veis escribimos el nombre del local y luego entre [ ] ponemos la posicion del elemento que queramos seleccionar dentro del array. Asi que ahora ya podeis meter vuestras tablas en la quest del siguiente modo: local items = {160,161,162,163} pc.give_item2(items[1]) -- te dara el 160 pc.give_item2(items[2]) -- te dara el 161 pc.give_item2(items[3]) -- etc pc.give_item2(items[4]) -- etc De todos modos en ese ejemplo un for lo haría mucho mas sencillo, aunque ya os explicare mas a fondo como se usa local items = {160,161,162,163} for i=1, table.getn(items) do -- en la i ponemos igual a 1 y luego la cantidad de veces que se repita pc.give_item2(items[i]) -- te dara cada uno de los items que haya en la tabla end -- cada for le corresponde un end 2 - Arrays con subcategorías: Bueno, hemos visto una tabla sencillita, vamos a complicar un poco la cosa: local cordes = { {12500,13400}, {12400,18900}, {19800,12300} } Ahora tenemos una tabla con diferentes apartados dentro della. Vamos a ver como sería la sintaxis en este caso: nombre[subcategoria][posicion] cordes[1][1] -- 12500 cordes[1][2] -- 13400 cordes[2][1] -- 12400 cordes[2][2] -- 18900 cordes[3][1] -- 19800 cordes[3][2] -- 12300 ----------------------------------------------------------------------------------------------------- Ojo:Las subcategorias deben estar separadas por comas, y la ultima NO la lleva ----------------------------------------------------------------------------------------------------- Como veis, de nuevo escribimos el nombre, luego pondremos un primer [ ] con la subcategoría, que es el número de arrays simples dentro del array compuesto: local nombre = { -- abres la tabla {} -- subcategoria 1 {} -- subcategoria 2 {} -- subcategoria 3 } -- cierras la tabla En el segundo [ ] va la posicion del elemento como habiamos hecho con el array simple local cordes = { {12500,13400,17500,14000}, {12400,18900,13200} } cordes[1][4] -- 14000 cordes[2][2] -- 18900 Veamoslo en una quest: local cordes = { {12500,13400}, {12400,18900}, {19800,12300} } pc.warp(cordes[1][1],cordes[1][2]) -- 12500, 13400 3. Arrays + funciones + selects = locura? Bien, hasta ahora solo hemos visto ejemplos sin llegar a hacer una quest en condiciones. Lo más habitual usando arrays es combinarlos con un local = select del siguiente modo say("Que arma quieres") say("") local items = {160,161,162} local arma = select ("Ninfa +0" , "Ninfa +1" , "Ninfa +2" , "Cerrar") if arma == table.getn(items)+1 then return end pc.give_item2(items[arma],1) De este modo, segun lo que eligamos en el select, nos asignara uno de los elementos del array, si pinchamos en Ninfa +0 el juego enviara al array la orden de mostrar el elemento de posicion 1, si pinchas en Ninfa +1 te enviará la de posicion 2 y así sucesivamente. Por lo tanto, al meter el resultado del select en el array pc.give_item2(items[arma],1) Te dara la que hayas seleccionado, y así te evitarás tener que poner tres if y solo pondras 1 Ahora con un array doble: say("Que arma quieres") say("") local items = { {160,2}, {161,1}, {162,3} } local arma = select ("Ninfa +0" , "Ninfa +1" , "Ninfa +2" , "Cerrar") if arma == table.getn(items)+1 then return end pc.give_item2(items[arma][1],items[arma][2]) Tal y como está ahora, cogera la subcategoría del select, y una vez la tenga te dara lo que tengas en la posicion 1 y en la cantidad pondra lo que tengas en la posicion 2. De este modo, aunque las cantidades del item sean diferentes podrás hacerlo con un solo if. Y por último vamos a meterle mas complicacion, una funcion dentro del array! say("Te voi a dar un arma aleatoria") say("") local items = { {160,2}, {161,1}, {162,3} } local arma = select ("OK" , "Cerrar") if arma == 2 then return end pc.give_item2(items[math.random(1,table.getn(items))][1],items[math.random(1,table.getn(items))][2]) Bien, ahora en este caaso el juego nos va a dar un arma aleatoria, porque hemos incluido la funcion math.random dentro del array. Tal y como la hemos puesto: [math.random(1,table.getn(items))] Nos dara un resultado que puede estar entre 1 y el numero de subcategorias que tiene la tabla items. ----------------------------------------------------------------------------------------------------------------------------------------------------------------- (table.getn(nombretabla)) es una función muy útil que devuelve el número maximo de elementos que tiene una tabla simple o de subcategorias de una compuesta) ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Por lo tanto tal y como esta configurada la quest buscara primero la subcategoría, que sera el número aleatorio, y después irá a la posicion dentro de ella que le hemos dicho (1 para la id y 2 para la cantidad) 4 - KeKo, no lo hemos entendido!!!! Bueno vale, os pondré otro ejemplo: say("A donde quieres ir?") sa("") local sitio = select ("Mapa1" , "Mapa2", "Mapa3" , "Cerrar") local cordes = { {cordx,cordy}, {cordx,cordy}, {cordx,cordy} } if sitio == table.getn(cordes)+1 then return end pc.warp(cordes[sitio][1],cordes[sitio][2]) 5 - Subcategorías numeradas Vamos a probar otra cosa: y si metemos un numero determinado para cada subcategoría en vez de 1,2,3,etc? local prueba = { [100] = {10,11}, [1001] = {12,13}, [134] = {14,15} } Veamos la sintaxis de esto: chat(prueba[100][1]) -- 10 chat(prueba[1001][2] -- 13 De nuevo debemos hacer referencia primero a la subcategoria y luego a la posicion detro de la misma. Y para que nos sirve esto? Tiene un monton de aplicaciones pero una muy típica es igualar la numeración de la subcategoría a una funcion: when 45000.use or 45001.use or 45002.use begin local premios = { [45000] = {30,31}, [45001] = {32,33}, [45002] = {34,35} } chat(premios[item.get_vnum()][1]) -- si tu item es 45000 esto es 30 chat(premios[item.get_vnum()][2]) -- si tu item es 45002 esto es 34 end De este modo la subcategoría la reconoce el juego segun el item que hayas usado. Y bueno chicos, eso sería todo. Todavía me quedaría muchísimo de explicar sobre el uso de las tablas, pero el hecho de que no tengo demasiado tiempo y de que mis conocimientos de las mismas no son tan amplios como los de Noa (y muchos otros xd) lo dejaré aqui en esta entrega del curso de quests. Espero que os sea útil.
  20. Revisa que tu serverside use estas cordes: d.new_jump_all(46, 5131, 4089) Si escribes /warp 5131 4089 deberia llevarte a algun lado, si no cambia las cordes en el Setting o en la quest
  21. KeKo

    [Sistema] Puntos Metin

    Solo tienes que usar el de otro item y cambiarle la id Pos tal y como esta carga bien...
  22. A esa le falta el motlist, la corregi yo para inforge el dia que la publicaron.
×
×
  • Crear nuevo...