28.04.2014, 12:10
Well I found a "semi" fix for the vehicle that gets destroyed..
When I remove the line "Destroycar" the new created car gets a new id like 152/153.. etc.. but then if i checked if i own the car.. i actually own the vehicle with ID 1 "which is a faction car or something"... and the player owns the vehicle with id 1 .. until the server gets restarted.. any ideas?
Код:
else if(strcmp(x_nr,"buy",true) == 0) { new car = 1; new model = GetVehicleModel(idcar); if(IsASalesVehicle(idcar)) { if(PlayerInfo[playerid][pPcarkey] == 9999 || PlayerInfo[playerid][pPcarkey2] == 9999) { } else return SendClientMessage(playerid, COLOR_GREY,"* You already own Two cars!"); if(GetPlayerMoney(playerid) >= GetVehiclePrice(idcar)) { if(PlayerInfo[playerid][pCarLic] == 1) { for(new h = 1; h < sizeof(CarInfo); h++) { if(CarInfo[h][cOwned] == 0) { car = h; h = 9999; } } format(string, sizeof(string),"BWRP/Vehicles/%d.ini",car) dini_Create(string); if(PlayerInfo[playerid][pPcarkey] != 9999) { PlayerInfo[playerid][pPcarkey2] = car; } else { PlayerInfo[playerid][pPcarkey] = car; } CarInfo[car][cOwned] = 1; strmid(CarInfo[car][cOwner], sendername, 0, strlen(sendername), 999); SafeGivePlayerMoney(playerid,-GetVehiclePrice(idcar)); else if(IsModelABoat(idcar)) { CarInfo[car][cLocationx] = -1568.9614; CarInfo[car][cLocationy] = 169.0118; CarInfo[car][cLocationz] = -0.6016; CarInfo[car][cAngle] = 208.7506; SendClientMessage(playerid, COLOR_YELLOW2, "Your Boat has spawned at the ds!"); } else { CarInfo[car][cLocationx] = -1589.2644; CarInfo[car][cLocationy] = 106.9119; CarInfo[car][cLocationz] = 3.5495; CarInfo[car][cAngle] = 317.1649; SendClientMessage(playerid, COLOR_YELLOW2, "Your vehicle has spawned at the ds!"); } CarInfo[car][cModel] = model; CarInfo[car][cVirWorld] = 0; CarInfo[car][cPaintjob] = 999; CarInfo[car][cColorOne] = 1; CarInfo[car][cColorTwo] = 1; CarInfo[car][cComponent0] = 0; CarInfo[car][cComponent1] = 0; CarInfo[car][cComponent2] = 0; CarInfo[car][cComponent3] = 0; CarInfo[car][cComponent4] = 0; CarInfo[car][cComponent5] = 0; CarInfo[car][cComponent6] = 0; CarInfo[car][cComponent7] = 0; CarInfo[car][cComponent8] = 0; CarInfo[car][cComponent9] = 0; CarInfo[car][cComponent10] = 0; CarInfo[car][cComponent11] = 0; CarInfo[car][cComponent12] = 0; CarInfo[car][cComponent13] = 0; //DestroyVehicle(carid); ownedcar[car] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cLocationx],CarInfo[car][cLocationy],CarInfo[car][cLocationz],90.0,1,1,30000); PlayerPlayMusic(playerid); SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!"); SendClientMessage(playerid, COLOR_GRAD2, "Type /vehiclehelp to view the vehicle manual!"); gEngine[playerid] = 0; engineOn[GetPlayerVehicleID(playerid)] = false; SendClientMessage(playerid, COLOR_GREY, "Remember to set the new Security Code of the Car (/v setcode)!"); new pass[24]; format(pass, sizeof(pass),"%d%d%d",random(9),random(9),random(9)); CarInfo[car][cCode] = strval(pass); OnPropUpdate(4,car); OnPlayerUpdateEx(playerid); } else { SendClientMessage(playerid, COLOR_WHITE, "* For security reasons, a Driving License is needed to buy a car!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " You don't have enough cash with you ! "); return 1; } } }