# Force
Новичок
Всем доброго времени суток, представляю систему проведения мероприятий.
Авторы: Студия Pawn программирования: Force Studio.
Авторы: Студия 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;
}
Всем спасибо за внимание, всем доброго дня!
