From bbbb9aef9424331ae309cb10598ee71b7622c869 Mon Sep 17 00:00:00 2001 From: azalty <36737524+azalty@users.noreply.github.com> Date: Sun, 18 Sep 2022 14:27:11 +0200 Subject: [PATCH 1/2] Freeday: Fixed #400 and small improvements --- .../scripting/MyJailbreak/freeday.sp | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/addons/sourcemod/scripting/MyJailbreak/freeday.sp b/addons/sourcemod/scripting/MyJailbreak/freeday.sp index 4b2831d8..456024ff 100644 --- a/addons/sourcemod/scripting/MyJailbreak/freeday.sp +++ b/addons/sourcemod/scripting/MyJailbreak/freeday.sp @@ -704,9 +704,12 @@ void StartEventRound(bool thisround) if (!IsClientInGame(i)) continue; - SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); + if (IsPlayerAlive(i)) + { + SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); - SetEntityMoveType(i, MOVETYPE_NONE); + SetEntityMoveType(i, MOVETYPE_NONE); + } } CreateTimer(3.0, Timer_PrepareEvent); @@ -770,14 +773,21 @@ void PrepareDay() CreateInfoPanel(i); - SetEntProp(i, Prop_Send, "m_CollisionGroup", 2); // 2 - none / 5 - 'default' - - if (!gc_bdamage.BoolValue && IsValidClient(i)) + if (IsPlayerAlive(i)) { - SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); - } + SetEntProp(i, Prop_Send, "m_CollisionGroup", 2); // 2 - none / 5 - 'default' + + if (!gc_bdamage.BoolValue) + { + SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); + } + else + { + SetEntProp(i, Prop_Data, "m_takedamage", 1, 1); + } - SetEntityMoveType(i, MOVETYPE_WALK); + SetEntityMoveType(i, MOVETYPE_WALK); + } } if (gp_bMyJailbreak) From 5be286641873c8519ea72f46af2ad07771a8ff33 Mon Sep 17 00:00:00 2001 From: azalty <36737524+azalty@users.noreply.github.com> Date: Wed, 21 Sep 2022 22:27:54 +0200 Subject: [PATCH 2/2] Fixed m_takedamage values --- addons/sourcemod/scripting/MyJailbreak/freeday.sp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/sourcemod/scripting/MyJailbreak/freeday.sp b/addons/sourcemod/scripting/MyJailbreak/freeday.sp index 456024ff..88eeb065 100644 --- a/addons/sourcemod/scripting/MyJailbreak/freeday.sp +++ b/addons/sourcemod/scripting/MyJailbreak/freeday.sp @@ -50,6 +50,12 @@ #pragma semicolon 1 #pragma newdecls required +// m_takedamage values +#define DAMAGE_NO 0 +#define DAMAGE_EVENTS_ONLY 1 // Call damage functions, but don't modify health +#define DAMAGE_YES 2 +#define DAMAGE_AIM 3 + // Booleans bool g_bIsFreeday = false; bool g_bStartFreeday = false; @@ -706,7 +712,7 @@ void StartEventRound(bool thisround) if (IsPlayerAlive(i)) { - SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); + SetEntProp(i, Prop_Data, "m_takedamage", DAMAGE_NO, 1); SetEntityMoveType(i, MOVETYPE_NONE); } @@ -779,11 +785,11 @@ void PrepareDay() if (!gc_bdamage.BoolValue) { - SetEntProp(i, Prop_Data, "m_takedamage", 0, 1); + SetEntProp(i, Prop_Data, "m_takedamage", DAMAGE_NO, 1); // Disable damage received (godmode) } else { - SetEntProp(i, Prop_Data, "m_takedamage", 1, 1); + SetEntProp(i, Prop_Data, "m_takedamage", DAMAGE_YES, 1); // Allow damage receive (no godmode, normal) } SetEntityMoveType(i, MOVETYPE_WALK);