Всем привет,народ!
Недавненько хотел для своего мода найти систему ремня.
Для начала вам нужно во все переменные добавить:
new remen[MAX_PLAYERS];
Теперь, сделаем так, чтобы когда игрок садился в автомобиль, ему обнуляло эту переменную, потому что некоторые могут пристегнуть ремень и не отстегнув выйти, тогда если сядут в авто, им напишет, что ремень отстегнул он. Для этого вставим в
"public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)"
Вот это:
remen[playerid] = 0;
Теперь сама команда:
CMD:rem(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Если игрок не в авто.
{
SendClientMessage(playerid,COLOR_RED,"Вы не в авто!");
return true;//Тут сомневаюсь, что true, опытные знатоки, подскажите пж
}
if(remen[playerid] == 0)
{
Action(playerid, "пристегнул ремень безопасности");
remen[playerid] = 1;//равняем переменную 1
}
else if(remen[playerid] == 1)//В принципе, можно и просто else написать
{
Action(playerid, "отстегнул ремень безопасности");
remen[playerid] = 0;//Равняем переменную нулю
}
return true;
}
Для фракций,также была добавлена команда для проверки,надет ли ремень или нет:
CMD:sr(playerid, params[])
{
new magid;
if(IsACops(playerid))//Проверка на то, что игрок в ДПС, Полиции. У меня это сток
{
if(sscanf(params, "i", magid)) return SCM(playerid, COLOR_GREY, "Подсказка: /sr [ID игрока]");
if(!ProxDetectorS(10.0, playerid, magid)) return SCM(playerid, COLOR_GRAD1, "Вы слишком далеко.");
if(remen[magid] == 0)
{
SCM(playerid, COLOR_RED, "Не пристёгнут!");//Если переменная remen игрока, которого мы ввели равна 0 - он не пристёгнут
}
else if(remen[magid] == 1)//Можно else
{
SCM(playerid, COLOR_GREEN, "Пристёгнут!");
}
}
return true;
}
У кого ошибка на Action:
stock Action(playerid, string[])
{
new action[128];
//ProxDetector(15.0, playerid, action, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ProxDetectorNew(playerid,20.0,COLOR_PURPLE,action);
return SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 10.0, 5000);
}
Prox'ы на свои замените радиусы.
Пример использования:
Action(playerid, "пристегнул ремень");
В итоге получится Name_Name пристегнул ремень(Name Name-Ваша имя фамилия)
Автор:Shapagolik
Спасибо за внимание!
Недавненько хотел для своего мода найти систему ремня.
Для начала вам нужно во все переменные добавить:
new remen[MAX_PLAYERS];
Теперь, сделаем так, чтобы когда игрок садился в автомобиль, ему обнуляло эту переменную, потому что некоторые могут пристегнуть ремень и не отстегнув выйти, тогда если сядут в авто, им напишет, что ремень отстегнул он. Для этого вставим в
"public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)"
Вот это:
remen[playerid] = 0;
Теперь сама команда:
CMD:rem(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Если игрок не в авто.
{
SendClientMessage(playerid,COLOR_RED,"Вы не в авто!");
return true;//Тут сомневаюсь, что true, опытные знатоки, подскажите пж
}
if(remen[playerid] == 0)
{
Action(playerid, "пристегнул ремень безопасности");
remen[playerid] = 1;//равняем переменную 1
}
else if(remen[playerid] == 1)//В принципе, можно и просто else написать
{
Action(playerid, "отстегнул ремень безопасности");
remen[playerid] = 0;//Равняем переменную нулю
}
return true;
}
Для фракций,также была добавлена команда для проверки,надет ли ремень или нет:
CMD:sr(playerid, params[])
{
new magid;
if(IsACops(playerid))//Проверка на то, что игрок в ДПС, Полиции. У меня это сток
{
if(sscanf(params, "i", magid)) return SCM(playerid, COLOR_GREY, "Подсказка: /sr [ID игрока]");
if(!ProxDetectorS(10.0, playerid, magid)) return SCM(playerid, COLOR_GRAD1, "Вы слишком далеко.");
if(remen[magid] == 0)
{
SCM(playerid, COLOR_RED, "Не пристёгнут!");//Если переменная remen игрока, которого мы ввели равна 0 - он не пристёгнут
}
else if(remen[magid] == 1)//Можно else
{
SCM(playerid, COLOR_GREEN, "Пристёгнут!");
}
}
return true;
}
У кого ошибка на Action:
stock Action(playerid, string[])
{
new action[128];
//ProxDetector(15.0, playerid, action, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ProxDetectorNew(playerid,20.0,COLOR_PURPLE,action);
return SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 10.0, 5000);
}
Prox'ы на свои замените радиусы.
Пример использования:
Action(playerid, "пристегнул ремень");
В итоге получится Name_Name пристегнул ремень(Name Name-Ваша имя фамилия)
Автор:Shapagolik
Спасибо за внимание!
Последнее редактирование модератором: