KeKo
-
Contador contenido
518 -
Ingreso
-
Última visita
-
Días ganados
74
Mensajes publicados por KeKo
-
-
@Dextrox, no se porque pero me suena la estructura de esa quest (xq sera xd), pero la has adaptado mal, el warp esta mal hecho y el ultimo elemento del array lleva coma.
quest mapas begin state start begin when 20011.chat."Ir a mapas" begin --Aca van todas las coordenadas de todos los mapas. local coord_map = { {coord1x, coord1y }, {coord2x, coord2y }, {coord3x, coord3y }, {coord4x, coord4y }, {coord5x, coord5y } } say_title("Viajero:") say("Selecciona el mapa al que quieres ir") local result = select("map1", "map2", "map3", "map4", "map5", "Cancelar") if result != 6 then pc.warp(coord_map[result][1],coord_map[result][2]) end end end end
Asi si que si xd
- Riochu™ no es reacciono a esto
- 1
-
pero con eso no saldra el mensaje cada vez que entre un miembro del grupo a ese mapa?
mejor asi:
when login with pc.get_map_index() == indexmapa and party.is_leader() begin
pero cuando maten al mob, el noombre que saldra será el que de el ultimo golpe
Sep claro que puedes poner el party.is_leader pero me daba pereza escribirlo porq andaba con prisa :yaoming:
-
Bueno el sistema pero ya te jode si quieres hacer alguna quest con algún metin ya que al tener el kill ya no puedes ponerle otro
Puedes hacer esto:
when kill with not npc.is_pc() begin
Ya que como explico en el mensaje, el propio array ya incluye las ids de los metines (Aunque le haces buscar al juego si existe un elemento en el array con la id del mob que acabas de matar cada vez que matas un mob pero bue xd)
Gracias.
Ya voy entendiendo los arrays.
No problem, pa eso estamos
keko :motherofquest:
:ohstopityou:
-
- Este es un tema popular.
- Este es un tema popular.
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:
quest puntos_metin begin state start begin when kill begin 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"} } pc.give_item2("27003",metin[npc.get_race()][1]) chat("Has destruido un "..metin[npc.get_race()][2]..", obtienes "..metin[npc.get_race()][1].." esferas de metin") end when 20012.chat."Canjeo de Puntos Metin" begin say_title("Canjeo de Puntos Metin") say("") say("Buenas "..pc.get_name().." aqui podras canjear Puntos Metin") say("que puedes conseguir destruyendo los diferentes") say("metines que te encontraras en el server") say("") say("Cada metin te dara una cantidad diferente de puntos") say("en estos momentos tienes "..pc.count_item("27003").." Puntos Metin") say("") say("Que quieres hacer?") say("") local canj = select ("Canjearlos" , "Cerrar") if canj == 1 then say_size(350,355) say_title("Canjear Puntos Metin") say("") local elegir = select("Item1","Item2","Item3","Item4","Item5","Item6","Item7","Cancelar") local premios = { {27002,1,27003,1}, {27002,5,27003,2}, {27002,10,27003,3}, {27002,15,27003,4}, {27002,50,27003,5}, {27002,100,27003,6}, {27002,200,27003,7} } if elegir != 8 then if pc.count_item(premios[elegir][3]) < premios[elegir][4] then say_title("Canjear Puntos Metin") say("") say("Lo siento, no tienes los puntos necesarios") say("para comprar este objeto") say("") say("Necesitas tener "..premios[elegir][4]-pc.count_item(premios[elegir][3]).." mas para comprarlo") say("vuelve cuando hayas conseguido los que te faltan") say("") return end pc.give_item2(premios[elegir][1],premios[elegir][2]) pc.remove_item(premios[elegir][3],premios[elegir][4]) end end end end end
(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.- Kompulsor, NataliMontoya, santos2002 y 41 mas reacciono a esto
- 44
-
e_e aun soy principiante tantos codigos no me se , los basicos y algunos medio dificiles
Jaja tranqui no pasa nada, mis quests las suele coger noa y acabar con 3 veces menos codigo xd Yo lo pongo x si alguien quiere echarle un ojo a la sintaxis
-
KeKo podrías hacer una guía de esas tablas, que yo las he visto ya muchas veces pero aun no las acabo de entender :|
Todavia estoi aprendiendo a usarlas, ultimamente como las uso mas ya me voi acostumbrando y en realidad era uno de los capitulos del curso de lua que ibamos a hacer pero no se llego a completar. Asi que si veo que las voi entendiendo del todo lo hare
P.D: Sema ya se que no dice los nombres, pero es porque lo ha puesto para que tu completes.
-
Buf, mucho codigo:
quest Nombre de la quest begin state start begin when IDdelitem.use begin say_tittle ("Nombre") say("Hola señor(a) ".. pc.get_name() .."") say("Con este ítem, usted puede ser millonario...") say("Si tu me das el Nombre del item") say(Yo te dare a elegir los siguientes items") local main_set = select ("Nombre1","Nombre2","Nombre3","Cancelar") local items = { {iditem1, cantidad}, {iditem2, cantidad}, {iditem3, cantidad} } if main_set != 4 then pc.give_item2(items[main_set][1],items[main_set][2]) chat("Has recibido tu item satisfactoriamente") item.remove() end end end end
-
Eso es super hiper sencillo:
when login with pc.get_map_index() == indexmapa begin notice_all("El grupo de "..pc.get_name().." se va a enfrentar al jefe") end when idjefe.kill begin notice_all("El grupo de "..pc.get_name().." ha acabado con el jefe") end
-
GROSOOO!! luego con mas calma lo intentare =) pondria asi pc.reset_points() 1 pc.clear_skill() 1 o solo pc.reset_points(), pc.clear_skill()
Sin el 1 x supuesto, no estas igualando a nada ni dando valor.
pc.reset_points() pc.clear_skill()
-
Para bajar a lvl 1 a un pj tienes que primero meter este diff:
This difference file is created by The Interactive Disassembler game2089 00157334: 31 8B 00157335: C0 92 00157336: 85 DC 00157337: D2 00 00157338: 74 00 00157339: 26 00 0015733A: A1 89 0015733B: 20 14 0015733C: 37 24 0015733D: 4C C7 0015733E: 08 44 0015733F: 8B 24 00157340: 80 04 00157341: DC 01 00157345: 89 E8 00157346: 04 26 00157347: 24 AA 00157348: E8 ED 00157349: B3 FF 0015734A: 71 90 0015734B: EE 90 0015734C: FF 90 00312D3E: 70 72 00312D3F: 63 65 00312D40: 5F 73 00312D41: 61 65 00312D43: 74 5F 00312D44: 72 70 00312D45: 61 6F 00312D46: 63 69 00312D47: 74 6E 00312D48: 5F 74 00312D49: 72 73 00312D4A: 61 00
Y luego añadir estas nuevas funciones al quest_functions:
pc.reset_points() pc.clear_skill()
pc.reset_points() te bajara a level 1 y pc.clear_skill() le reseteara las habs.
Pa usarlas simplemente las pones donde habias puesto el pc.set_level
-
Muchas gracias, editare los posts que seguramente a mas de 1 le venga bien que no tengan los caracteres raros.
-
1 - La condicion para que haya gente de tu party cerca esta bien, pero un d.new_jump_all se llevara a todos los que se encuentre en el mapa.
2 -
when 33004.chat."Cuatro cristales" with pc.get_map_index() >= 120000 and pc.get_map_index() < 129999 begin
when 33004.chat."Cuatro cristales" with pc.get_map_index() >= 120000 and pc.get_map_index() < 129999 and party.is_leader() begin
-
Jugueteando un poco con el lua, aqui teneis la quest del anillo porter echa con 3 arrays
quest teleporter_keko begin state start begin when 80009.use begin local cordes = { {1059000,726200}, {590500,110500}, {665600,435200}, {1049600,0}, {0,1203200}, {241300,1275500} } local cordess = { {344000,502500}, {491800,173600}, {730700,435200}, {333949,689800} } local cordesss = { {969600,278400}, {873100,242600}, {55700,157900}, {138500,234900}, {469300,964200}, {360800,877600} } say_title("Anillo transportador") say("Buenas "..pc.get_name().." elige tu destino") say("") local s = select ("Campo Serpiente","Torre Demonios","Arañas2","Madera Roja","Atlantea","Atlantea2","Mas Mapas") if s != 7 then pc.warp(cordes[s][1],cordes[s][2]) return end say_title("Anillo transportador") say("") local ss = select ("Desierto","Montaña Sohan", "Tierra de Fuego", "Valle de orcos" , "Mas Mapas") if ss != 5 then pc.warp(cordess[ss][1],cordess[ss][2]) return end say_title("Anillo transportador") say("") local sss = select ("Ciudad 1 Jinno","Ciudad 2 Jinno","Ciudad 1 Chunjo","Ciudad 2 Chunjo","Ciudad 1 Shinsoo","Ciudad 2 Shinsoo","Cancelar") if sss != 8 then pc.warp(cordesss[sss][1],cordesss[sss][2]) return end end end end
-
si matan a uno sale otro, es decir siempre habra los que hayan sacado al principio, si pongo que salgan 50 imaginate, el gm saca un tanaka, lo matan, ahora ya son 50 tankas corriendo, si matan uno mas, ya son 100 tanakas cooriendo. Asi esta bien, si matan uno sale otro, si sacas 10 tanakas, cuando maten a uno saldra otro y siempre habra 10.
ya lo probe, poniendo que salieran 2 por cada muerto, pero se me peta el server en na, y tengo 1 procesador de 3,6 y 6gb de ram, weno, tardo un ratito, pero piensa que eso no termina nunca, te comen los bichos. ajajja
Poniendolos antes del evento entonces esta bien, mi idea era mas invocando uno solo con la quest y que ya cn ese pueda salir un numero entre 2 y 5 por ejemplo en su lugar y ya el gm no tendria que hacer nada.
-
mob.spawn(TANAKA,x,y,1)
1 nuevo por cada 1 muerto, la verdad es que nunca he hecho este evento pero para que sea animado pondria un 5 por cada 1 muerto, de otro modo que van a hacer imaginate 50 jugadores matando al tanaka de 1 en 1?
-
-
solo lo agrego ala quest?
Sep, lo pones en vez del
pc.give_exp2(1)
-
Hola disculpen me podrian decir que tanta experiencia se utiliza para level 150? y tambien para 250 ya se que se pone aqui
when login with pc.get_level() == 1 and pc.countitem(27003) == 0 begin
pc . give_exp2 ( 1 )
set_quest_state ( "levelup" , "run" )
pero que tanta exp devo de poner gracias de antemano
Como he dicho hace poco en otros posts puedes hacerlo asi:
while pc.get_level() < 150 do local expniv = pc.get_next_exp() pc.give_exp2(expniv) end
-
Keko, funciona de 10, pero el efecto no se me ve
Y lo de cada pota, digo porque segun si es pequeña mediana o grande, le dan mas velocidad y mas tiempo, entonces hacen falta mas valores que no solo el mismo para todas
Si el efecto no se ve es que ese no es el chat que tienes que poner para el o que esta mal implementado. Sobre lo del tamaño pos metes varios whens, si no mañana te lo hago en un array.
-
Larga pero si es un solo when
quest potionmorada begin state start begin when 27113.use or 27114.use or 27115.use or 27103.use or 27104.use or 27105.use begin local item = item.get_vnum() cmdchat("effect 4") chat("OKI") affect.add_collect(apply,ATT_SPEED,cantidad,tiempo) -- ahi le pones el % que quieres que aumente y x cuanto pc.remove_item(item,1) end end end
-
quest potionmorada begin state start begin when 27113.use or 27114.use or 27115.use or 27103.use or 27104.use or 27105.use begin cmdchat("effect 4") -- si eso es lo que tienes que escribir pa que salga el efecto chat("OKI") end end end
Eso si viendo las ids parecen de potas, te en cuenta que sin type 18 no puedes hacer que les afecte una quest
-
Porque los jugadores no pueden usar el commando effect.
Deberia usar un cmdchat
-
-
wow que interfaz tan putamente fea xD sin ofender compañero e.e!
Sep, al que la publico en epvp se lo han dicho mucho xd
[PETICION]Algunas Quest.
en Petición de quests
Publicado
La mayoria de eso ya esta posteado pero en fin:
La de cambiar raza tenia una por aqui (editale que tiene tildes y se te vera mal si las dejas)
Y la de cambiar nombre la hice yo pa zone hace nada: