diff --git a/_CleanupRequired/Meteors/scripting/Meteors.sp b/Meteors/scripting/Meteors.sp similarity index 100% rename from _CleanupRequired/Meteors/scripting/Meteors.sp rename to Meteors/scripting/Meteors.sp diff --git a/_CleanupRequired/PlaytimeReward/scripting/PlaytimeReward.sp b/PlaytimeReward/scripting/PlaytimeReward.sp similarity index 100% rename from _CleanupRequired/PlaytimeReward/scripting/PlaytimeReward.sp rename to PlaytimeReward/scripting/PlaytimeReward.sp diff --git a/_CleanupRequired/ReservedSlot/scripting/ReservedSlot.sp b/ReservedSlot/scripting/ReservedSlot.sp similarity index 100% rename from _CleanupRequired/ReservedSlot/scripting/ReservedSlot.sp rename to ReservedSlot/scripting/ReservedSlot.sp diff --git a/_CleanupRequired/RewardEventWinners/scripting/RewardEventWinners.sp b/RewardEventWinners/scripting/RewardEventWinners.sp similarity index 100% rename from _CleanupRequired/RewardEventWinners/scripting/RewardEventWinners.sp rename to RewardEventWinners/scripting/RewardEventWinners.sp diff --git a/_CleanupRequired/StatGroups/scripting/StatGroups.sp b/StatGroups/scripting/StatGroups.sp similarity index 100% rename from _CleanupRequired/StatGroups/scripting/StatGroups.sp rename to StatGroups/scripting/StatGroups.sp diff --git a/_CSGO/StopSound/scripting/StopSound.sp b/StopSound/scripting/StopSound.sp similarity index 100% rename from _CSGO/StopSound/scripting/StopSound.sp rename to StopSound/scripting/StopSound.sp diff --git a/_CSGO/StopSound/translations/plugin.stopsound.phrases.txt b/StopSound/translations/plugin.stopsound.phrases.txt similarity index 100% rename from _CSGO/StopSound/translations/plugin.stopsound.phrases.txt rename to StopSound/translations/plugin.stopsound.phrases.txt diff --git a/_CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown.vmt b/TopDefenders/content/materials/models/unloze/crown/crown.vmt similarity index 100% rename from _CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown.vmt rename to TopDefenders/content/materials/models/unloze/crown/crown.vmt diff --git a/_CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown.vtf b/TopDefenders/content/materials/models/unloze/crown/crown.vtf similarity index 100% rename from _CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown.vtf rename to TopDefenders/content/materials/models/unloze/crown/crown.vtf diff --git a/_CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_bump.vtf b/TopDefenders/content/materials/models/unloze/crown/crown_bump.vtf similarity index 100% rename from _CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_bump.vtf rename to TopDefenders/content/materials/models/unloze/crown/crown_bump.vtf diff --git a/_CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_detail.vtf b/TopDefenders/content/materials/models/unloze/crown/crown_detail.vtf similarity index 100% rename from _CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_detail.vtf rename to TopDefenders/content/materials/models/unloze/crown/crown_detail.vtf diff --git a/_CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_lightwarp.vtf b/TopDefenders/content/materials/models/unloze/crown/crown_lightwarp.vtf similarity index 100% rename from _CleanupRequired/TopDefenders/content/materials/models/unloze/crown/crown_lightwarp.vtf rename to TopDefenders/content/materials/models/unloze/crown/crown_lightwarp.vtf diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.dx80.vtx b/TopDefenders/content/models/unloze/crown_v2.dx80.vtx similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.dx80.vtx rename to TopDefenders/content/models/unloze/crown_v2.dx80.vtx diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.dx90.vtx b/TopDefenders/content/models/unloze/crown_v2.dx90.vtx similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.dx90.vtx rename to TopDefenders/content/models/unloze/crown_v2.dx90.vtx diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.mdl b/TopDefenders/content/models/unloze/crown_v2.mdl similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.mdl rename to TopDefenders/content/models/unloze/crown_v2.mdl diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.phy b/TopDefenders/content/models/unloze/crown_v2.phy similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.phy rename to TopDefenders/content/models/unloze/crown_v2.phy diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.sw.vtx b/TopDefenders/content/models/unloze/crown_v2.sw.vtx similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.sw.vtx rename to TopDefenders/content/models/unloze/crown_v2.sw.vtx diff --git a/_CleanupRequired/TopDefenders/content/models/unloze/crown_v2.vvd b/TopDefenders/content/models/unloze/crown_v2.vvd similarity index 100% rename from _CleanupRequired/TopDefenders/content/models/unloze/crown_v2.vvd rename to TopDefenders/content/models/unloze/crown_v2.vvd diff --git a/_CleanupRequired/TopDefenders/content/sound/unloze/holy.wav b/TopDefenders/content/sound/unloze/holy.wav similarity index 100% rename from _CleanupRequired/TopDefenders/content/sound/unloze/holy.wav rename to TopDefenders/content/sound/unloze/holy.wav diff --git a/_CleanupRequired/TopDefenders/scripting/TopDefenders.sp b/TopDefenders/scripting/TopDefenders.sp similarity index 100% rename from _CleanupRequired/TopDefenders/scripting/TopDefenders.sp rename to TopDefenders/scripting/TopDefenders.sp diff --git a/_CleanupRequired/TopDefenders/scripting/include/TopDefenders.inc b/TopDefenders/scripting/include/TopDefenders.inc similarity index 100% rename from _CleanupRequired/TopDefenders/scripting/include/TopDefenders.inc rename to TopDefenders/scripting/include/TopDefenders.inc diff --git a/_CleanupRequired/TopDefenders/translations/plugin.topdefenders.phrases.txt b/TopDefenders/translations/plugin.topdefenders.phrases.txt similarity index 100% rename from _CleanupRequired/TopDefenders/translations/plugin.topdefenders.phrases.txt rename to TopDefenders/translations/plugin.topdefenders.phrases.txt diff --git a/_CleanupRequired/TriggerRewards/scripting/TriggerRewards.sp b/TriggerRewards/scripting/TriggerRewards.sp similarity index 100% rename from _CleanupRequired/TriggerRewards/scripting/TriggerRewards.sp rename to TriggerRewards/scripting/TriggerRewards.sp diff --git a/_CleanupRequired/unloze_BanDetector/scripting/unloze_BanDetector.sp b/UNLOZE_BanDetector/scripting/UNLOZE_BanDetector.sp similarity index 100% rename from _CleanupRequired/unloze_BanDetector/scripting/unloze_BanDetector.sp rename to UNLOZE_BanDetector/scripting/UNLOZE_BanDetector.sp diff --git a/_CleanupRequired/Discord_Unloze/scripting/Discord_Unloze.sp b/UNLOZE_Discord/scripting/UNLOZE_Discord.sp similarity index 99% rename from _CleanupRequired/Discord_Unloze/scripting/Discord_Unloze.sp rename to UNLOZE_Discord/scripting/UNLOZE_Discord.sp index fd6dbd62..a2d4fb27 100644 --- a/_CleanupRequired/Discord_Unloze/scripting/Discord_Unloze.sp +++ b/UNLOZE_Discord/scripting/UNLOZE_Discord.sp @@ -48,7 +48,7 @@ int g_iLastReportID; public Plugin myinfo = { - name = "Discord core", + name = "Discord Core", author = "Obus and Neon", description = "Chat- & Rcon-Support", version = "1.2.0", diff --git a/_CleanupRequired/unloze_ForumIntegration/scripting/unloze_ForumIntegration.sp b/UNLOZE_ForumIntegration/scripting/UNLOZE_ForumIntegration.sp similarity index 100% rename from _CleanupRequired/unloze_ForumIntegration/scripting/unloze_ForumIntegration.sp rename to UNLOZE_ForumIntegration/scripting/UNLOZE_ForumIntegration.sp diff --git a/_CleanupRequired/WebShortcuts/configs/Webshortcuts.txt b/WebShortcuts/configs/Webshortcuts.txt similarity index 100% rename from _CleanupRequired/WebShortcuts/configs/Webshortcuts.txt rename to WebShortcuts/configs/Webshortcuts.txt diff --git a/_CleanupRequired/WebShortcuts/scripting/WebShortcuts.sp b/WebShortcuts/scripting/WebShortcuts.sp similarity index 100% rename from _CleanupRequired/WebShortcuts/scripting/WebShortcuts.sp rename to WebShortcuts/scripting/WebShortcuts.sp diff --git a/_CSGO/NoSteamDetection/scripting/NoSteamDetection.sp b/_CSGO/NoSteamDetection/scripting/NoSteamDetection.sp deleted file mode 100644 index a53686f8..00000000 --- a/_CSGO/NoSteamDetection/scripting/NoSteamDetection.sp +++ /dev/null @@ -1,192 +0,0 @@ -#include -#include - -#pragma semicolon 1 -#pragma newdecls required - -#include "SteamAPI.secret" - -/* BOOLEANS */ -bool g_bValid[MAXPLAYERS+1] = {false, ...}; -bool g_bValidated[MAXPLAYERS+1] = {false, ...}; - -/* FORWARDS */ -Handle g_hFwd_OnClientProfileValidated; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "NoSteamDetection", - author = "zaCade", - description = "Mark people as 'NoSteam' if their steam profiles are incorrect", - version = "1.0" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public APLRes AskPluginLoad2(Handle myself, bool late, char [] error, int err_max) -{ - CreateNative("IsClientProfileValid", Native_IsClientProfileValid); - CreateNative("IsClientProfileValidated", Native_IsClientProfileValidated); - - RegPluginLibrary("NoSteamDetection"); - return APLRes_Success; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - g_hFwd_OnClientProfileValidated = CreateGlobalForward("OnClientProfileValidated", ET_Ignore, Param_Cell, Param_Cell); - - for(int client = 1; client <= MaxClients; client++) - { - if(IsValidClient(client) && IsClientAuthorized(client)) - OnClientAuthorized(client, ""); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientAuthorized(int client, const char[] auth) -{ - char sSteam64ID[32]; - GetClientAuthId(client, AuthId_SteamID64, sSteam64ID, sizeof(sSteam64ID)); - - char sRequest[256]; - Format(sRequest, sizeof(sRequest), "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%s&format=vdf", STEAM_API_KEY, sSteam64ID); - - Handle hRequest = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, sRequest); - if (!hRequest || - !SteamWorks_SetHTTPCallbacks(hRequest, OnClientAuthorized_OnTransferComplete) || - !SteamWorks_SetHTTPRequestContextValue(hRequest, GetClientSerial(client)) || - !SteamWorks_SendHTTPRequest(hRequest)) - { - delete hRequest; - } -} - - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public int OnClientAuthorized_OnTransferComplete(Handle hRequest, bool bFailure, bool bSuccessful, EHTTPStatusCode eStatusCode, int serial) -{ - if (bFailure || !bSuccessful || eStatusCode != k_EHTTPStatusCode200OK) - { - delete hRequest; - return; - } - - SteamWorks_GetHTTPResponseBodyCallback(hRequest, OnClientAuthorized_OnTransferResponse, serial); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public int OnClientAuthorized_OnTransferResponse(char[] sData, int serial) -{ - int client; - if ((client = GetClientFromSerial(serial)) == 0) - return; - - KeyValues Response = new KeyValues("SteamAPIResponse"); - - if(!Response.ImportFromString(sData, "SteamAPIResponse")) - { - OnClientAuthorized_FinishCall(client, false); - delete Response; - return; - } - - if(!Response.JumpToKey("players")) - { - OnClientAuthorized_FinishCall(client, false); - delete Response; - return; - } - - if(!Response.GotoFirstSubKey()) - { - OnClientAuthorized_FinishCall(client, false); - delete Response; - return; - } - - if ((Response.GetNum("profilestate")) == 0) - { - OnClientAuthorized_FinishCall(client, false); - delete Response; - return; - } - - OnClientAuthorized_FinishCall(client, true); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientAuthorized_FinishCall(int client, bool valid) -{ - g_bValid[client] = valid; - g_bValidated[client] = true; - - Call_StartForward(g_hFwd_OnClientProfileValidated); - Call_PushCell(client); - Call_PushCell(valid); - Call_Finish(); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientDisconnect(int client) -{ - g_bValid[client] = false; - g_bValidated[client] = false; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public int Native_IsClientProfileValid(Handle hPlugin, int numParams) -{ - int client = GetNativeCell(1); - - if (!IsValidClient(client)) - return false; - - return g_bValid[client]; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public int Native_IsClientProfileValidated(Handle hPlugin, int numParams) -{ - int client = GetNativeCell(1); - - if (!IsValidClient(client)) - return false; - - return g_bValidated[client]; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public bool IsValidClient(int client) -{ - if (client < 0) - return false; - - if (client > GetMaxClients()) - return false; - - return true; -} \ No newline at end of file diff --git a/_CSGO/NoSteamDetection/scripting/include/NoSteamDetection.inc b/_CSGO/NoSteamDetection/scripting/include/NoSteamDetection.inc deleted file mode 100644 index fa10ac8b..00000000 --- a/_CSGO/NoSteamDetection/scripting/include/NoSteamDetection.inc +++ /dev/null @@ -1,11 +0,0 @@ -#if defined NoSteamDetection_included - #endinput -#endif - -#define NoSteamDetection_included - -native bool IsClientProfileValid(int client); - -native bool IsClientProfileValidated(int client); - -forward void OnClientProfileValidated(int client, bool valid); \ No newline at end of file diff --git a/_CSGO/NoSteamManager/scripting/NoSteamManager.sp b/_CSGO/NoSteamManager/scripting/NoSteamManager.sp deleted file mode 100644 index e3f6391e..00000000 --- a/_CSGO/NoSteamManager/scripting/NoSteamManager.sp +++ /dev/null @@ -1,154 +0,0 @@ -#pragma semicolon 1 - -#include -#include -#include - -#pragma newdecls required - -/* CONVARS */ -ConVar g_hCvar_BlockAdmin; -ConVar g_hCvar_BlockVoice; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "NoSteamManager", - author = "zaCade", - description = "Manage No-Steam clients, denying admin access, ect.", - version = "1.0.0" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - g_hCvar_BlockAdmin = CreateConVar("sm_nosteam_block_admin", "1", "Should people marked as nosteam be blocked from admin?", FCVAR_NONE, true, 0.0, true, 1.0); - g_hCvar_BlockVoice = CreateConVar("sm_nosteam_block_voice", "1", "Should people marked as nosteam be blocked from voice?", FCVAR_NONE, true, 0.0, true, 1.0); - - AddMultiTargetFilter("@steam", Filter_Steam, "Steam Players", false); - AddMultiTargetFilter("@nosteam", Filter_NoSteam, "No-Steam Players", false); - - RegConsoleCmd("sm_nosteam", Command_DisplaySteamStats, "Shows the number of Steam and No-Steam players"); - RegConsoleCmd("sm_steam", Command_DisplaySteamStats, "Shows the number of Steam and No-Steam players"); - - AutoExecConfig(); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginEnd() -{ - RemoveMultiTargetFilter("@steam", Filter_Steam); - RemoveMultiTargetFilter("@nosteam", Filter_NoSteam); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_DisplaySteamStats(int client, int args) -{ - char aBuf[1024]; - char aBuf2[MAX_NAME_LENGTH]; - - for(int i = 1; i <= MaxClients; i++) - { - if(IsClientInGame(i) && !IsFakeClient(i)) - { - if(IsClientProfileValidated(i) && !IsClientProfileValid(i)) - { - GetClientName(i, aBuf2, sizeof(aBuf2)); - StrCat(aBuf, sizeof(aBuf), aBuf2); - StrCat(aBuf, sizeof(aBuf), ", "); - } - } - } - - if(strlen(aBuf)) - { - aBuf[strlen(aBuf) - 2] = 0; - ReplyToCommand(client, "[SM] No-Steam clients online: %s", aBuf); - } - else - ReplyToCommand(client, "[SM] No-Steam clients online: none"); - - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public bool Filter_Steam(const char[] sPattern, Handle hClients) -{ - for(int i = 1; i <= MaxClients; i++) - { - if(IsClientInGame(i) && !IsFakeClient(i)) - { - if(IsClientProfileValidated(i) && IsClientProfileValid(i)) - PushArrayCell(hClients, i); - } - } - return true; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public bool Filter_NoSteam(const char[] sPattern, Handle hClients) -{ - for(int i = 1; i <= MaxClients; i++) - { - if(IsClientInGame(i) && !IsFakeClient(i)) - { - if(IsClientProfileValidated(i) && !IsClientProfileValid(i)) - PushArrayCell(hClients, i); - } - } - return true; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action OnClientPreAdminCheck(int client) -{ - if(!g_hCvar_BlockAdmin.BoolValue) - return Plugin_Continue; - - if(IsFakeClient(client) || IsClientSourceTV(client)) - return Plugin_Continue; - - if(IsClientProfileValidated(client) && !IsClientProfileValid(client)) - { - LogMessage("%L did not have a valid profile, denying admin.", client); - NotifyPostAdminCheck(client); - - return Plugin_Handled; - } - - return Plugin_Continue; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientPostAdminCheck(int client) -{ - if(!g_hCvar_BlockVoice.BoolValue) - return; - - if(IsFakeClient(client) || IsClientSourceTV(client)) - return; - - if(IsClientProfileValidated(client) && !IsClientProfileValid(client)) - { - LogMessage("%L did not have a valid profile, muting client.", client); - BaseComm_SetClientMute(client, true); - - return; - } -} \ No newline at end of file diff --git a/_CSGO/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp b/_CSGO/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp deleted file mode 100644 index a223c851..00000000 --- a/_CSGO/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp +++ /dev/null @@ -1,127 +0,0 @@ -#include -#include -#include - -#pragma semicolon 1 -#pragma newdecls required - -bool g_bHasFakeClient[MAXPLAYERS + 1] = {false,...}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "NoSteamPlayerCount", - author = "Neon", - description = "", - version = "1.0", - url = "https://steamcommunity.com/id/n3ontm" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnGameFrame() -{ - SteamWorks_SetMaxPlayers(65); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - RegAdminCmd("sm_addfake", Command_AddFake, ADMFLAG_ROOT, ""); - RegAdminCmd("sm_removefake", Command_RemoveFake, ADMFLAG_ROOT, ""); - RegAdminCmd("sm_countfakes", Command_CountFakes, ADMFLAG_BAN, ""); - - for(int client = 1; client <= MaxClients; client++) - { - if(IsValidClient(client) && IsClientProfileValidated(client)) - OnClientProfileValidated(client, false); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginEnd() -{ - for(int client = 1; client <= MaxClients; client++) - { - if(IsValidClient(client)) - OnClientDisconnect(client); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_AddFake(int client, int argc) -{ - SteamWorks_CreateFake("Kaitou Sinbad"); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_RemoveFake(int client, int argc) -{ - SteamWorks_KickFake(); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_CountFakes(int client, int argc) -{ - int iFakes = SteamWorks_CountFakes(); - ReplyToCommand(client, "There are currently %d Fake Clients active.", iFakes); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientProfileValidated(int client, bool valid) -{ - char sName[128]; - GetClientName(client, sName, sizeof(sName)); - - if(!IsClientProfileValid(client)) - { - int iFakeID = SteamWorks_CreateFake(sName); - g_bHasFakeClient[client] = true; - LogMessage("\"%L\" connected as NoSteam. Fake Client with ID: \"%d\" got created.", client, iFakeID); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientDisconnect(int client) -{ - if (!g_bHasFakeClient[client]) - return; - - SteamWorks_KickFake(); - g_bHasFakeClient[client] = false; - LogMessage("\"%L\" left as NoSteam. Fake Client got removed.", client); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public bool IsValidClient(int client) -{ - if (client <= 0) - return false; - - if (client > GetMaxClients()) - return false; - - return true; -} \ No newline at end of file diff --git a/_CSGO/SelfMute/scripting/SelfMute.sp b/_CSGO/SelfMute/scripting/SelfMute.sp deleted file mode 100644 index d7d0de20..00000000 --- a/_CSGO/SelfMute/scripting/SelfMute.sp +++ /dev/null @@ -1,1116 +0,0 @@ -#pragma semicolon 1 - -#include -#include -#include -#include - -#undef REQUIRE_PLUGIN -#include -#include -#tryinclude -#include -#include -#define REQUIRE_PLUGIN - -#pragma newdecls required - -bool g_Plugin_ccc = false; -bool g_Plugin_zombiereloaded = false; -bool g_Plugin_voiceannounce_ex = false; -bool g_Plugin_AdvancedTargeting = false; -bool g_Plugin_NoSteamDetection = false; -bool g_bIsProtoBuf = false; - -#define PLUGIN_VERSION "2.2" - -public Plugin myinfo = -{ - name = "SelfMute", - author = "BotoX", - description = "Ignore other players in text and voicechat.", - version = PLUGIN_VERSION, - url = "" -}; - -enum -{ - MUTE_NONE = 0, - MUTE_SPEC = 1, - MUTE_CT = 2, - MUTE_T = 4, - MUTE_DEAD = 8, - MUTE_ALIVE = 16, - MUTE_NOTFRIENDS = 32, - MUTE_NOSTEAM = 64, - MUTE_ALL = 128, - MUTE_LAST = 128 -}; - -bool g_Ignored[(MAXPLAYERS + 1) * (MAXPLAYERS + 1)]; -bool g_Exempt[MAXPLAYERS + 1][MAXPLAYERS + 1]; -int g_SpecialMutes[MAXPLAYERS + 1]; - -char g_PlayerNames[MAXPLAYERS+1][MAX_NAME_LENGTH]; - -public void OnPluginStart() -{ - LoadTranslations("common.phrases"); - - CreateConVar("sm_selfmute_version", PLUGIN_VERSION, "Version of Self-Mute", FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY); - - RegConsoleCmd("sm_sm", Command_SelfMute, "Mute player by typing !sm [playername]"); - RegConsoleCmd("sm_su", Command_SelfUnMute, "Unmute player by typing !su [playername]"); - RegConsoleCmd("sm_cm", Command_CheckMutes, "Check who you have self-muted"); - - HookEvent("round_start", Event_Round); - HookEvent("round_end", Event_Round); - HookEvent("player_team", Event_TeamChange); - - if(GetFeatureStatus(FeatureType_Native, "GetUserMessageType") == FeatureStatus_Available && GetUserMessageType() == UM_Protobuf) - g_bIsProtoBuf = true; - - UserMsg RadioText = GetUserMessageId("RadioText"); - if(RadioText == INVALID_MESSAGE_ID) - SetFailState("This game doesn't support RadioText user messages."); - - HookUserMessage(RadioText, Hook_UserMessageRadioText, true); - - UserMsg SendAudio = GetUserMessageId("SendAudio"); - if(SendAudio == INVALID_MESSAGE_ID) - SetFailState("This game doesn't support SendAudio user messages."); - - HookUserMessage(SendAudio, Hook_UserMessageSendAudio, true); -} - -public void OnAllPluginsLoaded() -{ - g_Plugin_ccc = LibraryExists("ccc"); - g_Plugin_zombiereloaded = LibraryExists("zombiereloaded"); - g_Plugin_voiceannounce_ex = LibraryExists("voiceannounce_ex"); - g_Plugin_AdvancedTargeting = LibraryExists("AdvancedTargeting"); - g_Plugin_NoSteamDetection = LibraryExists("NoSteamDetection"); - LogMessage("SelfMute capabilities:\nProtoBuf: %s\nCCC: %s\nZombieReloaded: %s\nVoiceAnnounce: %s\nAdvancedTargeting: %s\nNoSteamDetection: %s", - (g_bIsProtoBuf ? "yes" : "no"), - (g_Plugin_ccc ? "loaded" : "not loaded"), - (g_Plugin_zombiereloaded ? "loaded" : "not loaded"), - (g_Plugin_voiceannounce_ex ? "loaded" : "not loaded"), - (g_Plugin_AdvancedTargeting ? "loaded" : "not loaded"), - (g_Plugin_NoSteamDetection ? "loaded" : "not loaded")); -} - -public void OnClientPutInServer(int client) -{ - g_SpecialMutes[client] = MUTE_NONE; - for(int i = 1; i < MAXPLAYERS; i++) - { - SetIgnored(client, i, false); - SetExempt(client, i, false); - - SetIgnored(i, client, false); - SetExempt(i, client, false); - } - - UpdateSpecialMutesOtherClients(client); - UpdateIgnored(); -} - -public void OnClientDisconnect(int client) -{ - g_SpecialMutes[client] = MUTE_NONE; - for(int i = 1; i < MAXPLAYERS; i++) - { - SetIgnored(client, i, false); - SetExempt(client, i, false); - - SetIgnored(i, client, false); - SetExempt(i, client, false); - - if(IsClientInGame(i) && !IsFakeClient(i) && i != client) - SetListenOverride(i, client, Listen_Yes); - } - - UpdateIgnored(); -} - -public void OnClientPostAdminCheck(int client) -{ - g_SpecialMutes[client] = GrabSpecialMutesThisClient(client); - - UpdateSpecialMutesThisClient(client); -} - -public void Event_Round(Handle event, const char[] name, bool dontBroadcast) -{ - for(int i = 1; i <= MaxClients; i++) - { - if(IsClientInGame(i) && !IsFakeClient(i)) - UpdateSpecialMutesThisClient(i); - } -} - -public void Event_TeamChange(Handle event, const char[] name, bool dontBroadcast) -{ - int client = GetClientOfUserId(GetEventInt(event, "userid")); - - UpdateSpecialMutesOtherClients(client); -} - -public void ZR_OnClientInfected(int client, int attacker, bool motherInfect, bool respawnOverride, bool respawn) -{ - UpdateSpecialMutesOtherClients(client); -} - -public void ZR_OnClientHumanPost(int client, bool respawn, bool protect) -{ - UpdateSpecialMutesOtherClients(client); -} - -public void OnClientProfileValidated(int client, bool valid) -{ - if (!IsClientInGame(client)) - return; - - UpdateSpecialMutesOtherClients(client); -} - -/* - * Mutes this client on other players -*/ -void UpdateSpecialMutesOtherClients(int client) -{ - bool Alive = IsPlayerAlive(client); - int Team = GetClientTeam(client); - - for(int i = 1; i <= MaxClients; i++) - { - if(i == client || !IsClientInGame(i) || IsFakeClient(i)) - continue; - - int Flags = MUTE_NONE; - - if(g_SpecialMutes[i] & MUTE_SPEC && Team == CS_TEAM_SPECTATOR) - Flags |= MUTE_SPEC; - - else if(g_SpecialMutes[i] & MUTE_CT && Alive && - ((g_Plugin_zombiereloaded && ZR_IsClientHuman(client)) || (!g_Plugin_zombiereloaded && Team == CS_TEAM_CT))) - Flags |= MUTE_CT; - - else if(g_SpecialMutes[i] & MUTE_T && Alive && - ((g_Plugin_zombiereloaded && ZR_IsClientZombie(client)) || (!g_Plugin_zombiereloaded && Team == CS_TEAM_T))) - Flags |= MUTE_T; - - else if(g_SpecialMutes[i] & MUTE_DEAD && !Alive) - Flags |= MUTE_DEAD; - - else if(g_SpecialMutes[i] & MUTE_ALIVE && Alive) - Flags |= MUTE_ALIVE; - - else if(g_SpecialMutes[i] & MUTE_NOTFRIENDS && - g_Plugin_AdvancedTargeting && IsClientFriend(i, client) == 0) - Flags |= MUTE_NOTFRIENDS; - - else if (g_SpecialMutes[i] & MUTE_NOSTEAM && - g_Plugin_NoSteamDetection && IsClientProfileValidated(client) && !IsClientProfileValid(client)) - Flags |= MUTE_NOSTEAM; - - else if(g_SpecialMutes[i] & MUTE_ALL) - Flags |= MUTE_ALL; - - if(Flags && !GetExempt(i, client)) - SetListenOverride(i, client, Listen_No); - else if(!GetIgnored(i, client)) - SetListenOverride(i, client, Listen_Yes); - } -} - -/* - * Mutes other players on this client -*/ -void UpdateSpecialMutesThisClient(int client) -{ - for(int i = 1; i <= MaxClients; i++) - { - if(i == client || !IsClientInGame(i) || IsFakeClient(i)) - continue; - - bool Alive = IsPlayerAlive(i); - int Team = GetClientTeam(i); - - int Flags = MUTE_NONE; - - if(g_SpecialMutes[client] & MUTE_SPEC && Team == CS_TEAM_SPECTATOR) - Flags |= MUTE_SPEC; - - else if(g_SpecialMutes[client] & MUTE_CT && Alive && - ((g_Plugin_zombiereloaded && ZR_IsClientHuman(i) || (!g_Plugin_zombiereloaded) && Team == CS_TEAM_CT))) - Flags |= MUTE_CT; - - else if(g_SpecialMutes[client] & MUTE_T && Alive && - ((g_Plugin_zombiereloaded && ZR_IsClientZombie(i) || (!g_Plugin_zombiereloaded) && Team == CS_TEAM_T))) - Flags |= MUTE_T; - - else if(g_SpecialMutes[client] & MUTE_DEAD && !Alive) - Flags |= MUTE_DEAD; - - else if(g_SpecialMutes[client] & MUTE_ALIVE && Alive) - Flags |= MUTE_ALIVE; - - else if(g_SpecialMutes[client] & MUTE_NOTFRIENDS && - g_Plugin_AdvancedTargeting && IsClientFriend(client, i) == 0) - Flags |= MUTE_NOTFRIENDS; - - else if (g_SpecialMutes[client] & MUTE_NOSTEAM && - g_Plugin_NoSteamDetection && IsClientProfileValidated(i) && !IsClientProfileValid(i)) - Flags |= MUTE_NOSTEAM; - - else if(g_SpecialMutes[client] & MUTE_ALL) - Flags |= MUTE_ALL; - - if(Flags && !GetExempt(client, i)) - SetListenOverride(client, i, Listen_No); - else if(!GetIgnored(client, i)) - SetListenOverride(client, i, Listen_Yes); - } -} - -int GrabSpecialMutesThisClient(int client) -{ - if(IsClientProfileValidated(client) && !IsClientProfileValid(client)) - return MUTE_NONE; - - if(GetAdminFlag(GetUserAdmin(client), Admin_Ban)) - return MUTE_NONE; - - return MUTE_NOSTEAM; -} - -int GetSpecialMutesFlags(char[] Argument) -{ - int SpecialMute = MUTE_NONE; - if(StrEqual(Argument, "@spec", false) || StrEqual(Argument, "@!ct", false) || StrEqual(Argument, "@!t", false)) - SpecialMute |= MUTE_SPEC; - if(StrEqual(Argument, "@ct", false) || StrEqual(Argument, "@!t", false) || StrEqual(Argument, "@!spec", false)) - SpecialMute |= MUTE_CT; - if(StrEqual(Argument, "@t", false) || StrEqual(Argument, "@!ct", false) || StrEqual(Argument, "@!spec", false)) - SpecialMute |= MUTE_T; - if(StrEqual(Argument, "@dead", false) || StrEqual(Argument, "@!alive", false)) - SpecialMute |= MUTE_DEAD; - if(StrEqual(Argument, "@alive", false) || StrEqual(Argument, "@!dead", false)) - SpecialMute |= MUTE_ALIVE; - if(g_Plugin_AdvancedTargeting && StrEqual(Argument, "@!friends", false)) - SpecialMute |= MUTE_NOTFRIENDS; - if(g_Plugin_NoSteamDetection && StrEqual(Argument, "@nosteam", false)) - SpecialMute |= MUTE_NOSTEAM; - if(StrEqual(Argument, "@all", false)) - SpecialMute |= MUTE_ALL; - - return SpecialMute; -} - -void FormatSpecialMutes(int SpecialMute, char[] aBuf, int BufLen) -{ - if(!SpecialMute) - { - StrCat(aBuf, BufLen, "none"); - return; - } - - bool Status = false; - int MuteCount = RoundFloat(Logarithm(float(MUTE_LAST), 2.0)); - for(int i = 0; i <= MuteCount; i++) - { - switch(SpecialMute & RoundFloat(Pow(2.0, float(i)))) - { - case MUTE_SPEC: - { - StrCat(aBuf, BufLen, "Spectators, "); - Status = true; - } - case MUTE_CT: - { - StrCat(aBuf, BufLen, "CTs, "); - Status = true; - } - case MUTE_T: - { - StrCat(aBuf, BufLen, "Ts, "); - Status = true; - } - case MUTE_DEAD: - { - StrCat(aBuf, BufLen, "Dead players, "); - Status = true; - } - case MUTE_ALIVE: - { - StrCat(aBuf, BufLen, "Alive players, "); - Status = true; - } - case MUTE_NOTFRIENDS: - { - StrCat(aBuf, BufLen, "Not Steam friends, "); - Status = true; - } - case MUTE_NOSTEAM: - { - StrCat(aBuf, BufLen, "No Steam clients, "); - Status = true; - } - case MUTE_ALL: - { - StrCat(aBuf, BufLen, "Everyone, "); - Status = true; - } - } - } - - // Cut off last ', ' - if(Status) - aBuf[strlen(aBuf) - 2] = 0; -} - -bool MuteSpecial(int client, char[] Argument) -{ - bool RetValue = false; - int SpecialMute = GetSpecialMutesFlags(Argument); - - if(SpecialMute & MUTE_NOTFRIENDS && g_Plugin_AdvancedTargeting && ReadClientFriends(client) != 1) - { - PrintToChat(client, "\x04[Self-Mute]\x01 Could not read your friendslist, your profile must be set to public!"); - SpecialMute &= ~MUTE_NOTFRIENDS; - RetValue = true; - } - - if(SpecialMute) - { - if(SpecialMute & MUTE_ALL || g_SpecialMutes[client] & MUTE_ALL) - { - g_SpecialMutes[client] = MUTE_ALL; - SpecialMute = MUTE_ALL; - } - else - g_SpecialMutes[client] |= SpecialMute; - - UpdateSpecialMutesThisClient(client); - - char aBuf[128]; - FormatSpecialMutes(SpecialMute, aBuf, sizeof(aBuf)); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-muted group:\x04 %s", aBuf); - RetValue = true; - } - - return RetValue; -} - -bool UnMuteSpecial(int client, char[] Argument) -{ - int SpecialMute = GetSpecialMutesFlags(Argument); - - if(SpecialMute) - { - if(SpecialMute & MUTE_ALL) - { - if(g_SpecialMutes[client]) - { - SpecialMute = g_SpecialMutes[client]; - g_SpecialMutes[client] = GrabSpecialMutesThisClient(client); - } - else - { - for(int i = 1; i <= MaxClients; i++) - { - if(IsClientInGame(i) && !IsFakeClient(i)) - UnIgnore(client, i); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-unmuted:\x04 all players"); - return true; - } - } - } - else - g_SpecialMutes[client] &= ~SpecialMute; - - UpdateSpecialMutesThisClient(client); - - char aBuf[256]; - FormatSpecialMutes(SpecialMute, aBuf, sizeof(aBuf)); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-unmuted group:\x04 %s", aBuf); - return true; - } - - return false; -} - -void Ignore(int client, int target) -{ - SetIgnored(client, target, true); - SetListenOverride(client, target, Listen_No); -} - -void UnIgnore(int client, int target) -{ - SetIgnored(client, target, false); - SetListenOverride(client, target, Listen_Yes); -} - -void Exempt(int client, int target) -{ - SetExempt(client, target, true); - UpdateSpecialMutesThisClient(client); -} - -void UnExempt(int client, int target) -{ - SetExempt(client, target, false); - UpdateSpecialMutesThisClient(client); -} - -/* - * CHAT COMMANDS -*/ -public Action Command_SelfMute(int client, int args) -{ - if(client == 0) - { - PrintToServer("[SM] Cannot use command from server console."); - return Plugin_Handled; - } - - if(args < 1) - { - DisplayMuteMenu(client); - return Plugin_Handled; - } - - char Argument[65]; - GetCmdArg(1, Argument, sizeof(Argument)); - - char Filtered[65]; - strcopy(Filtered, sizeof(Filtered), Argument); - StripQuotes(Filtered); - TrimString(Filtered); - - if(MuteSpecial(client, Filtered)) - return Plugin_Handled; - - char sTargetName[MAX_TARGET_LENGTH]; - int aTargetList[MAXPLAYERS]; - int TargetCount; - bool TnIsMl; - - if((TargetCount = ProcessTargetString( - Argument, - client, - aTargetList, - MAXPLAYERS, - COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_IMMUNITY, - sTargetName, - sizeof(sTargetName), - TnIsMl)) <= 0) - { - ReplyToTargetError(client, TargetCount); - return Plugin_Handled; - } - - if(TargetCount == 1) - { - if(aTargetList[0] == client) - { - PrintToChat(client, "\x04[Self-Mute]\x01 You can't mute yourself, don't be silly."); - return Plugin_Handled; - } - - if(GetExempt(client, aTargetList[0])) - { - UnExempt(client, aTargetList[0]); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have removed exempt from self-mute:\x04 %s", sTargetName); - - return Plugin_Handled; - } - } - - for(int i = 0; i < TargetCount; i++) - { - if(aTargetList[i] == client) - continue; - - Ignore(client, aTargetList[i]); - } - UpdateIgnored(); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-muted:\x04 %s", sTargetName); - - return Plugin_Handled; -} - -public Action Command_SelfUnMute(int client, int args) -{ - if(client == 0) - { - PrintToServer("[SM] Cannot use command from server console."); - return Plugin_Handled; - } - - if(args < 1) - { - DisplayUnMuteMenu(client); - return Plugin_Handled; - } - - char Argument[65]; - GetCmdArg(1, Argument, sizeof(Argument)); - - char Filtered[65]; - strcopy(Filtered, sizeof(Filtered), Argument); - StripQuotes(Filtered); - TrimString(Filtered); - - if(UnMuteSpecial(client, Filtered)) - return Plugin_Handled; - - char sTargetName[MAX_TARGET_LENGTH]; - int aTargetList[MAXPLAYERS]; - int TargetCount; - bool TnIsMl; - - if((TargetCount = ProcessTargetString( - Argument, - client, - aTargetList, - MAXPLAYERS, - COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_IMMUNITY, - sTargetName, - sizeof(sTargetName), - TnIsMl)) <= 0) - { - ReplyToTargetError(client, TargetCount); - return Plugin_Handled; - } - - if(TargetCount == 1) - { - if(aTargetList[0] == client) - { - PrintToChat(client, "\x04[Self-Mute]\x01 Unmuting won't work either."); - return Plugin_Handled; - } - - if(!GetIgnored(client, aTargetList[0])) - { - Exempt(client, aTargetList[0]); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have exempted from self-mute:\x04 %s", sTargetName); - - return Plugin_Handled; - } - } - - for(int i = 0; i < TargetCount; i++) - { - if(aTargetList[i] == client) - continue; - - UnIgnore(client, aTargetList[i]); - } - UpdateIgnored(); - - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-unmuted:\x04 %s", sTargetName); - - return Plugin_Handled; -} - -public Action Command_CheckMutes(int client, int args) -{ - if(client == 0) - { - PrintToServer("[SM] Cannot use command from server console."); - return Plugin_Handled; - } - - char aMuted[1024]; - char aExempted[1024]; - char aName[MAX_NAME_LENGTH]; - for(int i = 1; i <= MaxClients; i++) - { - if(!IsClientInGame(i)) - continue; - - GetClientName(i, aName, sizeof(aName)); - - if(GetIgnored(client, i)) - { - StrCat(aMuted, sizeof(aMuted), aName); - StrCat(aMuted, sizeof(aMuted), ", "); - } - - if(GetExempt(client, i)) - { - StrCat(aExempted, sizeof(aExempted), aName); - StrCat(aExempted, sizeof(aExempted), ", "); - } - } - - if(strlen(aMuted)) - { - aMuted[strlen(aMuted) - 2] = 0; - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-muted:\x04 %s", aMuted); - } - - if(g_SpecialMutes[client] != MUTE_NONE) - { - aMuted[0] = 0; - FormatSpecialMutes(g_SpecialMutes[client], aMuted, sizeof(aMuted)); - PrintToChat(client, "\x04[Self-Mute]\x01 You have self-muted group:\x04 %s", aMuted); - } - else if(!strlen(aMuted) && !strlen(aExempted)) - PrintToChat(client, "\x04[Self-Mute]\x01 You have not self-muted anyone!"); - - if(strlen(aExempted)) - { - aExempted[strlen(aExempted) - 2] = 0; - PrintToChat(client, "\x04[Self-Mute]\x01 You have exempted from self-mute:\x04 %s", aExempted); - } - - return Plugin_Handled; -} - -/* - * MENU -*/ -void DisplayMuteMenu(int client) -{ - Menu menu = new Menu(MenuHandler_MuteMenu, MenuAction_Select|MenuAction_Cancel|MenuAction_End|MenuAction_DrawItem|MenuAction_DisplayItem); - menu.ExitButton = true; - - int[] aClients = new int[MaxClients + 1]; - - #if defined _voiceannounceex_included_ - if(g_Plugin_voiceannounce_ex) - { - // Count talking players and insert id's into aClients array - int CurrentlyTalking = 0; - for(int i = 1; i <= MaxClients; i++) - { - if(i != client && IsClientInGame(i) && !IsFakeClient(i) && IsClientSpeaking(i)) - aClients[CurrentlyTalking++] = i; - } - - if(CurrentlyTalking > 0) - { - // insert player names into g_PlayerNames array - for(int i = 0; i < CurrentlyTalking; i++) - GetClientName(aClients[i], g_PlayerNames[aClients[i]], sizeof(g_PlayerNames[])); - - // sort aClients array by player name - SortCustom1D(aClients, CurrentlyTalking, SortByPlayerName); - - // insert players sorted - char aBuf[12]; - for(int i = 0; i < CurrentlyTalking; i++) - { - IntToString(GetClientUserId(aClients[i]), aBuf, sizeof(aBuf)); - menu.AddItem(aBuf, g_PlayerNames[aClients[i]]); - } - - // insert spacers - int Entries = 7 - CurrentlyTalking % 7; - while(Entries--) - menu.AddItem("", "", ITEMDRAW_RAWLINE); - } - } - #endif - - menu.AddItem("@all", "Everyone"); - menu.AddItem("@spec", "Spectators"); - menu.AddItem("@ct", "Counter-Terrorists"); - menu.AddItem("@t", "Terrorists"); - menu.AddItem("@dead", "Dead players"); - menu.AddItem("@alive", "Alive players"); - if(g_Plugin_AdvancedTargeting) - menu.AddItem("@!friends", "Not Steam friend"); - else - menu.AddItem("", "", ITEMDRAW_RAWLINE); - if(g_Plugin_NoSteamDetection) - menu.AddItem("@nosteam", "No Steam clients"); - else - menu.AddItem("", "", ITEMDRAW_RAWLINE); - - // Count valid players and insert id's into aClients array - int Players = 0; - for(int i = 1; i <= MaxClients; i++) - { - if(i != client && IsClientInGame(i) && !IsFakeClient(i)) - aClients[Players++] = i; - } - - // insert player names into g_PlayerNames array - for(int i = 0; i < Players; i++) - GetClientName(aClients[i], g_PlayerNames[aClients[i]], sizeof(g_PlayerNames[])); - - // sort aClients array by player name - SortCustom1D(aClients, Players, SortByPlayerName); - - // insert players sorted - char aBuf[12]; - for(int i = 0; i < Players; i++) - { - IntToString(GetClientUserId(aClients[i]), aBuf, sizeof(aBuf)); - menu.AddItem(aBuf, g_PlayerNames[aClients[i]]); - } - - menu.Display(client, MENU_TIME_FOREVER); -} - -public int MenuHandler_MuteMenu(Menu menu, MenuAction action, int param1, int param2) -{ - switch(action) - { - case MenuAction_End: - { - if(param1 != MenuEnd_Selected) - CloseHandle(menu); - } - case MenuAction_Select: - { - int Style; - char aItem[32]; - char aDisp[MAX_NAME_LENGTH + 4]; - menu.GetItem(param2, aItem, sizeof(aItem), Style, aDisp, sizeof(aDisp)); - - if(Style != ITEMDRAW_DEFAULT || !aItem[0]) - { - PrintToChat(param1, "Internal error: aItem[0] -> %d | Style -> %d", aItem[0], Style); - return 0; - } - - if(aItem[0] == '@') - { - int Flag = GetSpecialMutesFlags(aItem); - if(Flag && g_SpecialMutes[param1] & Flag) - UnMuteSpecial(param1, aItem); - else - MuteSpecial(param1, aItem); - - menu.DisplayAt(param1, GetMenuSelectionPosition(), MENU_TIME_FOREVER); - return 0; - } - - int UserId = StringToInt(aItem); - int client = GetClientOfUserId(UserId); - if(!client) - { - PrintToChat(param1, "\x04[Self-Mute]\x01 Player no longer available."); - menu.DisplayAt(param1, GetMenuSelectionPosition(), MENU_TIME_FOREVER); - return 0; - } - - if(GetIgnored(param1, client)) - { - UnIgnore(param1, client); - PrintToChat(param1, "\x04[Self-Mute]\x01 You have self-unmuted:\x04 %N", client); - } - else if(GetExempt(param1, client)) - { - UnExempt(param1, client); - PrintToChat(param1, "\x04[Self-Mute]\x01 You have removed exempt from self-mute:\x04 %N", client); - } - else - { - Ignore(param1, client); - PrintToChat(param1, "\x04[Self-Mute]\x01 You have self-muted:\x04 %N", client); - } - menu.DisplayAt(param1, GetMenuSelectionPosition(), MENU_TIME_FOREVER); - return 0; - } - case MenuAction_DrawItem: - { - int Style; - char aItem[32]; - menu.GetItem(param2, aItem, sizeof(aItem), Style); - - if(!aItem[0]) - return ITEMDRAW_DISABLED; - - if(aItem[0] == '@') - { - int Flag = GetSpecialMutesFlags(aItem); - if(Flag & MUTE_ALL) - return Style; - else if(g_SpecialMutes[param1] & MUTE_ALL) - return ITEMDRAW_DISABLED; - - return Style; - } - - int UserId = StringToInt(aItem); - int client = GetClientOfUserId(UserId); - if(!client) // Player disconnected - return ITEMDRAW_DISABLED; - - return Style; - } - case MenuAction_DisplayItem: - { - int Style; - char aItem[32]; - char aDisp[MAX_NAME_LENGTH + 4]; - menu.GetItem(param2, aItem, sizeof(aItem), Style, aDisp, sizeof(aDisp)); - - // Start of current page - if((param2 + 1) % 7 == 1) - { - if(aItem[0] == '@') - menu.SetTitle("[Self-Mute] Groups"); - else if(param2 == 0) - menu.SetTitle("[Self-Mute] Talking players"); - else - menu.SetTitle("[Self-Mute] All players"); - } - - if(!aItem[0]) - return 0; - - if(aItem[0] == '@') - { - int Flag = GetSpecialMutesFlags(aItem); - if(Flag && g_SpecialMutes[param1] & Flag) - { - char aBuf[32] = "[M] "; - FormatSpecialMutes(Flag, aBuf, sizeof(aBuf)); - if(!StrEqual(aDisp, aBuf)) - return RedrawMenuItem(aBuf); - } - - return 0; - } - - int UserId = StringToInt(aItem); - int client = GetClientOfUserId(UserId); - if(!client) // Player disconnected - { - char aBuf[MAX_NAME_LENGTH + 4] = "[D] "; - StrCat(aBuf, sizeof(aBuf), aDisp); - if(!StrEqual(aDisp, aBuf)) - return RedrawMenuItem(aBuf); - } - - if(GetIgnored(param1, client)) - { - char aBuf[MAX_NAME_LENGTH + 4] = "[M] "; - GetClientName(client, g_PlayerNames[client], sizeof(g_PlayerNames[])); - StrCat(aBuf, sizeof(aBuf), g_PlayerNames[client]); - if(!StrEqual(aDisp, aBuf)) - return RedrawMenuItem(aBuf); - } - else if(GetExempt(param1, client)) - { - char aBuf[MAX_NAME_LENGTH + 4] = "[E] "; - GetClientName(client, g_PlayerNames[client], sizeof(g_PlayerNames[])); - StrCat(aBuf, sizeof(aBuf), g_PlayerNames[client]); - if(!StrEqual(aDisp, aBuf)) - return RedrawMenuItem(aBuf); - } - else - { - GetClientName(client, g_PlayerNames[client], sizeof(g_PlayerNames[])); - if(!StrEqual(aDisp, g_PlayerNames[client])) - return RedrawMenuItem(g_PlayerNames[client]); - } - - return 0; - } - } - - return 0; -} - -void DisplayUnMuteMenu(int client) -{ - // TODO: Implement me -} - -/* - * HOOKS -*/ -int g_MsgDest; -int g_MsgClient; -char g_MsgName[256]; -char g_MsgParam1[256]; -char g_MsgParam2[256]; -char g_MsgParam3[256]; -char g_MsgParam4[256]; -char g_MsgRadioSound[256]; -int g_MsgPlayersNum; -int g_MsgPlayers[MAXPLAYERS + 1]; - -public Action Hook_UserMessageRadioText(UserMsg msg_id, Handle bf, const int[] players, int playersNum, bool reliable, bool init) -{ - if(g_bIsProtoBuf) - { - g_MsgDest = PbReadInt(bf, "msg_dst"); - g_MsgClient = PbReadInt(bf, "client"); - PbReadString(bf, "msg_name", g_MsgName, sizeof(g_MsgName)); - PbReadString(bf, "params", g_MsgParam1, sizeof(g_MsgParam1), 0); - PbReadString(bf, "params", g_MsgParam2, sizeof(g_MsgParam2), 1); - PbReadString(bf, "params", g_MsgParam3, sizeof(g_MsgParam3), 2); - PbReadString(bf, "params", g_MsgParam4, sizeof(g_MsgParam4), 3); - } - else - { - g_MsgDest = BfReadByte(bf); - g_MsgClient = BfReadByte(bf); - BfReadString(bf, g_MsgName, sizeof(g_MsgName), false); - BfReadString(bf, g_MsgParam1, sizeof(g_MsgParam1), false); - BfReadString(bf, g_MsgParam2, sizeof(g_MsgParam2), false); - BfReadString(bf, g_MsgParam3, sizeof(g_MsgParam3), false); - BfReadString(bf, g_MsgParam4, sizeof(g_MsgParam4), false); - } - - // Check which clients need to be excluded. - g_MsgPlayersNum = 0; - for(int i = 0; i < playersNum; i++) - { - int client = players[i]; - if(!GetIgnored(client, g_MsgClient)) - g_MsgPlayers[g_MsgPlayersNum++] = client; - } - - // No clients were excluded. - if(g_MsgPlayersNum == playersNum) - { - g_MsgClient = -1; - return Plugin_Continue; - } - else if(g_MsgPlayersNum == 0) // All clients were excluded and there is no need to broadcast. - { - g_MsgClient = -2; - return Plugin_Handled; - } - - return Plugin_Handled; -} - -public Action Hook_UserMessageSendAudio(UserMsg msg_id, Handle bf, const int[] players, int playersNum, bool reliable, bool init) -{ - if(g_MsgClient == -1) - return Plugin_Continue; - else if(g_MsgClient == -2) - return Plugin_Handled; - - if(g_bIsProtoBuf) - PbReadString(bf, "radio_sound", g_MsgRadioSound, sizeof(g_MsgRadioSound)); - else - BfReadString(bf, g_MsgRadioSound, sizeof(g_MsgRadioSound), false); - - if(StrEqual(g_MsgRadioSound, "radio.locknload")) - return Plugin_Continue; - - DataPack pack = new DataPack(); - pack.WriteCell(g_MsgDest); - pack.WriteCell(g_MsgClient); - pack.WriteString(g_MsgName); - pack.WriteString(g_MsgParam1); - pack.WriteString(g_MsgParam2); - pack.WriteString(g_MsgParam3); - pack.WriteString(g_MsgParam4); - pack.WriteString(g_MsgRadioSound); - pack.WriteCell(g_MsgPlayersNum); - - for(int i = 0; i < g_MsgPlayersNum; i++) - pack.WriteCell(g_MsgPlayers[i]); - - RequestFrame(OnPlayerRadio, pack); - - return Plugin_Handled; -} - -public void OnPlayerRadio(DataPack pack) -{ - pack.Reset(); - g_MsgDest = pack.ReadCell(); - g_MsgClient = pack.ReadCell(); - pack.ReadString(g_MsgName, sizeof(g_MsgName)); - pack.ReadString(g_MsgParam1, sizeof(g_MsgParam1)); - pack.ReadString(g_MsgParam2, sizeof(g_MsgParam2)); - pack.ReadString(g_MsgParam3, sizeof(g_MsgParam3)); - pack.ReadString(g_MsgParam4, sizeof(g_MsgParam4)); - pack.ReadString(g_MsgRadioSound, sizeof(g_MsgRadioSound)); - g_MsgPlayersNum = pack.ReadCell(); - - int playersNum = 0; - for(int i = 0; i < g_MsgPlayersNum; i++) - { - int client_ = pack.ReadCell(); - if(IsClientInGame(client_)) - g_MsgPlayers[playersNum++] = client_; - } - CloseHandle(pack); - - Handle RadioText = StartMessage("RadioText", g_MsgPlayers, playersNum, USERMSG_RELIABLE); - if(g_bIsProtoBuf) - { - PbSetInt(RadioText, "msg_dst", g_MsgDest); - PbSetInt(RadioText, "client", g_MsgClient); - PbSetString(RadioText, "msg_name", g_MsgName); - PbSetString(RadioText, "params", g_MsgParam1, 0); - PbSetString(RadioText, "params", g_MsgParam2, 1); - PbSetString(RadioText, "params", g_MsgParam3, 2); - PbSetString(RadioText, "params", g_MsgParam4, 3); - } - else - { - BfWriteByte(RadioText, g_MsgDest); - BfWriteByte(RadioText, g_MsgClient); - BfWriteString(RadioText, g_MsgName); - BfWriteString(RadioText, g_MsgParam1); - BfWriteString(RadioText, g_MsgParam2); - BfWriteString(RadioText, g_MsgParam3); - BfWriteString(RadioText, g_MsgParam4); - } - EndMessage(); - - Handle SendAudio = StartMessage("SendAudio", g_MsgPlayers, playersNum, USERMSG_RELIABLE); - if(g_bIsProtoBuf) - PbSetString(SendAudio, "radio_sound", g_MsgRadioSound); - else - BfWriteString(SendAudio, g_MsgRadioSound); - EndMessage(); -} - -/* - * HELPERS -*/ -void UpdateIgnored() -{ - if(g_Plugin_ccc) - CCC_UpdateIgnoredArray(g_Ignored); -} - -public int SortByPlayerName(int elem1, int elem2, const int[] array, Handle hndl) -{ - return strcmp(g_PlayerNames[elem1], g_PlayerNames[elem2], false); -} - -bool GetIgnored(int client, int target) -{ - return g_Ignored[(client * (MAXPLAYERS + 1) + target)]; -} - -void SetIgnored(int client, int target, bool ignored) -{ - g_Ignored[(client * (MAXPLAYERS + 1) + target)] = ignored; -} - -bool GetExempt(int client, int target) -{ - return g_Exempt[client][target]; -} - -void SetExempt(int client, int target, bool exempt) -{ - g_Exempt[client][target] = exempt; -} diff --git a/_CleanupRequired/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp b/_CleanupRequired/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp deleted file mode 100644 index 456c7097..00000000 --- a/_CleanupRequired/NoSteamPlayerCount/scripting/NoSteamPlayerCount.sp +++ /dev/null @@ -1,158 +0,0 @@ -#include -#include -#include - -#pragma semicolon 1 -#pragma newdecls required - -bool g_bHasFakeClient[MAXPLAYERS + 1] = {false,...}; -int g_MaxPlayers = 64; - -ConVar g_hCVar_FakeClients; -ConVar g_hCVar_SourceTV; -ConVar g_hCVar_MaxPlayers; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "NoSteamPlayerCount", - author = "Neon", - description = "", - version = "1.0", - url = "https://steamcommunity.com/id/n3ontm" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnGameFrame() -{ - SteamWorks_SetMaxPlayers(g_MaxPlayers); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - g_hCVar_FakeClients = CreateConVar("sm_nosteamplayercount_fakeclients", "1", "Increse PlayerCount for Fake Clients", 0, true, 0.0, true, 1.0); - g_hCVar_SourceTV = CreateConVar("sm_nosteamplayercount_sourcetv", "1", "Increse PlayerCount for SourceTV", 0, true, 0.0, true, 1.0); - g_hCVar_MaxPlayers = CreateConVar("sm_nosteamplayercount_maxplayers", "64", "Max Players to display in the sv browser", 0, true, 1.0, true, 128.0); - - g_hCVar_MaxPlayers.AddChangeHook(OnConVarChanged); - - AutoExecConfig(true, "plugin.NoSteamPlayerCount"); - - RegAdminCmd("sm_addfake", Command_AddFake, ADMFLAG_ROOT, ""); - RegAdminCmd("sm_removefake", Command_RemoveFake, ADMFLAG_ROOT, ""); - RegAdminCmd("sm_countfakes", Command_CountFakes, ADMFLAG_BAN, ""); - - for(int client = 1; client <= MaxClients; client++) - { - if(IsValidClient(client) && IsClientAuthorized(client)) - OnClientAuthorized(client, ""); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginEnd() -{ - for(int client = 1; client <= MaxClients; client++) - { - if(IsValidClient(client)) - OnClientDisconnect(client); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnConVarChanged(ConVar convar, const char[] oldValue, const char[] newValue) -{ - if(convar == g_hCVar_MaxPlayers) - g_MaxPlayers = g_hCVar_MaxPlayers.IntValue; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_AddFake(int client, int argc) -{ - SteamWorks_CreateFake("Kaitou Sinbad"); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_RemoveFake(int client, int argc) -{ - SteamWorks_KickFake(); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_CountFakes(int client, int argc) -{ - int iFakes = SteamWorks_CountFakes(); - ReplyToCommand(client, "There are currently %d Fake Clients active.", iFakes); - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientAuthorized(int client, const char[] auth) -{ - if (IsClientSourceTV(client) && (!GetConVarBool(g_hCVar_SourceTV))) - return; - - if (IsFakeClient(client) && (!GetConVarBool(g_hCVar_FakeClients))) - return; - - char sSteamID[32]; - GetClientAuthId(client, AuthId_Steam2, sSteamID, sizeof(sSteamID)); - - char sName[128]; - GetClientName(client, sName, sizeof(sName)); - - if(!SteamClientAuthenticated(sSteamID)) - { - int iFakeID = SteamWorks_CreateFake(sName); - g_bHasFakeClient[client] = true; - LogMessage("\"%L\" connected as NoSteam. Fake Client with ID: \"%d\" got created.", client, iFakeID); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientDisconnect(int client) -{ - if (!g_bHasFakeClient[client]) - return; - - SteamWorks_KickFake(); - g_bHasFakeClient[client] = false; - LogMessage("\"%L\" left as NoSteam. Fake Client got removed.", client); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public bool IsValidClient(int client) -{ - if (client <= 0) - return false; - - if (client > GetMaxClients()) - return false; - - return true; -} \ No newline at end of file diff --git a/_entWatch4/configs/entwatch/template.txt b/entWatch4/configs/entwatch/template.txt similarity index 100% rename from _entWatch4/configs/entwatch/template.txt rename to entWatch4/configs/entwatch/template.txt diff --git a/_entWatch4/configs/entwatch/ze_8bit_v4b.cfg b/entWatch4/configs/entwatch/ze_8bit_v4b.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_8bit_v4b.cfg rename to entWatch4/configs/entwatch/ze_8bit_v4b.cfg diff --git a/_entWatch4/configs/entwatch/ze_abandoned_project_v1_2.cfg b/entWatch4/configs/entwatch/ze_abandoned_project_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_abandoned_project_v1_2.cfg rename to entWatch4/configs/entwatch/ze_abandoned_project_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_alien_shooter_v7.cfg b/entWatch4/configs/entwatch/ze_alien_shooter_v7.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_alien_shooter_v7.cfg rename to entWatch4/configs/entwatch/ze_alien_shooter_v7.cfg diff --git a/_entWatch4/configs/entwatch/ze_alien_vs_predator_v5.cfg b/entWatch4/configs/entwatch/ze_alien_vs_predator_v5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_alien_vs_predator_v5.cfg rename to entWatch4/configs/entwatch/ze_alien_vs_predator_v5.cfg diff --git a/_entWatch4/configs/entwatch/ze_ancient_wrath_v1_fix2.cfg b/entWatch4/configs/entwatch/ze_ancient_wrath_v1_fix2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ancient_wrath_v1_fix2.cfg rename to entWatch4/configs/entwatch/ze_ancient_wrath_v1_fix2.cfg diff --git a/_entWatch4/configs/entwatch/ze_ancient_wrath_v2_test27.cfg b/entWatch4/configs/entwatch/ze_ancient_wrath_v2_test27.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ancient_wrath_v2_test27.cfg rename to entWatch4/configs/entwatch/ze_ancient_wrath_v2_test27.cfg diff --git a/_entWatch4/configs/entwatch/ze_antartika_b2.cfg b/entWatch4/configs/entwatch/ze_antartika_b2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_antartika_b2.cfg rename to entWatch4/configs/entwatch/ze_antartika_b2.cfg diff --git a/_entWatch4/configs/entwatch/ze_ashen_keep_v0_3.cfg b/entWatch4/configs/entwatch/ze_ashen_keep_v0_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ashen_keep_v0_3.cfg rename to entWatch4/configs/entwatch/ze_ashen_keep_v0_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_atix_extinction_b7.cfg b/entWatch4/configs/entwatch/ze_atix_extinction_b7.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_atix_extinction_b7.cfg rename to entWatch4/configs/entwatch/ze_atix_extinction_b7.cfg diff --git a/_entWatch4/configs/entwatch/ze_avalanche_reboot_beta7.cfg b/entWatch4/configs/entwatch/ze_avalanche_reboot_beta7.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_avalanche_reboot_beta7.cfg rename to entWatch4/configs/entwatch/ze_avalanche_reboot_beta7.cfg diff --git a/_entWatch4/configs/entwatch/ze_bathroom_v2_5s.cfg b/entWatch4/configs/entwatch/ze_bathroom_v2_5s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_bathroom_v2_5s.cfg rename to entWatch4/configs/entwatch/ze_bathroom_v2_5s.cfg diff --git a/_entWatch4/configs/entwatch/ze_biohazard2_rpd_v4e_004.cfg b/entWatch4/configs/entwatch/ze_biohazard2_rpd_v4e_004.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_biohazard2_rpd_v4e_004.cfg rename to entWatch4/configs/entwatch/ze_biohazard2_rpd_v4e_004.cfg diff --git a/_entWatch4/configs/entwatch/ze_biohazard_manor_v4a_004.cfg b/entWatch4/configs/entwatch/ze_biohazard_manor_v4a_004.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_biohazard_manor_v4a_004.cfg rename to entWatch4/configs/entwatch/ze_biohazard_manor_v4a_004.cfg diff --git a/_entWatch4/configs/entwatch/ze_biohazard_v2b_004.cfg b/entWatch4/configs/entwatch/ze_biohazard_v2b_004.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_biohazard_v2b_004.cfg rename to entWatch4/configs/entwatch/ze_biohazard_v2b_004.cfg diff --git a/_entWatch4/configs/entwatch/ze_bioshock_v7.cfg b/entWatch4/configs/entwatch/ze_bioshock_v7.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_bioshock_v7.cfg rename to entWatch4/configs/entwatch/ze_bioshock_v7.cfg diff --git a/_entWatch4/configs/entwatch/ze_boredom_v543656.cfg b/entWatch4/configs/entwatch/ze_boredom_v543656.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_boredom_v543656.cfg rename to entWatch4/configs/entwatch/ze_boredom_v543656.cfg diff --git a/_entWatch4/configs/entwatch/ze_bowser_in_the_fire_sea_v1e.cfg b/entWatch4/configs/entwatch/ze_bowser_in_the_fire_sea_v1e.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_bowser_in_the_fire_sea_v1e.cfg rename to entWatch4/configs/entwatch/ze_bowser_in_the_fire_sea_v1e.cfg diff --git a/_entWatch4/configs/entwatch/ze_castlevania_v1_3.cfg b/entWatch4/configs/entwatch/ze_castlevania_v1_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_castlevania_v1_3.cfg rename to entWatch4/configs/entwatch/ze_castlevania_v1_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_christmas_infection_v2_3.cfg b/entWatch4/configs/entwatch/ze_christmas_infection_v2_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_christmas_infection_v2_3.cfg rename to entWatch4/configs/entwatch/ze_christmas_infection_v2_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_chroma_v0_4.cfg b/entWatch4/configs/entwatch/ze_chroma_v0_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_chroma_v0_4.cfg rename to entWatch4/configs/entwatch/ze_chroma_v0_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_crashbandicoot_v1fix.cfg b/entWatch4/configs/entwatch/ze_crashbandicoot_v1fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_crashbandicoot_v1fix.cfg rename to entWatch4/configs/entwatch/ze_crashbandicoot_v1fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_cyberderp_v1_4.cfg b/entWatch4/configs/entwatch/ze_cyberderp_v1_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_cyberderp_v1_4.cfg rename to entWatch4/configs/entwatch/ze_cyberderp_v1_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_dark_souls_ptd_v0_4.cfg b/entWatch4/configs/entwatch/ze_dark_souls_ptd_v0_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_dark_souls_ptd_v0_4.cfg rename to entWatch4/configs/entwatch/ze_dark_souls_ptd_v0_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_deadcore_s6.cfg b/entWatch4/configs/entwatch/ze_deadcore_s6.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_deadcore_s6.cfg rename to entWatch4/configs/entwatch/ze_deadcore_s6.cfg diff --git a/_entWatch4/configs/entwatch/ze_death_star_escape_v4_3.cfg b/entWatch4/configs/entwatch/ze_death_star_escape_v4_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_death_star_escape_v4_3.cfg rename to entWatch4/configs/entwatch/ze_death_star_escape_v4_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_doom3_v1.cfg b/entWatch4/configs/entwatch/ze_doom3_v1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_doom3_v1.cfg rename to entWatch4/configs/entwatch/ze_doom3_v1.cfg diff --git a/_entWatch4/configs/entwatch/ze_doom_v1_1.cfg b/entWatch4/configs/entwatch/ze_doom_v1_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_doom_v1_1.cfg rename to entWatch4/configs/entwatch/ze_doom_v1_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_dreamin_v2_1s_fix4.cfg b/entWatch4/configs/entwatch/ze_dreamin_v2_1s_fix4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_dreamin_v2_1s_fix4.cfg rename to entWatch4/configs/entwatch/ze_dreamin_v2_1s_fix4.cfg diff --git a/_entWatch4/configs/entwatch/ze_eden_a3s.cfg b/entWatch4/configs/entwatch/ze_eden_a3s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_eden_a3s.cfg rename to entWatch4/configs/entwatch/ze_eden_a3s.cfg diff --git a/_entWatch4/configs/entwatch/ze_eternal_journey_v1_1.cfg b/entWatch4/configs/entwatch/ze_eternal_journey_v1_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_eternal_journey_v1_1.cfg rename to entWatch4/configs/entwatch/ze_eternal_journey_v1_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_evernight_a3_4_css2.cfg b/entWatch4/configs/entwatch/ze_evernight_a3_4_css2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_evernight_a3_4_css2.cfg rename to entWatch4/configs/entwatch/ze_evernight_a3_4_css2.cfg diff --git a/_entWatch4/configs/entwatch/ze_fapescape_rote_v1_3f.cfg b/entWatch4/configs/entwatch/ze_fapescape_rote_v1_3f.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_fapescape_rote_v1_3f.cfg rename to entWatch4/configs/entwatch/ze_fapescape_rote_v1_3f.cfg diff --git a/_entWatch4/configs/entwatch/ze_fapescape_v1_2.cfg b/entWatch4/configs/entwatch/ze_fapescape_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_fapescape_v1_2.cfg rename to entWatch4/configs/entwatch/ze_fapescape_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffvii_cosmo_canyon_v5fix.cfg b/entWatch4/configs/entwatch/ze_ffvii_cosmo_canyon_v5fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffvii_cosmo_canyon_v5fix.cfg rename to entWatch4/configs/entwatch/ze_ffvii_cosmo_canyon_v5fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v5_3.cfg b/entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v5_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v5_3.cfg rename to entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v5_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v6_b08.cfg b/entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v6_b08.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v6_b08.cfg rename to entWatch4/configs/entwatch/ze_ffvii_mako_reactor_v6_b08.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffvii_temple_ancient_v3_3.cfg b/entWatch4/configs/entwatch/ze_ffvii_temple_ancient_v3_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffvii_temple_ancient_v3_3.cfg rename to entWatch4/configs/entwatch/ze_ffvii_temple_ancient_v3_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_feywood_b3_1.cfg b/entWatch4/configs/entwatch/ze_ffxii_feywood_b3_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_feywood_b3_1.cfg rename to entWatch4/configs/entwatch/ze_ffxii_feywood_b3_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_paramina_rift_v1_4.cfg b/entWatch4/configs/entwatch/ze_ffxii_paramina_rift_v1_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_paramina_rift_v1_4.cfg rename to entWatch4/configs/entwatch/ze_ffxii_paramina_rift_v1_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_ridorana_cataract_t5_3.cfg b/entWatch4/configs/entwatch/ze_ffxii_ridorana_cataract_t5_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_ridorana_cataract_t5_3.cfg rename to entWatch4/configs/entwatch/ze_ffxii_ridorana_cataract_t5_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_westersand_v2d.cfg b/entWatch4/configs/entwatch/ze_ffxii_westersand_v2d.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_westersand_v2d.cfg rename to entWatch4/configs/entwatch/ze_ffxii_westersand_v2d.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_westersand_v5_2.cfg b/entWatch4/configs/entwatch/ze_ffxii_westersand_v5_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_westersand_v5_2.cfg rename to entWatch4/configs/entwatch/ze_ffxii_westersand_v5_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_westersand_v7_2.cfg b/entWatch4/configs/entwatch/ze_ffxii_westersand_v7_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_westersand_v7_2.cfg rename to entWatch4/configs/entwatch/ze_ffxii_westersand_v7_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxii_westersand_v8zeta1.cfg b/entWatch4/configs/entwatch/ze_ffxii_westersand_v8zeta1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxii_westersand_v8zeta1.cfg rename to entWatch4/configs/entwatch/ze_ffxii_westersand_v8zeta1.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v4_5s.cfg b/entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v4_5s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v4_5s.cfg rename to entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v4_5s.cfg diff --git a/_entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v5_2f.cfg b/entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v5_2f.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v5_2f.cfg rename to entWatch4/configs/entwatch/ze_ffxiv_wanderers_palace_v5_2f.cfg diff --git a/_entWatch4/configs/entwatch/ze_fiendlordkeep_v4_2.cfg b/entWatch4/configs/entwatch/ze_fiendlordkeep_v4_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_fiendlordkeep_v4_2.cfg rename to entWatch4/configs/entwatch/ze_fiendlordkeep_v4_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_gameshow_v1_2.cfg b/entWatch4/configs/entwatch/ze_gameshow_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_gameshow_v1_2.cfg rename to entWatch4/configs/entwatch/ze_gameshow_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_gods_wrath_v3_8b.cfg b/entWatch4/configs/entwatch/ze_gods_wrath_v3_8b.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_gods_wrath_v3_8b.cfg rename to entWatch4/configs/entwatch/ze_gods_wrath_v3_8b.cfg diff --git a/_entWatch4/configs/entwatch/ze_got_the_north_b4.cfg b/entWatch4/configs/entwatch/ze_got_the_north_b4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_got_the_north_b4.cfg rename to entWatch4/configs/entwatch/ze_got_the_north_b4.cfg diff --git a/_entWatch4/configs/entwatch/ze_grau_s2.cfg b/entWatch4/configs/entwatch/ze_grau_s2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_grau_s2.cfg rename to entWatch4/configs/entwatch/ze_grau_s2.cfg diff --git a/_entWatch4/configs/entwatch/ze_gris_fyk.cfg b/entWatch4/configs/entwatch/ze_gris_fyk.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_gris_fyk.cfg rename to entWatch4/configs/entwatch/ze_gris_fyk.cfg diff --git a/_entWatch4/configs/entwatch/ze_hellz_rescuebase_v5_b1.cfg b/entWatch4/configs/entwatch/ze_hellz_rescuebase_v5_b1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_hellz_rescuebase_v5_b1.cfg rename to entWatch4/configs/entwatch/ze_hellz_rescuebase_v5_b1.cfg diff --git a/_entWatch4/configs/entwatch/ze_holmes_escape_pf_2014c.cfg b/entWatch4/configs/entwatch/ze_holmes_escape_pf_2014c.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_holmes_escape_pf_2014c.cfg rename to entWatch4/configs/entwatch/ze_holmes_escape_pf_2014c.cfg diff --git a/_entWatch4/configs/entwatch/ze_horizon_sky_escape_b1s.cfg b/entWatch4/configs/entwatch/ze_horizon_sky_escape_b1s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_horizon_sky_escape_b1s.cfg rename to entWatch4/configs/entwatch/ze_horizon_sky_escape_b1s.cfg diff --git a/_entWatch4/configs/entwatch/ze_icecap_derp_unloze_v420.cfg b/entWatch4/configs/entwatch/ze_icecap_derp_unloze_v420.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_icecap_derp_unloze_v420.cfg rename to entWatch4/configs/entwatch/ze_icecap_derp_unloze_v420.cfg diff --git a/_entWatch4/configs/entwatch/ze_industrial_dejavu_v3_3_1.cfg b/entWatch4/configs/entwatch/ze_industrial_dejavu_v3_3_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_industrial_dejavu_v3_3_1.cfg rename to entWatch4/configs/entwatch/ze_industrial_dejavu_v3_3_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_infected_sewers_v6_5.cfg b/entWatch4/configs/entwatch/ze_infected_sewers_v6_5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_infected_sewers_v6_5.cfg rename to entWatch4/configs/entwatch/ze_infected_sewers_v6_5.cfg diff --git a/_entWatch4/configs/entwatch/ze_infected_tramway_v3_3.cfg b/entWatch4/configs/entwatch/ze_infected_tramway_v3_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_infected_tramway_v3_3.cfg rename to entWatch4/configs/entwatch/ze_infected_tramway_v3_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_isla_nublar_v2_1.cfg b/entWatch4/configs/entwatch/ze_isla_nublar_v2_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_isla_nublar_v2_1.cfg rename to entWatch4/configs/entwatch/ze_isla_nublar_v2_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_italy_town_v3.cfg b/entWatch4/configs/entwatch/ze_italy_town_v3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_italy_town_v3.cfg rename to entWatch4/configs/entwatch/ze_italy_town_v3.cfg diff --git a/_entWatch4/configs/entwatch/ze_johnny_nukem_b8_3.cfg b/entWatch4/configs/entwatch/ze_johnny_nukem_b8_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_johnny_nukem_b8_3.cfg rename to entWatch4/configs/entwatch/ze_johnny_nukem_b8_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_journey_v1_2.cfg b/entWatch4/configs/entwatch/ze_journey_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_journey_v1_2.cfg rename to entWatch4/configs/entwatch/ze_journey_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_jungle_escape_v1_2.cfg b/entWatch4/configs/entwatch/ze_jungle_escape_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_jungle_escape_v1_2.cfg rename to entWatch4/configs/entwatch/ze_jungle_escape_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_jurassic_park_story_v1.cfg b/entWatch4/configs/entwatch/ze_jurassic_park_story_v1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_jurassic_park_story_v1.cfg rename to entWatch4/configs/entwatch/ze_jurassic_park_story_v1.cfg diff --git a/_entWatch4/configs/entwatch/ze_kraznov_poopata.cfg b/entWatch4/configs/entwatch/ze_kraznov_poopata.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_kraznov_poopata.cfg rename to entWatch4/configs/entwatch/ze_kraznov_poopata.cfg diff --git a/_entWatch4/configs/entwatch/ze_l0v0l_v1_4.cfg b/entWatch4/configs/entwatch/ze_l0v0l_v1_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_l0v0l_v1_4.cfg rename to entWatch4/configs/entwatch/ze_l0v0l_v1_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_last_man_standing_v5_1.cfg b/entWatch4/configs/entwatch/ze_last_man_standing_v5_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_last_man_standing_v5_1.cfg rename to entWatch4/configs/entwatch/ze_last_man_standing_v5_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_legoland_crackheads_v2.cfg b/entWatch4/configs/entwatch/ze_legoland_crackheads_v2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_legoland_crackheads_v2.cfg rename to entWatch4/configs/entwatch/ze_legoland_crackheads_v2.cfg diff --git a/_entWatch4/configs/entwatch/ze_lila_panic_escape_v3_1.cfg b/entWatch4/configs/entwatch/ze_lila_panic_escape_v3_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lila_panic_escape_v3_1.cfg rename to entWatch4/configs/entwatch/ze_lila_panic_escape_v3_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_helms_deep_v5.cfg b/entWatch4/configs/entwatch/ze_lotr_helms_deep_v5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_helms_deep_v5.cfg rename to entWatch4/configs/entwatch/ze_lotr_helms_deep_v5.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_isengard_v2_3.cfg b/entWatch4/configs/entwatch/ze_lotr_isengard_v2_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_isengard_v2_3.cfg rename to entWatch4/configs/entwatch/ze_lotr_isengard_v2_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_minas_tiret_v4_1.cfg b/entWatch4/configs/entwatch/ze_lotr_minas_tiret_v4_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_minas_tiret_v4_1.cfg rename to entWatch4/configs/entwatch/ze_lotr_minas_tiret_v4_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_minas_tirith_v2_2fix.cfg b/entWatch4/configs/entwatch/ze_lotr_minas_tirith_v2_2fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_minas_tirith_v2_2fix.cfg rename to entWatch4/configs/entwatch/ze_lotr_minas_tirith_v2_2fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_3.cfg b/entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_3.cfg rename to entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_5.cfg b/entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_5.cfg rename to entWatch4/configs/entwatch/ze_lotr_minas_tirith_v3_5.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_mines_of_moria_v6_3.cfg b/entWatch4/configs/entwatch/ze_lotr_mines_of_moria_v6_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_mines_of_moria_v6_3.cfg rename to entWatch4/configs/entwatch/ze_lotr_mines_of_moria_v6_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_mount_doom_v3.cfg b/entWatch4/configs/entwatch/ze_lotr_mount_doom_v3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_mount_doom_v3.cfg rename to entWatch4/configs/entwatch/ze_lotr_mount_doom_v3.cfg diff --git a/_entWatch4/configs/entwatch/ze_lotr_mount_doom_v4_2.cfg b/entWatch4/configs/entwatch/ze_lotr_mount_doom_v4_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_lotr_mount_doom_v4_2.cfg rename to entWatch4/configs/entwatch/ze_lotr_mount_doom_v4_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_madness_v2_1.cfg b/entWatch4/configs/entwatch/ze_madness_v2_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_madness_v2_1.cfg rename to entWatch4/configs/entwatch/ze_madness_v2_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_magic_carpet_v1_0.cfg b/entWatch4/configs/entwatch/ze_magic_carpet_v1_0.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_magic_carpet_v1_0.cfg rename to entWatch4/configs/entwatch/ze_magic_carpet_v1_0.cfg diff --git a/_entWatch4/configs/entwatch/ze_minecraft_adventure_v1_2c.cfg b/entWatch4/configs/entwatch/ze_minecraft_adventure_v1_2c.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_minecraft_adventure_v1_2c.cfg rename to entWatch4/configs/entwatch/ze_minecraft_adventure_v1_2c.cfg diff --git a/_entWatch4/configs/entwatch/ze_minecraft_v1_1a.cfg b/entWatch4/configs/entwatch/ze_minecraft_v1_1a.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_minecraft_v1_1a.cfg rename to entWatch4/configs/entwatch/ze_minecraft_v1_1a.cfg diff --git a/_entWatch4/configs/entwatch/ze_mist_v1_3.cfg b/entWatch4/configs/entwatch/ze_mist_v1_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_mist_v1_3.cfg rename to entWatch4/configs/entwatch/ze_mist_v1_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_moltentemple_a2.cfg b/entWatch4/configs/entwatch/ze_moltentemple_a2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_moltentemple_a2.cfg rename to entWatch4/configs/entwatch/ze_moltentemple_a2.cfg diff --git a/_entWatch4/configs/entwatch/ze_moltentemple_a5.cfg b/entWatch4/configs/entwatch/ze_moltentemple_a5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_moltentemple_a5.cfg rename to entWatch4/configs/entwatch/ze_moltentemple_a5.cfg diff --git a/_entWatch4/configs/entwatch/ze_mountain_escape_v5_zy.cfg b/entWatch4/configs/entwatch/ze_mountain_escape_v5_zy.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_mountain_escape_v5_zy.cfg rename to entWatch4/configs/entwatch/ze_mountain_escape_v5_zy.cfg diff --git a/_entWatch4/configs/entwatch/ze_notredame_v1_3.cfg b/entWatch4/configs/entwatch/ze_notredame_v1_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_notredame_v1_3.cfg rename to entWatch4/configs/entwatch/ze_notredame_v1_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_paper_escaper_v7_1.cfg b/entWatch4/configs/entwatch/ze_paper_escaper_v7_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_paper_escaper_v7_1.cfg rename to entWatch4/configs/entwatch/ze_paper_escaper_v7_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_paranoid_rezurrection_v11_9.cfg b/entWatch4/configs/entwatch/ze_paranoid_rezurrection_v11_9.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_paranoid_rezurrection_v11_9.cfg rename to entWatch4/configs/entwatch/ze_paranoid_rezurrection_v11_9.cfg diff --git a/_entWatch4/configs/entwatch/ze_paranoid_ultimate_v10_4.cfg b/entWatch4/configs/entwatch/ze_paranoid_ultimate_v10_4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_paranoid_ultimate_v10_4.cfg rename to entWatch4/configs/entwatch/ze_paranoid_ultimate_v10_4.cfg diff --git a/_entWatch4/configs/entwatch/ze_parking_v3_1.cfg b/entWatch4/configs/entwatch/ze_parking_v3_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_parking_v3_1.cfg rename to entWatch4/configs/entwatch/ze_parking_v3_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_pidaras_v1_4fix3.cfg b/entWatch4/configs/entwatch/ze_pidaras_v1_4fix3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pidaras_v1_4fix3.cfg rename to entWatch4/configs/entwatch/ze_pidaras_v1_4fix3.cfg diff --git a/_entWatch4/configs/entwatch/ze_pirates_port_royal_v3_6.cfg b/entWatch4/configs/entwatch/ze_pirates_port_royal_v3_6.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pirates_port_royal_v3_6.cfg rename to entWatch4/configs/entwatch/ze_pirates_port_royal_v3_6.cfg diff --git a/_entWatch4/configs/entwatch/ze_pirates_port_royal_v5_4s2.cfg b/entWatch4/configs/entwatch/ze_pirates_port_royal_v5_4s2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pirates_port_royal_v5_4s2.cfg rename to entWatch4/configs/entwatch/ze_pirates_port_royal_v5_4s2.cfg diff --git a/_entWatch4/configs/entwatch/ze_pkmn_adventure_v7_2s.cfg b/entWatch4/configs/entwatch/ze_pkmn_adventure_v7_2s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pkmn_adventure_v7_2s.cfg rename to entWatch4/configs/entwatch/ze_pkmn_adventure_v7_2s.cfg diff --git a/_entWatch4/configs/entwatch/ze_pkmn_adventure_v8_6s_fix2.cfg b/entWatch4/configs/entwatch/ze_pkmn_adventure_v8_6s_fix2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pkmn_adventure_v8_6s_fix2.cfg rename to entWatch4/configs/entwatch/ze_pkmn_adventure_v8_6s_fix2.cfg diff --git a/_entWatch4/configs/entwatch/ze_pkmn_adventure_v9s_fix.cfg b/entWatch4/configs/entwatch/ze_pkmn_adventure_v9s_fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pkmn_adventure_v9s_fix.cfg rename to entWatch4/configs/entwatch/ze_pkmn_adventure_v9s_fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_pokemon_adventure_v1_1s.cfg b/entWatch4/configs/entwatch/ze_pokemon_adventure_v1_1s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_pokemon_adventure_v1_1s.cfg rename to entWatch4/configs/entwatch/ze_pokemon_adventure_v1_1s.cfg diff --git a/_entWatch4/configs/entwatch/ze_ponchermonkey_shooter_v3_5.cfg b/entWatch4/configs/entwatch/ze_ponchermonkey_shooter_v3_5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ponchermonkey_shooter_v3_5.cfg rename to entWatch4/configs/entwatch/ze_ponchermonkey_shooter_v3_5.cfg diff --git a/_entWatch4/configs/entwatch/ze_portal_story_v3_2.cfg b/entWatch4/configs/entwatch/ze_portal_story_v3_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_portal_story_v3_2.cfg rename to entWatch4/configs/entwatch/ze_portal_story_v3_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_potc_iv_v6_1.cfg b/entWatch4/configs/entwatch/ze_potc_iv_v6_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_potc_iv_v6_1.cfg rename to entWatch4/configs/entwatch/ze_potc_iv_v6_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_potc_v3_4fix.cfg b/entWatch4/configs/entwatch/ze_potc_v3_4fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_potc_v3_4fix.cfg rename to entWatch4/configs/entwatch/ze_potc_v3_4fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_predator_ultimate_v3.cfg b/entWatch4/configs/entwatch/ze_predator_ultimate_v3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_predator_ultimate_v3.cfg rename to entWatch4/configs/entwatch/ze_predator_ultimate_v3.cfg diff --git a/_entWatch4/configs/entwatch/ze_ravenholm_v04.cfg b/entWatch4/configs/entwatch/ze_ravenholm_v04.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ravenholm_v04.cfg rename to entWatch4/configs/entwatch/ze_ravenholm_v04.cfg diff --git a/_entWatch4/configs/entwatch/ze_rizomata_s1_3.cfg b/entWatch4/configs/entwatch/ze_rizomata_s1_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_rizomata_s1_3.cfg rename to entWatch4/configs/entwatch/ze_rizomata_s1_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_rtcw_ominous_rumors_v1.cfg b/entWatch4/configs/entwatch/ze_rtcw_ominous_rumors_v1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_rtcw_ominous_rumors_v1.cfg rename to entWatch4/configs/entwatch/ze_rtcw_ominous_rumors_v1.cfg diff --git a/_entWatch4/configs/entwatch/ze_s_a_m_v1_3_css.cfg b/entWatch4/configs/entwatch/ze_s_a_m_v1_3_css.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_s_a_m_v1_3_css.cfg rename to entWatch4/configs/entwatch/ze_s_a_m_v1_3_css.cfg diff --git a/_entWatch4/configs/entwatch/ze_sandstorm_f1.cfg b/entWatch4/configs/entwatch/ze_sandstorm_f1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sandstorm_f1.cfg rename to entWatch4/configs/entwatch/ze_sandstorm_f1.cfg diff --git a/_entWatch4/configs/entwatch/ze_santassination_css2.cfg b/entWatch4/configs/entwatch/ze_santassination_css2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_santassination_css2.cfg rename to entWatch4/configs/entwatch/ze_santassination_css2.cfg diff --git a/_entWatch4/configs/entwatch/ze_serpentis_temple_v1_1.cfg b/entWatch4/configs/entwatch/ze_serpentis_temple_v1_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_serpentis_temple_v1_1.cfg rename to entWatch4/configs/entwatch/ze_serpentis_temple_v1_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_sg1_missions_v2_1.cfg b/entWatch4/configs/entwatch/ze_sg1_missions_v2_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sg1_missions_v2_1.cfg rename to entWatch4/configs/entwatch/ze_sg1_missions_v2_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_shaurma_v3_b06.cfg b/entWatch4/configs/entwatch/ze_shaurma_v3_b06.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_shaurma_v3_b06.cfg rename to entWatch4/configs/entwatch/ze_shaurma_v3_b06.cfg diff --git a/_entWatch4/configs/entwatch/ze_shroomforest2_v1.cfg b/entWatch4/configs/entwatch/ze_shroomforest2_v1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_shroomforest2_v1.cfg rename to entWatch4/configs/entwatch/ze_shroomforest2_v1.cfg diff --git a/_entWatch4/configs/entwatch/ze_shroomforest3_b6_2.cfg b/entWatch4/configs/entwatch/ze_shroomforest3_b6_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_shroomforest3_b6_2.cfg rename to entWatch4/configs/entwatch/ze_shroomforest3_b6_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_shroomforest_v4_5.cfg b/entWatch4/configs/entwatch/ze_shroomforest_v4_5.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_shroomforest_v4_5.cfg rename to entWatch4/configs/entwatch/ze_shroomforest_v4_5.cfg diff --git a/_entWatch4/configs/entwatch/ze_sit_caelum_paradisus_b7s.cfg b/entWatch4/configs/entwatch/ze_sit_caelum_paradisus_b7s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sit_caelum_paradisus_b7s.cfg rename to entWatch4/configs/entwatch/ze_sit_caelum_paradisus_b7s.cfg diff --git a/_entWatch4/configs/entwatch/ze_sky_athletic_adv_v9_12s.cfg b/entWatch4/configs/entwatch/ze_sky_athletic_adv_v9_12s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sky_athletic_adv_v9_12s.cfg rename to entWatch4/configs/entwatch/ze_sky_athletic_adv_v9_12s.cfg diff --git a/_entWatch4/configs/entwatch/ze_slender_escape_b4.cfg b/entWatch4/configs/entwatch/ze_slender_escape_b4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_slender_escape_b4.cfg rename to entWatch4/configs/entwatch/ze_slender_escape_b4.cfg diff --git a/_entWatch4/configs/entwatch/ze_stalker_ultimate_v2_3.cfg b/entWatch4/configs/entwatch/ze_stalker_ultimate_v2_3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_stalker_ultimate_v2_3.cfg rename to entWatch4/configs/entwatch/ze_stalker_ultimate_v2_3.cfg diff --git a/_entWatch4/configs/entwatch/ze_stalker_ultimate_v3.cfg b/entWatch4/configs/entwatch/ze_stalker_ultimate_v3.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_stalker_ultimate_v3.cfg rename to entWatch4/configs/entwatch/ze_stalker_ultimate_v3.cfg diff --git a/_entWatch4/configs/entwatch/ze_starwars_v2fix.cfg b/entWatch4/configs/entwatch/ze_starwars_v2fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_starwars_v2fix.cfg rename to entWatch4/configs/entwatch/ze_starwars_v2fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_sunkentemple_v3_1s.cfg b/entWatch4/configs/entwatch/ze_sunkentemple_v3_1s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sunkentemple_v3_1s.cfg rename to entWatch4/configs/entwatch/ze_sunkentemple_v3_1s.cfg diff --git a/_entWatch4/configs/entwatch/ze_sunlight_v2_0.cfg b/entWatch4/configs/entwatch/ze_sunlight_v2_0.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_sunlight_v2_0.cfg rename to entWatch4/configs/entwatch/ze_sunlight_v2_0.cfg diff --git a/_entWatch4/configs/entwatch/ze_super_mario_64_v2_b9.cfg b/entWatch4/configs/entwatch/ze_super_mario_64_v2_b9.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_super_mario_64_v2_b9.cfg rename to entWatch4/configs/entwatch/ze_super_mario_64_v2_b9.cfg diff --git a/_entWatch4/configs/entwatch/ze_surf_vortex_v1_9s.cfg b/entWatch4/configs/entwatch/ze_surf_vortex_v1_9s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_surf_vortex_v1_9s.cfg rename to entWatch4/configs/entwatch/ze_surf_vortex_v1_9s.cfg diff --git a/_entWatch4/configs/entwatch/ze_temple_raider_b4.cfg b/entWatch4/configs/entwatch/ze_temple_raider_b4.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_temple_raider_b4.cfg rename to entWatch4/configs/entwatch/ze_temple_raider_b4.cfg diff --git a/_entWatch4/configs/entwatch/ze_tesv_skyrim_v4fix.cfg b/entWatch4/configs/entwatch/ze_tesv_skyrim_v4fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_tesv_skyrim_v4fix.cfg rename to entWatch4/configs/entwatch/ze_tesv_skyrim_v4fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_tilex_ultimate_v2_14s.cfg b/entWatch4/configs/entwatch/ze_tilex_ultimate_v2_14s.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_tilex_ultimate_v2_14s.cfg rename to entWatch4/configs/entwatch/ze_tilex_ultimate_v2_14s.cfg diff --git a/_entWatch4/configs/entwatch/ze_timesplitters_v1_2.cfg b/entWatch4/configs/entwatch/ze_timesplitters_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_timesplitters_v1_2.cfg rename to entWatch4/configs/entwatch/ze_timesplitters_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_toaster_v1_2.cfg b/entWatch4/configs/entwatch/ze_toaster_v1_2.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_toaster_v1_2.cfg rename to entWatch4/configs/entwatch/ze_toaster_v1_2.cfg diff --git a/_entWatch4/configs/entwatch/ze_trials_v1fs.cfg b/entWatch4/configs/entwatch/ze_trials_v1fs.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_trials_v1fs.cfg rename to entWatch4/configs/entwatch/ze_trials_v1fs.cfg diff --git a/_entWatch4/configs/entwatch/ze_tyranny_v5fix.cfg b/entWatch4/configs/entwatch/ze_tyranny_v5fix.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_tyranny_v5fix.cfg rename to entWatch4/configs/entwatch/ze_tyranny_v5fix.cfg diff --git a/_entWatch4/configs/entwatch/ze_ut2004_convoy_v2_2_1.cfg b/entWatch4/configs/entwatch/ze_ut2004_convoy_v2_2_1.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_ut2004_convoy_v2_2_1.cfg rename to entWatch4/configs/entwatch/ze_ut2004_convoy_v2_2_1.cfg diff --git a/_entWatch4/configs/entwatch/ze_v0u0v_a6.cfg b/entWatch4/configs/entwatch/ze_v0u0v_a6.cfg similarity index 100% rename from _entWatch4/configs/entwatch/ze_v0u0v_a6.cfg rename to entWatch4/configs/entwatch/ze_v0u0v_a6.cfg diff --git a/_entWatch4/scripting/classes/CConfig.inc b/entWatch4/scripting/classes/CConfig.inc similarity index 100% rename from _entWatch4/scripting/classes/CConfig.inc rename to entWatch4/scripting/classes/CConfig.inc diff --git a/_entWatch4/scripting/classes/CItem.inc b/entWatch4/scripting/classes/CItem.inc similarity index 100% rename from _entWatch4/scripting/classes/CItem.inc rename to entWatch4/scripting/classes/CItem.inc diff --git a/_entWatch4/scripting/entWatch-core.sp b/entWatch4/scripting/entWatch-core.sp similarity index 100% rename from _entWatch4/scripting/entWatch-core.sp rename to entWatch4/scripting/entWatch-core.sp diff --git a/_entWatch4/scripting/entWatch-interface.sp b/entWatch4/scripting/entWatch-interface.sp similarity index 63% rename from _entWatch4/scripting/entWatch-interface.sp rename to entWatch4/scripting/entWatch-interface.sp index 031b98e1..3d620594 100644 --- a/_entWatch4/scripting/entWatch-interface.sp +++ b/entWatch4/scripting/entWatch-interface.sp @@ -5,12 +5,21 @@ // Description: Handle the interface of [entWatch] // //==================================================================================================== +#include + #pragma newdecls required #include +#include #include #include +/* COOKIES */ +Handle g_hCookie_InterfaceHidden; + +/* BOOLEANS */ +bool g_bInterfaceHidden[MAXPLAYERS+1]; + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- @@ -22,6 +31,18 @@ public Plugin myinfo = version = "4.0.0" }; +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public void OnPluginStart() +{ + LoadTranslations("entWatch.interface.phrases"); + + g_hCookie_InterfaceHidden = RegClientCookie("EW_InterfaceHidden", "", CookieAccess_Private); + + RegConsoleCmd("sm_hud", Command_ToggleHUD); +} + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- @@ -30,6 +51,45 @@ public void OnMapStart() CreateTimer(1.0, OnDisplayHUD, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT); } +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public void OnClientCookiesCached(int client) +{ + g_bInterfaceHidden[client] = GetClientCookieBool(client, g_hCookie_InterfaceHidden); +} + +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public void OnClientDisconnect(int client) +{ + g_bInterfaceHidden[client] = false; +} + +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public Action Command_ToggleHUD(int client, int args) +{ + g_bInterfaceHidden[client] = !g_bInterfaceHidden[client]; + + if (g_bInterfaceHidden[client]) + { + SetClientCookieBool(client, g_hCookie_InterfaceHidden, true); + + CReplyToCommand(client, "\x07%s[entWatch] \x07%sYou will now no longer see the HUD.", "E01B5D", "F16767"); + return Plugin_Handled; + } + else + { + SetClientCookieBool(client, g_hCookie_InterfaceHidden, false); + + CReplyToCommand(client, "\x07%s[entWatch] \x07%sYou will now see the HUD again.", "E01B5D", "F16767"); + return Plugin_Handled; + } +} + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- @@ -152,7 +212,7 @@ public Action OnDisplayHUD(Handle timer) for (int client = 1; client <= MaxClients; client++) { - if (!IsClientInGame(client) || IsFakeClient(client)) + if (!IsClientInGame(client) || IsFakeClient(client) || g_bInterfaceHidden[client]) continue; int iPanelID; @@ -170,4 +230,26 @@ public Action OnDisplayHUD(Handle timer) EndMessage(); } } +} + +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +stock void SetClientCookieBool(int client, Handle hCookie, bool value) +{ + char sValue[32]; + IntToString(view_as(value), sValue, sizeof(sValue)); + + SetClientCookie(client, hCookie, sValue); +} + +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +stock bool GetClientCookieBool(int client, Handle hCookie) +{ + char sValue[32]; + GetClientCookie(client, hCookie, sValue, sizeof(sValue)); + + return view_as(StringToInt(sValue)); } \ No newline at end of file diff --git a/_entWatch4/scripting/entWatch-messages.sp b/entWatch4/scripting/entWatch-messages.sp similarity index 100% rename from _entWatch4/scripting/entWatch-messages.sp rename to entWatch4/scripting/entWatch-messages.sp diff --git a/_entWatch4/scripting/entWatch-restrictions.sp b/entWatch4/scripting/entWatch-restrictions.sp similarity index 97% rename from _entWatch4/scripting/entWatch-restrictions.sp rename to entWatch4/scripting/entWatch-restrictions.sp index ebbf6670..cf570fdb 100644 --- a/_entWatch4/scripting/entWatch-restrictions.sp +++ b/entWatch4/scripting/entWatch-restrictions.sp @@ -79,6 +79,7 @@ public void OnPluginStart() RegAdminCmd("sm_eunban", Command_ClientUnrestrict, ADMFLAG_UNBAN); RegConsoleCmd("sm_restrictions", Command_DisplayRestrictions); + RegConsoleCmd("sm_status", Command_DisplayStatus); } //---------------------------------------------------------------------------------------------------- @@ -241,6 +242,14 @@ public Action Command_DisplayRestrictions(int client, int args) return Plugin_Handled; } +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public Action Command_DisplayStatus(int client, int args) +{ + return Plugin_Handled; +} + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- diff --git a/_entWatch4/scripting/entWatch-tools.sp b/entWatch4/scripting/entWatch-tools.sp similarity index 100% rename from _entWatch4/scripting/entWatch-tools.sp rename to entWatch4/scripting/entWatch-tools.sp diff --git a/_entWatch4/scripting/include/entWatch_core.inc b/entWatch4/scripting/include/entWatch_core.inc similarity index 100% rename from _entWatch4/scripting/include/entWatch_core.inc rename to entWatch4/scripting/include/entWatch_core.inc diff --git a/_entWatch4/scripting/include/entWatch_helpers.inc b/entWatch4/scripting/include/entWatch_helpers.inc similarity index 100% rename from _entWatch4/scripting/include/entWatch_helpers.inc rename to entWatch4/scripting/include/entWatch_helpers.inc diff --git a/_entWatch4/scripting/include/entWatch_restrictions.inc b/entWatch4/scripting/include/entWatch_restrictions.inc similarity index 100% rename from _entWatch4/scripting/include/entWatch_restrictions.inc rename to entWatch4/scripting/include/entWatch_restrictions.inc diff --git a/_entWatch4/translations/entWatch.messages.phrases.txt b/entWatch4/translations/entWatch.messages.phrases.txt similarity index 100% rename from _entWatch4/translations/entWatch.messages.phrases.txt rename to entWatch4/translations/entWatch.messages.phrases.txt diff --git a/_entWatch4/translations/entWatch.restrictions.phrases.txt b/entWatch4/translations/entWatch.restrictions.phrases.txt similarity index 100% rename from _entWatch4/translations/entWatch.restrictions.phrases.txt rename to entWatch4/translations/entWatch.restrictions.phrases.txt diff --git a/_entWatch4/translations/entWatch.tools.phrases.txt b/entWatch4/translations/entWatch.tools.phrases.txt similarity index 100% rename from _entWatch4/translations/entWatch.tools.phrases.txt rename to entWatch4/translations/entWatch.tools.phrases.txt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vmt b/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vmt similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vmt rename to ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vmt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vtf b/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vtf similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vtf rename to ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_00.vtf diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vmt b/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vmt similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vmt rename to ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vmt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vtf b/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vtf similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vtf rename to ze_boatescape6_remix_fix2/content/materials/3d/bossguard/diss_01.vtf diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vmt b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vmt similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vmt rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vmt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vtf b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vtf similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vtf rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser1.vtf diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vmt b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vmt similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vmt rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vmt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vtf b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vtf similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vtf rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/laser2.vtf diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vmt b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vmt similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vmt rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vmt diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vtf b/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vtf similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vtf rename to ze_boatescape6_remix_fix2/content/materials/3d/zombieden/xmode/youmu/laser/white.vtf diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx80.vtx b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx80.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx80.vtx rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx80.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx90.vtx b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx90.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx90.vtx rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.dx90.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.mdl b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.mdl similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.mdl rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.mdl diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.phy b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.phy similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.phy rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.phy diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.sw.vtx b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.sw.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.sw.vtx rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.sw.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.vvd b/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.vvd similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.vvd rename to ze_boatescape6_remix_fix2/content/models/3d/bossguard/bossguard.vvd diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx80.vtx b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx80.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx80.vtx rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx80.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx90.vtx b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx90.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx90.vtx rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.dx90.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.mdl b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.mdl similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.mdl rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.mdl diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.phy b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.phy similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.phy rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.phy diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.sw.vtx b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.sw.vtx similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.sw.vtx rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.sw.vtx diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.vvd b/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.vvd similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.vvd rename to ze_boatescape6_remix_fix2/content/models/zombieden/xmode/youmu/laser.vvd diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Brain Power V2.mp3 b/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Brain Power V2.mp3 similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Brain Power V2.mp3 rename to ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Brain Power V2.mp3 diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Isengard.mp3 b/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Isengard.mp3 similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Isengard.mp3 rename to ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/Isengard.mp3 diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/evil_laugh.wav b/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/evil_laugh.wav similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/evil_laugh.wav rename to ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/evil_laugh.wav diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/starwars.wav b/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/starwars.wav similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/starwars.wav rename to ze_boatescape6_remix_fix2/content/sound/unl1/boatescape/starwars.wav diff --git a/_CleanupRequired/ze_boatescape6_remix_fix2/scripting/ze_boatescape6_remix_fix2.sp b/ze_boatescape6_remix_fix2/scripting/ze_boatescape6_remix_fix2.sp similarity index 100% rename from _CleanupRequired/ze_boatescape6_remix_fix2/scripting/ze_boatescape6_remix_fix2.sp rename to ze_boatescape6_remix_fix2/scripting/ze_boatescape6_remix_fix2.sp