Thread: [Solved] Vote mp_timelimit
View Single Post
Sw33T3R
AlliedModders Donor
Join Date: Mar 2014
Old 04-06-2019 , 10:34   Re: Vote mp_timelimit
Reply With Quote #2

Code:
ConVar times[5];
int Time[5];
#define MOD_TAG "\x01\x0B★ \x07[ADEPT-Czas Mapy]\x04 "

public Plugin myinfo = 
{
	name = "ADEPT --> Czas Mapy", 
	description = "Autorski Plugin StudioADEPT.net", 
	author = "Brum Brum", 
	version = "1.0", 
	url = "http://www.StudioADEPT.net/forum", 
};

public void OnPluginStart()
{
	times[0] = CreateConVar("sm_firsttimeoption", "10", "Opcja czasowa z głosowania");
	times[1] = CreateConVar("sm_secondtimeoption", "15", "Opcja czasowa z głosowania");
	times[2] = CreateConVar("sm_thirdtimeoption", "20", "Opcja czasowa z głosowania");
	times[3] = CreateConVar("sm_fourtimeoption", "25", "Opcja czasowa z głosowania");
	times[4] = CreateConVar("sm_fivetimeoption", "30", "Opcja czasowa z głosowania");
	AutoExecConfig(true, "ADEPT_CzasMapy");
}

public void OnConfigsExecuted()
{
	for (int i = 0; i < sizeof(times); i++)
	{
		Time[i] = times[i].IntValue;
	}
}

public void OnMapStart()
{
	CreateTimer(60.0, RetryGlosowanie, _, TIMER_FLAG_NO_MAPCHANGE);
}

public int Handle_VoteMenu(Menu menu, MenuAction action, int param1, int param2)
{
	switch (action)
	{
		case MenuAction_End:
		CloseHandle(menu);
		case MenuAction_VoteEnd:
		{
			int value;
			switch (param1)
			{
				case 0:
				value = Time[0];
				case 1:
				value = Time[1];
				case 2:
				value = Time[2];
				case 3:
				value = Time[3];
				case 4:
				value = Time[4];
			}
			ServerCommand("mp_timelimit %d", value);
			PrintToChatAll("%s Ustawiono czas mapy na \x07%d minut!", MOD_TAG, value);
		}
	}
}

public void GlosowanieNaCzasMapy()
{
	if (IsVoteInProgress())
	{
		CreateTimer(5.0, RetryGlosowanie);
	}
	Menu menu = new Menu(Handle_VoteMenu);
	menu.SetTitle("ADEPT -> Czas mapy");
	for (int i = 0; i < sizeof(Time); i++)
	{
		char buffer[64];
		Format(buffer, sizeof(buffer), "%d Minut mapy", Time[i]);
		menu.AddItem("", buffer);
	}
	menu.ExitButton = false;
	menu.DisplayVoteToAll(20);
}

public Action RetryGlosowanie(Handle timer)
{
	GlosowanieNaCzasMapy();
	return Plugin_Continue;
}
Sw33T3R is offline