Активный
- Тема Автор
- #1
Идея и назначение
Админ или полицейский может временно оглушить игрока, отключив управление.
Подходит для задержаний и RP ситуаций.
Суть реализации
1. Команда /stun принимает ID игрока и длительность.
2. Отключаем управление через TogglePlayerControllable.
3. По таймеру возвращаем управление.
Реализация
Дополнительные идеи
1. Привязать команду только к определенным фракциям.
2. Запрещать оглушать админов или лидеров.
3. Добавить визуальный эффект во время оглушения.
Админ или полицейский может временно оглушить игрока, отключив управление.
Подходит для задержаний и RP ситуаций.
Суть реализации
1. Команда /stun принимает ID игрока и длительность.
2. Отключаем управление через TogglePlayerControllable.
3. По таймеру возвращаем управление.
Реализация
Код:
forward UnstunPlayer(playerid);
CMD:stun(playerid, params[])
{
new target, seconds;
if(sscanf(params, "ui", target, seconds))
return SendClientMessage(playerid, -1, "Используй: /stun [id] [секунды].");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, -1, "Игрок не найден.");
if(seconds <= 0)
return SendClientMessage(playerid, -1, "Время должно быть больше нуля.");
TogglePlayerControllable(target, false);
SetTimerEx("UnstunPlayer", seconds * 1000, false, "i", target);
SendClientMessage(target, -1, "Ты оглушен и не можешь двигаться.");
return 1;
}
public UnstunPlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
TogglePlayerControllable(playerid, true);
SendClientMessage(playerid, -1, "Эффект оглушения прошел.");
}
return 1;
}
Дополнительные идеи
1. Привязать команду только к определенным фракциям.
2. Запрещать оглушать админов или лидеров.
3. Добавить визуальный эффект во время оглушения.