From 534d1a55cae858950ad7e6b5fadb83a3dba9345c Mon Sep 17 00:00:00 2001 From: neon <> Date: Sat, 15 Jun 2019 23:39:54 +0200 Subject: [PATCH] syntax fixes and cleanup --- NoAdminTools/include/AFKManager.inc | 24 ------ NoAdminTools/scripting/NoAdminTools.sp | 102 +++++++++---------------- 2 files changed, 37 insertions(+), 89 deletions(-) delete mode 100644 NoAdminTools/include/AFKManager.inc diff --git a/NoAdminTools/include/AFKManager.inc b/NoAdminTools/include/AFKManager.inc deleted file mode 100644 index b2414a57..00000000 --- a/NoAdminTools/include/AFKManager.inc +++ /dev/null @@ -1,24 +0,0 @@ -#if defined _AFKManager_Included - #endinput -#endif -#define _AFKManager_Included - -native int GetClientIdleTime(int client); - -public SharedPlugin __pl_AFKManager = -{ - name = "AFKManager", - file = "AFKManager.smx", -#if defined REQUIRE_PLUGIN - required = 1, -#else - required = 0, -#endif -}; - -#if !defined REQUIRE_PLUGIN -public __pl_AFKManager_SetNTVOptional() -{ - MarkNativeAsOptional("GetClientIdleTime"); -} -#endif diff --git a/NoAdminTools/scripting/NoAdminTools.sp b/NoAdminTools/scripting/NoAdminTools.sp index 411401d5..785d11c8 100644 --- a/NoAdminTools/scripting/NoAdminTools.sp +++ b/NoAdminTools/scripting/NoAdminTools.sp @@ -5,6 +5,8 @@ #include #include +#pragma newdecls required + int g_iAdminAFKTime; int g_iSelfMaxExtendsAmount; int g_iSelfExtendsTime; @@ -28,9 +30,6 @@ public Plugin myinfo = public void OnPluginStart() { - g_iSelfExtends = 0; - g_bSelfExtendsAllowed = false; - RegAdminCmd("sm_checkadmins", Command_DisplayActiveAdmins, ADMFLAG_GENERIC, "Check if there are any active Admins online or not."); RegConsoleCmd("sm_selfextend", Command_SelfExtend, "Is available when all regular extends are depleted and there is no active admin online. Makes it possible for players to extend the map themselves"); @@ -49,7 +48,7 @@ public void OnPluginStart() g_cvarTimeLimit = FindConVar("mp_timelimit"); - AutoExecConfig(true, "plugin.NoAdminTools"); + AutoExecConfig(); } public void Cvar_AdminAFKTime(ConVar convar, const char[] oldValue, const char[] newValue) @@ -82,19 +81,14 @@ public bool ActiveAdminPresent() for(int i = 1; i <= MaxClients; i++) { if(IsValidClient(i) && CheckCommandAccess(i, "", ADMFLAG_GENERIC) && (GetClientIdleTime(i) < g_iAdminAFKTime)) - { return true; - } } - return false; } public void OnClientDisconnect(int client) { - if(g_bSelfExtends[client]) - g_bSelfExtends[client] = false; - + g_bSelfExtends[client] = false; CheckRatio(); } @@ -111,10 +105,7 @@ public void OnMapStart() CreateTimer(g_fSelfExtendsDelay, Timer_DelaySelfExtend, _, TIMER_FLAG_NO_MAPCHANGE); for(int i; i <= MaxClients; i++) - { - if(g_bSelfExtends[i]) - g_bSelfExtends[i] = false; - } + g_bSelfExtends[i] = false; } public void OnMapEnd() @@ -130,98 +121,79 @@ public Action Timer_DelaySelfExtend(Handle timer) public Action Command_DisplayActiveAdmins(int client, int args) { if(ActiveAdminPresent()) - { ReplyToCommand(client, "[SM] There are active Admins online."); - } else - { ReplyToCommand(client, "[SM] There are no active Admins online."); - } return Plugin_Handled; } public Action Command_SelfExtend(int client, int args) { + if(GetExtendsLeft() > 0) + { + ReplyToCommand(client, "[SM] Not available because not all regular extends have been depleted."); + return Plugin_Handled; + } + if(ActiveAdminPresent()) + { + ReplyToCommand(client, "[SM] Not available because there is atleast one active Admin who can extend. Please ask the Admins."); + return Plugin_Handled; + } + if(!g_bSelfExtendsAllowed) + { + ReplyToCommand(client, "[SM] Not available because it's still too early in the map."); + return Plugin_Handled; + } if(g_iSelfMaxExtendsAmount <= g_iSelfExtends) { ReplyToCommand(client, "[SM] Not available because this map was already self-extended %d times.", g_iSelfMaxExtendsAmount); return Plugin_Handled; } - else if(GetExtendsLeft() > 0) - { - ReplyToCommand(client, "[SM] Not available because not all regular extends have been depleted."); - return Plugin_Handled; - } - else if(ActiveAdminPresent()) - { - ReplyToCommand(client, "[SM] Not available because there is atleast one active Admin who can extend. Please ask the Admins."); - return Plugin_Handled; - } - else if(!g_bSelfExtendsAllowed) - { - ReplyToCommand(client, "[SM] Not available because it's still too early in the map."); - return Plugin_Handled; - } - else - { - char sName[32]; - GetClientName(client, sName, sizeof(sName)); - - if(!g_bSelfExtends[client]) - { - g_bSelfExtends[client] = true; - PrintToChatAll("[SM] %s wants to self-extend the map.", sName); - } - else - { - ReplyToCommand(client, "[SM] You have already voted to self-extend the map."); - } + if(!g_bSelfExtends[client]) + { + g_bSelfExtends[client] = true; + PrintToChatAll("[SM] %N wants to self-extend the map.", client); CheckRatio(); } + else + ReplyToCommand(client, "[SM] You have already voted to self-extend the map."); return Plugin_Handled; } -public Action CheckRatio() +public void CheckRatio() { if(!g_bSelfExtendsAllowed) - return Plugin_Handled; + return; - float Players; - float SelfExtendsPlayers; - float PlayersNeeded; + int iPlayers; + int iSelfExtendsPlayers; + int iPlayersNeeded; for(int i = 1; i <= MaxClients; i++) { if(IsValidClient(i)) - { - Players++; - } + iPlayers++; if(g_bSelfExtends[i]) - { - SelfExtendsPlayers++; - } + iSelfExtendsPlayers++; } - PlayersNeeded = Players * g_fSelfExtendsRatio; + int iPlayersNeeded = RoundToFloor(float(iSelfExtendsPlayers) * g_fSelfExtendsRatio); - if(SelfExtendsPlayers >= PlayersNeeded) + if(iSelfExtendsPlayers >= iPlayersNeeded) { PrintToChatAll("[SM] Enough Players voted to self-extend the map. Adding %d minutes to the timelimit.", g_iSelfExtendsTime); g_iSelfExtends++; g_cvarTimeLimit.IntValue += g_iSelfExtendsTime; for(int j; j <= MaxClients; j++) - { - if(g_bSelfExtends[j]) - g_bSelfExtends[j] = false; - } + g_bSelfExtends[j] = false; } - return Plugin_Handled; + return; } static stock bool IsValidClient(int client)