Мгновенное изменение карты

Xen Ter SiO

SourceGames(SG)
Сообщения
103
Реакции
32
Существует ли плагин, меняющий карту сразу, после истечения mp_timelimit?
 

mihaput

Участник
Сообщения
694
Реакции
166
А если mp_chattime 0 // Количество секунд, на которое сервер позволяет игрокам писать в общий чат после конца карты и до загрузки новой
 

Xen Ter SiO

SourceGames(SG)
Сообщения
103
Реакции
32
Нет, мне нужен плагин, который будет менять карту, по истечении mp_timelimit. Так как без плагина, карта сменится только после того, как пройдет раунд, в которым mp_timelimit закончилось...
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Xen Ter SiO
Пробуй
PHP:
#include <sourcemod>

new Handle:hTimer = INVALID_HANDLE;

public OnMapStart()
{
	OnMapTimeLeftChanged();
}

public OnMapTimeLeftChanged()
{
	decl time;
	if (GetMapTimeLimit(time))
	{
		if (hTimer != INVALID_HANDLE)
		{
			KillTimer(hTimer);
		}

		hTimer = CreateTimer(float(time), Timer, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
	}
}

public Action:Timer(Handle:timer)
{
	decl String:map[50];
	if (GetNextMap(map, sizeof(map)))
	{
		ForceChangeLevel(map, "PLUGIN");
	}

	hTimer = INVALID_HANDLE;
}
А так?
 
Последнее редактирование:

Xen Ter SiO

SourceGames(SG)
Сообщения
103
Реакции
32
Спасибо, но нет. Карта не меняется, по истечении времени

Добавлено через 3 минуты
Есть плагин Time limit enforcer
https://forums.alliedmods.net/showthread.php?t=82726

...но он часто подглючивает, бывает меняет карту до завершения голосования. А при выборе (продлить карту) меняет ее так, как будто карта и не продлевалась! Причем меняет на ту же самую карту, что и игралась.

Нет, так же, не работает...
Если имеет значение, то перед сменой карты, запускается голосование от MapChooser Extended 1.9.3

Вместо PLUGIN, нужно писать что-то?
 
Последнее редактирование:

SaInT.P

Участник
Сообщения
1,268
Реакции
226
Xen Ter SiO, Плагин мне писал Impulse для DM, но его можно использовать не только для DM, мне он больше не нужен, поэтому кидаю сюда)
Держи


PHP:
#include <sourcemod>
#include <cstrike>
#include <morecolors>

public Plugin:myinfo = 
{
	name = "RoundEnd",
	author = "Impulse",
	description = "",
	version = "",
	url = ""
}

public OnPluginStart()
{
	CreateTimer(1.0, go, _, TIMER_REPEAT);
}

public Action:go(Handle:timer, any:value)
{
	new time;
	GetMapTimeLeft(time);
	if (time == -1)
	return;
	decl String:nextmap[40];
	GetConVarString(FindConVar("sm_nextmap"), nextmap, 40);
	if (time == 5)
		CPrintToChatAll("{lightgreen}< Change Map > {green}Через {red}5 {green}Секунд Карта Сменится На {blue}%s", nextmap);
        if (time > 0 && time <= 4 && time != 0)
		CPrintToChatAll("{lightgreen}< Change Map > {green}Смена Карты Через {red}%i {green}Секунд", time);
	if (time == 0)
	{
		CPrintToChatAll("{lightgreen}< Change Map > {green}Меняем...\n{lightgreen}< Change Map > {green}Понеслаь!;)");
		CS_TerminateRound(Float:0.1, CSRoundEndReason:9, false);
	}
}
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
SaInT.P
Очень уж много недочетов, но не суть..


На счет моего варианта - непонятно, видимо, придется проверить, но позже
 

SaInT.P

Участник
Сообщения
1,268
Реакции
226
The End Is Near..., я не силен в написаний плагинов поэтому про недочеты я хз, плагин работал и работает как нужно и на все 100%
поэтому у меня небыло и нет притензий)
 

Xen Ter SiO

SourceGames(SG)
Сообщения
103
Реакции
32
Спасибо, работает!

Добавлено через 12 минут
Как убрать сообщения в чате?
 
Последнее редактирование:

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Xen Ter SiO, просто перед всеми CPrintToChatAl поставь две // и заново скомпилируй плагин.
 

Xen Ter SiO

SourceGames(SG)
Сообщения
103
Реакции
32
Плагин перестает работать, если так сделать
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Impulse72
Мой пост был адресован не в обиду кому-либо, в данном случае тебе. Если же тебя это тревожит, то извини.
 
Сверху Снизу