Выкладываю вам тюнинг с сохранением. Данный тюнинг находится в Южном, у автомехаников
в enum CarInfo(ну или как у вас там, я не знаю)
Код: Выделить всё
cWheels,
cNitro,
cHydraulics,
cStereo,
В public OnPlayerCommandText
Код: Выделить всё
if(strcmp(cmdtext, "/tunecar",true) == 0)
{
//if(PlayerInfo[playerid][pMember]== 25 ||PlayerInfo[playerid][pLeader]==25)
if(IsPlayerInRangeOfPoint(playerid,7.0,2179.6506,-1821.7126,18.8102)) //IZ UZHNOOGO
{
if(GetRealID(GetPlayerVehicleID(playerid)) != -1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в автомобиле");
ShowPlayerDialog(playerid,689,DIALOG_STYLE_LIST,"Салон тюнинг","Диски (30000 тысяч)\nГидравлика (60000 тысяч)\nАзот (60000 тысяч)\nСтереo (60000 тысяч)","OK","Отмена");
return true;
}
}
else
{
SendClientMessage(playerid, -1, "Вы должны быть в мастерской чтоб тюнинговать автомобиль!");
}
}
в public OnDialogResponse
Код: Выделить всё
else if(dialogid == 689)
{
if(response)
{
new car = GetPlayerVehicleID(playerid);
switch(listitem)
{
case 0: ShowPlayerDialog(playerid,670,DIALOG_STYLE_LIST,"Выбор дисков","Shadow\nMega\nRimshine\nWires\nClassic\nTwist\nCutter\nGrove\nAtomic\nOffroad\nItal Import\nDollar\nAhab\nVirtual\nAccess","Выбор","Отмена");
case 1: { AddVehicleComponent(car, 1087); CarInfo[GetRealID(car)][cHydraulics] = 1087; }
case 2: { AddVehicleComponent(car, 1010); CarInfo[GetRealID(car)][cNitro] = 1010; }
case 3: { AddVehicleComponent(car, 1086); CarInfo[GetRealID(car)][cStereo] = 1086; }
}
if(listitem != 0)
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы поставили деталь.");
SetPVarInt(playerid,"kupil",1);
GiveMoney(playerid,-60000);
}
SaveCar(GetRealID(car));
}
}
else if(dialogid == 670)
{
new car = GetPlayerVehicleID(playerid);
if(response)
{
switch(listitem)
{
case 0: AddVehicleComponent(car, 1073);
case 1: AddVehicleComponent(car, 1074);
case 2: AddVehicleComponent(car, 1075);
case 3: AddVehicleComponent(car, 1076);
case 4: AddVehicleComponent(car, 1077);
case 5: AddVehicleComponent(car, 1078);
case 6: AddVehicleComponent(car, 1079);
case 7: AddVehicleComponent(car, 1081);
case 8: AddVehicleComponent(car, 1085);
case 9: AddVehicleComponent(car, 1025);
case 10: AddVehicleComponent(car, 1082);
case 11: AddVehicleComponent(car, 1083);
case 12: AddVehicleComponent(car, 1084);
case 13: AddVehicleComponent(car, 1096);
case 14: AddVehicleComponent(car, 1097);
case 15: AddVehicleComponent(car, 1098);
}
CarInfo[GetRealID(car)][cWheels] = GetVehicleComponentInSlot(car, CARMODTYPE_WHEELS);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы поставили диски на этот автомобиль.");
GiveMoney(playerid,-30000);
}
SaveCar(GetRealID(car));
}
В stock LoadCar(загрузки автомобиля)
Код: Выделить всё
ini_getInteger(iniOpen, "cWheels", CarInfo[car][cWheels]);
ini_getInteger(iniOpen, "cStereo", CarInfo[car][cStereo]);
ini_getInteger(iniOpen, "cNitro", CarInfo[car][cNitro]);
ini_getInteger(iniOpen, "cHydraulics", CarInfo[car][cHydraulics]);
также в этом же стоке, в конец добавьте
Код: Выделить всё
SetTuneCar(CarInfo[car][cID]);
В конец мода
Код: Выделить всё
stock SetTuneCar(carid)
{
if(CarInfo[GetRealID(carid)][cWheels] != 0) AddVehicleComponent(carid,CarInfo[GetRealID(carid)][cWheels]);
if(CarInfo[GetRealID(carid)][cStereo] != 0) AddVehicleComponent(carid,CarInfo[GetRealID(carid)][cStereo]);
if(CarInfo[GetRealID(carid)][cNitro] != 0) AddVehicleComponent(carid,CarInfo[GetRealID(carid)][cNitro]);
if(CarInfo[GetRealID(carid)][cHydraulics] != 0) AddVehicleComponent(carid,CarInfo[GetRealID(carid)][cHydraulics]);
{
}
if(CarInfo[GetRealID(carid)][cLock] == 1)
{
for(new i; i <= GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(carid,i,0,1);
}
}
}
return true;
}
В public OnVehicleSpawn
Код: Выделить всё
SetTuneCar(vehicleid);
в /savecars (если есть, если нету, не бойтесь, все равно все будет работать)
Код: Выделить всё
CarInfo[AllCars][cWheels] = 0;
CarInfo[AllCars][cStereo] = 0;
CarInfo[AllCars][cNitro] = 0;
CarInfo[AllCars][cHydraulics] = 0;
в stock SaveCar(сохранения авто)
Код: Выделить всё
ini_setInteger(iniOpen, "cWheels", CarInfo[car][cWheels]);
ini_setInteger(iniOpen, "cStereo", CarInfo[car][cStereo]);
ini_setInteger(iniOpen, "cNitro", CarInfo[car][cNitro]);
ini_setInteger(iniOpen, "cHydraulics", CarInfo[car][cHydraulics]);
В stock CreateCar(создания авто)
Код: Выделить всё
ini_setInteger(iniOpen, "cWheels", CarInfo[car][cWheels]);
ini_setInteger(iniOpen, "cStereo", CarInfo[car][cStereo]);
ini_setInteger(iniOpen, "cNitro", CarInfo[car][cNitro]);
ini_setInteger(iniOpen, "cHydraulics", CarInfo[car][cHydraulics]);
Также добавьте текст, что бы игроки видели, что им вводить
Код: Выделить всё
CreateDynamic3DTextLabel("{FFC800}Введите команду {FFFFFF}/tunecar {FFC800}для тюнинга авто.", COLOR_3DTEXT, 2179.6506,-1821.7126,18.810, 30.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,30.0);