Вопросы

Здравствуйте, форумчане.

 

Помогите пожалуйста исправить баг, когда я покупаю автомобиль, и сажусь в него, нажимаю на CTRL, машина заводиться, и появляется нитро, хоть машина была куплена только что, так же и с фракционными, помогите пожалуйста. Мод Union RP

Поделиться сообщением


Ссылка на сообщение

16 ответов на этот вопрос

  • 0

@Hakson ищи в моде AddVehicleComponent. Эта функция и отвечает за добавление к авто нитро и прочего тюнинга. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST

Спойлер

 if(TunInfo[carid][nSpoiler] != 0) AddVehicleComponent(vehid,TunInfo[carid][nSpoiler]);
 if(TunInfo[carid][nHood] != 0) AddVehicleComponent(vehid,TunInfo[carid][nHood]);
 if(TunInfo[carid][nSideskirt] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nSideskirt]);
 if(TunInfo[carid][nNitro] != 0) AddVehicleComponent(vehid,TunInfo[carid][nNitro]);
 if(TunInfo[carid][nLamps] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nLamps]);
 if(TunInfo[carid][nExhaust] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nExhaust]);
 if(TunInfo[carid][nWheels] != 0 )AddVehicleComponent(vehid,TunInfo[carid][nWheels]);
 if(TunInfo[carid][nRoof] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nRoof]);
 if(TunInfo[carid][nStereo] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nStereo]);
 if(TunInfo[carid][nHydraulics] != 0 )AddVehicleComponent(vehid,TunInfo[carid][nHydraulics]);
 if(TunInfo[carid][nBullbar] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nBullbar]);
 if(TunInfo[carid][nRearBullbars] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nRearBullbars]);
 if(TunInfo[carid][nFrontSign] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontSign]);
 if(TunInfo[carid][nFrontBullbars] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontBullbars]);
 if(TunInfo[carid][nFrontBumper] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontBumper]);
 if(TunInfo[carid][nRearBumper] != 0) AddVehicleComponent(vehid,TunInfo[carid][nRearBumper]);
 if(TunInfo[carid][nVents] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nVents]);
 if(TunInfo[carid][nPaintJob] != -1) ChangeVehiclePaintjob(vehid,TunInfo[carid][nPaintJob]);
 for(new i; i<14; i++) ModVehicle(vehid, GetVehicleComponentInSlot(vehid,i));

Что именно тут надо исправить?

Отредактировано пользователем Hakson

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson где это используется? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST Не понял вопроса

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson в каком паблике / функции вызывается / находится? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST 

Спойлер

void ModCar(vehid)
{
 new carid = GetTunID(vehid);
 if(GetVehicleModel( vehid ) != TunInfo[ carid ][ nModel ])
 {
  TunInfo[ carid ][ nSpoiler ] = 0;
  TunInfo[ carid ][ nHood ] = 0;
  TunInfo[ carid ][ nNitro ] = 0;
  TunInfo[ carid ][ nLamps ] = 0;
  TunInfo[ carid ][ nExhaust ] = 0;
  TunInfo[ carid ][ nWheels ] = 0;
  TunInfo[ carid ][ nRoof ] = 0;
  TunInfo[ carid ][ nStereo ] = 0;
  TunInfo[ carid ][ nHydraulics ] = 0;
  TunInfo[ carid ][ nBullbar ] = 0;
  TunInfo[ carid ][ nRearBullbars ] = 0;
  TunInfo[ carid ][ nFrontSign ] = 0;
  TunInfo[ carid ][ nFrontBullbars ] = 0;
  TunInfo[ carid ][ nFrontBumper ] = 0;
  TunInfo[ carid ][ nRearBumper ] = 0;
  TunInfo[ carid ][ nVents] = 0;
  TunInfo[ carid ][ nModel ] = GetVehicleModel( vehid );
  ResetTuning(vehid);
  return true;
 }
 if(TunInfo[carid][nSpoiler] != 0) AddVehicleComponent(vehid,TunInfo[carid][nSpoiler]);
 if(TunInfo[carid][nHood] != 0) AddVehicleComponent(vehid,TunInfo[carid][nHood]);
 if(TunInfo[carid][nSideskirt] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nSideskirt]);
 if(TunInfo[carid][nNitro] != 0) AddVehicleComponent(vehid,TunInfo[carid][nNitro]);
 if(TunInfo[carid][nLamps] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nLamps]);
 if(TunInfo[carid][nExhaust] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nExhaust]);
 if(TunInfo[carid][nWheels] != 0 )AddVehicleComponent(vehid,TunInfo[carid][nWheels]);
 if(TunInfo[carid][nRoof] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nRoof]);
 if(TunInfo[carid][nStereo] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nStereo]);
 if(TunInfo[carid][nHydraulics] != 0 )AddVehicleComponent(vehid,TunInfo[carid][nHydraulics]);
 if(TunInfo[carid][nBullbar] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nBullbar]);
 if(TunInfo[carid][nRearBullbars] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nRearBullbars]);
 if(TunInfo[carid][nFrontSign] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontSign]);
 if(TunInfo[carid][nFrontBullbars] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontBullbars]);
 if(TunInfo[carid][nFrontBumper] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nFrontBumper]);
 if(TunInfo[carid][nRearBumper] != 0) AddVehicleComponent(vehid,TunInfo[carid][nRearBumper]);
 if(TunInfo[carid][nVents] != 0 ) AddVehicleComponent(vehid,TunInfo[carid][nVents]);
 if(TunInfo[carid][nPaintJob] != -1) ChangeVehiclePaintjob(vehid,TunInfo[carid][nPaintJob]);
 for(new i; i<14; i++) ModVehicle(vehid, GetVehicleComponentInSlot(vehid,i));
 return true;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson где вызывается ModCar? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST  if(IsAOwnableCar(vehicleid)) [Если это то]

Отредактировано пользователем Hakson

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson кинь код покупки транспорта

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST

Спойлер

  //aml(50, playerid, PN(offer), "покупка авто", CarPrice[playerid]);
     SetCarOwner(carid,Name(playerid));
     SetCarKeyer(carid,Name(playerid));
     PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
     GetNumberCars(playerid,PlayerInfo[playerid][pCars]);
     GetNumberCars(offer,PlayerInfo[playerid][pCars]);
     SendClientMessage(playerid,-1,"Поздравляем с преобретением транспортного средства.");
     SendClientMessage(offer,-1,"Поздравляем с продажей транспортного средства.");
     J_RemovePlayerFromVehicle(offer);
     CarPrice[playerid] = 0;
     CarOffer[offer] = INVALID_PLAYER_ID;
     CarOffer[playerid] = INVALID_PLAYER_ID;
     SaveOwnableCar(number);
     CarInfo[number][cShtrafer] = 0;

 

Отредактировано пользователем Hakson

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson это полный код? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST а вы можете скачать мод, и посмотреть, просто я не понимаю, где там начинается код 

 

посмотрел сейчас все заново, все равно не понял где начинается 

 

Отредактировано пользователем Hakson

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson просто кинь больше строк и все

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST 

Спойлер
 if(response)
   {
    if(BuyCar[playerid] < 0) return true;
    new carid = -2;
    if(OlVirtualWorld[playerid] == 0)
    {
     if(BuyCar[playerid] > sizeof(EkonomVehicles)) return ToCheat(1, playerid, 55);
     carid = GetCarIdByModel(EkonomVehicles[BuyCar[playerid]]);
    }
    if(OlVirtualWorld[playerid] == 1)
    {
     if(BuyCar[playerid] > sizeof(MiddleVehicles)) return ToCheat(1, playerid, 55);
     carid = GetCarIdByModel(MiddleVehicles[BuyCar[playerid]]);
    }
    if(OlVirtualWorld[playerid] == 2)
    {
     if(BuyCar[playerid] > sizeof(EliteVehicles)) return ToCheat(1, playerid, 55);
     carid = GetCarIdByModel(EliteVehicles[BuyCar[playerid]]);
    }
    if(carid == -1) return SendClientMessage(playerid,-1,"Похоже, что последний транспорт этой модели только что купили!");
    if(carid == -2) return ToCheat(1, playerid, 60);
    if(IsASellCar(carid))
    {
     if(IsValidPassport(playerid))
     {
      new number = GetVehicleID(carid);
      if(GetMoney(playerid) >= CarInfo[number][cCost])
      {
       if(IsValidNumberCars(playerid))
       {
        J_RemovePlayerFromVehicle(playerid);
        if(VehicleToBuy[playerid] != INVALID_VEHICLE_ID) {DestroyVehicle(VehicleToBuy[playerid]);}
        VehicleToBuy[playerid] = INVALID_VEHICLE_ID;
        J_SetPlayerPos(playerid,534.5024,-1303.1180,3038.4648);
        SetPlayerFacingAngle(playerid,348.7073);
        SetCameraBehindPlayer(playerid);
        TogglePlayerControllable(playerid, 1);
        Fix_SetPlayerVirtualWorld(playerid,OlVirtualWorld[playerid]);
        BuyCar[playerid] = -1;
        for(new i;i<sizeof(Skinfon);i++)
        {
         TextDrawHideForPlayer(playerid,Skinfon);
        }
        TextDrawHideForPlayer(playerid,ButtonLeft);
        TextDrawHideForPlayer(playerid,ButtonRight);
        TextDrawHideForPlayer(playerid,ButtonCancel);
        TextDrawHideForPlayer(playerid,SelectSkin);
        PlayerTextDrawHide(playerid,InfoText[playerid]);
        CancelSelectTextDraw(playerid);
        SetCarOwner(carid, Name(playerid));
        SetCarKeyer(carid, Name(playerid));
        PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
        SendClientMessage(playerid,-1,"Поздравляем! Ваш транспорт ждет вас на парковке!");
        SendClientMessage(playerid,-1,"Чтобы вставить/вытащить ключи в зажигание введите "COLOR_PROJECT_EX"/key");
        SendClientMessage(playerid,-1,"Для управления своим транспортом используйте "COLOR_PROJECT_EX"/cars");
        GetNumberCars(playerid, PlayerInfo[playerid][pCars]);
        GiveMoney(playerid, -CarInfo[number][cCost],"BuyCar");
        //aml(52, playerid, "", "покупки авто", CarInfo[number][cCost]);
        format(string,sizeof(string),"[A] %s[%d] Купил авто по госу за %d$!",PN(playerid),playerid,CarInfo[number][cCost]);
        SendAdminsMessage(COLOR_GREEN,string);

        CarInfo[number][cShtrafer] = 0;
        // SetString(CarInfo[number][cNumber],"SA");
        // ReSetCarPrice(number);
        CarInfo[number][cLock] = 0;
        CarInfo[number][cShtraf] = 0;
        CarInfo[number][cKeyIN] = 0;
        CarInfo[number][cAlarmON] = 0;
        CarInfo[number][cMilage] = 0;
        if(OlVirtualWorld[playerid] == 0){SetVehicleToEkonomParking(carid,number);}
        else if(OlVirtualWorld[playerid] == 1){SetVehicleToSrednieParking(carid,number);}
        else if(OlVirtualWorld[playerid] == 2){SetVehicleToEliteParking(carid,number);}
        DelTunCar(carid);
        ResetTuningC(carid);
OlVirtualWorld[playerid] = -1;
        SaveOwnableCar(number);
        // SetTimerEx("RespawnVehicleOwn", 3000, 0, "d", carid);
        // UpdateCarInfo(carid);
       }
       else
       {
        SendClientMessage(playerid,-1,"Ваш уровень VIP недостаточно высок чтобы иметь столько авто!");
        //J_RemovePlayerFromVehicle(playerid);
       }
      }
      else
      {
       PlayerPlaySound(playerid, 30802, 0.0, 0.0, 0.0);
       SendClientMessage(playerid,-1,"У вас недостаточно денег. Вы можете пополнить свой баланс [/donate]");
       // J_RemovePlayerFromVehicle(playerid);
      }
     }
     else
     {
      PlayerPlaySound(playerid, 30802, 0.0, 0.0, 0.0);
      SendClientMessage(playerid,COLOR_GREY, "Срок действия вашего паспорта подошел к концу для покупки этого транспорта, получить его можно в мэрии.");
      // J_RemovePlayerFromVehicle(playerid);
     }
    }
    else
    {
     PlayerPlaySound(playerid, 30802, 0.0, 0.0, 0.0);
     SendClientMessage(playerid,COLOR_GREY, "Этот транспорт не для продажи.");
     // J_RemovePlayerFromVehicle(playerid);
    }
   }
   return true;
  }
 case 12:
  {
   if(response)
   {
    new offer = CarOffer[playerid];
    if(CarOffer[offer] != playerid) return SendClientMessage(playerid,COLOR_GREY, "Ошибка.");
    if(!IsPlayerInHisVehicle(offer)) return SendClientMessage(playerid,COLOR_GREY, "Продавец должен находится в личном транспорте.");
    if(!IsValidPassport(playerid)) return SendClientMessage(playerid,COLOR_GREY, "Срок действия вашего паспорта подошел к концу для покупки этого транспорта, получить его можно в мэрии.");
    new carid = GetPlayerVehicleID(offer);
    if(!ProxDetectorS(7.0, playerid, offer, 1)) return SendClientMessage(playerid,COLOR_GREY, "Вы далеко от игрока.");
    if(GetMoney(playerid) < CarPrice[playerid]) return SendClientMessage(playerid,COLOR_RED,">>>>{FFFFFF} - У вас недостаточно денег. Вы можете пополнить свой баланс [/donate]");
    if(IsValidNumberCars(playerid))
    {
     new number = GetVehicleID(carid);
     if(pTemp[offer][Anti_Pvar][38] != number)return SendClientMessage(playerid,COLOR_GREY, "Владелец должен находиться в машине, которую хочет продать.");
     GiveMoney(offer,CarPrice[playerid],"SellCar+");
     GiveMoney(playerid,-CarPrice[playerid],"SellCar-");

     //aml(50, playerid, PN(offer), "покупка авто", CarPrice[playerid]);
     SetCarOwner(carid,Name(playerid));
     SetCarKeyer(carid,Name(playerid));
     PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
     GetNumberCars(playerid,PlayerInfo[playerid][pCars]);
     GetNumberCars(offer,PlayerInfo[playerid][pCars]);
     SendClientMessage(playerid,-1,"Поздравляем с преобретением транспортного средства.");
     SendClientMessage(offer,-1,"Поздравляем с продажей транспортного средства.");
     J_RemovePlayerFromVehicle(offer);
     CarPrice[playerid] = 0;
     CarOffer[offer] = INVALID_PLAYER_ID;
     CarOffer[playerid] = INVALID_PLAYER_ID;
     SaveOwnableCar(number);
     CarInfo[number][cShtrafer] = 0;
    }
    else
    {
     SendClientMessage(playerid,-1,"Ваш уровень VIP недостаточно высок чтобы иметь столько авто!");
     PlayerPlaySound(playerid, 30802, 0.0, 0.0, 0.0);
    }
   }
   else
   {
    PlayerPlaySound(playerid, 30802, 0.0, 0.0, 0.0);
    CarPrice[playerid] = 0;
    CarOffer[CarOffer[playerid]] = INVALID_PLAYER_ID;
    CarOffer[playerid] = INVALID_PLAYER_ID;
   }
   return true;

Это?

Поделиться сообщением


Ссылка на сообщение
  • 0

@Hakson Зачем нам качать ваш мод когда эту проблему надо устранить вам а не нам... (как сказали выше больше кода!) чекай везде где юзаеться AddVehicleComponent

Поделиться сообщением


Ссылка на сообщение
  • 0
15 часов назад, Hakson сказал:

DelTunCar(carid);
        ResetTuningC(carid);

вот эти две функции скинь (при поиске в PAWNO на конце ; не ставить) 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.