Jump to content

[Evento] Juegos del Hambre


KeKo

Mensajes recomendados

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

Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...