Вообщем давно писал функцию мигалок с сохранением , продажей , покупкой , смещением позиций , подобную как на urm , но до конца не доделал возможно позже сделаю. А пока версия что я сделал.   Напоминаю только для системы авто game или же сами переделаетеenu В enum carinfo добавим переменную cMiglo, дальше в stock loadcar ini_getInteger(iniOpen, "cMiglo", CarInfo[car][cMiglo]); // отвечает за загрузку . Дальше идем stock savecar и вставляем ini_setInteger(iniOpen, "cMiglo", CarInfo[car][cMiglo]); // отвечает за сохранение при покупке и продаже . Теперь нам надо чтоб мигалка обновлялась значить в stock CreateCar(car) впишем ini_setInteger(iniOpen, "cMiglo", CarInfo[car][cMiglo]); // обновляем мигалку если она . И так половина сделана теперь нам надо сделать проверку на авто , в самый конец добавляем сток stock ProverkaMigla(carid){new model = GetVehicleModel(carid);////////////////////////Все херня////////////////////////////if( model==592||model==577||model==511||model==512||model==593||model==520||model==553||model==476||model==519||model==460||model==513||model==548||model==425||model==417||model==487||model==488||model==497||model==563||model==447||model==509||model==481||model==510||model==462||model==448||model==581||model==522||model==461||model==521||model==523||model==463||model==586||model==468||model==471||model==523||model==416||model==433||model==431||model==438||model==437||model==416||model==433||model==431||model==438||model==437||model==427||model==490||model==528||model==407||model==544||model==596||model==598||model==597||model==599||model==432||model==601||model==420||model==472||model==473||model==493||model==595||model==484||model==430||model==453||model==452||model==446||model==454||model==406||model==409||model==423||model==428||model==434||model==435||model==441||model==442||model==449||model==450||model==457||model==464||model==465||model==483||model==485||model==486||model==501||model==508||model==525||model==530||model==532||model==537||model==538||model==539||model==545||model==564||model==569||model==570||model==571||model==572||model==574||model==583||model==584||model==588||model==590||model==591||model==594||model==606||model==607||model==608||model==610||model==611||model==604||model==462||model==568||model==573||model==578||model==582||model==605||model==609||model==403||model==406||model==408||model==413||model==414||model==418||model==418||model==440||model==444||model==455||model==456||model==459||model==470||model==478||model==482||model==498||model==499||model==514||model==515||model==515||model==531||model==552){return true;}return false;} и так остались команды приступим. в Public OnplayerCommand добавляем if(strcmp("/migla", cmdtext, true, 10) == 0){new v = GetPlayerVehicleID(playerid);new cars = GetPlayerVehicleID(playerid);if(GetRealID(v) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в своём автомобиле");if(CarInfo[v][cMiglo] == 0) return SendClientMessage(playerid, COLOR_RED, "У вас нету мигалки");SendClientMessage(playerid, COLOR_RED, "Вы поставили мигалку на крышу");migalka[cars] = CreateObject(18646, 0, 0, 0, 0, 0, 0);AttachObjectToVehicle(migalka[cars],v, 0.009999, -0.019999, 0.944999, 0.000000, 0.000000, 0.000000);return 1;}if (strcmp("/miglaoff", cmdtext, true, 10) == 0){new cars = GetPlayerVehicleID(playerid);DestroyObject(migalka[cars]);return 1;}//------------------------------------------------------------------------------if(strcmp(cmdtext, "/buymiglo", true)==0){new cars = GetPlayerVehicleID(playerid);if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Вы не в своем авто");if(ProverkaMigla(cars)) return SendClientMessage(playerid, 0xF6CB00AA, "На этот транспорт мигалка не предусмотрена");if(CarInfo[cars][cMiglo] == 1) return SendClientMessage(playerid, COLOR_RED, "У вас уже есть мигалка");GiveMoney(playerid,-1500);CarInfo[cars][cMiglo] = 1;SendClientMessage(playerid, COLOR_RED, "Вы купили себе мигалку");return 1;}if(strcmp(cmdtext, "/sellmiglo", true)==0){new cars = GetPlayerVehicleID(playerid);if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Вы не в своем авто");if(NenadoLustru(cars)) return SendClientMessage(playerid, 0xF6CB00AA, "На этот транспорт мигалка не предусмотрен");if(CarInfo[cars][cMiglo] == 0) return SendClientMessage(playerid, COLOR_RED, "У вас нет мигалки");GiveMoney(playerid,1500);CarInfo[cars][cMiglo] = 0;SendClientMessage(playerid, COLOR_RED, "Вы успешно продали мигалку");return 1;}if(strcmp(cmd, "/setmigla", true) == 0){if(IsPlayerInAnyVehicle(playerid)){tmp = strtok(cmdtext, idx);if(!strlen(tmp)){SendClientMessage(playerid, COLOR_WHITE, "Введите: /setmigla [X] [Y] [Z]");return 1;}tmp = strtok(cmdtext, idx);new koordx;koordx = strval(tmp);tmp = strtok(cmdtext, idx);new koordy;koordy = strval(tmp);tmp = strtok(cmdtext, idx);new koordz;koordz = strval(tmp);new cars = GetPlayerVehicleID(playerid);DestroyObject(migalka[cars]);new carid = GetPlayerVehicleID(playerid);migalka[cars] = CreateObject(18646,0,0,0,0,0,0,0.0);AttachObjectToVehicle(migalka[cars],carid,koordx,koordy,koordz, 0.0, 0.0, 0.0);return 1;}} вот собственно и все , в следующее версий если буду делать то сделаю , сохранение статуса мигалки , то есть если вы включили и произошел рестарт то она будет создана после рестарта и включена как и было и также аналагично выключена. И еще сохранение места позиций , ну а пока вот держите.Автор: Я( Komendant) P.s в следующее версий оптимизирую некоторые стоки и коды.