block load { // Ratio limite avant la restriction des armes es_xset lolo_anti_roxor_ratio_limite 3 // Arme a restreindre quand le ratio est atteint es_xset lolo_anti_roxor_armes "weapon_galil weapon_ak47 weapon_scout weapon_sg552 weapon_awp weapon_g3sg1 weapon_famas weapon_m4a1 weapon_aug weapon_sg550 weapon_m3 weapon_xm1014 weapon_mac10 weapon_tmp weapon_mp5navy weapon_ump45 weapon_p90 weapon_m249" es_xset lolo_anti_roxor_kills_attaquant 0 es_xset lolo_anti_roxor_deaths_attaquant 0 // Creation du groupe qui contient le nombre de frags et de mort es_keygroupcreate lolo_anti_roxor_frags es_xset lolo_anti_roxor_ver "Version 3.1" es_xmakepublic lolo_anti_roxor_ver } event es_map_start { // Supression du groupe qui contient le nombre de frags et de mort es_xkeygroupdelete lolo_anti_roxor_frags // Creation du groupe qui contient le nombre de frags et de mort es_keygroupcreate lolo_anti_roxor_frags } event unload { // Supression du groupe qui contient le nombre de frags et de mort es_xkeygroupdelete lolo_anti_roxor_frags } block calcul_du_ratio_du_joueur { if (event_var(es_steamid) == "bot") do { // Vérification si la clée du joueur qui meurt existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(userid) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(userid) es_keysetvalue lolo_anti_roxor_frags event_var(userid) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(userid) nbre_de_fois_mort 0 } // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_kills_attaquant 0 es_keygetvalue lolo_anti_roxor_kills_attaquant lolo_anti_roxor_frags event_var(userid) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_deaths_attaquant 0 es_keygetvalue lolo_anti_roxor_deaths_attaquant lolo_anti_roxor_frags event_var(userid) nbre_de_fois_mort // Si le joueur n'a pas fait de frag, on met son nombre de frag a 1 (sinon, division par zero :-/) if (server_var(lolo_anti_roxor_deaths_attaquant) == 0) then lolo_anti_roxor_deaths_attaquant 1 // On calcul le ratio du joueur es_math lolo_anti_roxor_kills_attaquant / server_var(lolo_anti_roxor_deaths_attaquant) } else do { // Vérification si la clée du joueur qui meurt existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(es_steamid) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(es_steamid) es_keysetvalue lolo_anti_roxor_frags event_var(es_steamid) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(es_steamid) nbre_de_fois_mort 0 } // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_kills_attaquant 0 es_keygetvalue lolo_anti_roxor_kills_attaquant lolo_anti_roxor_frags event_var(es_steamid) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_deaths_attaquant 0 es_keygetvalue lolo_anti_roxor_deaths_attaquant lolo_anti_roxor_frags event_var(es_steamid) nbre_de_fois_mort // Si le joueur n'a pas fait de frag, on met son nombre de frag a 1 (sinon, division par zero :-/) if (server_var(lolo_anti_roxor_deaths_attaquant) == 0) then lolo_anti_roxor_deaths_attaquant 1 // On calcul le ratio du joueur es_math lolo_anti_roxor_kills_attaquant / server_var(lolo_anti_roxor_deaths_attaquant) } } block calcul_du_ratio_de_l_attanquant { if (event_var(es_steamid) == "bot") do { // Vérification si la clée du joueur qui meurt existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(attacker) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(attacker) es_keysetvalue lolo_anti_roxor_frags event_var(attacker) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(attacker) nbre_de_fois_mort 0 } // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_kills_attaquant 0 es_keygetvalue lolo_anti_roxor_kills_attaquant lolo_anti_roxor_frags event_var(attacker) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_deaths_attaquant 0 es_keygetvalue lolo_anti_roxor_deaths_attaquant lolo_anti_roxor_frags event_var(attacker) nbre_de_fois_mort // Si l'attaquant n'a pas fait de frag, on met son nombre de frag a 1 (sinon, division par zero :-/) if (server_var(lolo_anti_roxor_deaths_attaquant) == 0) then lolo_anti_roxor_deaths_attaquant 1 // On calcul le ratio de l'attaquant es_math lolo_anti_roxor_kills_attaquant / server_var(lolo_anti_roxor_deaths_attaquant) } else do { // Vérification si la clée du joueur qui meurt existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(es_attackersteamid) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(es_attackersteamid) es_keysetvalue lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_fois_mort 0 } // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_kills_attaquant 0 es_keygetvalue lolo_anti_roxor_kills_attaquant lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_deaths_attaquant 0 es_keygetvalue lolo_anti_roxor_deaths_attaquant lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_fois_mort // Si l'attaquant n'a pas fait de frag, on met son nombre de frag a 1 (sinon, division par zero :-/) if (server_var(lolo_anti_roxor_deaths_attaquant) == 0) then lolo_anti_roxor_deaths_attaquant 1 // On calcul le ratio de l'attaquant es_math lolo_anti_roxor_kills_attaquant / server_var(lolo_anti_roxor_deaths_attaquant) } } block message_avertissement { es_xset menu 0 es_format menu ".oO[ ATTENTION ]Oo.\n \n->1 Ton ratio est superieur ou egal a %1\n->2 Tu ne peux plus utiliser de fusil\n \nTape 'ratio' pour connaitre ton ratio" server_var(lolo_anti_roxor_ratio_limite) } event player_say { if (event_var(text) == "ratio") do { // On calcul le ratio du joueur es_xdoblock lolo_anti_roxor/calcul_du_ratio_du_joueur // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_nbre_de_frag 0 es_keygetvalue lolo_anti_roxor_nbre_de_frag lolo_anti_roxor_frags event_var(es_steamid) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_nbre_de_death 0 es_keygetvalue lolo_anti_roxor_nbre_de_death lolo_anti_roxor_frags event_var(es_steamid) nbre_de_fois_mort // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { es_xset menu 0 es_format menu ".oO[ RATIO ]Oo.\n \nLe ratio c'est ton nombre de frags\ndivise par le nombre de fois ou t'es mort\n \n->1 Frags (K) : %1\n->2 Mort (D) : %2\n->3 Ton ratio (K/D) : %3\n \nATTENTION : Il est superieur ou egal a %4\nTu ne donc peux plus utiliser de fusil !\n \n0 Quit" server_var(lolo_anti_roxor_nbre_de_frag) server_var(lolo_anti_roxor_nbre_de_death) server_var(lolo_anti_roxor_kills_attaquant) server_var(lolo_anti_roxor_ratio_limite) es_menu 6 event_var(userid) server_var(menu) } // Sinon, on lui indique son ratio if (server_var(lolo_anti_roxor_kills_attaquant) < server_var(lolo_anti_roxor_ratio_limite)) do { es_xset menu 0 es_format menu ".oO[ RATIO ]Oo.\n \nLe ratio c'est ton nombre de frags\ndivise par le nombre de fois ou t'es mort\n \n->1 Frags (K) : %1\n->2 Mort (D) : %2\n->3 Ton ratio (K/D) : %3\n \nSi il atteint %4 tu ne pourra plus utiliser de fusil\n \n0 Quit" server_var(lolo_anti_roxor_nbre_de_frag) server_var(lolo_anti_roxor_nbre_de_death) server_var(lolo_anti_roxor_kills_attaquant) server_var(lolo_anti_roxor_ratio_limite) es_menu 6 event_var(userid) server_var(menu) } } if (event_var(text) == "ratioang") do { // On calcul le ratio du joueur es_xdoblock lolo_anti_roxor/calcul_du_ratio_du_joueur // On recupere le nombe de frag du joueur es_xset lolo_anti_roxor_nbre_de_frag 0 es_keygetvalue lolo_anti_roxor_nbre_de_frag lolo_anti_roxor_frags event_var(es_steamid) nbre_de_frag // On recupere le nombre de fois ou l'attaquant est mort es_xset lolo_anti_roxor_nbre_de_death 0 es_keygetvalue lolo_anti_roxor_nbre_de_death lolo_anti_roxor_frags event_var(es_steamid) nbre_de_fois_mort // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { es_xset menu 0 es_format menu ".oO[ RATIO ]Oo.\n \nThe ratio is the number of kill\ndivided by the number of death\n \n->1 Kill : %1\n->2 Deaths : %2\n->3 Your ratio (K/D) : %3\n \nATTENTION : It is greater than or equal to %4\nyou must use only pistols !\n \n0 Quit" server_var(lolo_anti_roxor_nbre_de_frag) server_var(lolo_anti_roxor_nbre_de_death) server_var(lolo_anti_roxor_kills_attaquant) server_var(lolo_anti_roxor_ratio_limite) es_menu 6 event_var(userid) server_var(menu) } // Sinon, on lui indique son ratio if (server_var(lolo_anti_roxor_kills_attaquant) < server_var(lolo_anti_roxor_ratio_limite)) do { es_xset menu 0 es_format menu ".oO[ RATIO ]Oo.\n \nThe ratio is the number of kill\ndivided by the number of death\n \n->1 Kill : %1\n->2 Deaths : %2\n->3 Your ratio (K/D) : %3\n \nIf it is greater than or equal to %2 you must use only pistols\n \n0 Quit" server_var(lolo_anti_roxor_nbre_de_frag) server_var(lolo_anti_roxor_nbre_de_death) server_var(lolo_anti_roxor_kills_attaquant) server_var(lolo_anti_roxor_ratio_limite) es_menu 6 event_var(userid) server_var(menu) } } } event player_death { if (event_var(es_attackersteamid) == "bot") do { // Vérification si la clée de l'attackant existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(attacker) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(attacker) es_keysetvalue lolo_anti_roxor_frags event_var(attacker) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(attacker) nbre_de_fois_mort 0 } } else do { // Vérification si la clée de l'attackant existe es_xset lolo_anti_roxor_la_clef_existe 0 es_exists lolo_anti_roxor_la_clef_existe key lolo_anti_roxor_frags event_var(es_attackersteamid) // Si elle n'existe pas, la creer ifx false(lolo_anti_roxor_la_clef_existe) do { es_keycreate lolo_anti_roxor_frags event_var(es_attackersteamid) es_keysetvalue lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_frag 0 es_keysetvalue lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_fois_mort 0 } } // si il ne tue pas un équipier .. if (event_var(es_userteam) != event_var(es_attackerteam)) do { // Si l'attaquant est un bot if (event_var(es_attackersteamid) == "bot") do { // Calcul des frags du bot pour y rajouté + 1 es keymath lolo_anti_roxor_frags event_var(attacker) nbre_de_frag + 1 } else do { // Calcul des frags de l'attacquant pour y rajouté + 1 es keymath lolo_anti_roxor_frags event_var(es_attackersteamid) nbre_de_frag + 1 } } // si la victime est un bot if (event_var(es_steamid) == "bot") do { // Calcul des morts du bot pour y rajouter + 1 es keymath lolo_anti_roxor_frags event_var(userid) nbre_de_fois_mort + 1 } // Si la victime n'est pas un bot else do { // Calcul des morts du joueur qui meurt pour y rajouter + 1 es keymath lolo_anti_roxor_frags event_var(es_steamid) nbre_de_fois_mort + 1 } // On calcul le ratio de l'attaquant es_xdoblock lolo_anti_roxor/calcul_du_ratio_de_l_attanquant // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { es_xdoblock lolo_anti_roxor/message_avertissement es_menu 4 event_var(attacker) server_var(menu) es_tell event_var(attacker) #multi #greenRatio :#lightgreen server_var(lolo_anti_roxor_kills_attaquant) } // Sinon, lui indiquer son ratio else do { es_tell event_var(attacker) #multi #greenRatio :#lightgreen server_var(lolo_anti_roxor_kills_attaquant) } // On calcul le ratio du joueur mort es_xdoblock lolo_anti_roxor/calcul_du_ratio_du_joueur // On lui indique son nouveau ratio es_tell event_var(userid) #multi #greenRatio :#lightgreen server_var(lolo_anti_roxor_kills_attaquant) } event item_pickup { // On calcul le ratio du joueur es_xdoblock lolo_anti_roxor/calcul_du_ratio_du_joueur // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { if(event_var(item) in server_var(lolo_anti_roxor_armes)) do { es_xdoblock lolo_anti_roxor/message_avertissement es_menu 4 event_var(userid) server_var(menu) } } } event player_hurt { // On calcul le ratio de l'attaquant es_xdoblock lolo_anti_roxor/calcul_du_ratio_de_l_attanquant // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { if(event_var(weapon) in server_var(lolo_anti_roxor_armes)) do { es_sexec event_var(attacker) kill es_msg #green event_var(es_attackername) est mort pour usage d'arme interdite avec un ratio > ou = a server_var(lolo_anti_roxor_ratio_limite) es_xdoblock lolo_anti_roxor/message_avertissement es_menu 4 event_var(attacker) server_var(menu) } } } event player_spawn { // On calcul le ratio du joeur es_xdoblock lolo_anti_roxor/calcul_du_ratio_du_joueur // Si il est superieur a 3, l'avertir if (server_var(lolo_anti_roxor_kills_attaquant) >= server_var(lolo_anti_roxor_ratio_limite)) do { es_xdoblock lolo_anti_roxor/message_avertissement es_menu 4 event_var(userid) server_var(menu) es_tell event_var(userid) #multi #greenRatio :#lightgreen server_var(lolo_anti_roxor_kills_attaquant) } // Sinon, lui indiquer son ratio else do { es_tell event_var(userid) #multi #greenRatio :#lightgreen server_var(lolo_anti_roxor_kills_attaquant) } }