This commit is contained in:
Jackz 2023-08-15 18:52:38 -05:00
parent 46444c8693
commit c14b20b07a
No known key found for this signature in database
GPG key ID: E0BBD94CF657F603
4 changed files with 26 additions and 12 deletions

View file

@ -31,6 +31,7 @@ ConVar cvar_gamemode; char gamemode[32];
char currentMap[64];
int numberOfPlayers = 0;
int lastSuccessTime;
int campaignStartTime;
int lastErrorCode;
int uptime;
bool fastUpdateMode = false;
@ -59,6 +60,7 @@ public void OnPluginStart()
cvar_gamemode.AddChangeHook(OnCvarChanged);
cvar_gamemode.GetString(gamemode, sizeof(gamemode));
HookEvent("game_init", Event_GameStart);
HookEvent("heal_success", Event_HealStop);
HookEvent("heal_interrupted", Event_HealStop);
HookEvent("player_first_spawn", Event_PlayerFirstSpawn);
@ -101,16 +103,21 @@ void TryStartTimer(bool fast = true) {
}
}
public void Event_HealStart(Event event, const char[] name, bool dontBroadcast) {
void Event_GameStart(Event event, const char[] name, bool dontBroadcast) {
campaignStartTime = GetTime();
}
void Event_HealStart(Event event, const char[] name, bool dontBroadcast) {
int healing = GetClientOfUserId(event.GetInt("subject"));
g_icBeingHealed[healing] = true;
}
public void Event_HealStop(Event event, const char[] name, bool dontBroadcast) {
void Event_HealStop(Event event, const char[] name, bool dontBroadcast) {
int healing = GetClientOfUserId(event.GetInt("subject"));
g_icBeingHealed[healing] = false;
}
public void Event_PlayerFirstSpawn(Event event, const char[] name, bool dontBroadcast) {
void Event_PlayerFirstSpawn(Event event, const char[] name, bool dontBroadcast) {
int client = GetClientOfUserId(event.GetInt("userid"));
playerJoinTime[client] = GetTime();
RecalculatePlayerCount();
@ -143,7 +150,7 @@ public void OnClientPutInServer(int client) {
}
}
public void OnClientDisconnect_Post(int client) {
public void OnClientDisconnect(int client) {
steamidCache[client][0] = '\0';
nameCache[client][0] = '\0';
if(!IsFakeClient(client)) {
@ -248,6 +255,7 @@ JSONObject GetObject() {
delete players;
obj.SetFloat("refreshInterval", UPDATE_INTERVAL);
obj.SetInt("lastUpdateTime", GetTime());
obj.SetInt("campaignStartTime", campaignStartTime);
return obj;
}
@ -351,6 +359,7 @@ JSONObject GetPlayer(int client) {
int team = GetClientTeam(client);
JSONObject player = new JSONObject();
player.SetString("steamid", steamidCache[client]);
player.SetInt("userId", GetClientUserId(client));
player.SetString("name", nameCache[client]);
player.SetInt("team", team);
player.SetBool("isAlive", IsPlayerAlive(client));

View file

@ -254,9 +254,9 @@ public void DB_OnConnectCheck(Database db, DBResultSet results, const char[] err
if(hKickType.IntValue > 0) {
if(public_message[0] != '\0')
KickClient(client, "You have been banned:\n%s\n\nAppeal at jackz.me/apl/%d", public_message, id);
KickClient(client, "Banned:\n%s\nAppeal at jackz.me/apl/%d", public_message, id);
else
KickClient(client, "You have been banned from this server.\n\nAppeal at jackz.me/apl/%d", id);
KickClient(client, "You have been banned from this server.\nAppeal at jackz.me/apl/%d", id);
static char query[128];
g_db.Format(query, sizeof(query), "UPDATE bans SET times_tried=times_tried+1 WHERE steamid = '%s'", steamid);
g_db.Query(DB_GenericCallback, query);

View file

@ -357,8 +357,13 @@ void ApplyTroll(int victim, const char[] name, int activator, trollModifier modi
return;
}
if(flags > -1 && Trolls[trollIndex].timerInterval > 0.0) {
CreateTimer(Trolls[trollIndex].timerInterval, Trolls[trollIndex].timerFunction, victim, TIMER_REPEAT);
// Clear troll specific timer:
if(Trolls[trollIndex].timerInterval > 0.0) {
if(flags > -1)
Trolls[trollIndex].timerHandles[victim] = CreateTimer(Trolls[trollIndex].timerInterval, Trolls[trollIndex].timerFunction, victim, TIMER_REPEAT);
else if(Trolls[trollIndex].timerHandles[victim] != null) {
delete Trolls[trollIndex].timerHandles[victim];
}
}
if(!silent && SilentMenuSelected[activator]) silent = true;