Вопросы

Здравствуйте, тут система у меня есть дрифта она почему-то работает только если на лево дрифтить на право как будто даже системы нету

 

Вот сама система:

public OnPlayerUpdate(playerid) // ниже



if (!IsPlayerInAnyVehicle(playerid)) return 1;



new vehicleid = GetPlayerVehicleID(playerid);

new Float:vx, Float:vy, Float:vz, Float:speed, Float:angle, Float:movementAngle, Float:driftAngle;



if (GetTickCount() - lastUpdateTime[playerid] < 1000)

return 1;

lastUpdateTime[playerid] = GetTickCount();



GetVehicleVelocity(vehicleid, vx, vy, vz);

speed = floatsqroot(vx * vx + vy * vy) * 180.0;



GetVehicleZAngle(vehicleid, angle);

movementAngle = atan2(vy, vx);



driftAngle = floatabs(angle - movementAngle);

if (driftAngle > 180.0) driftAngle = 360.0 - driftAngle;



if (speed > 30.0 && driftAngle > 25.0 && driftAngle < 85.0)

{

new driftPoints = random(101) + 50;

DriftScore[playerid] += driftPoints;



new text[64];

format(text, sizeof(text), "~w~DRIFT: ~g~%d", DriftScore[playerid]);

GameTextForPlayer(playerid, text, 30003);



KillTimer(DriftTimer[playerid]);

DriftTimer[playerid] = SetTimerEx("EndDrift"3000false"d", playerid);

}

else

{

if (DriftScore[playerid] > 0 && DriftTimer[playerid] == 0)

{

DriftTimer[playerid] = SetTimerEx("EndDrift"3000false"d", playerid);

}

}

return 1;

}



new DriftScore[MAX_PLAYERS]; // DRIFT SYSTEM //"дрифт очки (ИВ)"

new DriftTimer[MAX_PLAYERS]; // DRIFT SYSTEM //"время дрифта"

new lastUpdateTime[MAX_PLAYERS]; // DRIFT SYSTEM //"обновление дрифта"



forward EndDrift(playerid);

public EndDrift(playerid)

{

if (DriftScore[playerid] > 0)

{

new money = DriftScore[playerid];

PI[playerid][pCash] += money;



GameTextForPlayer(playerid, ""5003);



new text[64];

format(text, sizeof(text), "~w~MONEY: ~g~+%d$", money);

GameTextForPlayer(playerid, text, 20003);



DriftScore[playerid] = 0;

DriftTimer[playerid] = 0;

}

}


Буду благодарен!

 

Отредактировано пользователем keyl

Заметка от keyl , создано

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение

0 ответов на этот вопрос

Ответы на этот вопрос пока отсутствуют

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Владислав2
      От Владислав2
      Здравствуйте, при компиляции появляется ошибка,

      Ошибка:
      error 017: undefined symbol "REP_KUZIA_TD"

      Строки:
       
          REP_KUZIA_TD[0] = TextDrawCreate(7.499990, 314.444396, "REP: 1");
          TextDrawLetterSize(REP_KUZIA_TD[0], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[0], 1);
          TextDrawColor(REP_KUZIA_TD[0], -1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          TextDrawSetOutline(REP_KUZIA_TD[0], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[0], 255);
          TextDrawFont(REP_KUZIA_TD[0], 1);
          TextDrawSetProportional(REP_KUZIA_TD[0], 1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          REP_KUZIA_TD[1] = TextDrawCreate(6.249957, 330.518493, "ASK: 0");
          TextDrawLetterSize(REP_KUZIA_TD[1], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[1], 1);
          TextDrawColor(REP_KUZIA_TD[1], -1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          TextDrawSetOutline(REP_KUZIA_TD[1], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[1], 255);
          TextDrawFont(REP_KUZIA_TD[1], 1);
          TextDrawSetProportional(REP_KUZIA_TD[1], 1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          return 1;
      }

      Буду рад если кто-то поможет