/Vstorage bugged, can't despawn personal vehicles
#1

I'm using /vstorage system for personal vehicles, I recently added vip restriction for spawn it and I have a bug , I can't spawn it because I get that restrictions for VIP even I'm the respective VIP Rank.



Код:
if(dialogid == VSTORAGE && response) {
	if(PlayerVehicleInfo[playerid][listitem][pvSpawned]) {

		new iVehicleID = PlayerVehicleInfo[playerid][listitem][pvId];

		if((!IsVehicleOccupied(iVehicleID) || IsPlayerInVehicle(playerid, iVehicleID)) && !IsVehicleInTow(iVehicleID)) {

			new
				Float: vehiclehealth;

			GetVehicleHealth(iVehicleID, vehiclehealth);

			if(vehiclehealth < 800) {
				SendClientMessageEx(playerid, COLOR_WHITE, "Acest vehicul este prea avariat ca sa fie storat.");
			}
			else {
				--PlayerCars;
				VehicleSpawned[playerid]--;
				PlayerVehicleInfo[playerid][listitem][pvSpawned] = 0;
				PlayerVehicleInfo[playerid][listitem][pvFuel] = VehicleFuel[iVehicleID];
				VehicleFuel[iVehicleID] = 100.0;
				DestroyVehicle(iVehicleID);
				PlayerVehicleInfo[playerid][listitem][pvId] = INVALID_PLAYER_VEHICLE_ID;

                new vstring[128];
				format(vstring, sizeof(vstring), "Ti-ai storat %s. Vehiculul a fost despawnat.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]);
				SendClientMessageEx(playerid, COLOR_WHITE, vstring);
				CheckPlayerVehiclesForDesync(playerid);
			}
		}
		else SendClientMessageEx(playerid, COLOR_WHITE, "Acest vehicul este momentat ocupat - nu poate fi despawnat acum.");
	}
	else if(PlayerVehicleInfo[playerid][listitem][pvImpounded]) {
		SendClientMessageEx(playerid, COLOR_WHITE, "Nu poti spawna o masina impounded. Daca doresti sa o iei inapoi, mergi la DMV in Dillimore si plateste amenda.");
	}
	else if(PlayerVehicleInfo[playerid][listitem][pvDisabled]) {
		SendClientMessageEx(playerid, COLOR_WHITE, "Nu poti spawna un vehicul disabled. Aceasta este disabled datorita rank-ului tau de VIP (vehicle restrictions).");
	}
    else if(!PlayerVehicleInfo[playerid][listitem][pvSpawned]) {
			if(PlayerInfo[playerid][pDonateRank] == 0 && VehicleSpawned[playerid] >= 2) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca membru Non-VIP poti avea doar 2 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
			else if(PlayerInfo[playerid][pDonateRank] == 1 && VehicleSpawned[playerid] >= 2) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca Bronze VIP poti avea doar 2 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
			else if(PlayerInfo[playerid][pDonateRank] == 2 && VehicleSpawned[playerid] >= 2) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca Silver VIP poti avea doar 2 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
			else if(PlayerInfo[playerid][pDonateRank] == 3 && VehicleSpawned[playerid] >= 3) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca Gold VIP poti avea 3 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
			else if(PlayerInfo[playerid][pDonateRank] == 4 && VehicleSpawned[playerid] >= 5) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca Platinum VIP poti avea 5 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
			else if(PlayerInfo[playerid][pDonateRank] == 5 && VehicleSpawned[playerid] >= 5) {
				SendClientMessageEx(playerid, COLOR_GREY, "Ca VIP Moderator poti avea 5 vehicule spawnate. Trebuie sa storezi o masina pentru a spawna alt vehicul.");
			}
	     	else if(!(0 <= PlayerInfo[playerid][pDonateRank] <= 5)) {
				SendClientMessageEx(playerid, COLOR_GREY, "You have an invalid VIP level.");
			}
			else if((PlayerVehicleInfo[playerid][listitem][pvModelId]) < 400) {
				SendClientMessageEx(playerid, COLOR_GREY, "The vehicle slot is empty.");
			}
			else {

			new
				iVeh = CreateVehicleEx(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1, playerid);

			++PlayerCars;
			VehicleSpawned[playerid]++;
			PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
			PlayerVehicleInfo[playerid][listitem][pvId] = iVeh;
			VehicleFuel[iVeh] = PlayerVehicleInfo[playerid][listitem][pvFuel];
			if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1) LockPlayerVehicle(playerid, iVeh, PlayerVehicleInfo[playerid][listitem][pvLock]);
			LoadPlayerVehicleMods(playerid, listitem);

            new vstring[64];
            format(vstring, sizeof(vstring), "You have taken your %s out of storage.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]);
			SendClientMessageEx(playerid, COLOR_WHITE, vstring);
			CheckPlayerVehiclesForDesync(playerid);
			Vehicle_ResetData(iVeh);

			new szPrefix[32], tmpFVehModelId, Float:tmpFVehPos[4];

			format(szPrefix, sizeof(szPrefix), "tmpVeh%dModelId", listitem);
			tmpFVehModelId = GetPVarInt(playerid, szPrefix);
			DeletePVar(playerid, szPrefix);
			format(szPrefix, sizeof(szPrefix), "tmpVeh%dPosX", listitem);
			tmpFVehPos[0] = GetPVarFloat(playerid, szPrefix);
			DeletePVar(playerid, szPrefix);
			format(szPrefix, sizeof(szPrefix), "tmpVeh%dPosY", listitem);
			tmpFVehPos[1] = GetPVarFloat(playerid, szPrefix);
			DeletePVar(playerid, szPrefix);
			format(szPrefix, sizeof(szPrefix), "tmpVeh%dPosZ", listitem);
			tmpFVehPos[2] = GetPVarFloat(playerid, szPrefix);
			DeletePVar(playerid, szPrefix);
			format(szPrefix, sizeof(szPrefix), "tmpVeh%dAngle", listitem);
			tmpFVehPos[3] = GetPVarFloat(playerid, szPrefix);
			DeletePVar(playerid, szPrefix);

			if(tmpFVehPos[0] != 0.0 && tmpFVehModelId == PlayerVehicleInfo[playerid][listitem][pvModelId])
			{
				SetVehiclePos(iVeh, tmpFVehPos[0], tmpFVehPos[1], tmpFVehPos[2]);
				SetVehicleZAngle(iVeh, tmpFVehPos[3]);

				SendClientMessageEx(playerid, COLOR_WHITE, "Your vehicle has been restored to it's last known location from your previous timeout.");
			}
		}
	}
	else SendClientMessageEx(playerid, COLOR_WHITE, "You can not spawn a non-existent vehicle.");
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)