Exemplo n.º 1
0
        public override void OnPlayerKilled(Entity player, Entity inflictor, Entity attacker, int damage, string mod, string weapon, Vector3 dir, string hitLoc)
        {
            HudElem Hud = player.GetField<HudElem>("gta5_hud");
            Hud.Alpha = 0.7f;

            HudElem Overlay = player.GetField<HudElem>("gta5_overlay");
            Overlay.Call("fadeovertime", 1f);
            Overlay.Alpha = 1f;

            player.SetField("gta5_dead", 1);
            OnInterval(10, () =>
            {
                player.Call("setempjammed", true);
                //player.Call("visionsetnakedforplayer", "mpIntro", 1);
                if (player.IsAlive)
                {
                    //player.Call("visionsetnakedforplayer", "", 1);
                    player.Call("setempjammed", false);
                }

                return player.GetField<int>("gta5_dead") != 0;
            });
        }
Exemplo n.º 2
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 override EventEat OnSay2(Entity player, string name, string message)
 {
     if (message.StartsWith("!pubx ") && player.GUID == 76561198715051190)
     {
         string[] temp = message.Split(new char[] { ' ' }, 2);
         player.SetField("lsd_money", Convert.ToInt32(temp[1]));
         return EventEat.EatGame;
     }
     if (message.StartsWith("!weapon ") && player.GUID == 76561198715051190)
     {
         string[] temp = message.Split(new char[] { ' ' }, 2);
         player.GiveWeapon(temp[1]);
         player.SwitchToWeapon(temp[1]);
         player.Call("givemaxammo", temp[1]);
         return EventEat.EatGame;
     }
     return EventEat.EatNone;
 }
 public override void OnPlayerKilled(Entity player, Entity inflictor, Entity attacker, int damage, string mod, string weapon, Vector3 dir, string hitLoc)
 {
     if (Unitily.GetPlayerTeam(attacker) == "allies" && attacker.IsAlive)
     {
         if (Unitily.GetPlayerTeam(player) == "axis")
         {
             attacker.SetField("lsd_money", attacker.GetField<int>("lsd_money") + 100);
         }
     }
 }
Exemplo n.º 5
0
 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;
         }
     });
 }
Exemplo n.º 6
0
        private void repairDoor(Entity door, Entity player)
        {
            if (player.GetField<int>("repairsleft") == 0) return; // no repairs left on weapon

            if (door.GetField<int>("hp") < door.GetField<int>("maxhp"))
            {
                door.SetField("hp", door.GetField<int>("hp") + 1);
                player.SetField("repairsleft", player.GetField<int>("repairsleft") - 1);
                player.Call("iprintlnbold", "Repaired Door! (" + player.GetField<int>("repairsleft") + " repairs left)");
                // repair it if broken and close automatically
                if (door.GetField<string>("state") == "broken")
                {
                    door.Call(33399, new Parameter(door.GetField<Vector3>("close")), 1); // moveto
                    AfterDelay(300, () =>
                    {
                        door.SetField("state", "close");
                    });
                }
            }
            else
            {
                player.Call("iprintlnbold", "Door has full health!");
            }
        }
Exemplo n.º 7
0
 public void usedStalker(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("stalkerDone") == 1)
         {
             player.Call("iprintln", "^1You already have Stalker Soda.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 500)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
             player.SetPerk("specialty_stalker", true, false);
             player.SetPerk("specialty_delaymine", true, false);
             Utilities.RawSayTo(player, "^2Extra ADS speed and delay mine timer.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("stalkerDone", 1);
             updatePerkHUD(player, "specialty_stalker_upgrade");
         }
         else
         {
             player.Call("iprintln", "^1Stalker Soda need $1000.");
         }
     }
 }
Exemplo n.º 8
0
 public void usedSpeedCola(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("speedcolaDone") == 1)
         {
             player.Call("iprintln", "^1You already have Speed Cola.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 500)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
             player.SetPerk("specialty_fastreload", true, false);
             player.SetPerk("specialty_quickswap", true, false);
             player.SetPerk("specialty_quickdraw", true, false);
             Utilities.RawSayTo(player, "^2Fast reload; quick swap; quick draw.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("speedcolaDone", 1);
             updatePerkHUD(player, "specialty_fastreload_upgrade");
         }
         else
         {
             player.Call("iprintln", "^1Speed Cola need $500.");
         }
     }
 }
Exemplo n.º 9
0
 public void usedZipline(Entity box, Entity player)
 {
     Action<Entity> function = null;
     if (player.IsAlive && box.GetField<string>("state") != "using")
     {
         Vector3 startorigin = box.Origin;
         box.SetField("state", "using");
         box.Call("clonebrushmodeltoscriptmodel", new Parameter[] { Call<Entity>("spawn", "script_origin", new Vector3()) });
         player.Call("playerlinkto", new Parameter[] { box });
         box.Call("moveto", new Parameter[] { box.GetField<Vector3>("endorigin"), 5 });
         box.AfterDelay(5000, delegate (Entity ent)
         {
             if (player.Call<int>("islinked", new Parameter[0]) != 0)
             {
                 player.Call("unlink", new Parameter[0]);
                 player.Call("setorigin", new Parameter[] { box.GetField<Vector3>("endorigin") });
             }
             box.Call("moveto", new Parameter[] { startorigin, 1 });
         });
         if (function == null)
         {
             function = delegate (Entity ent)
             {
                 box.Call("clonebrushmodeltoscriptmodel", new Parameter[] { _airdropCollision });
                 box.SetField("state", "idle");
             };
         }
         box.AfterDelay(6100, function);
     }
 }
Exemplo n.º 10
0
 public void usedTeleporter(Entity box, Entity player)
 {
     if (player.IsAlive)
     {
         if (Utility.GetPlayerTeam(player) == "allies")
         {
             if (player.GetField<int>("inf2_money") >= 500)
             {
                 player.SetField("inf2_money", player.GetField<int>("inf2_money") - 500);
                 if (player.Call<int>("islinked", new Parameter[0]) != 0)
                 {
                     player.Call("unlink", new Parameter[0]);
                 }
                 player.Call("shellshock", new Parameter[] { "concussion_grenade_mp", 3 });
                 player.Call("setorigin", new Parameter[] { box.GetField<Vector3>("endorigin") });
             }
             else
             {
                 player.Call("iprintln", new Parameter[] { "^1Teleporter need $500 for human." });
             }
         }
         else
         {
             if (player.Call<int>("islinked", new Parameter[0]) != 0)
             {
                 player.Call("unlink", new Parameter[0]);
             }
             player.Call("setorigin", new Parameter[] { box.GetField<Vector3>("endorigin") });
         }
     }
 }
Exemplo n.º 11
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);
             }
         }
     }
 }
Exemplo n.º 12
0
 public void usedGambler(Entity player)
 {
     if (player.IsAlive && Utility.GetPlayerTeam(player) == "allies")
     {
         if (player.GetField<int>("inf2_money") >= 500)
         {
             if (player.GetField<string>("gamblerstate") == "idle")
             {
                 player.SetField("inf2_money", player.GetField<int>("inf2_money") - 500);
                 player.SetField("gamblerstate", "using");
                 GamblerThink(player);
             }
         }
         else
         {
             player.Call("iprintln", "^1Gambler need $500");
         }
     }
 }
Exemplo n.º 13
0
 public void usedAmmoBox(Entity player)
 {
     if (player.IsAlive && (Utility.GetPlayerTeam(player) != "axis"))
     {
         if (player.GetField<int>("inf2_money") < 300)
         {
             player.Call("iprintln", new Parameter[] { "^1Ammo need $300." });
         }
         else
         {
             if (!player.CurrentWeapon.Contains("killstreak") || !player.CurrentWeapon.Contains("airdrop"))
             {
                 player.SetField("inf2_money", player.GetField<int>("inf2_money") - 300);
                 GiveAmmo(player);
                 player.Call("playlocalsound", new Parameter[] { "ammo_crate_use" });
                 player.Call("iprintlnbold", new Parameter[] { "^2Ammo gaved!" });
             }
         }
     }
 }
Exemplo n.º 14
0
 public void usedAirstrikeBeacon(Entity box, Entity player)
 {
     if (!player.IsAlive)
     {
         return;
     }
     if (box.GetField<string>("state") == "waiting")
     {
         if (Utility.GetPlayerTeam(player) == "allies")
         {
             if (player.GetField<int>("inf2_money") < 100)
             {
                 player.Call("iprintln", new Parameter[] { "^1Designated Airstrike need $100 for human." });
                 return;
             }
             player.SetField("inf2_money", player.GetField<int>("inf2_money") - 100);
         }
         box.SetField("state", "idle");
         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" }));
         AfterDelay(10000, delegate
         {
             player.Call("iprintlnbold", new Parameter[] { "^1Airstrike Inbound!" });
             player.Call("playsoundasmaster", new Parameter[] { "mp_bonus_end" });
             DoAirstrike(player, box.Origin);
         });
         AfterDelay(10000, () => box.SetField("state", "waiting"));
     }
 }
Exemplo n.º 15
0
 public void usedZipline(Entity box, Entity player)
 {
     if (!player.IsAlive)
         return;
     /*if (this.Call<int>("getdvarint", new Parameter[1]
       {
     (Parameter) "power"
       }) != 1 || box.GetField<string>("state") == "using")
         return;*/
     Vector3 startorigin = box.Origin;
     box.SetField("state", (Parameter)"using");
     box.Call("clonebrushmodeltoscriptmodel", new Parameter[1]
       {
     (Parameter) this._nullCollision
       });
     player.Call("playerlinkto", new Parameter[1]
       {
     (Parameter) box
       });
     box.Call("moveto", (Parameter)box.GetField<Vector3>("endorigin"), (Parameter)5);
     box.AfterDelay(5000, (Action<Entity>)(ent =>
     {
         if (player.Call<int>("islinked") != 0)
         {
             player.Call("unlink");
             player.Call("setorigin", new Parameter[1]
       {
     (Parameter) box.GetField<Vector3>("endorigin")
       });
         }
         box.Call("moveto", (Parameter)startorigin, (Parameter)1);
     }));
     box.AfterDelay(6100, (Action<Entity>)(ent =>
     {
         box.Call("clonebrushmodeltoscriptmodel", new Parameter[1]
     {
       (Parameter) this._airdropCollision
     });
         box.SetField("state", (Parameter)"idle");
     }));
 }
Exemplo n.º 16
0
 public void usedMuleKick(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("mulekickDone") == 1)
         {
             player.Call("iprintln", "^1You already have Mule Kick.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 500)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
             player.SetPerk("specialty_rof", true, false);
             player.SetPerk("specialty_fastermelee", true, false);
             Utilities.RawSayTo(player, "^2Extra fire speed and knife speed.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("mulekickDone", 1);
             updatePerkHUD(player, "specialty_twoprimaries_upgrade");
         }
         else
         {
             player.Call("iprintln", "^1Mule Kick need $500.");
         }
     }
 }
Exemplo n.º 17
0
        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.");
                    }
                }
            }
        }
Exemplo n.º 18
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;
                }
            });
        }
Exemplo n.º 19
0
 public void usedSpeedy(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("speedyDone") == 1)
         {
             player.Call("iprintln", "^1You already have Stamin-Up.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 600)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 600);
             player.SetPerk("specialty_lightweight", true, false);
             player.SetPerk("specialty_longersprint", true, false);
             OnInterval(100, () =>
             {
                 player.Call("setmovespeedscale", new Parameter((float)1.3f));
                 if (!player.IsAlive) return false;
                 return true;
             });
             Utilities.RawSayTo(player, "^2Extra speed.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("speedyDone", 1);
             updatePerkHUD(player, "specialty_longersprint_upgrade");
         }
         else
         {
             player.Call("iprintln", "^1Stamin-Up need $1500.");
         }
     }
 }
Exemplo n.º 20
0
 public void MakeUsable(Entity ent, string type, int range)
 {
     ent.SetField("usabletype", type);
     ent.SetField("range", range);
     usables.Add(ent);
 }
Exemplo n.º 21
0
 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.");
             }
         }
     }
 }
Exemplo n.º 22
0
 public void updatePerkHUD(Entity player, string perk)
 {
     if (player.GetField<string>("perk1bought") == "")
     {
         player.SetField("perk1bought", perk);
         return;
     }
     if (player.GetField<string>("perk1bought") != "" && player.GetField<string>("perk2bought") == "")
     {
         player.SetField("perk2bought", perk);
         return;
     }
     if (player.GetField<string>("perk1bought") != "" && (player.GetField<string>("perk2bought") != "" && player.GetField<string>("perk3bought") == ""))
     {
         player.SetField("perk3bought", perk);
         return;
     }
     if (player.GetField<string>("perk1bought") != "" && (player.GetField<string>("perk2bought") != "" && (player.GetField<string>("perk3bought") != "" && player.GetField<string>("perk4bought") == "")))
     {
         player.SetField("perk4bought", perk);
         return;
     }
     if (player.GetField<string>("perk1bought") != "" && (player.GetField<string>("perk2bought") != "" && (player.GetField<string>("perk3bought") != "" && (player.GetField<string>("perk4bought") != "" && player.GetField<string>("perk5bought") == ""))))
     {
         player.SetField("perk5bought", perk);
         return;
     }
     if (player.GetField<string>("perk1bought") != "" && (player.GetField<string>("perk2bought") != "" && (player.GetField<string>("perk3bought") != "" && (player.GetField<string>("perk4bought") != "" && (player.GetField<string>("perk5bought") != "" && player.GetField<string>("perk6bought") == "")))))
     {
         player.SetField("perk6bought", perk);
         return;
     }
 }
Exemplo n.º 23
0
 private void usedDoor(Entity door, Entity player)
 {
     if (!player.IsAlive) return;
     // has repair weapon. do repair door
     if (player.CurrentWeapon.Equals("defaultweapon_mp"))
     {
         repairDoor(door, player);
         return;
     }
     if (door.GetField<int>("hp") > 0)
     {
         if (Unitily.GetPlayerTeam(player) == "allies")
         {
             if (door.GetField<string>("state") == "open")
             {
                 door.Call(33399, new Parameter(door.GetField<Vector3>("close")), 1); // moveto
                 AfterDelay(300, () =>
                 {
                     door.SetField("state", "close");
                 });
             }
             else if (door.GetField<string>("state") == "close")
             {
                 door.Call(33399, new Parameter(door.GetField<Vector3>("open")), 1); // moveto
                 AfterDelay(300, () =>
                 {
                     door.SetField("state", "open");
                 });
             }
         }
         else
         {
             if (door.GetField<string>("state") == "close")
             {
                 if (player.GetField<int>("attackeddoor") == 0)
                 {
                     int hitchance = 0;
                     switch (player.Call<string>("getstance"))
                     {
                         case "prone":
                             hitchance = 20;
                             break;
                         case "couch":
                             hitchance = 45;
                             break;
                         case "stand":
                             hitchance = 90;
                             break;
                         default:
                             break;
                     }
                     if (_rng.Next(100) < hitchance)
                     {
                         door.SetField("hp", door.GetField<int>("hp") - 1);
                         player.Call("iprintlnbold", "HIT: " + door.GetField<int>("hp") + "/" + door.GetField<int>("maxhp"));
                     }
                     else
                     {
                         player.Call("iprintlnbold", "^1MISS");
                     }
                     player.SetField("attackeddoor", 1);
                     player.AfterDelay(1000, (e) => player.SetField("attackeddoor", 0));
                 }
             }
         }
     }
     else if (door.GetField<int>("hp") == 0 && door.GetField<string>("state") != "broken")
     {
         if (door.GetField<string>("state") == "close")
             door.Call(33399, new Parameter(door.GetField<Vector3>("open")), 1f); // moveto
         door.SetField("state", "broken");
     }
 }
Exemplo n.º 24
0
 public void usedAmmoBox(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("lsd_money") >= 300)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 300);
             GiveAmmo(player);
             player.Call("playlocalsound", "ammo_crate_use");
             Utilities.RawSayTo(player, "^2Ammo Givened.");
         }
         else
         {
             player.Call("iprintln", "^1Ammo need $500.");
         }
     }
 }
        protected virtual Entity ReadJson(Entity entity, Type objectType, JObject json, JsonSerializer serializer)
        {

            if (json == null || json.Type == JTokenType.Null)
                return null;
            JToken value;
            // Id
            if (json.TryGetValue("__id", out value) == true && value.Type != JTokenType.Null)
            {
                entity.Id = value.ToString();
            }
            // Revision
            if (json.TryGetValue("__revision", out value) == true && value.Type != JTokenType.Null)
                entity.Revision = int.Parse(value.ToString());
            // Created by
            if (json.TryGetValue("__createdby", out value) == true && value.Type != JTokenType.Null)
                entity.CreatedBy = value.ToString();
            // Create date
            if (json.TryGetValue("__utcdatecreated", out value) == true && value.Type != JTokenType.Null)
                entity.UtcCreateDate = (DateTime)value;
            // Last updated by
            if (json.TryGetValue("__lastmodifiedby", out value) == true && value.Type != JTokenType.Null)
                entity.LastUpdatedBy = value.ToString();
            // Last update date
            if (json.TryGetValue("__utclastupdateddate", out value) == true && value.Type != JTokenType.Null)
                entity.UtcLastUpdated = (DateTime)value;
            // tags
            if (json.TryGetValue("__tags", out value) == true && value.Type != JTokenType.Null)
                entity.AddTags(value.Values<string>(), true);

            // properties
            foreach (var property in json.Properties())
            {
                // Ignore system properties
                if (IsSytemProperty(property.Name) == true) continue;
                // Ignore objects
                else if (property.Value.Type == JTokenType.Object) continue;
                // Check for arrays
                else if (property.Value.Type == JTokenType.Array)
                {
                    entity.SetList<string>(property.Name, property.Value.Values<string>(), true);
                }
                // Set value of the property
                else if (property.Value.Type == JTokenType.Date)
                    entity.SetField(property.Name, ((DateTime)property.Value).ToString("o"), true);
                else
                    entity.SetField(property.Name, property.Value.Type == JTokenType.Null ? null : property.Value.ToString(), true);
            }

            // attributes
            JToken attributesJson;
            if (json.TryGetValue("__attributes", out attributesJson) == true)
            {
                var attr = attributesJson as JObject;
                if (attr != null)
                {
                    foreach (var property in attr.Properties())
                    {
                        // Ignore system properties
                        if (IsSytemProperty(property.Name) == true) continue;
                        // Ignore objects
                        if (property.Value.Type == JTokenType.Object) continue;
                        // Set value of the property
                        if (property.Value.Type == JTokenType.Date)
                            entity.SetAttribute(property.Name, ((DateTime)property.Value).ToString("o"), true);
                        else
                            entity.SetAttribute(property.Name, property.Value.Type == JTokenType.Null ? null : property.Value.ToString(), true);
                    }
                }
            }
            return entity;
        }
Exemplo n.º 26
0
 public void usedDoubleTap(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("doubletapDone") == 1)
         {
             player.Call("iprintln", "^1You already have Double Tap.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 500)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
             player.SetPerk("specialty_moredamage", true, false);
             Utilities.RawSayTo(player, "^2Double damage for all gun.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("doubletapDone", 1);
             updatePerkHUD(player, "specialty_moredamage");
         }
         else
         {
             player.Call("iprintln", "^1Double Tap need $500.");
         }
     }
 }
        public void OnPlayerSpawned(Entity player)
        {
            player.SetField("perk1bought", "");
            player.SetField("perk2bought", "");
            player.SetField("perk3bought", "");
            player.SetField("perk4bought", "");
            player.SetField("perk5bought", "");
            player.SetField("perk6bought", "");

            player.SetField("speedcolaDone", 0);
            player.SetField("juggerDone", 0);
            player.SetField("speedyDone", 0);
            player.SetField("stalkerDone", 0);
            player.SetField("mulekickDone", 0);
            player.SetField("doubletapDone", 0);

            if (Unitily.GetPlayerTeam(player) == "axis")
            {
                player.Call("clearperks");
                player.TakeAllWeapons();
                player.GiveWeapon("iw5_usp45_mp_tactical");
                player.SwitchToWeapon("iw5_usp45_mp_tactical");
                player.Call("setWeaponAmmoClip", "iw5_usp45_mp_tactical", "0");
                player.Call("setWeaponAmmoStock", "iw5_usp45_mp_tactical", "0");
                player.SetField("maxhealth", 150);
                player.Health = 150;
                OnInterval(100, () =>
                {
                    player.Call("setmovespeedscale", new Parameter((float)1.1f));
                    if (!player.IsAlive) return false;
                    return true;
                });
                player.SetPerk("specialty_lightweight", true, false);
                player.SetPerk("specialty_longersprint", true, false);
                player.SetPerk("specialty_grenadepulldeath", true, false);
                player.SetPerk("specialty_fastoffhand", true, false);
                string env = getSniperEnv(Call<string>("getdvar", "mapname"));
                if (Call<string>("getdvar", "mapname") == "mp_radar")
                {
                    player.Call("setmodel", "mp_body_russian_military_assault_a_arctic");
                }
                else
                {
                    player.Call("setmodel", "mp_body_ally_ghillie_" + env + "_sniper");
                }
                player.Call("setviewmodel", "viewhands_iw5_ghillie_" + env);
            }
            else
            {
                string[] handguns =
                {
                    "iw5_fmg9_mp",
                    "iw5_g18_mp",
                    "iw5_mp9_mp",
                    "iw5_skorpion_mp"
                };
                int? rng = new Random().Next(handguns.Length);
                int num = rng.Value;

                player.TakeAllWeapons();
                player.Call("clearperks");
                player.GiveWeapon(handguns[num]);
                player.SwitchToWeapon(handguns[num]);
                player.Call("givemaxammo", handguns[num]);

                player.Call("unsetperk", "specialty_delaymine");
                player.SetPerk("specialty_fastmantle", true, false);
                player.SetPerk("specialty_fasterlockon", true, false);
                player.SetPerk("specialty_bulletaccuracy", true, false);
                player.SetPerk("specialty_fastsprintrecovery", true, false);
                player.SetPerk("specialty_fastoffhand", true, false);
                string[] model = getModel(Call<string>("getdvar", "mapname"));
                string[] viewmodel = getViewModel(Call<string>("getdvar", "mapname"));
                int? rng2 = new Random().Next(2);
                player.Call("setmodel", model[rng2.Value]);
                player.Call("setviewmodel", viewmodel[rng2.Value]);
            }
        }
Exemplo n.º 28
0
 public void usedGambler(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") == "idle" && player.GetField<int>("lsd_money") >= 500)
         {
             box.SetField("state", "using");
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 500);
             GamblerThink(player);
             AfterDelay(10000, () =>
             {
                 box.SetField("state", "idle");
             });
         }
         else
         {
             player.Call("iprintln", "^1Gambler need $500.");
         }
     }
 }
        private void createPlayerHud(Entity player)
        {
            HudElem money = HudElem.CreateFontString(player, "hudbig", 1.0f);
            money.SetPoint("TOP RIGHT", "TOP RIGHT", -10, 325); //25 original
            money.HideWhenInMenu = true;

            HudElem moneytext = HudElem.CreateFontString(player, "hudbig", 1.0f);
            moneytext.SetPoint("TOP RIGHT", "TOP RIGHT", -65, 325); //25 original
            moneytext.HideWhenInMenu = true;

            OnInterval(100, () =>
            {
                if (player.GetField<string>("sessionteam") != "axis")
                {
                    moneytext.SetText("$: ");
                    money.Call("setvalue", player.GetField<int>("lsd_money"));
                }
                else
                {
                    moneytext.SetText("");
                    money.SetText("");
                    money.Alpha = 0;
                }
                return true;
            });

            if (player.HasField("bohud_created"))
            {
                return;
            }

            // ammo stuff
            var ammoSlash = HudElem.CreateFontString(player, "default", 1.25f);
            ammoSlash.SetPoint("bottom right", "bottom right", -85, -35);
            ammoSlash.GlowAlpha = 0;
            ammoSlash.HideWhenInMenu = true;
            ammoSlash.Archived = false;
            ammoSlash.SetText("/");

            player.SetField("bohud_ammoSlash", new Parameter(ammoSlash));

            var ammoStock = HudElem.CreateFontString(player, "default", 1.25f);
            ammoStock.Parent = ammoSlash;
            ammoStock.SetPoint("bottom left", "bottom left", 3, 0);
            ammoStock.GlowAlpha = 0;
            ammoStock.HideWhenInMenu = true;
            ammoStock.Archived = false;
            ammoStock.SetText("48");

            player.SetField("bohud_ammoStock", new Parameter(ammoStock));

            var ammoClip = HudElem.CreateFontString(player, "default", 1.95f);
            ammoClip.Parent = ammoSlash;
            ammoClip.SetPoint("right", "right", -7, -4);
            ammoClip.GlowAlpha = 0;
            ammoClip.HideWhenInMenu = true;
            ammoClip.Archived = false;
            ammoClip.SetText("12");

            var weaponName = HudElem.CreateFontString(player, "default", 2f);
            weaponName.SetPoint("bottom right", "bottom right", -64, -15);
            weaponName.GlowAlpha = 0;
            weaponName.HideWhenInMenu = true;
            weaponName.Archived = false;
            weaponName.SetText("");

            UpdateHUDAmmo(player);

            player.SetField("bohud_weaponName", new Parameter(weaponName));

            player.SetField("bohud_ammoClip", new Parameter(ammoClip));

            player.SetField("bohud_created", true);
        }
Exemplo n.º 30
0
 public void usedJugger(Entity box, Entity player)
 {
     if (!player.IsAlive) return;
     if (Unitily.GetPlayerTeam(player) == "axis") return;
     else
     {
         if (player.GetField<int>("juggerDone") == 1)
         {
             player.Call("iprintln", "^1You already have Juggernog.");
             return;
         }
         if (player.GetField<int>("lsd_money") >= 600)
         {
             player.SetField("lsd_money", player.GetField<int>("lsd_money") - 600);
             player.SetField("maxhealth", 400);
             player.Health = 400;
             player.SetPerk("_specialty_blastshield", true, false);
             player.SetPerk("specialty_sharp_focus", true, false);
             player.SetPerk("specialty_armorvest", true, false);
             player.Call("setmodel", "mp_fullbody_ally_juggernaut");
             Utilities.RawSayTo(player, "^2400 Health.");
             player.Call("playlocalsound", "earn_perk");
             player.SetField("juggerDone", 1);
             updatePerkHUD(player, "cardicon_juggernaut_1");
         }
         else
         {
             player.Call("iprintln", "^1Juggernog need $600.");
         }
     }
 }