Перейти к содержанию

Лидеры


Популярный контент

Показан контент с высокой репутацией 03/09/2020 во всех областях

  1. 1 балл
    Я лично сделал так: 1) Создал таймер вот-такой таймер для каждого т/с на сервере new CarSpeedTimer[MAX_VEHICLES]; Создал функцию: forward CarSpeed(playerid); public CarSpeed(playerid) { new State = GetPlayerState(playerid); //узнаем место игрока if (State != PLAYER_STATE_DRIVER) return 1;// если игрок не на месте водителя new Float:D[4],vid, Float:nowspeed, maxspeed; // Переменные D[4] - вектор перемещения, nowspeed текущяя скорость, maxspeed максимальная скорость maxspeed = CarInfo[vid][cSpeed]; vid = GetPlayerVehicleID(playerid); GetVehicleVelocity(vid, D[0], D[1], D[2]); nowspeed = floatsqroot(floatpower(floatabs(D[0]), 2.0) + floatpower(floatabs(D[1]), 2.0) + floatpower(floatabs(D[2]), 2.0)) * 100.3; //dis- это коефициент ускорения, лично я сделал по формуле dis увеличивается каждую секунду на (1/время разгона до 100 км/ч) if(dis <= 0.2) { if(nowspeed <=10) { dis = 0; }else if(nowspeed >= maxspeed){ dis = 0; }else{ dis = dis+(1/CarInfo[vid][cSecToHu]); } } GetVehicleZAngle(vid, D[3]); SetVehicleVelocity(vid,floatadd(D[0],floatmul(dis,floatsin(-D[3],degrees))), floatadd(D[1],floatmul(dis,floatcos(-D[3],degrees))), D[2]); return 1; } и в OnPlayerKeyStateChange добавляем проверку на зажатую клавишу W if (PRESSED(KEY_SPRINT)) { CarSpeedTimer[GetPlayerVehicleID(playerid)]=SetTimer("CarSpeed", 1000, 1); } else if (RELEASED(KEY_SPRINT)) { KillTimer(CarSpeedTimer[GetPlayerVehicleID(playerid)]); dis = 0.0; //SendClientMessage(playerid, COLOR_RED, "Вы ее отпустили"); } return true;
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.