mirror of
https://github.com/Jackzmc/sourcemod-plugins.git
synced 2025-05-06 05:03:21 +00:00
Add heal detection
This commit is contained in:
parent
0e7a48b609
commit
dd2f1b45bd
2 changed files with 15 additions and 5 deletions
Binary file not shown.
|
@ -35,7 +35,7 @@ Bile Detections:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
stock bool IsPlayerBoomed(int client) {
|
stock bool IsPlayerBoomed(int client) {
|
||||||
return GetEntPropFloat(%0, Prop_Send, "m_vomitStart") + 20.1 > GetGameTime();
|
return GetEntPropFloat(client, Prop_Send, "m_vomitStart") + 20.1 > GetGameTime();
|
||||||
}
|
}
|
||||||
stock bool IsAnyPlayerBoomed() {
|
stock bool IsAnyPlayerBoomed() {
|
||||||
for(int i = 1; i <= MaxClients; i++) {
|
for(int i = 1; i <= MaxClients; i++) {
|
||||||
|
@ -50,7 +50,7 @@ stock bool AnyRecentBileInPlay(int ignore) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
stock int GetEntityCountNear(const float[3] srcPos, float radius = 50000.0) {
|
stock int GetEntityCountNear(const float srcPos[3], float radius = 50000.0) {
|
||||||
float pos[3];
|
float pos[3];
|
||||||
int count;
|
int count;
|
||||||
int entity = -1;
|
int entity = -1;
|
||||||
|
@ -74,7 +74,7 @@ stock int L4D_SpawnCommonInfected2(const float vPos[3], const float vAng[3] = {
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerDetections[MAXPLAYERS+1] detections;
|
PlayerDetections detections[MAXPLAYERS+1];
|
||||||
|
|
||||||
GlobalForward fwd_PlayerDoubleKit, fwd_NoHordeBileWaste, fwd_DoorFaceCloser, fwd_CheckpointDoorFaceCloser;
|
GlobalForward fwd_PlayerDoubleKit, fwd_NoHordeBileWaste, fwd_DoorFaceCloser, fwd_CheckpointDoorFaceCloser;
|
||||||
|
|
||||||
|
@ -100,6 +100,7 @@ public void OnPluginStart() {
|
||||||
|
|
||||||
HookEvent("item_pickup", Event_ItemPickup);
|
HookEvent("item_pickup", Event_ItemPickup);
|
||||||
HookEvent("door_close", Event_DoorClose);
|
HookEvent("door_close", Event_DoorClose);
|
||||||
|
HookEvent("heal_success", Event_HealSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called on map changes too, we want this:
|
// Called on map changes too, we want this:
|
||||||
|
@ -107,7 +108,7 @@ public void OnClientDisconnect(int client) {
|
||||||
detections[client].Reset();
|
detections[client].Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action Event_ItemPickup(Event event, const char[] name, bool dontBroadcast) {
|
public void Event_ItemPickup(Event event, const char[] name, bool dontBroadcast) {
|
||||||
int client = GetClientOfUserId(event.GetInt("userid"));
|
int client = GetClientOfUserId(event.GetInt("userid"));
|
||||||
if(client && L4D_IsInLastCheckpoint(client)) {
|
if(client && L4D_IsInLastCheckpoint(client)) {
|
||||||
static char itmName[32];
|
static char itmName[32];
|
||||||
|
@ -123,7 +124,16 @@ public Action Event_ItemPickup(Event event, const char[] name, bool dontBroadcas
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action Event_DoorClose(Event event, const char[] name, bool dontBroadcast) {
|
public void Event_HealSuccess(Event event, const char[] name, bool dontBroadcast) {
|
||||||
|
int client = GetClientOfUserId(event.GetInt("userid"));
|
||||||
|
if(client) {
|
||||||
|
int target = GetClientOfUserId(event.GetInt("subject"));
|
||||||
|
int amount = event.GetInt("health_restored");
|
||||||
|
PrintToConsoleAll("[Debug] %N healed %N (+%d health)", client, target, amount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Event_DoorClose(Event event, const char[] name, bool dontBroadcast) {
|
||||||
int client = GetClientOfUserId(event.GetInt("userid"));
|
int client = GetClientOfUserId(event.GetInt("userid"));
|
||||||
if(fwd_DoorFaceCloser.FunctionCount > 0 && client) {
|
if(fwd_DoorFaceCloser.FunctionCount > 0 && client) {
|
||||||
bool isCheckpoint = event.GetBool("checkpoint");
|
bool isCheckpoint = event.GetBool("checkpoint");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue