• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Почему анти-сбрасывание с автомобиля работает наоборот?

Статус
В этой теме нельзя размещать новые ответы.

VSYSTEM

Ученик
Доброго времени суток. В процессе переделки мода, заметил баг с анти-сбрасыванием.

Чёт крутил, пытался поправить, но увы, неудача меня настигла и тут. Суть: если анти-сбрасывание не куплено - скидывает, а если куплено - тоже скидывает, но не должно.

Работа такова: если на транспорт с водителем запрыгивает какой-то игрок, срабатывает таймер с сбросом.
C++:
forward DropCar(carid);
Если что, данное действие находиться в OnPlayerStateChange
C++:
        if(PlayerInfo[playerid][pNoKickAuto] == 0)
        {
            if(newstate == PLAYER_STATE_DRIVER)
            {
                Timer1122[playerid] = SetTimerEx("DropCar",500,1,"i",GetPlayerVehicleID(playerid));
            }
            if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
            {
                KillTimer(Timer1122[playerid]);
            }
C++:
public DropCar(carid)
{
        for(new i = 0; i<GetMaxPlayers(); i++)
        {
                if(GetPlayerSurfingVehicleID(i) == carid)
                {
                        new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]);
                        GetXYInBackOfPlayer(i,p[0],p[1],5.0);
                        SetPlayerPos(i,p[0],p[1],p[2]);
        }
    }
    return 1;
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу