Ко всем инклудам
#include <Pawn.CMD> #include <sscanf2>
Ко всем переменным
new MPStatus = 0, // 0 - не активно, 1 - активно, 2 - активно без доступа телепорта Float:MPPosition[3], // Позиция мероприятия bool:MPTP[MAX_PLAYERS] = false; // true - игрок на мероприятии, false - игрок не на мероприятии
Ко всем CMD
CMD:setmp(playerid) // Команда для создания мероприятия
{
// Тут добавляем проверку на админку у игрока
if(MPStatus != 0) return SendClientMessage(playerid, -1, "Мероприятие уже идет. Используйте - /editmp, чтобы завершить");
MPStatus = 1;
GetPlayerPos(playerid, MPPosition[0], MPPosition[1], MPPosition[2]);
SendClientMessageToAll(-1, "Администратор открыл точку телепорта на мероприятие. Используйте - /mp");
return 1;
}
CMD:mp(playerid) // Команда для телепорта на мероприятие
{
if(MPStatus != 1) return SendClientMessage(playerid, -1, "Точка телепорта на мероприятие не создана");
SetPlayerPos(playerid, MPPosition[0], MPPosition[1], MPPosition[2]);
SendClientMessage(playerid, -1, "Вы телепортировались на мероприятие. Используйте - /back чтобы вернуться");
MPTP[playerid] = true;
return 1;
}
CMD:back(playerid) // Команда чтобы покинуть мероприятие
{
if(!MPTP[playerid]) return SendClientMessage(playerid, -1, "Вы не находитесь на мероприятии");
SpawnPlayer(playerid);
MPTP[playerid] = false;
SendClientMessage(playerid, -1, "Вы вернулись с мероприятия");
return 1;
}
CMD:editmp(playerid, params[]) // Команда чтобы редактировать статус мероприятия
{
// Тут добавляем проверку на админку у игрока
if(MPStatus == 0) return SendClientMessage(playerid, -1, "Мероприятие еще не начато");
new status;
if(sscanf(params, "d", status)) return SendClientMessage(playerid, COLOR_GREY, !"Используйте: /editmp [Статус мп](0 - закончить мп, 1 - открыть телепорт на мп, 2 - закрыть телепорт на мп)");
switch(status)
{
case 0:
{
MPStatus = 0;
MPPosition[0] = 0.0;
MPPosition[1] = 0.0;
MPPosition[2] = 0.0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && MPTP[i] == true)
{
SpawnPlayer(i);
MPTP[i] = false;
}
}
SendClientMessageToAll(-1, "Администратор завершил мероприятие");
}
case 1:
{
MPStatus = 1;
GetPlayerPos(playerid, MPPosition[0], MPPosition[1], MPPosition[2]);
SendClientMessageToAll(-1, "Администратор открыл точку телепорта на мероприятие. Используйте - /mp");
}
case 2:
{
MPStatus = 2;
SendClientMessageToAll(-1, "Администратор закрыл точку телепорта на мероприятие");
}
}
return 1;
}
Инклуды которые я использовал
Pawn.CMD - https://github.com/k...wn.CMD/releases
sscanf2 - https://github.com/Y...sscanf/releases
Автор данной темы: Я
Сообщение отредактировал Den1444: 24 марта 2026 - 11:57
Вход
Регистрация
Помощь










