Ошибка компиляции

krestafan

Участник
Сообщения
76
Реакции
6
Здравствуйте. Плагин успешно работал и выполнял свое назначение, но когда я решил перекомпилить, то выдало следующую ошибку http://prntscr.com/mshu3w
Сам скрипт

C-подобный:
#pragma semicolon 1
#pragma newdecls required
int sec = 10;

public Plugin myinfo =
{
    name        = "Reload Server",
    author        = "krestafan",
    description    = "",
    version        = "0.1",
    url            = "https://vk.com/krestafan"
};

public void OnPluginStart()
{
    RegAdminCmd("sm_reloadserver", StartTimer, ADMFLAG_ROOT);
}

public Action StartTimer(int client, int args)
{
    CreateTimer(1.0, timer, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action timer(Handle Timer)
{
    if(--sec > 0)
    {
        if(sec <= 10)
        {
            PrintCenterTextAll("До рестарта [%d сек]", sec);
            PrintToChatAll("До рестарта [%d сек]", sec);
        }
        return Plugin_Continue;
    }
    ServerCommand("_restart");
    return Plugin_Stop;
}
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #2
upload_2019-3-3_10-32-38.png


А по факту, кодировка не UTF8 без BOM.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,060
А может так случится так, что эта переменная окажется больше 10? :biggrin:
Кмк, можно было сделать вот так:
PHP:
#pragma semicolon 1
#pragma newdecls required

bool bStarted;
int sec = 10;

public Plugin myinfo =
{
	name		= "Reload Server",
	author		= "krestafan",
	version		= "0.1.1",
	url			= "https://vk.com/krestafan"
};

public void OnPluginStart()
{
	RegAdminCmd("sm_reloadserver", StartTimer, ADMFLAG_ROOT);
}

public Action StartTimer(int client, int args)
{
	if(bStarted)
	{
		ReplyToCommand(client, "Отсчёт уже начался");
		return Plugin_Handled;
	}

	bStarted = true;
	CreateTimer(1.0, timer, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
	ShowCountdown();
	return Plugin_Handled;
}

public Action timer(Handle Timer)
{
	--sec;

	if(sec > 0)
	{
		ShowCountdown();
		return Plugin_Continue;
	}

	PrintCenterTextAll("Произведён перезапуск сервера");
	PrintToChatAll("Произведён перезапуск сервера");
	ServerCommand("_restart");
	return Plugin_Stop;
}

stock void ShowCountdown()
{
	PrintCenterTextAll("До рестарта [%d сек]", sec);
	PrintToChatAll("До рестарта [%d сек]", sec);
}
 

Вложения

  • 6.sp
    1.1 КБ · Просмотры: 3
  • 6 SM1.8.smx
    4.6 КБ · Просмотры: 3
Последнее редактирование:

megoRU

Участник
Сообщения
383
Реакции
80
Что конкретно делает этот плагин? Я как понял перезагружает сервер только когда?
 
Сверху Снизу