- 0
ajutor va rog !!
-
Similar Content
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
cr3azy
deci am un sistem de masini personale... cand dau /dealervehicle pun idu .. pretul imi apare masina... intru in masina dau /buy ... mi se respawneaza masina... totul e bine,,,, dar cand dau /restart ma duc la masina si cand urc in ea imi apare sa cumpar o masina din nou ... acelas dealership... ajutor va rog
enum vDealerData { vModel, Float:vX, Float:vY, Float:vZ, Float:vRot, vForSale, vPrice, Text3D:vLabel, vID, vSQL_ID }; enum pDealerData { pCarModel, Float:pCarX, Float:pCarY, Float:pCarZ, Float:pCarRot, pCarColor1, pCarColor2, pCarPaintjob, pCarMod1, pCarMod2, pCarMod3, pCarMod4, pCarMod5, pCarMod6, pCarMod7, pCarMod8, pCarMod9, pCarMod10, pCarMod11, pCarMod12, pCarMod13, pCarMod14, pCarMod15, pCarMod16, pCarMod17, pCarHasLock, pCarLocked, pCarTrunkCash, pCarTrunkGun1, pCarTrunkGun2, pCarTrunkGun3, pCarTrunkGun4, pCarTrunkAmmo1, pCarTrunkAmmo2, pCarTrunkAmmo3, pCarTrunkAmmo4, pCarSpawned, pCarOwned, pCarID }; new PlayerVehicles[MAX_PLAYERS][MAX_PLAYER_CARS + 1][pDealerData]; new DealershipVehicles[MAX_VEHICLES][vDealerData]; new VehicleLocked[MAX_VEHICLES]; new VehicleListitem[MAX_PLAYERS][MAX_PLAYER_CARS + 1]; new DB:VehicleDatabase[MAX_PLAYERS]; new DB:DealerVehicleDatabase; new dealershipCars;stock PlayerName(playerid, bool:show_underscore = true) { new pName[24]; GetPlayerName(playerid, pName, MAX_PLAYER_NAME); if (show_underscore == false) { for (new i = 0; i < strlen(pName); i += 1) { if (pName[i] == '_') pName[i] = ' '; } } return pName; } stock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; } stock DB_Escape(text[]) { new ret[80 * 2], ch, i, j; while ((ch = text[i++]) && j < sizeof (ret)) { if (ch == '\'') { if (j < sizeof (ret) - 2) { ret[j++] = '\''; ret[j++] = '\''; } } else if (j < sizeof (ret)) { ret[j++] = ch; } else { j++; } } ret[sizeof (ret) - 1] = '\0'; return ret; } stock ReturnComponentSlot(componentid) { new i = 0; for(i = 0; i < 20; i ++) { if(spoiler[i][0] == componentid) { return 1; } } for(i = 0; i < 3; i ++) { if(nitro[i][0] == componentid) { return 2; } } for(i = 0; i < 23; i ++) { if(front_bumper[i][0] == componentid) { return 3; } } for(i = 0; i < 22; i ++) { if(rear_bumper[i][0] == componentid) { return 4; } } for(i = 0; i < 28; i ++) { if(exhaust[i][0] == componentid) { return 5; } } for(i = 0; i < 2; i ++) { if(bventr[i][0] == componentid) { return 6; } } for(i = 0; i < 2; i ++) { if(bventl[i][0] == componentid) { return 7; } } for(i = 0; i < 4; i ++) { if(bscoop[i][0] == componentid) { return 8; } } for(i = 0; i < 13; i ++) { if(rscoop[i][0] == componentid) { return 9; } } for(i = 0; i < 21; i ++) { if(left_sideskirt[i][0] == componentid) { return 10; } } for(i = 0; i < 21; i ++) { if(right_sideskirt[i][0] == componentid) { return 11; } } if(hydraulics[0][0] == componentid) { return 12; } if(bass[0][0] == componentid) { return 13; } for(i = 0; i < 2; i ++) { if(rbbars[i][0] == componentid) { return 14; } } for(i = 0; i < 2; i ++) { if(fbbars[i][0] == componentid) { return 15; } } for(i = 0; i < 17; i ++) { if(wheels[i][0] == componentid) { return 16; } } for(i = 0; i < 2; i ++) { if(lights[i][0] == componentid) { return 17; } } return 0; }stock CreateVehicleTables(playerid) { if (IsPlayerConnected(playerid)) { new query[1536]; format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `VEHICLES` "); strcat(query, "(`Name`, `Model`, `X`, `Y`, `Z`, `Rot`, `Color1`, `Color2`, `Paintjob`, `Mod1`, `Mod2`, `Mod3`, "); strcat(query, "`Mod4`, `Mod5`, `Mod6`, `Mod7`, `Mod8`, `Mod9`, `Mod10`, `Mod11`, `Mod12`, `Mod13`, "); strcat(query, "`Mod14`, `Mod15`, `Mod16`, `Mod17`, `HasLock`, `Locked`, `TrunkCash`, "); strcat(query, "`TrunkGun1`, `TrunkGun2`, `TrunkGun3`, `TrunkGun4`, `TrunkAmmo1`, `TrunkAmmo2`, `TrunkAmmo3`, "); strcat(query, "`TrunkAmmo4`, `Spawned`, `Owned`, `Slot`)"); db_query(VehicleDatabase[playerid], query); } return 1; } stock DeleteDealershipVehicle(vehicleid) { new query[128]; if (DealershipVehicles[vehicleid][vForSale]) { format(query, sizeof(query), "DELETE FROM `DEALERCARS` WHERE `vID` = '%d'", DealershipVehicles[vehicleid][vSQL_ID]); db_query(DealerVehicleDatabase, query); DealershipVehicles[vehicleid][vModel] = 0; DealershipVehicles[vehicleid][vX] = 0.0; DealershipVehicles[vehicleid][vY] = 0.0; DealershipVehicles[vehicleid][vZ] = 0.0; DealershipVehicles[vehicleid][vRot] = 0.0; DealershipVehicles[vehicleid][vForSale] = 0; DealershipVehicles[vehicleid][vPrice] = 0; Delete3DTextLabel(DealershipVehicles[vehicleid][vLabel]); DestroyVehicle(DealershipVehicles[vehicleid][vID]); DealershipVehicles[vehicleid][vID] = 0; DealershipVehicles[vehicleid][vSQL_ID] = 0; dealershipCars -= 1; return 1; } return 0; } stock DeletePlayerVehicle(playerid, slot) { new query[128]; if (PlayerVehicles[playerid][slot][pCarOwned]) { format(query, sizeof(query), "DELETE FROM `VEHICLES` WHERE `Name` = '%s' AND `Slot` = '%d'", PlayerName(playerid), slot); db_query(VehicleDatabase[playerid], query); PlayerVehicles[playerid][slot][pCarModel] = 0; PlayerVehicles[playerid][slot][pCarX] = 0.0; PlayerVehicles[playerid][slot][pCarY] = 0.0; PlayerVehicles[playerid][slot][pCarZ] = 0.0; PlayerVehicles[playerid][slot][pCarRot] = 0.0; PlayerVehicles[playerid][slot][pCarColor1] = 0; PlayerVehicles[playerid][slot][pCarColor2] = 0; PlayerVehicles[playerid][slot][pCarPaintjob] = -1; PlayerVehicles[playerid][slot][pCarMod1] = 0; PlayerVehicles[playerid][slot][pCarMod2] = 0; PlayerVehicles[playerid][slot][pCarMod3] = 0; PlayerVehicles[playerid][slot][pCarMod4] = 0; PlayerVehicles[playerid][slot][pCarMod5] = 0; PlayerVehicles[playerid][slot][pCarMod6] = 0; PlayerVehicles[playerid][slot][pCarMod7] = 0; PlayerVehicles[playerid][slot][pCarMod8] = 0; PlayerVehicles[playerid][slot][pCarMod9] = 0; PlayerVehicles[playerid][slot][pCarMod10] = 0; PlayerVehicles[playerid][slot][pCarMod11] = 0; PlayerVehicles[playerid][slot][pCarMod12] = 0; PlayerVehicles[playerid][slot][pCarMod13] = 0; PlayerVehicles[playerid][slot][pCarMod14] = 0; PlayerVehicles[playerid][slot][pCarMod15] = 0; PlayerVehicles[playerid][slot][pCarMod16] = 0; PlayerVehicles[playerid][slot][pCarMod17] = 0; PlayerVehicles[playerid][slot][pCarHasLock] = 0; PlayerVehicles[playerid][slot][pCarLocked] = 0; PlayerVehicles[playerid][slot][pCarTrunkCash] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun1] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun2] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun3] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun4] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo1] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo2] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo3] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo4] = 0; PlayerVehicles[playerid][slot][pCarSpawned] = 0; PlayerVehicles[playerid][slot][pCarOwned] = 0; if (PlayerVehicles[playerid][slot][pCarID] != 0) { UnlockVehicle(PlayerVehicles[playerid][slot][pCarID]); DestroyVehicle(PlayerVehicles[playerid][slot][pCarID]); PlayerVehicles[playerid][slot][pCarID] = 0; } return 1; } return 0; } stock CreateDealershipVehicle(model, price, Float:x, Float:y, Float:z, Float:rotation) { if (model < 400 || model > 611) return 0; new vehicleid, string[256], query[1536]; vehicleid = CreateVehicle(model, x, y, z, rotation, 1, 1, 5); if (vehicleid == INVALID_VEHICLE_ID) return 0; DealershipVehicles[vehicleid][vModel] = model; DealershipVehicles[vehicleid][vX] = x; DealershipVehicles[vehicleid][vY] = y; DealershipVehicles[vehicleid][vZ] = z; DealershipVehicles[vehicleid][vRot] = rotation; DealershipVehicles[vehicleid][vForSale] = 1; DealershipVehicles[vehicleid][vPrice] = price; DealershipVehicles[vehicleid][vID] = vehicleid; DealershipVehicles[vehicleid][vSQL_ID] = dealershipCars + 1; format(string, sizeof(string), "This {FFFFFF}%s {F5DEB3}is for sale.\nThe cost of this vehicle is {FFFFFF}$%d.\n{F5DEB3}For more information, enter the vehicle.", GetVehicleName(vehicleid), price); DealershipVehicles[vehicleid][vLabel] = Create3DTextLabel(string, YELLOW2, x, y, z, 10.0, 0); dealershipCars += 1; format(query, sizeof(query), "INSERT INTO `DEALERCARS` (`vID`, `vModel`, `vX`, `vY`, `vZ`, `vRot`, `vForSale`, `vPrice`) VALUES('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d')", dealershipCars, model, x, y, z, rotation, 1, price); db_query(DealerVehicleDatabase, query); return vehicleid; } stock CreatePlayerVehicle(playerid, model, Float:x, Float:y, Float:z, Float:rotation) { new slot = -1; for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { if (PlayerVehicles[playerid][i][pCarOwned] == 0) { slot = i; break; } } if (slot == -1) return 0; new vehicleid = CreateVehicle(model, x, y, z, rotation, 1, 1, -1); if (vehicleid == INVALID_VEHICLE_ID) return -1; PlayerVehicles[playerid][slot][pCarModel] = model; PlayerVehicles[playerid][slot][pCarX] = x; PlayerVehicles[playerid][slot][pCarY] = y; PlayerVehicles[playerid][slot][pCarZ] = z; PlayerVehicles[playerid][slot][pCarRot] = rotation; PlayerVehicles[playerid][slot][pCarColor1] = 1; PlayerVehicles[playerid][slot][pCarColor2] = 1; PlayerVehicles[playerid][slot][pCarPaintjob] = -1; PlayerVehicles[playerid][slot][pCarMod1] = 0; PlayerVehicles[playerid][slot][pCarMod2] = 0; PlayerVehicles[playerid][slot][pCarMod3] = 0; PlayerVehicles[playerid][slot][pCarMod4] = 0; PlayerVehicles[playerid][slot][pCarMod5] = 0; PlayerVehicles[playerid][slot][pCarMod6] = 0; PlayerVehicles[playerid][slot][pCarMod7] = 0; PlayerVehicles[playerid][slot][pCarMod8] = 0; PlayerVehicles[playerid][slot][pCarMod9] = 0; PlayerVehicles[playerid][slot][pCarMod10] = 0; PlayerVehicles[playerid][slot][pCarMod11] = 0; PlayerVehicles[playerid][slot][pCarMod12] = 0; PlayerVehicles[playerid][slot][pCarMod13] = 0; PlayerVehicles[playerid][slot][pCarMod14] = 0; PlayerVehicles[playerid][slot][pCarMod15] = 0; PlayerVehicles[playerid][slot][pCarMod16] = 0; PlayerVehicles[playerid][slot][pCarMod17] = 0; PlayerVehicles[playerid][slot][pCarHasLock] = 0; PlayerVehicles[playerid][slot][pCarLocked] = 0; PlayerVehicles[playerid][slot][pCarTrunkCash] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun1] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun2] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun3] = 0; PlayerVehicles[playerid][slot][pCarTrunkGun4] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo1] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo2] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo3] = 0; PlayerVehicles[playerid][slot][pCarTrunkAmmo4] = 0; PlayerVehicles[playerid][slot][pCarSpawned] = 1; PlayerVehicles[playerid][slot][pCarOwned] = 1; PlayerVehicles[playerid][slot][pCarID] = vehicleid; new query[1536], query2[1536]; format(query, sizeof(query), "INSERT INTO `VEHICLES` "); strcat(query, "(`Name`, `Model`, `X`, `Y`, `Z`, `Rot`, `Color1`, `Color2`, `Paintjob`, `Mod1`, `Mod2`, `Mod3`, "); strcat(query, "`Mod4`, `Mod5`, `Mod6`, `Mod7`, `Mod8`, `Mod9`, `Mod10`, `Mod11`, `Mod12`, `Mod13`, "); strcat(query, "`Mod14`, `Mod15`, `Mod16`, `Mod17`, `HasLock`, `Locked`, `TrunkCash`, "); strcat(query, "`TrunkGun1`, `TrunkGun2`, `TrunkGun3`, `TrunkGun4`, `TrunkAmmo1`, `TrunkAmmo2`, `TrunkAmmo3`, "); strcat(query, "`TrunkAmmo4`, `Spawned`, `Owned`, `Slot`) "); format(query2, sizeof(query2), "VALUES('%s', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')", DB_Escape(PlayerName(playerid)), PlayerVehicles[playerid][slot][pCarModel], PlayerVehicles[playerid][slot][pCarX], PlayerVehicles[playerid][slot][pCarY], PlayerVehicles[playerid][slot][pCarZ], PlayerVehicles[playerid][slot][pCarRot], PlayerVehicles[playerid][slot][pCarColor1], PlayerVehicles[playerid][slot][pCarColor2], PlayerVehicles[playerid][slot][pCarPaintjob], PlayerVehicles[playerid][slot][pCarMod1], PlayerVehicles[playerid][slot][pCarMod2], PlayerVehicles[playerid][slot][pCarMod3], PlayerVehicles[playerid][slot][pCarMod4], PlayerVehicles[playerid][slot][pCarMod5], PlayerVehicles[playerid][slot][pCarMod6], PlayerVehicles[playerid][slot][pCarMod7], PlayerVehicles[playerid][slot][pCarMod8], PlayerVehicles[playerid][slot][pCarMod9], PlayerVehicles[playerid][slot][pCarMod10], PlayerVehicles[playerid][slot][pCarMod11], PlayerVehicles[playerid][slot][pCarMod12], PlayerVehicles[playerid][slot][pCarMod13], PlayerVehicles[playerid][slot][pCarMod14], PlayerVehicles[playerid][slot][pCarMod15], PlayerVehicles[playerid][slot][pCarMod16], PlayerVehicles[playerid][slot][pCarMod17], PlayerVehicles[playerid][slot][pCarHasLock], PlayerVehicles[playerid][slot][pCarLocked], PlayerVehicles[playerid][slot][pCarTrunkCash], PlayerVehicles[playerid][slot][pCarTrunkGun1], PlayerVehicles[playerid][slot][pCarTrunkGun2], PlayerVehicles[playerid][slot][pCarTrunkGun3], PlayerVehicles[playerid][slot][pCarTrunkGun4], PlayerVehicles[playerid][slot][pCarTrunkAmmo1], PlayerVehicles[playerid][slot][pCarTrunkAmmo2], PlayerVehicles[playerid][slot][pCarTrunkAmmo3], PlayerVehicles[playerid][slot][pCarTrunkAmmo4], PlayerVehicles[playerid][slot][pCarSpawned], PlayerVehicles[playerid][slot][pCarOwned], slot); strcat(query, query2); db_query(VehicleDatabase[playerid], query); SavePlayerVehicle(playerid, slot); return 1; } stock SavePlayerVehicle(playerid, slot) { if (PlayerVehicles[playerid][slot][pCarOwned]) { new query[1536], query2[1536]; format(query, sizeof(query), "UPDATE `VEHICLES` SET "); format(query2, sizeof(query2), "Name = '%s', Model = '%d', X = '%f', Y = '%f', Z = '%f', Rot = '%f', Color1 = '%d', Color2 = '%d', Paintjob = '%d', Mod1 = '%d', Mod2 = '%d', Mod3 = '%d', ", DB_Escape(PlayerName(playerid)), PlayerVehicles[playerid][slot][pCarModel], PlayerVehicles[playerid][slot][pCarX], PlayerVehicles[playerid][slot][pCarY], PlayerVehicles[playerid][slot][pCarZ], PlayerVehicles[playerid][slot][pCarRot], PlayerVehicles[playerid][slot][pCarColor1], PlayerVehicles[playerid][slot][pCarColor2], PlayerVehicles[playerid][slot][pCarPaintjob], PlayerVehicles[playerid][slot][pCarMod1], PlayerVehicles[playerid][slot][pCarMod2], PlayerVehicles[playerid][slot][pCarMod3]); strcat(query, query2); format(query2, sizeof(query2), "Mod4 = '%d', Mod5 = '%d', Mod6 = '%d', Mod7 = '%d', Mod8 = '%d', Mod9 = '%d', Mod10 = '%d', Mod11 = '%d', Mod12 = '%d', Mod13 = '%d', Mod14 = '%d', Mod15 = '%d', ", PlayerVehicles[playerid][slot][pCarMod4], PlayerVehicles[playerid][slot][pCarMod5], PlayerVehicles[playerid][slot][pCarMod6], PlayerVehicles[playerid][slot][pCarMod7], PlayerVehicles[playerid][slot][pCarMod8], PlayerVehicles[playerid][slot][pCarMod9], PlayerVehicles[playerid][slot][pCarMod10], PlayerVehicles[playerid][slot][pCarMod11], PlayerVehicles[playerid][slot][pCarMod12], PlayerVehicles[playerid][slot][pCarMod13], PlayerVehicles[playerid][slot][pCarMod14], PlayerVehicles[playerid][slot][pCarMod15]); strcat(query, query2); format(query2, sizeof(query2), "Mod16 = '%d', Mod17 = '%d', HasLock = '%d', Locked = '%d', TrunkCash = '%d', TrunkGun1 = '%d', TrunkGun2 = '%d', TrunkGun3 = '%d', TrunkGun4 = '%d', TrunkAmmo1 = '%d', TrunkAmmo2 = '%d', TrunkAmmo3 = '%d', ", PlayerVehicles[playerid][slot][pCarMod16], PlayerVehicles[playerid][slot][pCarMod17], PlayerVehicles[playerid][slot][pCarHasLock], PlayerVehicles[playerid][slot][pCarLocked], PlayerVehicles[playerid][slot][pCarTrunkCash], PlayerVehicles[playerid][slot][pCarTrunkGun1], PlayerVehicles[playerid][slot][pCarTrunkGun2], PlayerVehicles[playerid][slot][pCarTrunkGun3], PlayerVehicles[playerid][slot][pCarTrunkGun4], PlayerVehicles[playerid][slot][pCarTrunkAmmo1], PlayerVehicles[playerid][slot][pCarTrunkAmmo2], PlayerVehicles[playerid][slot][pCarTrunkAmmo3]); strcat(query, query2); format(query2, sizeof(query2), "TrunkAmmo4 = '%d', Spawned = '%d', Owned = '%d', Slot = '%d' WHERE Name = '%s' AND Slot = '%d'", PlayerVehicles[playerid][slot][pCarTrunkAmmo4], PlayerVehicles[playerid][slot][pCarSpawned], PlayerVehicles[playerid][slot][pCarOwned], slot, DB_Escape(PlayerName(playerid)), slot); strcat(query, query2); db_query(VehicleDatabase[playerid], query); } return 1; } stock LoadPlayerVehicles(playerid) { new DBResult:result; new query[192], field[64]; for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { format(query, sizeof(query), "SELECT * FROM `VEHICLES` WHERE `Name` = '%s' COLLATE NOCASE AND `Slot` = '%d'", PlayerName(playerid), i); result = db_query(VehicleDatabase[playerid], query); if (db_num_rows(result)) { db_get_field_assoc(result, "Model", field, sizeof(field)); PlayerVehicles[playerid][i][pCarModel] = strval(field); db_get_field_assoc(result, "X", field, sizeof(field)); PlayerVehicles[playerid][i][pCarX] = floatstr(field); db_get_field_assoc(result, "Y", field, sizeof(field)); PlayerVehicles[playerid][i][pCarY] = floatstr(field); db_get_field_assoc(result, "Z", field, sizeof(field)); PlayerVehicles[playerid][i][pCarZ] = floatstr(field); db_get_field_assoc(result, "Rot", field, sizeof(field)); PlayerVehicles[playerid][i][pCarRot] = floatstr(field); db_get_field_assoc(result, "Color1", field, sizeof(field)); PlayerVehicles[playerid][i][pCarColor1] = strval(field); db_get_field_assoc(result, "Color2", field, sizeof(field)); PlayerVehicles[playerid][i][pCarColor2] = strval(field); db_get_field_assoc(result, "Paintjob", field, sizeof(field)); PlayerVehicles[playerid][i][pCarPaintjob] = strval(field); db_get_field_assoc(result, "Mod1", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod1] = strval(field); db_get_field_assoc(result, "Mod2", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod2] = strval(field); db_get_field_assoc(result, "Mod3", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod3] = strval(field); db_get_field_assoc(result, "Mod4", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod4] = strval(field); db_get_field_assoc(result, "Mod5", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod5] = strval(field); db_get_field_assoc(result, "Mod6", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod6] = strval(field); db_get_field_assoc(result, "Mod7", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod7] = strval(field); db_get_field_assoc(result, "Mod8", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod8] = strval(field); db_get_field_assoc(result, "Mod9", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod9] = strval(field); db_get_field_assoc(result, "Mod10", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod10] = strval(field); db_get_field_assoc(result, "Mod11", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod11] = strval(field); db_get_field_assoc(result, "Mod12", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod12] = strval(field); db_get_field_assoc(result, "Mod13", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod13] = strval(field); db_get_field_assoc(result, "Mod14", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod14] = strval(field); db_get_field_assoc(result, "Mod15", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod15] = strval(field); db_get_field_assoc(result, "Mod16", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod16] = strval(field); db_get_field_assoc(result, "Mod17", field, sizeof(field)); PlayerVehicles[playerid][i][pCarMod17] = strval(field); db_get_field_assoc(result, "HasLock", field, sizeof(field)); PlayerVehicles[playerid][i][pCarHasLock] = strval(field); db_get_field_assoc(result, "Locked", field, sizeof(field)); PlayerVehicles[playerid][i][pCarLocked] = strval(field); db_get_field_assoc(result, "TrunkCash", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkCash] = strval(field); db_get_field_assoc(result, "TrunkGun1", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkGun1] = strval(field); db_get_field_assoc(result, "TrunkGun2", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkGun2] = strval(field); db_get_field_assoc(result, "TrunkGun3", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkGun3] = strval(field); db_get_field_assoc(result, "TrunkGun4", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkGun4] = strval(field); db_get_field_assoc(result, "TrunkAmmo1", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkAmmo1] = strval(field); db_get_field_assoc(result, "TrunkAmmo2", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkAmmo2] = strval(field); db_get_field_assoc(result, "TrunkAmmo3", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkAmmo3] = strval(field); db_get_field_assoc(result, "TrunkAmmo4", field, sizeof(field)); PlayerVehicles[playerid][i][pCarTrunkAmmo4] = strval(field); db_get_field_assoc(result, "Spawned", field, sizeof(field)); PlayerVehicles[playerid][i][pCarSpawned] = strval(field); db_get_field_assoc(result, "Owned", field, sizeof(field)); PlayerVehicles[playerid][i][pCarOwned] = strval(field); } if (PlayerVehicles[playerid][i][pCarOwned]) { if (PlayerVehicles[playerid][i][pCarSpawned]) { PlayerVehicles[playerid][i][pCarID] = CreateVehicle(PlayerVehicles[playerid][i][pCarModel], PlayerVehicles[playerid][i][pCarX], PlayerVehicles[playerid][i][pCarY], PlayerVehicles[playerid][i][pCarZ], PlayerVehicles[playerid][i][pCarRot], PlayerVehicles[playerid][i][pCarColor1], PlayerVehicles[playerid][i][pCarColor2], -1); ModifyVehicle(playerid, i); } } db_free_result(result); } return 1; } stock SaveDealershipVehicles() { new query[512], query2[512]; for (new i = 1; i < MAX_VEHICLES; i += 1) { if (!DealershipVehicles[i][vForSale]) continue; format(query, sizeof(query), "UPDATE `DEALERCARS` SET "); format(query2, sizeof(query2), "vID = '%d', vModel = '%d', vX = '%f', vY = '%f', vZ = '%f', vRot = '%f', vForSale = '%d', vPrice = '%d' WHERE `vID` = '%d'", DealershipVehicles[i][vSQL_ID], DealershipVehicles[i][vModel], DealershipVehicles[i][vX], DealershipVehicles[i][vY], DealershipVehicles[i][vZ], DealershipVehicles[i][vRot], DealershipVehicles[i][vForSale], DealershipVehicles[i][vPrice], DealershipVehicles[i][vSQL_ID]); strcat(query, query2); db_query(DealerVehicleDatabase, query); } return 1; } stock LoadDealershipVehicles() { new DBResult:result; new query[128], field[64], string[256]; for (new i = 1; i < MAX_VEHICLES; i += 1) { format(query, sizeof(query), "SELECT * FROM `DEALERCARS` WHERE vID = '%d'", i); result = db_query(DealerVehicleDatabase, query); if (db_num_rows(result)) { new model, Float:x, Float:y, Float:z, Float:rot, forsale, price, vehicleid; db_get_field_assoc(result, "vModel", field, sizeof(field)); model = strval(field); db_get_field_assoc(result, "vX", field, sizeof(field)); x = strval(field); db_get_field_assoc(result, "vY", field, sizeof(field)); y = strval(field); db_get_field_assoc(result, "vZ", field, sizeof(field)); z = strval(field); db_get_field_assoc(result, "vRot", field, sizeof(field)); rot = strval(field); db_get_field_assoc(result, "vForSale", field, sizeof(field)); forsale = strval(field); db_get_field_assoc(result, "vPrice", field, sizeof(field)); price = strval(field); vehicleid = CreateVehicle(model, x, y, z, rot, 1, 1, 5); DealershipVehicles[vehicleid][vModel] = model; DealershipVehicles[vehicleid][vX] = x; DealershipVehicles[vehicleid][vY] = y; DealershipVehicles[vehicleid][vZ] = z; DealershipVehicles[vehicleid][vRot] = rot; DealershipVehicles[vehicleid][vForSale] = forsale; DealershipVehicles[vehicleid][vPrice] = price; DealershipVehicles[vehicleid][vID] = vehicleid; format(string, sizeof(string), "This {FFFFFF}%s {F5DEB3}is for sale.\nThe cost of this vehicle is {FFFFFF}$%d.\n{F5DEB3}For more information, enter the vehicle.", GetVehicleName(vehicleid), price); DealershipVehicles[vehicleid][vLabel] = Create3DTextLabel(string, YELLOW2, x, y, z, 10.0, 0); DealershipVehicles[vehicleid][vSQL_ID] = dealershipCars + 1; dealershipCars += 1; } db_free_result(result); } return 1; } stock ModifyVehicle(playerid, slot) { if (!PlayerVehicles[playerid][slot][pCarOwned]) return 1; if (!PlayerVehicles[playerid][slot][pCarSpawned]) return 1; new vehicleid = PlayerVehicles[playerid][slot][pCarID]; new comp1 = PlayerVehicles[playerid][slot][pCarMod1]; new comp2 = PlayerVehicles[playerid][slot][pCarMod2]; new comp3 = PlayerVehicles[playerid][slot][pCarMod3]; new comp4 = PlayerVehicles[playerid][slot][pCarMod4]; new comp5 = PlayerVehicles[playerid][slot][pCarMod5]; new comp6 = PlayerVehicles[playerid][slot][pCarMod6]; new comp7 = PlayerVehicles[playerid][slot][pCarMod7]; new comp8 = PlayerVehicles[playerid][slot][pCarMod8]; new comp9 = PlayerVehicles[playerid][slot][pCarMod9]; new comp10 = PlayerVehicles[playerid][slot][pCarMod10]; new comp11 = PlayerVehicles[playerid][slot][pCarMod11]; new comp12 = PlayerVehicles[playerid][slot][pCarMod12]; new comp13 = PlayerVehicles[playerid][slot][pCarMod13]; new comp14 = PlayerVehicles[playerid][slot][pCarMod14]; new comp15 = PlayerVehicles[playerid][slot][pCarMod15]; new comp16 = PlayerVehicles[playerid][slot][pCarMod16]; new comp17 = PlayerVehicles[playerid][slot][pCarMod17]; new color1 = PlayerVehicles[playerid][slot][pCarColor1]; new color2 = PlayerVehicles[playerid][slot][pCarColor2]; new paintjob = PlayerVehicles[playerid][slot][pCarPaintjob]; if (comp1 != 0) AddVehicleComponent(vehicleid, comp1); if (comp2 != 0) AddVehicleComponent(vehicleid, comp2); if (comp3 != 0) AddVehicleComponent(vehicleid, comp3); if (comp4 != 0) AddVehicleComponent(vehicleid, comp4); if (comp5 != 0) AddVehicleComponent(vehicleid, comp5); if (comp6 != 0) AddVehicleComponent(vehicleid, comp6); if (comp7 != 0) AddVehicleComponent(vehicleid, comp7); if (comp8 != 0) AddVehicleComponent(vehicleid, comp8); if (comp9 != 0) AddVehicleComponent(vehicleid, comp9); if (comp10 != 0) AddVehicleComponent(vehicleid, comp10); if (comp11 != 0) AddVehicleComponent(vehicleid, comp11); if (comp12 != 0) AddVehicleComponent(vehicleid, comp12); if (comp13 != 0) AddVehicleComponent(vehicleid, comp13); if (comp14 != 0) AddVehicleComponent(vehicleid, comp14); if (comp15 != 0) AddVehicleComponent(vehicleid, comp15); if (comp16 != 0) AddVehicleComponent(vehicleid, comp16); if (comp17 != 0) AddVehicleComponent(vehicleid, comp17); ChangeVehicleColor(vehicleid, color1, color2); if (paintjob != -1) ChangeVehiclePaintjob(vehicleid, paintjob); switch (PlayerVehicles[playerid][slot][pCarLocked]) { case 0: UnlockVehicle(PlayerVehicles[playerid][slot][pCarID]); case 1: LockVehicle(PlayerVehicles[playerid][slot][pCarID]); } return 1; }stock PlayerOwnsVehicle(playerid, vehicleid) { for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { if (PlayerVehicles[playerid][i][pCarID] == vehicleid && PlayerVehicles[playerid][i][pCarSpawned]) return 1; } return 0; } stock GetPlayerVehicleSlot(playerid) { if (IsPlayerInAnyVehicle(playerid)) { for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { if (PlayerVehicles[playerid][i][pCarID] == GetPlayerVehicleID(playerid) && PlayerVehicles[playerid][i][pCarSpawned]) { return i; } } } return 0; } stock GetPlayerVehicleAmount(playerid) { new iCars; for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { if (PlayerVehicles[playerid][i][pCarOwned]) ++iCars; } return iCars; } stock ParkVehicle(playerid, slot) { if (IsPlayerInVehicle(playerid, PlayerVehicles[playerid][slot][pCarID])) { if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new Float:x, Float:y, Float:z, Float:angle; GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z); GetVehicleZAngle(GetPlayerVehicleID(playerid), angle); PlayerVehicles[playerid][slot][pCarX] = x; PlayerVehicles[playerid][slot][pCarY] = y; PlayerVehicles[playerid][slot][pCarZ] = z; PlayerVehicles[playerid][slot][pCarRot] = angle; foreach(Player, i) { if (i == playerid) continue; if (IsPlayerInVehicle(i, PlayerVehicles[playerid][slot][pCarID])) { SetPVarInt(i, "CarID", PlayerVehicles[playerid][slot][pCarID]); SetPVarInt(i, "CarSeat", GetPlayerVehicleSeat(playerid)); } } VehicleLocked[GetPlayerVehicleID(playerid)] = 0; UnlockVehicle(GetPlayerVehicleID(playerid)); DestroyVehicle(GetPlayerVehicleID(playerid)); PlayerVehicles[playerid][slot][pCarID] = CreateVehicle(PlayerVehicles[playerid][slot][pCarModel], x, y, z, angle, PlayerVehicles[playerid][slot][pCarColor1], PlayerVehicles[playerid][slot][pCarColor2], -1); PutPlayerInVehicle(playerid, PlayerVehicles[playerid][slot][pCarID], 0); foreach(Player, i) { if (GetPVarInt(i, "CarID") == PlayerVehicles[playerid][slot][pCarID]) { PutPlayerInVehicle(i, PlayerVehicles[playerid][slot][pCarID], GetPVarInt(i, "CarSeat")); DeletePVar(i, "CarID"); DeletePVar(i, "CarSeat"); } } ModifyVehicle(playerid, slot); return 1; } return 0; } return -1; }stock VehicleDisconnect(playerid) { for (new i = 1; i < MAX_PLAYER_CARS + 1; i += 1) { if (PlayerVehicles[playerid][i][pCarOwned]) { SavePlayerVehicle(playerid, i); if (PlayerVehicles[playerid][i][pCarSpawned]) DestroyVehicle(PlayerVehicles[playerid][i][pCarID]); } } db_close(VehicleDatabase[playerid]); return 1; }1 answer to this question
Recommended Posts