Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- quest tournoi begin
- state start begin
- when 20092.chat."GM: Gérer les Concours" with pc.is_gm() begin -- Fonction GM pour Gerer Les Concours
- say_title("Organisatrice de Concours:")
- if game.get_event_flag("tournoi_pvp") == 0 then -- Concours fermé : Les ouvrir ?
- say("Le tournoi pvp ne semble pas ouvert.")
- say("Voulez-vous commencer le tournoi ?")
- say("")
- local s=select("Commencer le tournoi pvp!", "Commencer le Survivant", "Annuler")
- if s == 1 then
- pvp_start()
- say_title("Organisatrice de Concours:")
- say("Les inscriptions sont lancés.")
- elseif s == 2 then
- survivant_start()
- say_title("Organisatrice de Concours:")
- say("Les inscriptions sont lancés.")
- end
- elseif game.get_event_flag("tournoi_pvp") == 1 then -- Inscription Tournoi pvp ouverte : commencer ? Arreter ?
- if pvp_verifi_error() then
- npc . unlock ( )
- return
- end
- say("Les inscriptions au tournoi pvp sont ouvertes.")
- say("Que souhaitez-vous faire ?")
- say("")
- local s=select("Lancer les duels", "Arreter le tournoi", "Annuler")
- if s == 1 then
- if pvp_verifi_participant() then
- npc . unlock ( )
- return
- end
- say_title("Organisatrice de Concours:")
- say("Normal : le tournoi se déroule tout seul")
- say("Suivi : le tournoi se déroule seul, mais vous")
- say("pouvez controler le vainqueur / attendre quand un")
- say("joueur n'est pas présent")
- say("Très Suivi : vous decidez vous même les vainqueurs")
- s=select("Normal", "Suivi", "Très Suivi", "Annuler")
- if s == 1 then
- game.set_event_flag("tournoi_pvp",2)
- elseif s == 2 then
- game.set_event_flag("tournoi_pvp",3)
- elseif s == 3 then
- game.set_event_flag("tournoi_pvp",4)
- end
- notice_all("Le tournoi pvp commence ! Les inscriptions sont fermées.")
- if pvp_load_manche() then
- npc . unlock ( )
- return
- end
- if locale.event[3][4] == 0 then -- On passe à la manche suivante ( pas de qualif )
- notice_all("Il n'y a pas de phase de qualification !")
- else
- notice_all("Phase de Qualification :")
- end
- pvp_next_match()
- say_title("Organisatrice de Concours:")
- say("Tournoi lancé.")
- elseif s == 2 then
- pvp_stop()
- end
- elseif game.get_event_flag("tournoi_pvp") == 5 then
- if pvp_verifi_error() then
- npc . unlock ( )
- return
- end
- say("Les inscriptions au Survivant sont ouvertes.")
- say("Que souhaitez-vous faire ?")
- say("")
- local s=select("Lancer", "Arreter", "Annuler")
- if s == 1 then
- survivant_go()
- say_title("Organisatrice de Concours:")
- say("Survivant lancé.")
- elseif s == 2 then
- survivant_stop()
- say_title("Organisatrice de Concours:")
- say("Survivant arreté.")
- end
- elseif game.get_event_flag("tournoi_pvp") == 6 then
- if pvp_verifi_error() then
- npc . unlock ( )
- return
- end
- say("Les inscriptions au Survivant est lancé.")
- say("Que souhaitez-vous faire ?")
- say("")
- local s=select("Arreter", "Annuler")
- if s == 1 then
- survivant_stop()
- say_title("Organisatrice de Concours:")
- say("Survivant arreté.")
- end
- else -- Concours déjà en cours : Forcer l'arret ?
- if pvp_verifi_error() then
- npc . unlock ( )
- return
- end
- say("Un concours est déjà lancé.")
- local choix = {}
- if game.get_event_flag("tournoi_pvp") == 2 then -- se fait automatiquement
- say("Mode : Normal")
- elseif game.get_event_flag("tournoi_pvp") == 3 then -- permet de choisir un vainqueur quand quelqu'un est deco ou autre
- say("Mode : Suivi")
- say("Duel en cours :" .. locale.event[3][1] .." vs "..locale.event[3][2])
- table.insert(choix, "Choisir un Vainqueur")
- else -- permet de valider ou non un match ( les matchs ne se termine pas quand un joueur tue l'autre )
- say("Mode : Très Suivi")
- say("Duel en cours :" .. locale.event[3][1] .." vs "..locale.event[3][2])
- table.insert(choix, "Choisir un Vainqueur")
- end
- say("Que voulez-vous faire ?")
- table.insert(choix, "Modifier le type de Tournoi")
- table.insert(choix, "Arreter le Tournoi")
- table.insert(choix, "Annuler")
- local s = select_table ( choix )
- if choix[s] == "Choisir un Vainqueur" then
- say_title("Organisatrice de Concours:")
- say("Duel en cours : " .. locale.event[3][1] .." vs "..locale.event[3][2])
- say("Choisir le Vainqueur :")
- s = select(locale.event[3][1], locale.event[3][2], "Teleporter les joueurs à l'interieur", "Annuler")
- if s == 3 then -- On téléporte les joueurs
- pvp_warp_pos(locale.event[3][1], 1)
- pvp_warp_pos(locale.event[3][2], 2)
- say_title("Organisatrice de Concours:")
- say("Joueur téléporté.")
- elseif s == 1 or s == 2 then -- Choix d'un victorieux
- notice_all(locale.event[3][s] .. " remporte le duel !")
- local loss = 2
- if s == 2 then loss = 1 end
- pvp_warp_pos(locale.event[3][loss], 3)
- pvp_fin_match(locale.event[3][s], locale.event[3][loss])
- return
- end
- elseif choix[s] == "Modifier le type de Tournoi" then
- say_title("Organisatrice de Concours:")
- say("Normal : le tournoi se déroule tout seul")
- say("Suivi : le tournoi se déroule seul, mais vous")
- say("pouvez controler le vainqueur / attendre quand un")
- say("joueur n'est pas présent")
- say("Très Suivi : vous decidez vous même les vainqueurs")
- s=select("Normal", "Suivi", "Très Suivi", "Annuler")
- if s == 1 then
- game.set_event_flag("tournoi_pvp",2)
- say_title("Organisatrice de Concours:")
- say("Mode Normal.")
- elseif s == 2 then
- game.set_event_flag("tournoi_pvp",3)
- say_title("Organisatrice de Concours:")
- say("Mode Suivi.")
- elseif s == 3 then
- game.set_event_flag("tournoi_pvp",4)
- say_title("Organisatrice de Concours:")
- say("Mode Très Suivi.")
- end
- elseif choix[s] == "Arreter le Tournoi" then
- say_title("Organisatrice de Concours:")
- say("Attention ceci annule tout(classement,etc.)")
- say("Arreter le tournoi ?")
- s = select("Oui", "Non")
- if s == 1 then
- pvp_stop()
- say_title("Organisatrice de Concours:")
- say("Tournoi stopé.")
- end
- end
- end
- npc.unlock ( )
- end
- when 20092.chat."GM: Participants" with pc.is_gm() and game.get_event_flag("tournoi_pvp")>0 begin -- Voir les Participants
- if pvp_verifi_error() then return end
- if pvp_verifi_participant() then return end
- local nombre_participant = table . getn ( locale.event[1] )
- local d = 1
- local suite = 0
- local max_affiche = 5
- local tabledisplay = {}
- repeat
- tabledisplay = {}
- local n = 0
- table.foreach(locale.event[1],
- function(i, name)
- n = n + 1
- if n >= d and n < d+max_affiche then
- table.insert(tabledisplay, name)
- end
- end)
- table.insert(tabledisplay, "Suite")
- suite = table . getn ( tabledisplay )
- table.insert(tabledisplay, "Quitter")
- say_title("Organisatrice de Concours:")
- say("Il y a "..nombre_participant .. " participants :")
- s = select_table(tabledisplay)
- d = d + max_affiche
- until s != suite
- if game.get_event_flag("tournoi_pvp") == 1 and s != table . getn ( tabledisplay ) then -- Désinscrire un joueur
- local sname = tabledisplay [ s ]
- say_title("Organisatrice de Concours:")
- say("Désinscrire ".. sname .." ?")
- local u = select("Oui", "Non")
- if u == 1 then
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- locale.event[1] = table_delete(locale.event[1], sname)
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say(sname .." désinscrit.")
- end
- elseif game.get_event_flag("tournoi_pvp") >= 5 and s != table . getn ( tabledisplay ) then
- local sname = tabledisplay [ s ]
- say_title("Organisatrice de Concours:")
- say("Désinscrire ".. sname .." ?")
- local u = select("Oui", "Non")
- if u == 1 then
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- locale.event[1] = table_delete(locale.event[1], sname)
- locale.event[2] = table_delete(locale.event[2], sname)
- pvp_warp_pos(sname, 3)
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say(sname .." désinscrit.")
- end
- end
- end
- when 20092.chat."Y a-t-il un concours ?" with game.get_event_flag("tournoi_pvp") == 0 begin -- Joueur : Pas de concours
- say_title("Organisatrice de Concours:")
- say("Un concours, maintenant ?")
- say("Non non, il n'y en a pas.")
- say("")
- say("Revenez plus tard !")
- end
- when 20092.chat."Y a-t-il un concours ?" with game.get_event_flag("tournoi_pvp") > 1 and game.get_event_flag("tournoi_pvp") != 5 begin -- Joueur : Concours déjà commencé
- say_title("Organisatrice de Concours:")
- say("Oui il y a un concours en ce moment.")
- say("Désolé, il est trop tard pour s'inscrire.")
- say("")
- say("Revenez un autre jour !")
- end
- when 20092.chat."Inscription au concours" with game.get_event_flag("tournoi_pvp") == 1 begin -- Joueur : Inscription Possible !
- say_title("Organisatrice de Concours:")
- say("Oui, il y a un concours !")
- say("Attention, ceci n'est pas facile")
- say("")
- if pc.is_gm() then -- Pas pour les GMs
- say("Par contre les GMs ne peuvent pas s'inscrire")
- say("...")
- return
- end
- say("Voulez-vous vous inscrire ?")
- local s=select("Oui", "Non")
- if s == 1 then -- S'inscrire !
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit déjà quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- if not table_is_in(locale.event[1], pc.get_name()) then
- table.insert(locale.event[1], pc.get_name())
- end
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say("Vous avez été inscrit avec succès !")
- say("")
- say("Attendez que le concours commence !")
- set_state(__reward)
- else
- say_title("Organisatrice de Concours:")
- say("Tu ne veux pas t'inscrire ?")
- say("Oh tant pis.")
- say("")
- say("Reviens quand tu sera pret !")
- end
- end
- when 20092.chat."Inscription au Survivant" with game.get_event_flag("tournoi_pvp") == 5 begin -- Joueur : Inscription Possible !
- say_title("Organisatrice de Concours:")
- say("Oui, il y a un Survivant en ce moment !")
- say("Attention, ceci n'est pas facile")
- say("")
- if pc.is_gm() then -- Pas pour les GMs
- say("Par contre les GMs ne peuvent pas s'inscrire")
- say("...")
- return
- end
- say("Voulez-vous vous inscrire ?")
- local s=select("Oui", "Non")
- if s == 1 then -- S'inscrire !
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit déjà quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- if not table_is_in(locale.event[1], pc.get_name()) then
- table.insert(locale.event[1], pc.get_name())
- end
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say("Vous avez été inscrit avec succès !")
- say("Je te téléporte dans la zone de combat.")
- say("Attendez que le concours commence !")
- wait()
- local pos = number(1,2)
- pc . warp (locale.event_warp [ pos ][ 1 ] , locale.event_warp [ pos ][ 2 ] )
- set_state(__reward)
- else
- say_title("Organisatrice de Concours:")
- say("Tu ne veux pas t'inscrire ?")
- say("Oh tant pis.")
- say("")
- say("Reviens quand tu sera pret !")
- end
- end
- end
- state __reward begin -- Etat spécial : Inscrit
- when login or levelup or button or info begin -- Fin du Tournoi
- if table . getn ( locale.event ) > 0 and table . getn ( locale.event[1] ) > 0 and game.get_event_flag("tournoi_pvp") == 6 then
- if table_is_in(locale.event[1], pc.get_name()) then -- n'es pas dans la liste, il a deco et se reco : on le vire
- locale.event[1] = table_delete(locale.event[1], pc.get_name())
- locale.event[2] = table_delete(locale.event[2], pc.get_name())
- pc . warp (locale.event_warp [ 3 ][ 1 ] , locale.event_warp [ 3 ][ 2 ] )
- return
- end
- end
- if pvp_verifi_inscription() then
- pc.setqf("gagnant",0)
- clear_letter()
- set_state(start)
- return
- end
- end
- when kill with npc.is_pc() begin -- Permet de voir un vainqueur
- if pvp_verifi_inscription() then
- clear_letter()
- set_state(start)
- return
- end
- if game.get_event_flag("tournoi_pvp") < 4 then
- if locale.event[3][1] == pc.get_name() or locale.event[3][2] == pc.get_name() then -- une victoire ?
- local moi = 1
- local lui = 2
- if locale.event[3][2] == pc.get_name() then
- moi = 2
- lui = 1
- end
- local ok = false
- local v_lui = find_pc_by_name(locale.event[3][lui])
- if v_lui != 0 then -- Il est bien ici
- local old_vid = pc.select(v_lui)
- local loss_name = pc.get_name()
- if pc.get_hp() <= 0 then -- C'est bien lui
- ok = true
- pc . warp (locale.event_warp [ 3 ][ 1 ] , locale.event_warp [ 3 ][ 2 ] ) -- on teleporte le perdant
- end
- pc.select(old_vid)
- else
- ok = true
- end
- if ok then
- notice_all(pc.get_name() .. " remporte le duel !")
- pvp_fin_match(pc.get_name(), locale.event[3][lui])
- return
- end
- end
- end
- if game.get_event_flag("tournoi_pvp") == 6 then
- local sname = ""
- local u = 0
- for i = 1, table.getn(locale.event[1]) do
- sname = locale.event[1][i]
- u = find_pc_by_name(sname)
- if u == 0 then
- notice_all(sname .. " disqualifié car non présent sur la map de combat!")
- survivant_perdant(sname)
- else
- local old_vid = pc.select(u)
- if pc.get_hp() <= 0 then -- C'est bien lui
- pc . warp (locale.event_warp [ 3 ][ 1 ] , locale.event_warp [ 3 ][ 2 ] ) -- on teleporte le perdant
- survivant_perdant(sname)
- end
- pc.select(old_vid)
- end
- end
- if table.getn(locale.event[1]) == 1 then
- survivant_winner()
- end
- end
- end
- when letter begin
- send_letter("Tournoi Pvp")
- end
- when button or info begin -- Affichage de la Quête
- say_title("Organisatrice de Concours:")
- say("Vous êtes inscrit au tournoi pvp.")
- say("Preparez vous au duel !")
- say("")
- end
- when 20092.click with game.get_event_flag("tournoi_pvp") == 0 begin
- if pvp_verifi_inscription() then
- clear_letter()
- set_state(start)
- return
- end
- end
- when 20092.chat."Je suis inscrit !" with game.get_event_flag("tournoi_pvp") == 1 or game.get_event_flag("tournoi_pvp") == 5 begin -- Inscription en cours
- if pvp_verifi_inscription() then
- clear_letter()
- set_state(start)
- return
- end
- say_title("Organisatrice de Concours:")
- say("Oh, oui oui,")
- say("vous êtes inscrit ! Ne vous inquietez pas !")
- say("")
- if game.get_event_flag("tournoi_pvp") == 5 then
- say("Mais que faites-vous de ce coté ?")
- wait()
- local pos = number(1,2)
- pc . warp (locale.event_warp [ pos ][ 1 ] , locale.event_warp [ pos ][ 2 ] )
- end
- end
- when 20092.chat."Tournoi en cours" with game.get_event_flag("tournoi_pvp") > 1 and game.get_event_flag("tournoi_pvp") != 5 begin -- Tournoi commencé
- if pvp_verifi_inscription() then
- clear_letter()
- set_state(start)
- return
- end
- say_title("Organisatrice de Concours:")
- say("Oh, oui oui,")
- say("Il y a un tournoi en cours !")
- say("Vous êtes inscrit ! Preparez-vous au duel !")
- end
- when 20092.chat."Me désinscrire" with game.get_event_flag("tournoi_pvp") > 0 begin
- if pvp_verifi_inscription() then
- clear_letter()
- set_state(start)
- return
- end
- say_title("Organisatrice de Concours:")
- if game.get_event_flag("tournoi_pvp") == 1 or game.get_event_flag("tournoi_pvp") == 5 then
- say("Oh, ce n'est pas un tournoi facile.")
- say("Peut-être que ce n'est pas pour votre niveau.")
- say("Vous souhaitez vraiment vous désinscrire ?")
- local s=select("Oui", "Non")
- if s == 1 and game.get_event_flag("tournoi_pvp") == 1 then
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- locale.event[1] = table_delete(locale.event[1], pc.get_name())
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say("Très bien, je vous ai désinscrit")
- clear_letter()
- set_state(start)
- elseif s == 1 and game.get_event_flag("tournoi_pvp") == 5 then
- if not npc . lock ( ) then
- say_title("Organisatrice de Concours:")
- say ( "J'inscrit quelqu'un en ce moment." )
- say ( "Réessaie dans quelques secondes !" )
- return
- end
- locale.event[1] = table_delete(locale.event[1], pc.get_name())
- npc . unlock ( )
- say_title("Organisatrice de Concours:")
- say("Très bien, je vous ai désinscrit")
- clear_letter()
- set_state(start)
- end
- else
- say("Désolé, le tournoi à déja commencé !")
- say("Vous ne pouvez pas vous désinscrire")
- say("")
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement