public void GamblerThink(Entity player)
 {
     player.Call("iprintlnbold", ("^210"));
     player.Call("playlocalsound", "ui_mp_nukebomb_timer");
     AfterDelay(1000, () => player.Call("iprintlnbold", ("^29")));
     AfterDelay(1000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(2000, () => player.Call("iprintlnbold", ("^28")));
     AfterDelay(2000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(3000, () => player.Call("iprintlnbold", ("^27")));
     AfterDelay(3000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(4000, () => player.Call("iprintlnbold", ("^26")));
     AfterDelay(4000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(5000, () => player.Call("iprintlnbold", ("^25")));
     AfterDelay(5000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(6000, () => player.Call("iprintlnbold", ("^24")));
     AfterDelay(6000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(7000, () => player.Call("iprintlnbold", ("^23")));
     AfterDelay(7000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(8000, () => player.Call("iprintlnbold", ("^22")));
     AfterDelay(8000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(9000, () => player.Call("iprintlnbold", ("^21")));
     AfterDelay(9000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
     AfterDelay(10000, () =>
     {
         int? rng = new Random().Next(14);
         switch (rng.Value)
         {
             case 0:
                 player.Call("iprintlnbold", ("^1You win nothing."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 break;
             case 1:
                 player.Call("iprintlnbold", ("^2You win 500."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 player.SetField("lsd_money", player.GetField<int>("lsd_money") + 500);
                 break;
             case 2:
                 player.Call("iprintlnbold", ("^2You win 1000."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 player.SetField("lsd_money", player.GetField<int>("lsd_money") + 1000);
                 break;
             case 3:
                 player.Call("iprintlnbold", ("^2You win 2000."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 player.SetField("lsd_money", player.GetField<int>("lsd_money") + 2000);
                 break;
             case 4:
                 player.Call("iprintlnbold", ("^2You win a Ray Gun."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 if (getWeaponsNum(player) > 1)
                 {
                     player.TakeWeapon(player.CurrentWeapon);
                 }
                 player.GiveWeapon("iw5_m9_mp_eotechsmg_camo08");
                 player.Call("givemaxammo", "iw5_m9_mp_eotechsmg_camo08");
                 player.SwitchToWeapon("iw5_m9_mp_eotechsmg_camo08");
                 break;
             case 5:
                 player.Call("iprintlnbold", ("^1You lose 500."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
                 break;
             case 6:
                 player.Call("iprintlnbold", ("^1You lose all money."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 player.SetField("lsd_money", 0);
                 break;
             case 7:
                 player.Call("iprintlnbold", ("^2You win max ammo."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 GiveAmmo(player);
                 break;
             case 8:
                 player.Call("iprintlnbold", ("^1You lose all perks."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 player.Call("clearperks");
                 player.SetField("speedcolaDone", 0);
                 player.SetField("juggerDone", 0);
                 player.SetField("speedyDone", 0);
                 player.SetField("stalkerDone", 0);
                 player.SetField("mulekickDone", 0);
                 player.SetField("doubletapDone", 0);
                 player.SetField("perk1bought", 0);
                 player.SetField("perk2bought", 0);
                 player.SetField("perk3bought", 0);
                 player.SetField("perk4bought", 0);
                 player.SetField("perk5bought", 0);
                 player.SetField("perk6bought", 0);
                 player.Notify("lsd_clearperks", player);
                 break;
             case 9:
                 player.Call("iprintlnbold", ("^2You win 10000."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 player.SetField("lsd_money", player.GetField<int>("lsd_money") + 10000);
                 break;
             case 10:
                 player.Call("iprintlnbold", ("^2You win a USAS."));
                 player.Call("playlocalsound", "mp_bonus_start");
                 if (getWeaponsNum(player) > 1)
                 {
                     player.TakeWeapon(player.CurrentWeapon);
                 }
                 player.GiveWeapon("iw5_usas12_mp");
                 player.Call("givemaxammo", "iw5_usas12_mp");
                 player.SwitchToWeapon("iw5_usas12_mp");
                 break;
             case 11:
                 player.Call("iprintlnbold", ("^1You live or die in 5 second."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 AfterDelay(1000, () => player.Call("iprintlnbold", ("^14")));
                 AfterDelay(1000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
                 AfterDelay(2000, () => player.Call("iprintlnbold", ("^13")));
                 AfterDelay(2000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
                 AfterDelay(3000, () => player.Call("iprintlnbold", ("^12")));
                 AfterDelay(3000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
                 AfterDelay(4000, () => player.Call("iprintlnbold", ("^11")));
                 AfterDelay(4000, () => player.Call("playlocalsound", "ui_mp_nukebomb_timer"));
                 AfterDelay(5000, () =>
                 {
                     rng = new Random().Next(2);
                     switch (rng)
                     {
                         case 0:
                             player.Call("iprintlnbold", ("^2You live!"));
                             break;
                         case 1:
                             player.Call("iprintlnbold", ("^1You die!"));
                             player.Call("suicide");
                             break;
                     }
                 });
                 break;
             case 12:
                 player.Call("iprintlnbold", ("^2Gambler restart."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 AfterDelay(1000, () => GamblerThink(player));
                 break;
             case 13:
                 player.Call("iprintlnbold", ("^1You lose you curret weapon."));
                 player.Call("playlocalsound", "mp_bonus_end");
                 player.TakeWeapon(player.CurrentWeapon);
                 break;
         }
     });
 }
        public void usedRandomWeaponBox(Entity box, Entity player)
        {
            if (!player.IsAlive) return;
            if (Unitily.GetPlayerTeam(player) == "axis") return;
            else
            {
                if (box.GetField<string>("state") == "using") return;
                if (box.GetField<string>("state") == "waiting" && box.GetField<string>("player") != player.GUID.ToString()) return;
                if (box.GetField<string>("state") == "waiting" && box.GetField<string>("player") == player.GUID.ToString())
                {
                    if (player.HasWeapon(box.GetField<string>("weapon")))
                    {
                        player.Call("givemaxammo", box.GetField<string>("weapon"));
                        player.SwitchToWeapon(box.GetField<string>("weapon"));
                    }
                    else
                    {
                        if (getWeaponsNum(player) > 1)
                        {
                            player.TakeWeapon(player.CurrentWeapon);
                        }
                        player.GiveWeapon(box.GetField<string>("weapon"));
                        player.Call("givemaxammo", box.GetField<string>("weapon"));
                        player.SwitchToWeapon(box.GetField<string>("weapon"));
                    }
                    weapon.Call("delete");
                    box.SetField("weapon", "");
                    box.SetField("player", "");
                    AfterDelay(2000, () => box.SetField("state", "idle"));
                    isDestroy = true;
                }
                else if (box.GetField<string>("state") == "idle")
                {
                    if (player.GetField<int>("lsd_money") >= 350)
                    {
                        weapon = Call<Entity>("spawn", "script_model", new Parameter(box.Origin));
                        weapon.SetField("angles", box.GetField<Vector3>("angles"));
                        player.SetField("lsd_money", player.GetField<int>("lsd_money") - 350);
                        int? rng = new Random().Next(weaponlist.Length);
                        Vector3 temp = box.Origin;
                        temp.Z = temp.Z + 40;
                        weapon.Call("moveto", temp, 3);
                        box.SetField("player", player.GUID.ToString());
                        box.SetField("state", "using");
                        for (int i = 0; i < 3000; i += 100)
                        {
                            AfterDelay(0 + i, () =>
                            {
                                rng = new Random().Next(weaponlist.Length);
                                int r = rng.Value;
                                string _weapon = weaponlist[r];
                                if (_weapon.StartsWith("iw5_acr"))
                                {
                                    weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 13)));
                                }
                                else
                                {
                                    weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 0)));
                                }
                            });
                        }
                        for (int i = 0; i < 1000; i += 300)
                        {
                            AfterDelay(3000 + i, () =>
                            {
                                rng = new Random().Next(weaponlist.Length);
                                int r = rng.Value;
                                string _weapon = weaponlist[r];
                                if (_weapon.StartsWith("iw5_acr"))
                                {
                                    weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 13)));
                                }
                                else
                                {
                                    weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 0)));
                                }
                            });
                        }

                        AfterDelay(4000, () =>
                        {
                            int r = rng.Value;
                            string _weapon = weaponlist[r];
                            if (_weapon.StartsWith("iw5_acr") || _weapon.StartsWith("iw5_scar"))
                            {
                                weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 13)));
                            }
                            else
                            {
                                weapon.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 0)));
                            }
                            temp.Z = temp.Z - 40;
                            weapon.Call("moveto", temp, 8);
                            box.SetField("state", "waiting");
                            box.SetField("weapon", _weapon);
                        });
                        AfterDelay(12000, () =>
                        {
                            if (box.GetField<string>("state") == "waiting" && isDestroy == false)
                            {
                                box.SetField("state", "idle");
                                box.SetField("weapon", "");
                                box.SetField("player", "");
                                weapon.Call("delete");
                            }
                            isDestroy = false;
                        });
                    }
                    else
                    {
                        player.Call("iprintln", "^1Random weapon need $350.");
                    }
                }
            }
        }
 public void usedUpgrade(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (box.GetField<string>("state") == "using") return;
         if (box.GetField<string>("state") == "waiting" && box.GetField<string>("player") != player.GUID.ToString()) return;
         if (box.GetField<string>("state") == "waiting" && box.GetField<string>("player") == player.GUID.ToString())
         {
             player.GiveWeapon(box.GetField<string>("weapon"));
             player.Call("givemaxammo", box.GetField<string>("weapon"));
             player.SwitchToWeapon(box.GetField<string>("weapon"));
             weapon2.Call("delete");
             box.SetField("weapon", "");
             box.SetField("player", "");
             AfterDelay(2000, () => box.SetField("state", "idle"));
             this.isDestroy2 = true;
         }
         else if (box.GetField<string>("state") == "idle")
         {
             if (player.GetField<int>("lsd_money") >= 500)
             {
                 if (weaponlist.Contains(player.CurrentWeapon))
                 {
                     weapon2 = Call<Entity>("spawn", "script_model", new Parameter(box.Origin));
                     weapon2.SetField("angles", box.GetField<Vector3>("angles"));
                     player.SetField("lsd_usingboxnum", box.EntRef);
                     player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
                     box.SetField("state", "using");
                     box.SetField("player", player.GUID.ToString());
                     weapon2.SetField("working", 1);
                     string _weapon = player.CurrentWeapon;
                     if (_weapon.StartsWith("iw5_acr") || _weapon.StartsWith("iw5_scar"))
                     {
                         weapon2.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 13)));
                     }
                     else
                     {
                         weapon2.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 0)));
                     }
                     Vector3 temp = player.Origin;
                     temp.Z = temp.Z + 50;
                     player.TakeWeapon(player.CurrentWeapon);
                     weapon2.Origin = temp;
                     weapon2.Call("moveto", box.Origin, 3);
                     AfterDelay(3000, () =>
                     {
                         for (int i = 0; i < weaponlist.Length; i++)
                         {
                             if (weaponlist[i] == _weapon)
                             {
                                 _weapon = upgradeweaponlist[i];
                                 break;
                             }
                         }
                         if (_weapon.StartsWith("iw5_acr") || _weapon.StartsWith("iw5_scar"))
                         {
                             weapon2.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 12)));
                         }
                         else if (_weapon.StartsWith("iw5_m9_mp_eotechsmg"))
                         {
                             weapon2.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 8)));
                         }
                         else if (_weapon.StartsWith("iw5_m60"))
                         {
                             weapon2.Call("setmodel", "weapon_steyr_blue_tiger");
                         }
                         else
                         {
                             weapon2.Call("setmodel", new Parameter(Call<string>("GetWeaponModel", _weapon, 9)));
                         }
                         temp = box.Origin;
                         temp.Z = temp.Z + 50;
                         weapon2.Call("moveto", temp, 3);
                     });
                     AfterDelay(6000, () =>
                     {
                         temp = box.Origin;
                         box.SetField("state", "waiting");
                         box.SetField("weapon", _weapon);
                         weapon2.Call("moveto", temp, 8);
                     });
                     AfterDelay(14000, () =>
                     {
                         if (box.GetField<string>("state") == "waiting" && this.isDestroy2 == false)
                         {
                             box.SetField("state", "idle");
                             box.SetField("weapon", "");
                             box.SetField("player", "");
                             weapon.Call("delete");
                         }
                         isDestroy2 = false;
                     });
                 }
                 else
                 {
                     player.Call("iprintlnbold", "^1You currect weapon can not upgrade.");
                 }
             }
             else
             {
                 player.Call("iprintln", "^1Upgrade need $500.");
             }
         }
     }
 }
Beispiel #4
0
        public void GamblerThink(Entity player)
        {
            player.Call("iprintlnbold", new Parameter[] { "^210" });
            player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" });
            AfterDelay(1000, () => player.Call("iprintlnbold", new Parameter[] { "^29" }));
            AfterDelay(1000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(2000, () => player.Call("iprintlnbold", new Parameter[] { "^28" }));
            AfterDelay(2000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(3000, () => player.Call("iprintlnbold", new Parameter[] { "^27" }));
            AfterDelay(3000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(4000, () => player.Call("iprintlnbold", new Parameter[] { "^26" }));
            AfterDelay(4000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(5000, () => player.Call("iprintlnbold", new Parameter[] { "^25" }));
            AfterDelay(5000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(6000, () => player.Call("iprintlnbold", new Parameter[] { "^24" }));
            AfterDelay(6000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(7000, () => player.Call("iprintlnbold", new Parameter[] { "^23" }));
            AfterDelay(7000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(8000, () => player.Call("iprintlnbold", new Parameter[] { "^22" }));
            AfterDelay(8000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            AfterDelay(9000, () => player.Call("iprintlnbold", new Parameter[] { "^21" }));
            AfterDelay(9000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
            base.AfterDelay(10000, delegate
            {
                int? rng = new int?(new Random().Next(27));
                switch (rng.Value)
                {
                    case 0:
                        PrintGambleInfo(player, "^1You win nothing.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 1:
                        PrintGambleInfo(player, "^2You win $500.");
                        player.Call("playlocalsound", new Parameter[] { "new_perk_unlocks" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") + 500);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 2:
                        PrintGambleInfo(player, "^2You win $1000.");
                        player.Call("playlocalsound", new Parameter[] { "new_perk_unlocks" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") + 0x3e8);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 3:
                        PrintGambleInfo(player, "^2You win $2000.");
                        player.Call("playlocalsound", new Parameter[] { "new_perk_unlocks" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") + 0x7d0);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 4:
                        PrintGambleInfo(player, "^1You lose $500.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") - 500);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 5:
                        PrintGambleInfo(player, "^0Surprise!");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.SetField("inf2_money", 0);
                        foreach (var item in Utility.getPlayerList())
                        {
                            if (Utility.GetPlayerTeam(item) == "allies" && item != player)
                            {
                                item.Call("iprintlnbold", new Parameter[] { "^0Surprise!" });
                                item.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                                item.SetField("inf2_money", 0);
                            }
                        }
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 6:
                        PrintGambleInfo(player, "^1You lose all money.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.SetField("inf2_money", 0);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 7:
                        PrintGambleInfo(player, "^2You win riotshield in your back.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_start" });
                        player.Call("attachshieldmodel", new Parameter[] { "weapon_riot_shield_mp", "tag_shield_back" });
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 8:
                        PrintGambleInfo(player, "^1Airstrike in your location.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        DoAirstrike(player, player.Origin);
                        return;
                    case 9:
                        PrintGambleInfo(player, "^2You win $10000.");
                        player.Call("playlocalsound", new Parameter[] { "new_perk_unlocks" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") + 0x2710);
                        player.SetField("gamblerstate", "idle");
                        return;
                    case 10:
                        PrintGambleInfo(player, "^1You live or die in 5 second.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        AfterDelay(1000, () => player.Call("iprintlnbold", new Parameter[] { "^15" }));
                        AfterDelay(1000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(2000, () => player.Call("iprintlnbold", new Parameter[] { "^14" }));
                        AfterDelay(2000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(3000, () => player.Call("iprintlnbold", new Parameter[] { "^13" }));
                        AfterDelay(3000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(4000, () => player.Call("iprintlnbold", new Parameter[] { "^12" }));
                        AfterDelay(4000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(5000, () => player.Call("iprintlnbold", new Parameter[] { "^11" }));
                        AfterDelay(5000, () => player.Call("playlocalsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(6000, () =>
                        {
                            rng = new int?(new Random().Next(2));
                            switch (rng.Value)
                            {
                                case 0:
                                    player.Call("iprintlnbold", new Parameter[] { "^2You live!" });
                                    return;

                                case 1:
                                    player.Call("iprintlnbold", new Parameter[] { "^1You die!" });
                                    Call("playfx", new Parameter[] { Call<int>("loadfx", new Parameter[] { "props/barrelexp" }), player.Call<Vector3>("gettagorigin", new Parameter[] { "j_head" }) });
                                    player.Call("playsound", new Parameter[] { "explo_mine" });
                                    player.Call("suicide", new Parameter[0]);
                                    return;
                            }
                            player.SetField("gamblerstate", "idle");
                        });
                        return;
                    case 11:
                        PrintGambleInfo(player, "^3Grab all players money!");
                        player.Call("playlocalsound", new Parameter[] { "mp_obj_captured" });
                        AfterDelay(100, () =>
                        {
                            int money = 0;
                            foreach (var item in Utility.getPlayerList())
                            {
                                if (Utility.GetPlayerTeam(item) == "allies" && item != player)
                                {
                                    money = money + item.GetField<int>("inf2_money");
                                    item.SetField("inf2_money", 0);
                                    item.Call("iprintlnbold", new Parameter[] { "^1Player: " + player.Name + " grabed you all money!" });
                                    item.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                                }
                            }
                            player.SetField("inf2_money", player.GetField<int>("inf2_money") + money);
                        });
                        player.SetField("gamblerstate", "idle");
                        return;
                    case 12:
                        PrintGambleInfo(player, "^1Gambler restart.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        AfterDelay(1000, () => GamblerThink(player));
                        return;
                    case 13:
                        PrintGambleInfo(player, "^2Wallhack");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_start" });
                        player.Call("thermalvisionfofoverlayon", new Parameter[0]);
                        player.SetField("gamblerstate", "idle");
                        return;

                    case 14:
                        PrintGambleInfo(player, "^1Incantation.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.SetField("incantation", 1);
                        player.SetField("gamblerstate", "idle");
                        return;
                    case 15:
                        PrintGambleInfo(player, "^0Other human die or SB die after 5 second.");
                        player.Call("playsound", new Parameter[] { "mp_bonus_end" });
                        AfterDelay(1000, () => Call("iprintlnbold", new Parameter[] { "^05" }));
                        AfterDelay(1000, () => player.Call("playsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(2000, () => Call("iprintlnbold", new Parameter[] { "^04" }));
                        AfterDelay(2000, () => player.Call("playsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(3000, () => Call("iprintlnbold", new Parameter[] { "^03" }));
                        AfterDelay(3000, () => player.Call("playsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(4000, () => Call("iprintlnbold", new Parameter[] { "^02" }));
                        AfterDelay(4000, () => player.Call("playsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(5000, () => Call("iprintlnbold", new Parameter[] { "^01" }));
                        AfterDelay(5000, () => player.Call("playsound", new Parameter[] { "ui_mp_nukebomb_timer" }));
                        AfterDelay(6000, () =>
                        {
                            switch (_rng.Next(2))
                            {
                                case 0:
                                    Call("iprintlnbold", new Parameter[] { "^1SB die!" });
                                    player.Call("playsound", new Parameter[] { "mp_bonus_end" });
                                    player.Call("suicide", new Parameter[0]);
                                    break;

                                case 1:
                                    Call("iprintlnbold", new Parameter[] { "^1Booooom! Other human killed by SB. SB live!" });
                                    player.Call("playsound", new Parameter[] { "nuke_explosion" });
                                    foreach (var item in Utility.getPlayerList())
                                    {
                                        if (Utility.GetPlayerTeam(item) == "allies" && item != player)
                                        {
                                            Call("playfx", new Parameter[] { Call<int>("loadfx", new Parameter[] { "props/barrelexp" }), item.Call<Vector3>("gettagorigin", new Parameter[] { "j_head" }) });
                                            item.Call("suicide", new Parameter[0]);
                                            player.SetField("inf2_money", player.GetField<int>("inf2_money") + 100);
                                        }
                                    }

                                    break;
                            }
                            player.SetField("gamblerstate", "idle");
                        });
                        break;
                    case 16:
                        PrintGambleInfo(player, "^3You are local tyrant!");
                        player.Call("playlocalsound", new Parameter[] { "mp_obj_captured" });
                        player.SetField("inf2_money", player.GetField<int>("inf2_money") + 500);
                        foreach (var item in Utility.getPlayerList())
                        {
                            if (Utility.GetPlayerTeam(item) == "allies" && item != player)
                            {
                                item.Call("iprintlnbold", new Parameter[] { "^2Player: " + player.Name + " gave you $500." });
                                item.Call("playlocalsound", new Parameter[] { "new_perk_unlocks" });
                                item.SetField("inf2_money", item.GetField<int>("inf2_money") + 500);
                            }
                        }
                        player.SetField("gamblerstate", "idle");
                        return;
                    case 17:
                        PrintGambleInfo(player, "^1You infected!");
                        player.Call("iprintlnbold", new Parameter[] { "^1You infected!" });
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        Call("playfx", new Parameter[] { Call<int>("loadfx", new Parameter[] { "props/barrelexp" }), player.Call<Vector3>("gettagorigin", new Parameter[] { "j_head" }) });
                        player.Call("playsound", new Parameter[] { "explo_mine" });
                        player.Call("suicide", new Parameter[0]);
                        player.SetField("gamblerstate", "idle");
                        return;
                    case 18:
                        PrintGambleInfo(player, "^2Air support in comming!");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_start" });
                        player.Health = -1;
                        player.Call("playsound", new Parameter[] { "US_1mc_use_airstrike" });
                        foreach (var item in Utility.getPlayerList())
                        {
                            if (Utility.GetPlayerTeam(item) == "axis")
                            {
                                Call("magicbullet", new Parameter[] { "stinger_mp", new Vector3(item.Origin.X, item.Origin.Y, item.Origin.Z + 5000f), item.Origin, player });
                            }
                        }
                        AfterDelay(3000, () => player.Health = player.GetField<int>("maxhealth"));
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 19:
                        PrintGambleInfo(player, "^2Double Points!");
                        player.Call("playsound", "mp_level_up");
                        player.SetField("gamblerstate", "idle");
                        if (Call<int>("getdvarint", "mod_inf2_doublepoint") == 1)
                        {
                            break;
                        }
                        Call("setdvar", "mod_inf2_doublepoint", 1);
                        AfterDelay(30000, () =>
                        {
                            Call("setdvar", "mod_inf2_doublepoint", 0);
                            foreach (var item in Utility.getPlayerList())
                            {
                                if (Utility.GetPlayerTeam(item) == "allies")
                                {
                                    item.Call("iprintlnbold", "Double Point off!");
                                }
                            }
                        });
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 20:
                        PrintGambleInfo(player, "^2Insta Kill!");
                        player.Call("playsound", "mp_level_up");
                        player.SetField("gamblerstate", "idle");
                        if (Call<int>("getdvarint", "mod_inf2_instakill") == 1)
                        {
                            break;
                        }
                        Call("setdvar", "mod_inf2_instakill", 1);
                        AfterDelay(30000, () =>
                        {
                            Call("setdvar", "mod_inf2_instakill", 0);
                            foreach (var item in Utility.getPlayerList())
                            {
                                if (Utility.GetPlayerTeam(item) == "allies")
                                {
                                    item.Call("iprintlnbold", "Insta Kill off!");
                                }
                            }
                        });
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 21:
                        PrintGambleInfo(player, "^2Max Ammo!");
                        player.Call("playsound", "mp_level_up");
                        player.SetField("gamblerstate", "idle");
                        foreach (var item in Utility.getPlayerList())
                        {
                            if (!item.IsAlive || Utility.GetPlayerTeam(item) != "allies")
                            {
                                continue;
                            }
                            GiveAmmo(player);
                        }
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 22:
                        PrintGambleInfo(player, "KaBoom!");
                        player.Call("playsound", "nuke_explosion");
                        int delay = 1;
                        foreach (var item in Utility.getPlayerList())
                        {
                            if (Utility.GetPlayerTeam(item) == "axis" && item.IsAlive)
                            {
                                AfterDelay(delay * 1000, () =>
                                {
                                    Call("playfx", Call<int>("loadfx", "props/barrelexp"), item.Call<Vector3>("gettagorigin", "j_head"));
                                    item.Call("playsound", new Parameter[] { "explo_mine" });
                                    item.Call("suicide");
                                    player.SetField("inf2_money", player.GetField<int>("inf2_money") + 100);
                                });
                                delay++;
                            }
                        }
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 23:
                        PrintGambleInfo(player, "^2Juggernaut");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_start" });
                        player.Call("setmodel", "mp_fullbody_ally_juggernaut");
                        player.Call("setviewmodel", "viewhands_juggernaut_ally");
                        player.SetField("maxhealth", 300);
                        player.Health = 300;
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 24:
                        PrintGambleInfo(player, "^2Fast Speed");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_start" });
                        OnInterval(100, () =>
                        {
                            player.Call("setmovespeedscale", 1.5f);
                            return player.IsAlive;
                        });
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 25:
                        PrintGambleInfo(player, "^1You lose all weapon.");
                        player.Call("playlocalsound", new Parameter[] { "mp_bonus_end" });
                        player.TakeWeapon(player.GetField<string>("firstweapon"));
                        player.TakeWeapon(player.GetField<string>("secondweapon"));
                        player.SetField("gamblerstate", "idle");
                        break;
                    case 26:
                        PrintGambleInfo(player, "^1You Boooooom!");
                        player.Call("suicide");
                        AfterDelay(300, () =>
                        {
                            Call("RadiusDamage", new Parameter[] { player.Origin, 500, 500, 500, player, "MOD_EXPLOSIVE", "nuke_mp" });
                            Call("playfx", new Parameter[] { this.Call<int>("loadfx", new Parameter[] { "explosions/tanker_explosion" }), player.Origin });
                            player.Call("playsound", new Parameter[] { "cobra_helicopter_crash" });
                        });
                        player.SetField("gamblerstate", "idle");
                        break;
                }
            });
        }
Beispiel #5
0
 public void usedMysteryBox(Entity box, Entity player)
 {
     if (player.IsAlive && (Utility.GetPlayerTeam(player) != "axis"))
     {
         if (player.CurrentWeapon.Contains("killstreak") || player.CurrentWeapon.Contains("airdrop"))
         {
             return;
         }
         if (player.GetField<int>("inf2_money") < 500)
         {
             player.Call("iprintln", new Parameter[] { "^1Mystery box need $500." });
             return;
         }
         else
         {
             player.SetField("inf2_money", player.GetField<int>("inf2_money") - 500);
             Weapon weapon = Weapon.GetRandomWeapon();
             if (player.HasWeapon(weapon.Text))
             {
                 if (weapon.Text == "defaultweapon_mp")
                 {
                     player.Call("setweaponammoclip", weapon.Text, 0);
                     player.Call("setweaponammostock", weapon.Text, 0);
                 }
                 else
                 {
                     player.Call("givemaxammo", new Parameter[] { weapon.Text });
                 }
                 player.SwitchToWeapon(weapon.Text);
                 player.Call("iprintlnbold", weapon.Name);
                 Call("iprintln", player.Name + " buy weapon - " + weapon.Name);
             }
             else
             {
                 if (player.GetField<string>("secondweapon") != "none")
                 {
                     if (player.GetField<string>("firstweapon") == player.CurrentWeapon)
                     {
                         player.SetField("firstweapon", weapon.Text);
                     }
                     else if (player.GetField<string>("secondweapon") == player.CurrentWeapon)
                     {
                         player.SetField("secondweapon", weapon.Text);
                     }
                     player.TakeWeapon(player.CurrentWeapon);
                 }
                 else
                 {
                     player.SetField("secondweapon", weapon.Text);
                 }
                 player.GiveWeapon(weapon.Text);
                 if (weapon.Text == "defaultweapon_mp")
                 {
                     player.Call("setweaponammoclip", weapon.Text, 0);
                     player.Call("setweaponammostock", weapon.Text, 0);
                 }
                 else
                 {
                     player.Call("givemaxammo", new Parameter[] { weapon.Text });
                 }
                 AfterDelay(300, () => player.SwitchToWeaponImmediate(weapon.Text));
                 player.Call("iprintlnbold", weapon.Name);
                 Call("iprintln", player.Name + " buy weapon - " + weapon.Name);
             }
         }
     }
 }
Beispiel #6
0
 public void usedBox(Entity box, Entity player)
 {
     if (player.GetField<string>("sessionteam") == "axis") return;
     if (box.GetField<string>("state").Equals("inuse") && box.GetField<Entity>("player").Equals(player))
     {
         player.TakeWeapon(player.CurrentWeapon);
         string name = Utilities.BuildWeaponName(weaponNames[box.GetField<int>("giveweapon")], "", "", 0, 0);
         player.GiveWeapon(name);
         player.SwitchToWeaponImmediate(name);
         box.GetField<Entity>("weaponent").Call("delete");
         box.SetField("_destroyed", true);
         box.SetField("state", "idle");
         return;
     }
     if (!box.GetField<string>("state").Equals("idle")) return;
     box.SetField("state", "inuse");
     Entity weapon = Call<Entity>("spawn", "script_model", new Parameter(new Vector3(box.Origin.X, box.Origin.Y, box.Origin.Z + 10)));
     box.SetField("weaponent", new Parameter(weapon));
     weapon.Call("setmodel", weaponModels[0]);
     int timecount = 0;
     int weapnum = 0;
     OnInterval(50, () =>
     {
         weapnum = _rng.Next(weaponModels.Length);
         weapon.Call("setmodel", weaponModels[weapnum]);
         Vector3 origin = weapon.Origin;
         weapon.Call("moveto", new Parameter(new Vector3(origin.X, origin.Y, origin.Z + 0.37f)), .05f); // moveto
         timecount++;
         if (timecount == 60) return false;
         return true;
     });
     AfterDelay(3000, () =>
     {
         box.SetField("state", "waiting");
         box.SetField("giveweapon", weapnum);
         weapon.Call("moveto", new Parameter(new Vector3(box.Origin.X, box.Origin.Y, box.Origin.Z + 10)), 10); // moveto
         box.SetField("player", new Parameter(player));
     });
     AfterDelay(13000, () =>
     {
         if (box.GetField<string>("state") != "idle")
         {
             if (!box.GetField<bool>("_destroyed"))
             {
                 weapon.Call("delete");
                 box.SetField("state", "idle");
             }
             box.SetField("_destroyed", false);
         }
     });
 }
 public void DoRandom(Entity player)
 {
     int? roll = new Random().Next(NumOfRolls);
     var rollname = "";
     switch (roll)
     {
         case 0:
             rollname = "None";
             break;
         case 1:
             rollname = "^2One Ammo XM25";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("xm25_mp");
             player.Call("setweaponammoclip", "xm25_mp", 1);
             player.Call("setweaponammostock", "xm25_mp", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("xm25_mp"));
             break;
         case 2:
             rollname = "^2Extra Speed";
             OnInterval(100, () => Speed(player, 1.5));
             break;
         case 3:
             rollname = "^1You are a one hit kill";
             player.SetField("maxhealth", 1);
             player.Health = 1;
             break;
         case 4:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 5:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 6:
             rollname = "^1You are a one hit kill";
             player.SetField("maxhealth", 1);
             player.Health = 1;
             break;
         case 7:
             rollname = "^2SMAW";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_smaw_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_smaw_mp"));
             break;
         case 8:
             rollname = "^1Stinger";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("stinger_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("stinger_mp"));
             break;
         case 9:
             rollname = "^2Extra Speed";
             OnInterval(100, () => Speed(player, 1.5));
             break;
         case 10:
             rollname = "^2Extra Speed";
             OnInterval(100, () => Speed(player, 1.5));
             break;
         case 11:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 12:
             rollname = "^2AA12";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_aa12_mp_xmags_camo11");
             player.Call("setweaponammostock", "iw5_aa12_mp_xmags_camo11", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_aa12_mp_xmags_camo11"));
             break;
         case 13:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 14:
             rollname = "^1You are a one hit kill";
             player.SetField("maxhealth", 1);
             player.Health = 1;
             break;
         case 15:
             rollname = "^1Turtle";
             OnInterval(100, () => Speed(player, 0.4f));
             break;
         case 16:
             rollname = "^1Turtle";
             OnInterval(100, () => Speed(player, 0.4f));
             break;
         case 17:
             rollname = "^2Javelin";
             player.GiveWeapon("javelin_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("javelin_mp"));
             break;
         case 18:
             rollname = "^2Flash Bang";
             player.GiveWeapon("flash_grenade_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("flash_grenade_mp"));
             break;
         case 19:
             rollname = "^1You are a one hit kill";
             player.SetField("maxhealth", 1);
             player.Health = 1;
             break;
         case 20:
             rollname = "^2One Ammo RSASS";
             string weapon = Utilities.BuildWeaponName("iw5_rsass", "none", "none", 0, 0);
             player.GiveWeapon(weapon);
             player.Call("setweaponammoclip", weapon, 1);
             player.Call("setweaponammostock", weapon, 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate(weapon));
             break;
         case 21:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 22:
             rollname = "^2SMAW";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_smaw_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_smaw_mp"));
             break;
         case 23:
             rollname = "^1Can't Jump";
             player.Call("allowjump", false);
             break;
         case 24:
             rollname = "^3Riotshield Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 25:
             rollname = "^2Riotshield";
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 26:
             rollname = "^2C4";
             player.GiveWeapon("c4_mp");
             player.Call("givemaxammo", "c4_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("c4_mp"));
             break;
         case 27:
             rollname = "^2Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             break;
         case 28:
             rollname = "^2Riotshield";
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 29:
             rollname = "^3Riotshield Juggernaut";
             player.SetField("maxhealth", player.Health * 3);
             player.Health = player.Health * 3;
             player.Call("setmodel", "mp_fullbody_opforce_juggernaut");
             player.Call("setviewmodel", "viewhands_juggernaut_opforce");
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 30:
             rollname = "^2USP45 Akimbo";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_usp45_mp_akimbo");
             player.Call("setweaponammostock", "iw5_usp45_mp_akimbo", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_usp45_mp_akimbo"));
             break;
         case 31:
             rollname = "None";
             break;
         case 32:
             rollname = "^1Stinger";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("stinger_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("stinger_mp"));
             break;
         case 33:
             rollname = "^2Smoke";
             player.GiveWeapon("smoke_grenade_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("smoke_grenade_mp"));
             break;
         case 34:
             rollname = "None";
             break;
         case 35:
             rollname = "None";
             break;
         case 36:
             rollname = "^2Riotshield";
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 37:
             rollname = "None";
             break;
         case 38:
             rollname = "^2Desert Eagle";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_deserteagle_mp");
             player.Call("setweaponammostock", "iw5_deserteagle_mp", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_deserteagle_mp"));
             break;
         case 39:
             rollname = "^2Riotshield";
             player.SetPerk("specialty_fastermelee", true, true);
             player.SetPerk("specialty_lightweight", true, true);
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("riotshield_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("riotshield_mp"));
             player.AfterDelay(150,
                               entity =>
                               player.Call("attachshieldmodel", "weapon_riot_shield_mp", "tag_shield_back"));
             break;
         case 40:
             rollname = "^2Concussion Grenade";
             player.GiveWeapon("concussion_grenade_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("concussion_grenade_mp"));
             break;
         case 41:
             rollname = "^2Throwing Knife";
             player.GiveWeapon("throwingknife_mp");
             player.SwitchToWeaponImmediate("throwingknife_mp");
             break;
         case 42:
             rollname = "^2EMP Grenade";
             player.GiveWeapon("emp_grenade_mp");
             AfterDelay(300, () => player.SwitchToWeaponImmediate("emp_grenade_mp"));
             break;
         case 43:
             rollname = "None";
             break;
         case 44:
             rollname = "None";
             break;
         case 45:
             rollname = "^1You Die After 3 Second";
             player.SetField("rtd_canroll", 1);
             AfterDelay(3000, () => player.Call("suicide"));
             break;
         case 46:
             rollname = "None";
             break;
         case 47:
             rollname = "^3Godmode for 3 second";
             player.Health = -1;
             AfterDelay(3000, () => player.Health = player.GetField<int>("maxhealth"));
             break;
         case 48:
             rollname = "^2M320";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("m320_mp");
             player.Call("setweaponammoclip", "m320_mp", 1);
             player.Call("setweaponammostock", "m320_mp", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("m320_mp"));
             break;
         case 49:
             rollname = "^2One Ammo MK14";
             string weapon2 = "iw5_mk14_mp";
             player.GiveWeapon(weapon2);
             player.Call("setweaponammoclip", weapon2, 1);
             player.Call("setweaponammostock", weapon2, 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate(weapon2));
             break;
         case 50:
             rollname = "^2One Ammo SVD";
             string weapon3 = Utilities.BuildWeaponName("iw5_dragunov", "none", "none", 0, 0);
             player.GiveWeapon(weapon3);
             player.Call("setweaponammoclip", weapon3, 1);
             player.Call("setweaponammostock", weapon3, 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate(weapon3));
             break;
         case 51:
             rollname = "^2Unlimited Grenades";
             OnInterval(100, () => Nades(player, 99));
             break;
         case 52:
             rollname = "^2RPG";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("rpg_mp");
             player.Call("setweaponammoclip", "rpg_mp", 1);
             player.Call("setweaponammostock", "rpg_mp", 1);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("rpg_mp"));
             break;
         case 53:
             rollname = "^2Unlimited Grenades";
             OnInterval(100, () => Nades(player, 99));
             break;
         case 54:
             rollname = "^3Extra Speed and AA12";
             player.TakeWeapon(player.CurrentWeapon);
             player.GiveWeapon("iw5_aa12_mp_xmags_camo11");
             player.Call("setweaponammostock", "iw5_aa12_mp_xmags_camo11", 0);
             AfterDelay(300, () => player.SwitchToWeaponImmediate("iw5_aa12_mp_xmags_camo11"));
             OnInterval(100, () => Speed(player, 1.5));
             break;
         case 55:
             rollname = "^2Unlimited Grenades";
             OnInterval(100, () => Nades(player, 99));
             break;
         case 56:
             rollname = "^1Zombie Incantation";
             player.SetField("zombie_incantation", 1);
             break;
         case 57:
             rollname = "None";
             break;
         case 58:
             rollname = "^1Zombie Incantation";
             player.SetField("zombie_incantation", 1);
             break;
         case 59:
             rollname = "^1Zombie Incantation";
             player.SetField("zombie_incantation", 1);
             break;
     }
     PrintRollNames(player, rollname, 0, roll);
 }
Beispiel #8
0
        public static string upgradeWeapon(Entity player)
        {
            string weapon = player.CurrentWeapon;
            string basenewweapon = "";
            string basename = WeaponUtils.weapon_getBasename(weapon);
            int camo = player.GetField<int>("camo");
            int reticle = player.GetField<int>("reticle");

            if (weapon.StartsWith("iw5_pp90m1"))
            {
                player.Call("iprintlnbold", "^3IS SMG");
                player.TakeWeapon(weapon);
                basenewweapon = WeaponUtils.getRandomAR(camo, reticle);
            }

            if (Array.IndexOf(WeaponUtils._smgList, basename) > 0)
            {
                player.TakeWeapon(weapon);
                player.Call("iprintlnbold", "^3IS SMG");
                basenewweapon = WeaponUtils.getRandomAR(camo, reticle);
            }

            else if (Array.IndexOf(WeaponUtils._arList, basename) > 0)
            {
                player.TakeWeapon(weapon);
                basenewweapon = WeaponUtils.getRandomLMG(camo, reticle);
            }
            else if (Array.IndexOf(WeaponUtils._pistolList, basename) > 0)
            {
                player.TakeWeapon(weapon);
                basenewweapon = WeaponUtils.getRandomAutoPistol(camo, reticle);
            }
            else
            {
                return "You cannot upgrade this weapon!";
            }

            string[] newattach = WeaponUtils.weapon_getAttachments(weapon);
            string newweapon = WeaponUtils.weapon_getWeaponName(basenewweapon, newattach, player.GetField<int>("camo"), player.GetField<int>("reticle"));
            player.GiveWeapon(newweapon);

            player.AfterDelay(100, entity =>
            {
                player.SwitchToWeaponImmediate(newweapon);
                player.Call("iprintlnbold", "Upgraded Weapon!");
            });

            return "";
        }