PHP Code:
#include <sourcmod>
#pragma semicolon 1
#pragma newdecls required
char g_szSvPassword[128];
public Plugin myinfo =
{
name = "[ShirazCs] Password (!pw,!rpw,!npw,!fpw Find Password)",
description = "Set Server Password",
author = "<<-E Z U->>",
version = "1.0",
url = "t.me/ShirazCs"
}
public void OnPluginStart()
{
RegAdminCmd("sm_pw", CommandPassword, ADMFLAG_ROOT, "Set Server Password");
RegAdminCmd("sm_rpw", CommandRemovePassword, ADMFLAG_ROOT, "Remove Server Password");
RegAdminCmd("sm_npw", CommandRemovePassword, ADMFLAG_ROOT, "Remove Server Password");
RegAdminCmd("sm_fpw", CommandFindPassword, ADMFLAG_ROOT, "Find Server Password");
ConVar g_hCVsv_password = FindConVar("sv_password");
GetConVarString(g_hCVsv_password, g_szSvPassword, 128);
HookConVarChange(g_hCVsv_password, ConVar_OnChangeserverPassword);
delete g_hCVsv_password;
}
public int ConVar_OnChangeserverPassword(ConVar cvar, char[] oldValue, char[] newValue)
{
GetConVarString(cvar, g_szSvPassword, 128);
return 0;
}
public Action CommandFindPassword(int client, int args)
{
char szClientName[32];
GetClientName(client, szClientName, 32);
char sDate[64];
FormatTime(sDate, 64, "%Y-%m-%d", -1);
char sTime[64];
FormatTime(sTime, 64, "%H:%M:%S", -1);
char zefile[256];
BuildPath(Path_SM, zefile, 256, "logs/Password_%s.ini", sDate);
PrintHintTextToAll("[ShirazCs] Server Password [%s]", g_szSvPassword);
PrintToChatAll("[SM] Server Password : %s \x01[%s]", g_szSvPassword, sTime);
LogToFile(zefile, "Admin [%s] Find Server Password in [ %s - %s ]", szClientName, sDate, sTime);
return Plugin_Handled;
}
public Action CommandRemovePassword(int client, int args)
{
char szClientName[32];
GetClientName(client, szClientName, 32);
char sDate[64];
FormatTime(sDate, 64, "%Y-%m-%d", -1);
char sTime[64];
FormatTime(sTime, 64, "%H:%M:%S", -1);
char zefile[256];
BuildPath(Path_SM, zefile, 256, "logs/Password_%s.ini", sDate);
ServerCommand("sm_cvar sv_password none");
PrintToChatAll("[SM] Removed Server Password \x01[%s]", sTime);
LogToFile(zefile, "Admin [%s] Removed Server Password in [ %s - %s ]", szClientName, sDate, sTime);
return Plugin_Handled;
}
public Action CommandPassword(int client, int args)
{
char Pass[256];
GetCmdArg(1, Pass, 256);
char szClientName[32];
GetClientName(client, szClientName, 32);
char sDate[64];
FormatTime(sDate, 64, "%Y-%m-%d", -1);
char sTime[64];
FormatTime(sTime, 64, "%H:%M:%S", -1);
char zefile[256];
BuildPath(Path_SM, zefile, 256, "logs/Password_%s.ini", sDate);
if (StrEqual(Pass, "", true))
{
ServerCommand("sm_cvar sv_password none");
PrintToChatAll("[SM] Removed Server Password \x01[%s]", sTime);
LogToFile(zefile, "Admin [%s] Removed Server Password in [ %s - %s ]", szClientName, sDate, sTime);
}
else
{
ServerCommand("sm_cvar sv_password %s", Pass);
PrintToChatAll("[SM] %s Set Server Password To : %s \x01[%s]", szClientName, Pass, sTime);
PrintHintTextToAll("[ShirazCs] Server Password [%s]", Pass);
LogToFile(zefile, "Admin [%s] Set Server Password To : %s [ %s - %s ]", szClientName, Pass, sDate, sTime);
}
return Plugin_Handled;
}
Decompiled plugin if anyone needs it.