Заранее говорю, делаю свой собейт на версии 0.3e и играю на сервере Crystal RP. Там работает.
Итак, в этой теме я покажу свой способ как чинить авто без кика.
в main.h добавляем #include <process.h> (если нет)
в samp.cpp после строки ///////////////////////////////////// FUNCTIONS //////////////////////////////////////
пишем:
Код
void cmd_repair_thread(void *infa) {
float oldcoords[3]; //сюда будут записаны старые координаты
struct vehicle_info *pVehicle = vehicle_info_get(-1, 0); //узнаём id машины
struct actor_info *self = actor_info_get(ACTOR_SELF, ACTOR_ALIVE); //это нужно чтобы скопировать старое положение автомобиля
if (pVehicle = NULL) return; //если игрок не в машине прекратить выполнение кода.
vect3_copy(&self->base.matrix[4 * 3], oldpos3); //копируем расположение автомобиля
float repair[3]; //это координаты перекраски и починки в обычной гта
repair[0] = 486.62f;
repair[1] = -1741.65f;
repair[2] = 11.17f;
cheat_vehicle_teleport(vehicle_info_get(VEHICLE_SELF, 0), color, 0); //телепортируемся по координатам.
Sleep(4500); //ждём 4,5 секунд
cheat_vehicle_teleport(vehicle_info_get(VEHICLE_SELF, 0), oldcoords, 0); //телепортируемся обратно на предыдущее место.
}
Чуть ниже пишем:
Код
void cmd_repair() {
_beginthread(cmd_randcolor_thread, 0 , NULL);
}
Затем находим код:
и к остальным командам добавляем:
Код
addClientCommand("repair", (int)cmd_repair);
Готово!
P.S Не так уж и давно в C++, поэтому не судите строго.