summaryrefslogtreecommitdiff
path: root/source/sourcemod/scripting/gokz-core
diff options
context:
space:
mode:
Diffstat (limited to 'source/sourcemod/scripting/gokz-core')
-rw-r--r--source/sourcemod/scripting/gokz-core/misc.sp19
-rw-r--r--source/sourcemod/scripting/gokz-core/teleports.sp16
2 files changed, 27 insertions, 8 deletions
diff --git a/source/sourcemod/scripting/gokz-core/misc.sp b/source/sourcemod/scripting/gokz-core/misc.sp
index ae44a1d..6c322e9 100644
--- a/source/sourcemod/scripting/gokz-core/misc.sp
+++ b/source/sourcemod/scripting/gokz-core/misc.sp
@@ -208,7 +208,10 @@ void OnPlayerRunCmd_Turnbinds(int client, int buttons, int tickcount, float angl
void OnPlayerSpawn_PlayerCollision(int client)
{
// Let players go through other players
- // SetEntProp(client, Prop_Send, "m_CollisionGroup", GOKZ_COLLISION_GROUP_STANDARD);
+
+ int warmup = GameRules_GetProp( "m_bWarmupPeriod" );
+ if( warmup )
+ SetEntProp(client, Prop_Send, "m_CollisionGroup", GOKZ_COLLISION_GROUP_STANDARD);
}
void OnSetModel_PlayerCollision(int client)
@@ -348,13 +351,13 @@ void JoinTeam(int client, int newTeam, bool restorePos, bool forceBroadcast = fa
player.StopTimer();
// Just joining a team alone can put you into weird invalid spawns.
// Need to teleport the player to a valid one.
- float spawnOrigin[3];
- float spawnAngles[3];
- if (newTeam == CS_TEAM_CT)
- GetValidSpawnCT(spawnOrigin, spawnAngles);
- else
- GetValidSpawnT(spawnOrigin, spawnAngles);
- TeleportPlayer(client, spawnOrigin, spawnAngles);
+ // float spawnOrigin[3];
+ // float spawnAngles[3];
+ // if (newTeam == CS_TEAM_CT)
+ // GetValidSpawnCT(spawnOrigin, spawnAngles);
+ // else
+ // GetValidSpawnT(spawnOrigin, spawnAngles);
+ // TeleportPlayer(client, spawnOrigin, spawnAngles);
}
hasSavedPosition[client] = false;
Call_GOKZ_OnJoinTeam(client, newTeam);
diff --git a/source/sourcemod/scripting/gokz-core/teleports.sp b/source/sourcemod/scripting/gokz-core/teleports.sp
index 764fc6e..499a198 100644
--- a/source/sourcemod/scripting/gokz-core/teleports.sp
+++ b/source/sourcemod/scripting/gokz-core/teleports.sp
@@ -258,6 +258,15 @@ void TeleportToCheckpoint(int client)
bool CanTeleportToCheckpoint(int client, bool showError = false)
{
+ int warmup = GameRules_GetProp( "m_bWarmupPeriod" );
+ if( !warmup ) {
+ if( showError ) {
+ GOKZ_PrintToChat(client, true, "%s", "Teleporting is only allowed during warmup");
+ GOKZ_PlayErrorSound(client);
+ }
+ return false;
+ }
+
// Safeguard Check
if (GOKZ_GetCoreOption(client, Option_Safeguard) == Safeguard_EnabledPRO && GOKZ_GetTimerRunning(client) && GOKZ_GetValidTimer(client) && GOKZ_GetTeleportCount(client) == 0)
{
@@ -399,6 +408,13 @@ bool CanNextCheckpoint(int client, bool showError = false)
bool CanTeleportToStart(int client, bool showError = false)
{
+ int warmup = GameRules_GetProp( "m_bWarmupPeriod" );
+ if( !warmup ) {
+ GOKZ_PrintToChat(client, true, "%s", "Teleporting is only allowed during warmup");
+ GOKZ_PlayErrorSound(client);
+ return false;
+ }
+
// Safeguard Check
if (GOKZ_GetCoreOption(client, Option_Safeguard) > Safeguard_Disabled && GOKZ_GetTimerRunning(client) && GOKZ_GetValidTimer(client))
{