Оригинальный мод States Role Play 1.3

100.00 RUB

   (0 reviews)

Надзор

13 Screenshots

Продается оригинальный мод States Role Play, здесь исправлены баги, найденные во время тестов, дороботки которые вы увидите внизу под данным текстом, так-же присутствует система анти-чита - Nex AC которая не позволит читерить игрокам на вашем проекте,  в моде полная система логирования.

Покупался данный мод с исходником за 500р.

Продается всего лишь за 100р.

▬ Данный мод имеет наименьшее кол-во багов, по этому он больше подойдет для основы.
    Он использовался проектом в течении нескольких лет.
    Профикшены все варнинги в коде, немного оптимизированы элементарные системы.

 

▬ В моде присутствуют плагины как для Хостинга (Linux - .so), так и для Windows (.dll).


▬ Командный процессор: dc_cmd


▬ Версия MySQL r 41-2


▬ Плагин Streamer - by Incognito

 

 

Доработки, фиксы, и изменения в моде.

 

▬ Расставлены Зеленые Зоны

▬ Добавлена система АнтиAFK, зарплата начисляется за 30 отыгранных минут

▬ Изменен таймер в репорт со 180 до 30 секунд (можно писать чаще)

▬ Добавлены системы АЗС, теперь бензин будет сохраняться в транспорте, а цену бензина за литр выставляют владельцы АЗС (от 15$ до 25$)
▬ Добавлена система законопослушности

▬ Добавлены системы зарплат в гетто, теперь их заработок зависит от завоеванных территорий (100$ за 1 территорию)

▬ Исправлена ошибка с командой /eject

▬ Исправлена команда /n в СМИ,теперь меню к редактора доступно со 2 ранга
▬ Исправлен баг на ферме, теперь красть чужой урожай нельзя

▬ Исправлена недоработка с мутом (слетал при пере заходе)

▬ Исправлена недоработка со спидометром, теперь он работает стабильно

▬ Поправлена система прибыли в бизнесах, теперь баланс счета пополняется сугубо с игроков

▬ Склад в гетто был увеличен до 100.000
▬ Также была исправлена недоработка на складе в гетто

▬ Исправлена недоработка, при которой игрока выкидывало с пассажирского сидения

▬ Продажа автомобиля в гос цену — возможна за 80% ее стоимости (в /gps ищите «Разбор транспорта»
— Теперь после того, как Вы умираете у вас не 30 HP, а 100.

— Добавили команду для продажи бизнеса другому игроку (/sellbusiness).

— Добавили продажу машин из кейсов в гос (/gps, разбор транспорта).

— Подправили небольшие недоработки на ферме и стройке.

— Переписали команду /makegun. Теперь можно создавать не по 100 патрон, а сколько душе угодно.

— Изменили анимацию при смерти.
— Перенесли кражу материалов для бандитов, полностью изменили систему.
— Сделали казино, а именно игру в кости (команда /dice).
— Самой главной частью обновления стал новый античит. Надеемся с ним читеров станет намного меньше.

— Теперь бандиты должны сами заполнять свои склады. Порядок действий прост: берёте фургон, добираетесь до Армии Лас-Вентураса, расправляетесь с военными, загружаете свой фургон материалами, доезжаете до респы и разгружаете материалы на склад.

   


 Report this file



User Feedback

  • Similar Content

    • Larikze1231
      By Larikze1231
      Здраствуйте, помогите решить проблему, убрал логотип аризоны но появился красный квадрат в низу, как убрать его? буду очень благодарен если поможете!
    • Maxim638
      By Maxim638
      Привет, кто играет в самп поймет, что за команда мне нужна, но поясню для тех, кто не знает. Речь идет о команде, которую могут использовать полицейские: вести преступника за собой. 
    • Maxim638
      By Maxim638
      Всех приветствую, кто зашел сюда. Мне нужна помощь, а именно ответ на вопрос: как сделать так, чтобы при смерти игрок появлялся не на спавне, а в больнице? Очень нужен ответ
    • good1luuck
      By good1luuck
      Всех вновь приветствую, столкнулся с такой проблемой... Что не сохраняется тюнинг на автомобиль, вроде всё написано правильно и по логике сохранение должно быть, но, его нет. Самое интересное, что в базу данных обновление столбца идёт. Так что с тюнингом, что с цветом автомобиля. Код прикреплю ниже, надеюсь на Вашу помощь.


      publics: LoginCallback
          cache_get_field_content(0,"one_tuneveh", maximum, connects, 74), sscanf(maximum, "p<,>a<i>[15]",cTune[playerid][0]);     cache_get_field_content(0,"two_tuneveh", maximum, connects, 74), sscanf(maximum, "p<,>a<i>[15]",cTune[playerid][1]);     cache_get_field_content(0,"one_vehcolor", maximum, connects, 11), sscanf(maximum, "p<,>a<i>[2]",cColor[playerid][0]);     cache_get_field_content(0,"two_vehcolor", maximum, connects, 11), sscanf(maximum, "p<,>a<i>[2]",cColor[playerid][1]); Стоки
      } stock SaveVehicleTuning(playerid, carnumber) {     new tunning[100];     format(tunning, sizeof(tunning), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",     cTune[playerid][carnumber][0],cTune[playerid][carnumber][1],cTune[playerid][carnumber][2],     cTune[playerid][carnumber][3],cTune[playerid][carnumber][4],cTune[playerid][carnumber][5],     cTune[playerid][carnumber][6],cTune[playerid][carnumber][7],cTune[playerid][carnumber][8],     cTune[playerid][carnumber][9],cTune[playerid][carnumber][10],cTune[playerid][carnumber][11],     cTune[playerid][carnumber][12],cTune[playerid][carnumber][13],cTune[playerid][carnumber][13],     cTune[playerid][carnumber][14]);     if(carnumber == 0) format(stringer, sizeof(stringer), "UPDATE `"TABLE_ACCOUNT"` SET `one_tuneveh` = '%s' WHERE `pID` = '%d'",tunning,PlayerInfo[playerid][pID]);     else if(carnumber == 1) format(stringer, sizeof(stringer), "UPDATE `"TABLE_ACCOUNT"` SET `two_tuneveh` = '%s' WHERE `pID` = '%d'",tunning,PlayerInfo[playerid][pID]);     return mysql_function_query(connects, stringer, false, "", ""); } stock SaveVehicleColor(playerid, carnumber) {     new color[11];     format(color, sizeof(color), "%d,%d",cColor[playerid][carnumber][0],cColor[playerid][carnumber][1]);     if(!carnumber) format(stringer, sizeof(stringer), "UPDATE `"TABLE_ACCOUNT"` SET `one_vehcolor` = '%s' WHERE `pID` = '%d'",color,PlayerInfo[playerid][pID]);     else format(stringer, sizeof(stringer), "UPDATE `"TABLE_ACCOUNT"` SET `two_vehcolor` = '%s' WHERE `pID` = '%d'",color,PlayerInfo[playerid][pID]);     return mysql_function_query(connects, stringer, false, "", ""); Их использование (прикреплю полный код)
                  }         case 79:             {                 new playerd = GetPVarInt(playerid, "CarPlayer"), price = GetPVarInt(playerid, "CarPrice");                 if(SELL[0][playerd] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок, который продавал Вам машину вышел из игры.");                 if(response)                 {                     if(PlayerInfo[playerid][pCash] < price)                     {                         SendClientMessage(playerid, COLOR_GREY, "У вас не достаточно денег");                         format(stringer1, 100, "У %s недостаточно средств", PlayerInfo[playerid][pNames]);                         SendClientMessage(playerd,COLOR_WHITE,stringer1);                         DeletePVar(playerid, "CarPrice");                         DeletePVar(playerid, "CarPlayer");                         SELL[0][playerd] = INVALID_PLAYER_ID;                         return true;                     }                     if(listitem == 0)                     {                         if(GetPVarInt(playerd,"CarNomer") == 0) PlayerInfo[playerid][pCar] = PlayerInfo[playerd][pCar];                         else PlayerInfo[playerid][pCar] = PlayerInfo[playerd][pCar2];                         SetPVarInt(playerid, "CarNomer", 0);                     }                     else if(listitem == 1)                     {                         if(GetPVarInt(playerd,"CarNomer") == 0) PlayerInfo[playerid][pCar2] = PlayerInfo[playerd][pCar];                         else PlayerInfo[playerid][pCar2] = PlayerInfo[playerd][pCar2];                         SetPVarInt(playerid, "CarNomer", 1);                     }                     if(GetPVarInt(playerd,"CarNomer") == 0) PlayerInfo[playerd][pCar] = 462;                     else PlayerInfo[playerd][pCar2] = 462;                     cTune[playerid][GetPVarInt(playerid,"CarNomer")][0] = cTune[playerd][GetPVarInt(playerd,"CarNomer")][0];                     cColor[playerid][GetPVarInt(playerid,"CarNomer")][0] = cColor[playerd][GetPVarInt(playerd,"CarNomer")][0];                     cColor[playerid][GetPVarInt(playerid,"CarNomer")][1] = cColor[playerd][GetPVarInt(playerd,"CarNomer")][1];                     for(new i = 1; i <= 14; i++) cTune[playerid][GetPVarInt(playerid,"CarNomer")][i] = cTune[playerd][GetPVarInt(playerd,"CarNomer")][i];                     if(caridhouse[playerid] != INVALID_VEHICLE_ID) DestroyVehicleEx(caridhouse[playerid]);                     if(caridhouse[playerd] != INVALID_VEHICLE_ID) DestroyVehicleEx(caridhouse[playerd]);                     // ПОКУПАТЕЛЬ:                     if(GetPVarInt(playerid,"CarNomer") == 0) caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar], 2531.9766,-1540.2168,2023.1902,90.0000, cColor[playerid][GetPVarInt(playerid,"CarNomer")][0], cColor[playerid][GetPVarInt(playerid,"CarNomer")][1], 7200, 0);                     else caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar2], 2531.6418,-1546.1769,2023.1758,90.0000, cColor[playerid][GetPVarInt(playerid,"CarNomer")][0], cColor[playerid][GetPVarInt(playerid,"CarNomer")][1], 7200, 0);                     VEHICLE[caridhouse[playerid]][vHealth] = 1000.0;                     VEHICLE[caridhouse[playerid]][vLock] = 1;                     LinkVehicleToInterior(caridhouse[playerid], 1);                     SetVehicleVirtualWorld(caridhouse[playerid], PlayerInfo[playerid][pPhousekey]+50);                     Fuell[caridhouse[playerid]] = PlayerInfo[playerid][pFuelcar] + 20.0;                     AddTune(playerid, GetPVarInt(playerid,"CarNomer"));                     SaveVehicleTuning(playerid, GetPVarInt(playerid,"CarNomer"));                     // ПРОДАВЕЦ:                     caridhouse[playerd] = CreateVehicleEx(462, 2531.9766,-1540.2168,2023.1902,90.0000, cColor[playerd][GetPVarInt(playerd,"CarNomer")][0], cColor[playerd][GetPVarInt(playerd,"CarNomer")][0],7200, 0);                     VEHICLE[caridhouse[playerd]][vHealth] = 1000.0;                     VEHICLE[caridhouse[playerd]][vLock] = 1;                     LinkVehicleToInterior(caridhouse[playerd], 1);                     SetVehicleVirtualWorld(caridhouse[playerd], PlayerInfo[playerd][pPhousekey]+50);                     Fuell[caridhouse[playerd]] = PlayerInfo[playerd][pFuelcar] + 20.0;                     DeleteVehicleTune(playerd, GetPVarInt(playerd,"CarNomer"), 1);                     format(stringer1, 100, "Вы продали авто %s за %s вирт", PlayerInfo[playerid][pNames], formatInt(price));                     SendClientMessage(playerd,COLOR_LIGHTBLUE,stringer1);                     format(stringer1, 100, "%s продал вам авто за %s вирт", PlayerInfo[playerd][pNames], formatInt(price));                     SendClientMessage(playerid,COLOR_LIGHTBLUE,stringer1);                     GiveMoney(playerd, price);                     PlayerInfo[playerid][pCash] -= price;                 }                 else                 {                     format(stringer1, 100, "%s отклонил предложение о продаже", PlayerInfo[playerid][pNames]);                     SendClientMessage(playerd,COLOR_LIGHTBLUE,stringer1);                 }                 SELL[0][playerd] = INVALID_PLAYER_ID;                 DeletePVar(playerid, "CarPrice");                 DeletePVar(playerid, "CarPlayer");             }         case D_ATUNE:             {                 if(response)                 {                     switch(listitem)                     {                         case 0:                         {                             if(PlayerInfo[playerid][pProz] >= 100) return SendClientMessage(playerid, COLOR_SILVER, "Двигатель у вашего автомобиля в полном порядке."), ShowTuneDialog(playerid);                             new till = BizzInfo[TuneShop[playerid]][bTill] * 20;                             format(stringer1, sizeof(stringer1), "%d$", till*(100-PlayerInfo[playerid][pProz]));                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Engine");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], "Engine");                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             GetVehicleParamsEx(caridhouse[playerid], engine, light, alarm, doorss, bonnet, boot, objective);                             SetVehicleParamsEx(caridhouse[playerid], engine, light, alarm, doorss, true, boot, objective);                             ShowTuneMenu(playerid);                         }                         case 1:                         {                             if(cTune[playerid][GetPVarInt(playerid,"CarNomer")][0] != -1)                             {                                 ShowPlayerDialog(playerid, D_ATUNE+1, DIALOG_STYLE_MSGBOX, "Предупреждение", "На ваш автомобиль наклеен винил.\nПри покраске, он будет закрашен.\nВы действительно хотите продолжить?", "Да", "Нет");                             }                             else                             {                                 ShowPlayerDialog(playerid, D_ATUNE+2, DIALOG_STYLE_INPUT, "Покраска", "Введите основной и дополнительный цвет от 1 до 255 через пробел.\nПример: 14 28", "Выбрать", "Назад");                             }                         }                         case 2:                         {                             switch(GetVehicleModel(caridhouse[playerid]))                             {                                 case 560,562,575,565,561,559,558,534,567,536,535,576:                                 {                                     ShowPlayerDialog(playerid, D_ATUNE+3, DIALOG_STYLE_MSGBOX, "Предупреждение", "При добавлении винила, ваш старый цвет будет закрашен.\nВы действительно хотите продолжить?", "Да", "Нет");                                 }                                 default:                                 {                                     SendClientMessage(playerid, COLOR_SILVER, "Покрасочная работа недоступна для вашего автомобиля");                                     ShowTuneDialog(playerid);                                 }                             }                         }                         case 3:                         {                             AddVehicleComponent(caridhouse[playerid], Nitro[0][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Nitro");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Nitro[0][2]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * Nitro[0][1]);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553, 1001.968444,618.342895,-3.137414,1003.073059, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.096435,-0.434012,1000.407531, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 4:                         {                             AddVehicleComponent(caridhouse[playerid], 1087);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Hydraulics");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], "Hydraulics");                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 500);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 5:                         {                             AddVehicleComponent(caridhouse[playerid], 1086);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Stereo");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], "Stereo");                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 450);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             GetVehicleParamsEx(caridhouse[playerid], engine, light, alarm, doorss, bonnet, boot, objective);                             SetVehicleParamsEx(caridhouse[playerid], engine, light, alarm, doorss, bonnet, true, objective);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 6:                         {                             new start = GetStartTypeTune(playerid, 6);                             ChangeTuneDetail[playerid] = start;                             AddVehicleComponent(caridhouse[playerid], Wheels[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Wheels");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Wheels[start][2]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * Wheels[start][1]);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,616.744934,-4.117499,1000.569702, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,616.920288,0.855340,1000.079711, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 7:                         {                             switch(GetVehicleModel(caridhouse[playerid]))                             {                                 case 439,420,426,492: return SendClientMessage(playerid, COLOR_SILVER, "К сожалению, выхлопные трубы недоступны для вашего автомобиля."), ShowTuneDialog(playerid);                             }                             new start = GetStartTypeTune(playerid, 7);                             ChangeTuneDetail[playerid] = start;                             AddVehicleComponent(caridhouse[playerid], Exhaust[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Exhaust");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Exhaust[start][2]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * Exhaust[start][1]);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,620.498657, -1.073193, 1000.572021, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.501037, -1.088341, 1000.418518, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 8:                         {                             new start = GetStartTypeTune(playerid, 8);                             ChangeTuneDetail[playerid] = start;                             new model = GetVehicleModel(caridhouse[playerid]);                             switch(model)                             {                                 case 560, 562, 565, 561, 559, 558, 534, 535:                                 {                                     TextDrawShowForPlayer(playerid, TuneArrow[0]);                                     TextDrawShowForPlayer(playerid, TuneArrow[1]);                                 }                                 case 439,491,517,518,540,546,549,550,585,603,401,496,547,542:                                 {                                     AddVehicleComponent(caridhouse[playerid], Vents[start][0]);                                     AddVehicleComponent(caridhouse[playerid], Vents[start][1]);                                     PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Vent");                                     PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Vents[start][2]);                                     format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 850);                                     PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                                     if(model != 401 && model != 496 && model != 547 && model != 542)                                     {                                         TextDrawShowForPlayer(playerid, TuneArrow[0]);                                         TextDrawShowForPlayer(playerid, TuneArrow[1]);                                     }                                     InterpolateCameraPos(playerid, 608.148681,1.742553, 1001.968444,610.482177, -1.161545, 1001.931335, 1500);                                     InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,614.982360, -1.216045, 999.752990, 1500);                                     if(PlayerInfo[playerid][pQuest5] == 0)                                     {                                         PlayerInfo[playerid][pQuest5] = 1;                                         UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                                     }                                     ShowTuneMenu(playerid);                                     TuneID[playerid] = listitem;                                     return true;                                 }                                 case 400,410,478,489,500,589,404,422,436,600,420,426,492,516,551,529: return SendClientMessage(playerid, COLOR_SILVER, "К сожалению, вентиляция недоступна для вашего автомобиля."), ShowTuneDialog(playerid);                             }                             AddVehicleComponent(caridhouse[playerid], Sideskirt[start][0]);                             AddVehicleComponent(caridhouse[playerid], Sideskirt[start][1]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Side Skirts");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Sideskirt[start][2]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 650);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,615.281188,-5.337747,1001.366333, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.096435,-0.434012,1000.407531, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 9:                         {                             new start = GetStartTypeTune(playerid, 9);                             ChangeTuneDetail[playerid] = start;                             new model = GetVehicleModel(caridhouse[playerid]);                             switch(model)                             {                                 case 560, 562, 575, 565, 561, 559, 558, 426, 567, 536, 576:                                 {                                     TextDrawShowForPlayer(playerid, TuneArrow[0]);                                     TextDrawShowForPlayer(playerid, TuneArrow[1]);                                 }                                 case 400,410,478,489,500,589,404,422,436,600,401,439,518,585,540,546,603:                                 {                                     AddVehicleComponent(caridhouse[playerid], Lamps[start][0]);                                     PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Lamps");                                     PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Lamps[start][2]);                                     format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * Lamps[start][1]);                                     PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                                     switch(model)                                     {                                         case 400,410,478,489,500,589:                                         {                                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                                         }                                     }                                     if(PlayerInfo[playerid][pQuest5] == 0)                                     {                                         PlayerInfo[playerid][pQuest5] = 1;                                         UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                                     }                                     ShowTuneMenu(playerid);                                     TuneID[playerid] = listitem;                                     return true;                                 }                                 case 491,517,549,550,496,547,542,420,492,516,551,529: return SendClientMessage(playerid, COLOR_SILVER, "К сожалению, дополнительные фары недоступны для вашего автомобиля."), ShowTuneDialog(playerid);                             }                             AddVehicleComponent(caridhouse[playerid], FrontBumper[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Front Bumper");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], FrontBumper[start][1]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 400);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,609.310607,-1.098132,1001.088989, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,614.270080,-1.076863,1000.454101, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 10:                         {                             new start = GetStartTypeTune(playerid, 10);                             ChangeTuneDetail[playerid] = start;                             new model = GetVehicleModel(caridhouse[playerid]);                             switch(model)                             {                                 case 401,420,426,492,550,589,600,478,516,540,546,489,518,551,496,529,549:                                 {                                     AddVehicleComponent(caridhouse[playerid], Hood[start][0]);                                     PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Hood");                                     PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Hood[start][1]);                                     format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 990);                                     PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                                     if(model != 516 && model != 540 && model != 546 && model != 489 && model != 518 && model != 551 && model != 496)                                     {                                         TextDrawShowForPlayer(playerid, TuneArrow[0]);                                         TextDrawShowForPlayer(playerid, TuneArrow[1]);                                     }                                     InterpolateCameraPos(playerid, 608.148681,1.742553, 1001.968444,610.482177, -1.161545, 1001.931335, 1500);                                     InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,614.982360, -1.216045, 999.752990, 1500);                                     if(PlayerInfo[playerid][pQuest5] == 0)                                     {                                         PlayerInfo[playerid][pQuest5] = 1;                                         UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                                     }                                     ShowTuneMenu(playerid);                                     TuneID[playerid] = listitem;                                     return true;                                 }                                 case 535,439,491,517,585,603,547,542,400,410,500,404,422,436: return SendClientMessage(playerid, COLOR_SILVER, "К сожалению, капот недоступен для вашего автомобиля."), ShowTuneDialog(playerid);                             }                             AddVehicleComponent(caridhouse[playerid], RearBumper[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Rear Bumper");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], RearBumper[start][1]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 690);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,620.983703, -1.042761, 1000.860351, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.987792, -1.221915, 1000.767822, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 11:                         {                             new start = GetStartTypeTune(playerid, 11);                             ChangeTuneDetail[playerid] = start;                             AddVehicleComponent(caridhouse[playerid], Roof[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Roof");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Roof[start][1]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 790);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,611.069030,-1.105961,1002.401916, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.851745,-1.128729,1000.944213, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                         case 12:                         {                             new start = GetStartTypeTune(playerid, 12);                             ChangeTuneDetail[playerid] = start;                             AddVehicleComponent(caridhouse[playerid], Spoiler[start][0]);                             PlayerTextDrawSetString(playerid, TuneTypeShow[playerid], "Spoiler");                             PlayerTextDrawSetString(playerid, TuneComponentShow[playerid], Spoiler[start][1]);                             format(stringer1,sizeof(stringer1),"%d$",BizzInfo[TuneShop[playerid]][bTill] * 1000);                             PlayerTextDrawSetString(playerid, TuneCostShow[playerid], stringer1);                             TextDrawShowForPlayer(playerid, TuneArrow[0]);                             TextDrawShowForPlayer(playerid, TuneArrow[1]);                             InterpolateCameraPos(playerid, 608.148681,1.742553,1001.968444,620.206481,-1.130074,1001.853393, 1500);                             InterpolateCameraLookAt(playerid, 612.557067,-0.474712,1001.162170,615.385192,-1.050681,1000.530883, 1500);                             if(PlayerInfo[playerid][pQuest5] == 0)                             {                                 PlayerInfo[playerid][pQuest5] = 1;                                 UpdatePlayerData(playerid, "pQuest5", PlayerInfo[playerid][pQuest5]);                             }                             ShowTuneMenu(playerid);                         }                     }                     TuneID[playerid] = listitem;                 }                 else                 {                     if(caridhouse[playerid] == INVALID_VEHICLE_ID) return TuneID[playerid] = -1, SpawnPlayerEx(playerid);                     switch(TuneShop[playerid])                     {                         case 84:                         {                             SetVehicleEE(caridhouse[playerid], 944.4412,-1738.9734,13.1795);                             SetVehicleZAngleEx(caridhouse[playerid], 92.7119);                         }                         case 85:                         {                             SetVehicleEE(caridhouse[playerid], -1786.8325,1206.1458,24.8889);                             SetVehicleZAngleEx(caridhouse[playerid], 180.0444);                         }                         case 86:                         {                             SetVehicleEE(caridhouse[playerid], 1649.3677,2197.4707,10.5478);                             SetVehicleZAngleEx(caridhouse[playerid], 180.0778);                         }                     }                     SetCameraBehindPlayer(playerid);                     LinkVehicleToInterior(caridhouse[playerid], 0);                     SetVehicleVirtualWorld(caridhouse[playerid], 0);                     SetPlayerInteriorEx(playerid, 0);                     SetPlayerVirtualWorldEx(playerid, 0);                     TuneID[playerid] = -1;                     SaveBizz(TuneShop[playerid]);                     TuneShop[playerid] = 0;                     UpdateSpeedometr(playerid, 0);                     for(new i; i < 18; i++) PlayerTextDrawShow(playerid, td_speed[playerid][i]);                     SaveVehicleTuning(playerid, GetPVarInt(playerid,"CarNomer"));                 }  
    • good1luuck
      By good1luuck
      Добрый вечер, в общем...

      Сделал инвайт в фаму через 2 пвара, игрок отказался от Вашего предложения и игрок присоединился к Вашей семье. Но, даже при нажатии кнопки "отклонить" игрок всё равно принимается в семью, но пишет что отказался от предложения. Возможно вопрос банален и прост, но голову крутил как мог, не додумался до решения.


       
              case 26377:             {                        if(!response)                 {                     PlayerInfo[playerid][pFamily] = GetPVarInt(playerid,"invite_fam");                     DeletePVar(playerid,"invite_fam");                     SCM(playerid,COLOR_WHITE, "Вы отказались от предложения");                     SendClientMessage(GetPVarInt(playerid, "invite_fam"),-1,"Игрок отказался от Вашего предложения");                     return false;                 }                 else                 {                        PlayerInfo[playerid][pFamily] = GetPVarInt(playerid,"family_id");                     DeletePVar(playerid,"family_id");                     SCM(playerid,COLOR_WHITE, "Вы присоединились к семье");                     SendClientMessage(GetPVarInt(playerid, "family_id"),-1,"Игрок присоединился к Вашей семье");                     family_info [ PlayerInfo[playerid][pFamily] ] [ f_members_amount ] += 1;                     if(family_info[ PlayerInfo[playerid][pFamily] ][f_verified]) format(stringer1, 128, "© {%s}Семья: {FFFFFF}%s", family_chat_color [ family_info [ PlayerInfo[playerid][pFamily] ] [ f_prefix_color ] ], family_info[PlayerInfo[playerid][pFamily]][f_name]);                     else format(stringer1, 128, "{%s}Семья: {FFFFFF}%s", family_chat_color [ family_info [ PlayerInfo[playerid][pFamily] ] [ f_prefix_color ] ], family_info[PlayerInfo[playerid][pFamily]][f_name]);                     PlayerFamily[playerid] = CreateDynamic3DTextLabel(stringer1, 0xFFFFFFFF,  0.0, 0.0, 0.40, 20, playerid,-1, 0, -1, -1, -1);                     FPlayerText[playerid] = true;                 }                 return true;

       
      CMD:finvite(playerid, params[]) {     if(!PlayerInfo[playerid][pFamily])return SendClientMessage(playerid, COLOR_RED,"|{FFFFFF} Вы не состоите в семье");     if(strcmp(PlayerInfo[playerid][pNames], family_info [ PlayerInfo[playerid][pFamily] ] [ f_creator ], true) != 0) return SendClientMessage(playerid, -1,"[Ошибка] Управление семьей доступно только основателю семьи");     if( sscanf(params, "d", params [0])) return SendClientMessage(playerid, -1, "Ввведите: /finvite [id]" ) ;     if(!IsPlayerConnected(params[0]) || params[0] == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Этого игрока нет, или вы указали свой ид");     if(PlayerInfo[params[0]][pFamily]) return SendClientMessage(playerid, -1, "Уже состоит в семье!" ) ;     if(!ProxDetectorS(15.0, playerid,params[0])) return SendClientMessage(playerid,COLOR_GREY,"Игрок далеко от вас.");     format(stringer1,sizeof(stringer1),"Вы пригласили %s присоединиться к семье %s",PlayerInfo[params[0]][pNames],family_info [ PlayerInfo[playerid][pFamily] ] [ f_name ]);     SendClientMessage(playerid,-1,stringer1);     format(stringer1,sizeof(stringer1),"{FFFFFF}\t%s предложил Вам присоединиться к семье %s\nНажмите соответствующую кнопку, чтобы принять или отклонить",PlayerInfo[playerid][pNames],family_info [ PlayerInfo[playerid][pFamily] ] [ f_name ]);     ShowPlayerDialog(params [ 0 ],26377,DIALOG_STYLE_MSGBOX,"Приглашение в семью",stringer1,"Принять","Отклонить");     SetPVarInt(params [ 0 ],"family_id",PlayerInfo[playerid][pFamily]);     SetPVarInt(params [ 0 ],"invite_fam",PlayerInfo[playerid][pFamily]);     return 1;