shape1
shape2
shape3
shape4
shape7
shape8

Система ремня.


Vasgen227

Новичок
Пользователь
23.08.2017
0
0
0
Всем привет,народ!

Недавненько хотел для своего мода найти систему ремня.

Для начала вам нужно во все переменные добавить:

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

Спасибо за внимание!

 
Последнее редактирование модератором:

mitinko

Новичок
Пользователь
30.12.2014
8
0
0
Можно еще добавить в public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
помимо этой
remen[playerid] = 0;
еще и эту
new magid;
remen[magid] = 0; //тогда игрок когда выйдет с машины у него обнулится команда/rem
а без этого он всегда будет пристегнут даже если вы выйдите с машины это я считаю немного не правильно