-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathFunHighHP.cs
More file actions
56 lines (54 loc) · 2.1 KB
/
FunHighHP.cs
File metadata and controls
56 lines (54 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using CounterStrikeSharp.API.Modules.Entities.Constants;
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
namespace FunMatchPlugin;
public class FunHighHP : FunBaseClass
{
public override string Decription => "1000 HP 1000生命值";
private List<CCSPlayerController> Allplayers = new();
public FunHighHP(FunMatchPlugin plugin) : base(plugin){}
public int maxHP = 1000;
public int armor = 200;
public override void Fun(FunMatchPlugin plugin)
{
if (Enabled) return;
Enabled = true;
Allplayers = Utilities.GetPlayers();
foreach (var p in Allplayers)
{
var oringin = p!.OriginalControllerOfCurrentPawn.Get()!;
if (oringin is null) continue;
CCSPlayerPawn ?pawn = oringin.PlayerPawn.Get();
if (pawn is null) continue;
if (!pawn!.IsValid) continue;
p.GiveNamedItem(CsItem.Kevlar);
p.GiveNamedItem(CsItem.KevlarHelmet);
pawn!.MaxHealth = maxHP;
pawn!.Health = maxHP;
pawn!.ArmorValue = armor;
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iMaxHealth");
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iHealth");
Utilities.SetStateChanged(pawn, "CCSPlayerPawn", "m_ArmorValue");
}
}
public override void EndFun(FunMatchPlugin plugin)
{
Allplayers = Utilities.GetPlayers();
foreach (var p in Allplayers)
{
var oringin = p!.OriginalControllerOfCurrentPawn.Get()!;
if (oringin is null) continue;
CCSPlayerPawn ?pawn = oringin.PlayerPawn.Get();
if (pawn is null) continue;
if (!pawn!.IsValid) continue;
pawn!.MaxHealth = 100;
pawn!.Health = 100;
pawn!.ArmorValue = 100;
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iMaxHealth");
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iHealth");
Utilities.SetStateChanged(pawn, "CCSPlayerPawn", "m_ArmorValue");
}
Enabled = false;
Allplayers.Clear();
}
}