Thomas_Malibu 2 Опубликовано 27 сентября, 2020 (изменено) Всем привет! Сегодня покажу вам как сделать ускорения для авто полиции. Может быть кто искал , но не нашел , или кто то не знает , данная тема для этих людей. Начнем. Ко всем стокам вставляем stock SetVehicleSpeed(vehicleid, Float:speed) { new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a; GetVehicleVelocity(vehicleid, x1, y1, z1); GetVehiclePos(vehicleid, x2, y2, z2); GetVehicleZAngle(vehicleid, a); a = 360 - a; x1 = (floatsin(a, degrees) * (speed/100) + floatcos(a, degrees) * 0 + x2) - x2; y1 = (floatcos(a, degrees) * (speed/100) + floatsin(a, degrees) * 0 + y2) - y2; SetVehicleVelocity(vehicleid, x1, y1, z1); } Это вставляем к командам, скорость , машина может быть другой CMD:skorostaudi(playerid, params[]) { new Car = GetPlayerVehicleID(playerid); new model = GetVehicleModel(Car); new speed = SpeedVehicle(playerid)/2; if(speed > 90)//Проверка на скорость на которой будет использоватся ускорение if(model == 598)//Проверяем машину SetVehicleSpeed(Car,170);//Устанавливаем скорость return true; } CMD:skorostpolo(playerid, params[]) { new Car = GetPlayerVehicleID(playerid); new model = GetVehicleModel(Car); new speed = SpeedVehicle(playerid)/2; if(speed > 70) if(model == 596) SetVehicleSpeed(Car,170); return true; } Чтобы ускорение работало на кнопку вставляем это в public OnPlayerKeyStateChange if(newkeys & KEY_FIRE) { cmd_skorostaudi(playerid, ""); } if(newkeys & KEY_FIRE) { cmd_skorostpolo(playerid, ""); } Компилируем , проверяем и вуаля все работает! Скорость с которой работает ускорение на каждом моде может быть разная , подстраивайте под мод. Если вы захотите изменить команду , то изменяйте ее и в public OnPlayerKeyStateChange ! Если понравилось , не пожалейте Like) Если что пишите сюда , помогу Изменено 27 сентября, 2020 пользователем Thomas_Malibu 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 28 сентября, 2020 Вырезано из какого-то мода практически без понимания механизма работы. Команды - лишний слой вызовов функций, оверхед. Абсолютно аналогичные условия друг за другом - избыточные их проверки, оверхед. В функции SetVehicleSpeed два умножения на ноль, возможный оверхед (не могу утверждать, оптимизирует ли компилятор). Плюсом константное "волшебное" число, переводящее скорость из километров в число с плавающей точкой, которое может отличаться от мода к моду. Для целочисленных значений лучше использовать switch-выражения или доступ по индексу массива, а не if-выражения. Уж про "скачок" скорости от потенциальных 70 к 170 я не буду говорить, каждому своё, хотя я в такой реализации смысла не вижу. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Thomas_Malibu 2 Опубликовано 29 сентября, 2020 (изменено) В 9/28/2020 в 1:07 PM, 16Shadows сказал: Уж про "скачок" скорости от потенциальных 70 к 170 я не буду говорить, каждому своё, хотя я в такой реализации смысла не вижу. Я же написал, скорость может быть другая, так сделал для примера. Не вырезано. Изменено 29 сентября, 2020 пользователем Thomas_Malibu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
omfa 0 Опубликовано 1 октября, 2020 if(newkeys & KEY_FIRE) { cmd_skorostaudi(playerid, ""); } if(newkeys & KEY_FIRE) { cmd_skorostpolo(playerid, ""); } Как поставить именно тут ускорение на левую кнопку мыши. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Thomas_Malibu 2 Опубликовано 9 октября, 2020 В 10/1/2020 в 1:36 PM, omfa сказал: if(newkeys & KEY_FIRE) { cmd_skorostaudi(playerid, ""); } if(newkeys & KEY_FIRE) { cmd_skorostpolo(playerid, ""); } Как поставить именно тут ускорение на левую кнопку мыши. Срабатывает на L.ALT и на ЛКМ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Thomas_Malibu 2 Опубликовано 20 октября, 2020 Если неудобно будет писать тут, обращайтесь в ВК. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты