Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

/startmp /gomp

Статус
В этой теме нельзя размещать новые ответы.

# Force

Новичок
Всем доброго времени суток, представляю систему проведения мероприятий.
Авторы: Студия Pawn программирования: Force Studio.​

Особенности команды:
1. Командный процессор DC_CMD с использованием Sscanf
2. Не использовано ни одной глобальной переменной и ни одного PVar`а;
3. Автоматическое завершение набора игроков на мероприятие;
4. При желании, остановить набор игроков можно и вручную.


Сами команды:
PHP:
CMD:startmp(playerid,params[])
{
	// Ваша проверка на админку, авторизацию
	new string[145],Float:mpX,Float:mpY,Float:mpZ;
    if(sscanf(params,"is[16]",params[0],params[1])) return SendClientMessage(playerid,-1,"- Использование: /startmp [Кол-во игроков] [Название мероприятия]");
    if(GetSVarInt("AidPlayers")) return SendClientMessage(playerid,-1,"- Идет сбор игроков на мероприятие");
    if(params[0] > 100) return SendClientMessage(playerid,-1,"- Максимальное число игроков на мероприятии: 100");
	if(strlen(params[1]) > 16) return SendClientMessage(playerid,-1,"- Слишком длинное название мероприятия!");
	SetSVarInt("AidPlayers",params[0]);
	GetPlayerPos(playerid,mpX,mpY,mpZ);
	SetSVarFloat("mpX",mpX);
	SetSVarFloat("mpY",mpY);
	SetSVarFloat("mpZ",mpZ);
	mpX = 0; mpY = 0; mpZ = 0;
	format(string,sizeof(string),"Запущен сбор игроков на мероприятие '%s'. Максимум: %d чел",params[1],params[0]);
	SendClientMessageToAll(0xFFFF00AA,string);
	SendClientMessageToAll(0x00FFFFAA,"- Введите /gomp для телепорта на мероприятие");
	return 1;
}
PHP:
CMD:stopmp(playerid)
{
    // Ваша проверка на админку, авторизацию
    if(!GetSVarInt("AidPlayers")) return SendClientMessage(playerid,-1,"- Сбор игроков не запущен");
	DeleteSVar("AidPlayers");
   	DeleteSVar("mpX");
	DeleteSVar("mpY");
	DeleteSVar("mpZ");
	SendClientMessageToAll(0xFFFF00AA,"Сбор игроков на мероприятие остановлен администратором");
    return 1;
}
PHP:
CMD:gomp(playerid)
{
    // Ваша проверка на авторизацию
    if(!GetSVarInt("AidPlayers")) return SendClientMessage(playerid,-1,"- Сбор игроков не запущен");
    SetPlayerPos(playerid,GetSVarFloat("mpX")+random(5),GetSVarFloat("mpY")+random(5),GetSVarFloat("mpZ"));
    SendClientMessage(playerid,0xFFA500AA,"Вы были телепортированы на мероприятие, ожидайте команд администрации");
	if(GetSVarInt("AidPlayers") == 1)
	{
	    SendClientMessageToAll(0xFFFF00AA,"Сбор игроков на мероприятие окончен. Всем спасибо!");
    	DeleteSVar("mpX");
		DeleteSVar("mpY");
		DeleteSVar("mpZ");
	}
    SetSVarInt("AidPlayers",GetSVarInt("AidPlayers")-1);
    if(!GetSVarInt("AidPlayers")) DeleteSVar("AidPlayers");
	return 1;
}

Всем спасибо за внимание, всем доброго дня!​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу