//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par Myllena //===== eAthena Script ======================================= //= Kafra Express - Pvp Warping Module //===== By: ================================================== //= Skotlex //===== Current Version: ===================================== //= 1.7 //===== Compatible With: ===================================== //= eAthena SVN R3424+ //===== Description: ========================================= //= Part of the Kafra Express Script Package. //= Offers warping to the PvP arenas. //===== Additional Comments: ================================= //= See config.txt for configuration. //============================================================ - script keInit_warpPvp -1,{ OnInit: //Load Config donpcevent "keConfig::OnLoadWarpPvp"; end; } function script F_keWarpPvp { function SF_pvpMenu; set @cost,callfunc("F_keCost",1,100); if ($@kewp_advanced == 0) { SF_pvpMenu 1,$@kewp_cost,100,0,0; return; } do { if ($@kewp_showOnline) { set @kmenu, select( "- Annuler", "- Arènes pour Tous Niveaux ("+($@kewp_cost*@cost)+"z/"+(getmapusers("pvp_n_8-1")+getmapusers("pvp_n_8-2") +getmapusers("pvp_n_8-3")+getmapusers("pvp_n_8-4")+getmapusers("pvp_n_8-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv1-$@kewp_range)+" à "+($@kewp_baseLv1+$@kewp_range)+" ("+($@kewp_cost1*@cost)+"z/" +(getmapusers("pvp_n_1-1")+getmapusers("pvp_n_1-2")+getmapusers("pvp_n_1-3") +getmapusers("pvp_n_1-4")+getmapusers("pvp_n_1-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv2-$@kewp_range)+" à "+($@kewp_baseLv2+$@kewp_range)+" ("+($@kewp_cost2*@cost)+"z/" +(getmapusers("pvp_n_2-1")+getmapusers("pvp_n_2-2")+getmapusers("pvp_n_2-3") +getmapusers("pvp_n_2-4")+getmapusers("pvp_n_2-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv3-$@kewp_range)+" à "+($@kewp_baseLv3+$@kewp_range)+" ("+($@kewp_cost3*@cost)+"z/" +(getmapusers("pvp_n_3-1")+getmapusers("pvp_n_3-2")+getmapusers("pvp_n_3-3") +getmapusers("pvp_n_3-4")+getmapusers("pvp_n_3-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv4-$@kewp_range)+" à "+($@kewp_baseLv4+$@kewp_range)+" ("+($@kewp_cost4*@cost)+"z/" +(getmapusers("pvp_n_4-1")+getmapusers("pvp_n_4-2")+getmapusers("pvp_n_4-3") +getmapusers("pvp_n_4-4")+getmapusers("pvp_n_4-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv5-$@kewp_range)+" à "+($@kewp_baseLv5+$@kewp_range)+" ("+($@kewp_cost5*@cost)+"z/" +(getmapusers("pvp_n_5-1")+getmapusers("pvp_n_5-2")+getmapusers("pvp_n_5-3") +getmapusers("pvp_n_5-4")+getmapusers("pvp_n_5-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv6-$@kewp_range)+" à "+($@kewp_baseLv6+$@kewp_range)+" ("+($@kewp_cost6*@cost)+"z/" +(getmapusers("pvp_n_6-1")+getmapusers("pvp_n_6-2")+getmapusers("pvp_n_6-3") +getmapusers("pvp_n_6-4")+getmapusers("pvp_n_6-5"))+" "+$@ked_users$+")", "- Arènes pour Niveaux "+($@kewp_baseLv7-$@kewp_range)+" à "+($@kewp_baseLv7+$@kewp_range)+" ("+($@kewp_cost7*@cost)+"z/" +(getmapusers("pvp_n_7-1")+getmapusers("pvp_n_7-2")+getmapusers("pvp_n_7-3") +getmapusers("pvp_n_7-4")+getmapusers("pvp_n_7-5"))+" "+$@ked_users$+")" ); } else { set @kmenu, select( "- Annuler", "- Arènes pour Tous Niveaux ("+($@kewp_cost*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv1-$@kewp_range)+" à "+($@kewp_baseLv1+$@kewp_range)+" ("+($@kewp_cost1*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv2-$@kewp_range)+" à "+($@kewp_baseLv2+$@kewp_range)+" ("+($@kewp_cost2*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv3-$@kewp_range)+" à "+($@kewp_baseLv3+$@kewp_range)+" ("+($@kewp_cost3*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv4-$@kewp_range)+" à "+($@kewp_baseLv4+$@kewp_range)+" ("+($@kewp_cost4*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv5-$@kewp_range)+" à "+($@kewp_baseLv5+$@kewp_range)+" ("+($@kewp_cost5*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv6-$@kewp_range)+" à "+($@kewp_baseLv6+$@kewp_range)+" ("+($@kewp_cost6*@cost)+"z)", "- Arènes pour Niveaux "+($@kewp_baseLv7-$@kewp_range)+" à "+($@kewp_baseLv7+$@kewp_range)+" ("+($@kewp_cost7*@cost)+"z)" ); } switch(@kmenu) { case 2: //No restrictions SF_pvpMenu 8,$@kewp_cost,100,0,0; break; case 3: SF_pvpMenu 1,$@kewp_cost1,100,$@kewp_baseLv1-$@kewp_range,$@kewp_baseLv1+$@kewp_range; break; case 4: SF_pvpMenu 2,$@kewp_cost2,100,$@kewp_baseLv2-$@kewp_range,$@kewp_baseLv2+$@kewp_range; break; case 5: SF_pvpMenu 3,$@kewp_cost3,100,$@kewp_baseLv3-$@kewp_range,$@kewp_baseLv3+$@kewp_range; break; case 6: SF_pvpMenu 4,$@kewp_cost4,100,$@kewp_baseLv4-$@kewp_range,$@kewp_baseLv4+$@kewp_range; break; case 7: SF_pvpMenu 5,$@kewp_cost5,100,$@kewp_baseLv5-$@kewp_range,$@kewp_baseLv5+$@kewp_range; break; case 8: SF_pvpMenu 6,$@kewp_cost6,100,$@kewp_baseLv6-$@kewp_range,$@kewp_baseLv6+$@kewp_range; break; case 9: SF_pvpMenu 7,$@kewp_cost7,100,$@kewp_baseLv7-$@kewp_range,$@kewp_baseLv7+$@kewp_range; break; } } while (@kmenu > 1); return; //SubFunction: SF_pvpMenu (int map-group, int cost, int min level, int max level) //Displays the list of the five available Pvp rooms to warp to. //map-group is the first index of the pvp map names (in pvp_n_2-3 it would be 2) function SF_pvpMenu { if (getarg(4)) { if (BaseLevel < getarg(3)) { callfunc "F_keIntro", e_sry, "Désolée, vous devez avoir atteint au minimum le Niveau "+getarg(2)+" pour entrer dans cette Arène."; return; } if (BaseLevel > getarg(4)) { callfunc "F_keIntro", e_bzz, "Désolée, les joueurs d'un Niveau inférieur à "+getarg(3)+" ne sont pas autorisés à pénétrer dans l'Arène."; return; } set @msg$,"Niveaux "+getarg(3)+" à "+getarg(3); } else set @msg$,"Tous Niveaux"; if ($@kewp_showOnline) { set @submenu, select( "- Annuler la Téléportation (Arènes pour "+@msg$+"/"+(getarg(1)*@cost)+"z)", "- Arène Sandwich ("+getmapusers("pvp_n_"+getarg(0)+"-1")+" "+$@ked_users$+")", "- Arène Rock On ("+getmapusers("pvp_n_"+getarg(0)+"-2")+" "+$@ked_users$+")", "- Arène Four ("+getmapusers("pvp_n_"+getarg(0)+"-3")+" "+$@ked_users$+")", "- Arène Undercross ("+getmapusers("pvp_n_"+getarg(0)+"-4")+" "+$@ked_users$+")", "- Arène Compass ("+getmapusers("pvp_n_"+getarg(0)+"-5")+" "+$@ked_users$+")" ); } else { set @submenu, select( "- Annuler la Téléportation (Arènes pour "+@msg$+"/"+(getarg(1)*@cost)+"z)", "- Arène Sandwich", "- Arène Rock On", "- Arène Four", "- Arène Undercross", "- Arène Compass" ); } switch (@submenu) { case 2: callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-1",-1,-1; break; case 3: callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-2",-1,-1; break; case 4: callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-3",-1,-1; break; case 5: callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-4",-1,-1; break; case 6: callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-5",-1,-1; break; } } }