b9efc06bba
either not used at all or in disabled
108 lines
2.3 KiB
SourcePawn
108 lines
2.3 KiB
SourcePawn
#pragma semicolon 1
|
|
|
|
#include <sourcemod>
|
|
|
|
#include "nominations_extended.inc"
|
|
|
|
#pragma newdecls required
|
|
|
|
char g_sExtraMapsPath[PLATFORM_MAX_PATH];
|
|
|
|
public Plugin myinfo =
|
|
{
|
|
name = "Special Friday",
|
|
author = "Obus",
|
|
description = "",
|
|
version = "",
|
|
url = ""
|
|
};
|
|
|
|
public void OnPluginStart()
|
|
{
|
|
BuildPath(Path_SM, g_sExtraMapsPath, sizeof(g_sExtraMapsPath), "configs/specialfriday.cfg");
|
|
|
|
if (!FileExists(g_sExtraMapsPath))
|
|
LogMessage("configs/specialfriday.cfg missing, is this intended?");
|
|
}
|
|
|
|
public void OnConfigsExecuted()
|
|
{
|
|
CreateTimer(5.0, Timer_PostOnConfigsExecuted, TIMER_FLAG_NO_MAPCHANGE, _);
|
|
}
|
|
|
|
public Action Timer_PostOnConfigsExecuted(Handle hThis)
|
|
{
|
|
if (!FileExists(g_sExtraMapsPath))
|
|
SetFailState("configs/specialfriday.cfg missing!");
|
|
|
|
if (IsItFridayTime())
|
|
{
|
|
ArrayList hExtraMaps = new ArrayList(ByteCountToCells(PLATFORM_MAX_PATH));
|
|
File hExtraMapsConfig = OpenFile(g_sExtraMapsPath, "r");
|
|
|
|
while (!hExtraMapsConfig.EndOfFile())
|
|
{
|
|
char sLine[128];
|
|
|
|
if (!hExtraMapsConfig.ReadLine(sLine, sizeof(sLine)))
|
|
break;
|
|
|
|
if (strncmp(sLine, "//", 2) == 0)
|
|
continue;
|
|
|
|
int iCurIndex=0;
|
|
while (sLine[iCurIndex] != '\0')
|
|
{
|
|
if (sLine[iCurIndex] < 0x20 || sLine[iCurIndex] > 0x7F) sLine[iCurIndex] = '\0';
|
|
iCurIndex++;
|
|
}
|
|
|
|
sLine[iCurIndex-1]='\0';
|
|
|
|
if (IsMapValid(sLine))
|
|
hExtraMaps.PushString(sLine);
|
|
}
|
|
|
|
SortADTArrayCustom(view_as<Handle>(hExtraMaps), SortFuncADTArray_SortAlphabetical);
|
|
|
|
PushMapsIntoNominationPool(hExtraMaps);
|
|
|
|
delete hExtraMapsConfig;
|
|
delete hExtraMaps;
|
|
|
|
CreateTimer(3.0, Timer_LoadConfig, _, TIMER_FLAG_NO_MAPCHANGE);
|
|
}
|
|
}
|
|
|
|
int SortFuncADTArray_SortAlphabetical(int idx1, int idx2, Handle hExtraMaps, Handle unk)
|
|
{
|
|
char sStr1[PLATFORM_MAX_PATH];
|
|
char sStr2[PLATFORM_MAX_PATH];
|
|
|
|
view_as<ArrayList>(hExtraMaps).GetString(idx1, sStr1, sizeof(sStr1));
|
|
view_as<ArrayList>(hExtraMaps).GetString(idx2, sStr2, sizeof(sStr2));
|
|
|
|
return strcmp(sStr2, sStr1, false);
|
|
}
|
|
|
|
public Action Timer_LoadConfig(Handle hThis)
|
|
{
|
|
ServerCommand("exec specialfriday");
|
|
}
|
|
|
|
stock bool IsItFridayTime()
|
|
{
|
|
int iTime = GetTime();
|
|
int iHour;
|
|
char sTime[32];
|
|
|
|
FormatTime(sTime, sizeof(sTime), "%w %H", iTime);
|
|
|
|
iHour = StringToInt(sTime[2]);
|
|
|
|
if ((sTime[0] == '5' && iHour >= 6) || (sTime[0] == '6' && iHour < 6))
|
|
return true;
|
|
|
|
return false;
|
|
}
|