KeKo Posted June 28, 2013 Report Share Posted June 28, 2013 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 Debes iniciar sesión para ver el contenido del enlace en esta publicación. quest juegos_del_hambre begin state start begin when 20012.chat."Los Juegos del Hambre" begin if pc.is_gm() then say_title("Los Juegos del Hambre") say("") say("Que quieres hacer?") say("") local juego = select ("Elecciones" , "Juegos" , "Cerrar") if juego == 1 then say_title("Los Juegos del Hambre") say("") local ele = select ("Abrir las elecciones" , "Cerrar las elecciones" , "Elegir Seleccionados" , "Cerrar") if ele == 1 then notice_all("Ha empezado el periodo de elecciones para los Juegos del Hambre") notice_all("podeis presentaros como tributos en el npc del evento") game.set_event_flag("juegos_elecciones",1) game.set_event_flag("juegos_hambre",1) elseif ele == 2 then notice_all("Se han cerrado las elecciones a tributo de cada distrito") notice_all("pronto se anunciaran los resultados") game.set_event_flag("juegos_elecciones", 0) local reino = {"Shinso","Chunjo","Jinno"} for i=1, table.getn(reino) do mysql_query("UPDATE player.juegos_hambre SET elegido='1' WHERE distrito='"..reino[i].."' ORDER BY votos desc LIMIT 8;") end elseif ele == 3 then notice_all("Ya se han seleccionado los tributos para Los Juegos del Hambre") notice_all("id al npc para ver quienes son los afortunados") game.set_event_flag("juegos_elecciones", 2) local elegi = mysql_query("SELECT tributo FROM player.juegos_hambre WHERE elegido='1';") for i=1, table.getn(elegi) do game.set_event_flag("elegido"..elegi.tributo[i].."",1) end end elseif juego == 2 then say_title("Los Juegos del Hambre") say("") local ele = select ("Empezar los Juegos" , "Cerrar") if ele == 1 then notice_all("Que den comienzo los Juegos del Hambre!") notice_all("los tributos elegidos de cada distrito deben dirigirse al npc del evento") game.set_event_flag("juegos_hambre", 1) server_timer("juegos_contador_muertes", 60*5) server_timer("juegos_contador_final", 60*5) end end elseif pc.is_gm() == false then if game.get_event_flag("juegos_hambre") == 0 then say_title("Los Juegos del Hambre") say("") say("Lo siento, en este momento no esta activo el evento") say("") elseif game.get_event_flag("juegos_elecciones") == 1 then say_title("Los Juegos del Hambre") say("") say("Buenas tardes posible tributo") say("que te gustaria hacer?") say("") local elecciones = select ("Presentarme a tributo" , "Ver tributos" , "Votar tributos" , "Cerrar") if elecciones == 1 then if pc.getqf("presentado_hambre") == 1 then say_title("Los Juegos del Hambre") say("") say("Lo siento, ya te has presentado como tributo") say("") return end if pc.get_level() < 80 then say_title("Los Juegos del Hambre") say("") say("Lo siento pero para ser tributo hay que ser nivel 80") say("") return end say_title("Los Juegos del Hambre") say("") say("Admiro tu valentia ofreciendote!") say("") say("Dime, como te llamas para anotarte como tributo?") say("") local nombre = input() local reino = {"Shinso","Chunjo","Jinno"} if nombre != pc.get_name() or nombre == nil then say_title("Los Juegos del Hambre") say("") say("Oye, no puedes dejar esto en blanco") say("o poner el nombre de otros") say("") return end pc.setqf("presentado_hambre",1) mysql_query("INSERT INTO player.juegos_hambre SET tributo='"..nombre.."',distrito='"..reino[pc.get_empire()].."',votos='0';") chat("Te has presentado a tributo por el Distrito "..pc.get_empire().." mucha suerte") elseif elecciones == 2 then local reino = {"Shinso","Chunjo","Jinno"} local candida = mysql_query("SELECT tributo FROM player.juegos_hambre WHERE distrito='"..reino[pc.get_empire()].."';") table.insert(candida.tributo,"Cancelar") say_title("Los Juegos del Hambre - Candidatos a tributo") say("") say_size(350,360) local elegido = select_table(candida.tributo) elseif elecciones == 3 then say_title("Los Juegos del Hambre") say("") say("Aqui podras votar a tu candidato favorito") say("elige al que mejor creas que vaya a defender") say("el honor de tu distrito y votalo") say("") local o = select ("Ok, votare" , "Paso") if o == 1 then if pc.getqf("has_votado_hambre") == 1 then say_title("Los Juegos del Hambre") say("") say("Lo siento, ya has votado a un tributo") say("") return end local reino = {"Shinso","Chunjo","Jinno"} local candida = mysql_query("SELECT tributo,votos FROM player.juegos_hambre WHERE distrito='"..reino[pc.get_empire()].."';") table.insert(candida.tributo, "Cancelar") say_title("Los Juegos del Hambre - Elige tu preferido") say("") say_size(350,360) local elegido = select_table(candida.tributo) if elegido == table.getn(candida.tributo) then return; else mysql_query("UPDATE player.juegos_hambre SET votos=votos+1 WHERE tributo='"..candida.tributo[elegido].."';") pc.setqf("has_votado_hambre", 1) chat("Has votado a "..candida.tributo[elegido]..", esperemos que salga elegido para el evento") end end end elseif game.get_event_flag("juegos_elecciones") == 2 then say_title("Los Juegos del Hambre") say("") say("Que quieres hacer?") say("") local cosa = select ("Participar en los Juegos","Ver las estadisticas","Ver los elegidos","Cerrar") if cosa == 1 then if game.get_event_flag("juegos_hambre") != 1 then say_title("Los Juegos del Hambre") say("") say("Espera a que empiecen los Juegos") say("") return end if game.get_event_flag("elegido"..pc.get_name().."") == 1 then chat("Adelante, la gloria te espera") pc.warp(8763200,8828900) game.set_event_flag("tributos_distrito"..pc.get_empire().."",game.get_event_flag("tributos_distrito"..pc.get_empire().."") + 1) game.set_event_flag("tributos_dentro",game.get_event_flag("tributos_dentro")+1) game.set_event_flag("elegido"..pc.get_name().."",0) notice_all(pc.get_name().." ha entrado a Los Juegos del Hambre") pc.setqf("vidas_hambre",3) return end say_title("Los Juegos del Hambre") say("") say("Lo siento no eres uno de los elegidos") say("") elseif cosa == 2 then local reino = {"Shinso","Chunjo","Jinno"} local elegidos = mysql_query("SELECT tributo,asesinatos FROM player.juegos_hambre WHERE distrito='"..reino[pc.get_empire()].."' ORDER BY votos desc LIMIT 8;") say_title("Los Juegos del Hambre - Estado de los tributos") say("") table.foreachi(elegidos,function(nr,dato) say(nr.." Tributo: "..dato[1].." Asesinatos: "..dato[2]) end) say("") elseif cosa == 3 then local reino = {"Shinso","Chunjo","Jinno"} local elegidos = mysql_query("SELECT tributo,distrito,votos FROM player.juegos_hambre WHERE distrito='"..reino[pc.get_empire()].."' ORDER BY votos desc LIMIT 8;") say_title("Los Juegos del Hambre - Tributos Seleccionados") say("") table.foreachi(elegidos,function(nr,dato) say(nr.." Tributo: "..dato[1].." Distrito: "..dato[2]) end) say("") end end end end when logout with pc.get_map_index() == 250 and game.get_event_flag("juegos_hambre") == 1 begin local reino = {"Shinso","Chunjo","Jinno"} notice_all(""..pc.get_name().." ha desertado de los Juegos del Hambre, el distrito "..reino[pc.get_empire()].." ha perdido un tributo") pc.setqf("vidas_hambre",5) game.set_event_flag("tributos_dentro",game.get_event_flag("tributos_dentro")-1) game.set_event_flag("elegido"..pc.get_name().."",0) game.set_event_flag("tributos_distrito"..pc.get_empire().."",game.get_event_flag("tributos_distrito"..pc.get_empire().."") - 1) end when kill with npc.is_pc() and pc.get_map_index() == 250 and game.get_event_flag("juegos_hambre") == 1 begin mysql_query("UPDATE player.juegos_hambre SET asesinatos=asesinatos+1 WHERE tributo='"..pc.get_name().."';") local vid = npc.get_vid() pc.select(vid) pc.setqf("vidas_hambre", pc.getqf("vidas_hambre") - 1) chat("Te quedan todavía "..pc.getqf("vidas_hambre").." vidas asi que ten cuidado") if pc.getqf("vidas_hambre") == 0 then warp_to_village() notice_all(""..pc.get_name().." ha sido eliminado de Los Juegos del Hambre") game.set_event_flag("elegido"..pc.get_name().."",0) game.set_event_flag("tributos_distrito"..npc.get_empire().."", game.get_event_flag("tributos_distrito"..npc.get_empire().."") - 1) if game.get_event_flag("tributos_distrito"..npc.get_empire().."") == 0 then local reino = {"Shinso","Chunjo","Jinno"} notice_all("El distrito "..reino[pc.get_empire()].." ha sido elimando de Los Juegos del Hambre") end end end when juegos_contador_final.server_timer with game.get_event_flag("juegos_hambre") == 1 begin local flags = {game.get_event_flag("tributos_distrito1"),game.get_event_flag("tributos_distrito2"),game.get_event_flag("tributos_distrito3")} if flags[1] != 0 and flags[2] == 0 and flags[3] == 0 then notice_all("El Distrito Shinso ha ganado los Juegos del Hambre") clear_server_timer("juegos_contador_muertes") server_timer("final_juegos",10) elseif flags[2] != 0 and flags[1] == 0 and flags[3] == 0 then notice_all("El Distrito Chunjo ha ganado los Juegos del Hambre") clear_server_timer("juegos_contador_muertes") server_timer("final_juegos",10) elseif flags[3] != 0 and flags[1] == 0 and flags[2] == 0 then notice_all("El Distrito Jinno ha ganado los Juegos del Hambre") clear_server_timer("juegos_contador_muertes") server_timer("final_juegos",10) end server_timer("juegos_contador_final",60*5) end when juegos_contador_muertes.server_timer with game.get_event_flag("juegos_hambre") == 1 begin server_timer("juegos_contador_muertes",60*5) for i=1, 3 do local reino = {"Shinso","Chunjo","Jinno"} notice_all("El distrito "..reino[i].." todavia tiene "..game.get_event_flag("tributos_distrito"..i.."").." tributos vivos") end end when final_juegos.server_timer begin notice_all("Los Juegos del Hambre han terminado, pero hay una nueva regla") notice_all("solo puede haber un ganador, asi que mataos entre vosotros hasta que solo quede 1") game.set_event_flag("tributos_distrito1",0) game.set_event_flag("tributos_distrito2",0) game.set_event_flag("tributos_distrito3",0) clear_server_timer("juegos_contador_final") clear_server_timer("juegos_contador_muertes") server_timer("campeon_juegos",60*1) mysql_query("UPDATE player.juegos_hambre SET campeon='1' WHERE asesinatos>'0' ORDER BY asesinatos desc LIMIT 1;") end when campeon_juegos.server_timer begin if game.get_event_flag("tributos_dentro") == 1 then local elegi = mysql_query("SELECT tributo FROM player.juegos_hambre WHERE campeon='1';") game.set_event_flag("campeon_juegos"..elegi.tributo[1].."",1) game.set_event_flag("tributos_dentro", 0) game.set_event_flag("juegos_hambre", 0) notice_all(""..elegi.tributo[1].." es el nuevo |*|Campeon de los Juegos|*|, muchas felicidades") notice_all("Con esto se acaba esta edicion de Los Juegos del Hambre") return end server_timer("campeon_juegos",60*1) end endend Pa quien lo este implementado, os aconsejo usar esto: Debes iniciar sesión para ver el contenido del enlace en esta publicación. O el mega select de los candidatos os bugeara el chat con el npc. Y la tabla de mysql: Debes iniciar sesión para ver el contenido del enlace en esta publicación. Saludos SuperGamix, 4Metin, RaggedFaun7 and 12 others 14 1 Quote Link to comment Share on other sites More sharing options...
Rafa23Alzira Posted June 29, 2013 Report Share Posted June 29, 2013 Muchas gracias KeKo =) Quote Link to comment Share on other sites More sharing options...
fuuton97 Posted June 29, 2013 Report Share Posted June 29, 2013 Excelente Keko, muy interesante este sistema de Juegos del Hambre, por cierto, tú lees libros? xD. Quote Link to comment Share on other sites More sharing options...
LORDCarlo™ Posted June 29, 2013 Report Share Posted June 29, 2013 Gracias tio lo voy a implementar!!! Quote Link to comment Share on other sites More sharing options...
KeKo Posted June 29, 2013 Author Report Share Posted June 29, 2013 por cierto, tú lees libros? xD. ._. Pues si, los que me mandan en la uni y los que leo yo, como la gente normal xd Quote Link to comment Share on other sites More sharing options...
Shogun Posted June 29, 2013 Report Share Posted June 29, 2013 Tiene muy buena pinta... leer libros, que oldschool KeKo 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.