Car ownership with db - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Car ownership with db (
/showthread.php?tid=575313)
Car ownership with db -
Tess - 25.05.2015
Hi, i would like to do a simple car ownership that allows you tu save a car with the command /savecar and load your saved car with /mycar but i have to do it with the database if possible any idea of how?
Re: Car ownership with db -
PepsiCola23 - 25.05.2015
Yes you can,if you use ini you have to use some publics.
put forward savecar(); and loadcar(); on top of the script and you can use the function loadcar(); to load the cars and savecar(); to save them,you can get a help by taking a look on those publics:
PHP код:
public LoadCar()
{
new arrCoords[30][64];
new strFromFile2[256];
new File: file = fopen("yourfile", io_read);
if (file)
{
new idx = carsonserver;
while (idx < sizeof(CarInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
CarInfo[idx][cModel] = strval(arrCoords[0]);
CarInfo[idx][cLocationx] = floatstr(arrCoords[1]);
CarInfo[idx][cLocationy] = floatstr(arrCoords[2]);
CarInfo[idx][cLocationz] = floatstr(arrCoords[3]);
CarInfo[idx][cAngle] = floatstr(arrCoords[4]);
CarInfo[idx][cColorOne] = strval(arrCoords[5]);
CarInfo[idx][cColorTwo] = strval(arrCoords[6]);
strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(CarInfo[idx][cDescription], arrCoords[8], 0, strlen(arrCoords[8]), 255);
CarInfo[idx][cValue] = strval(arrCoords[9]);
CarInfo[idx][cOwned] = strval(arrCoords[10]);
CarInfo[idx][mod1] = strval(arrCoords[11]);
CarInfo[idx][mod2] = strval(arrCoords[12]);
CarInfo[idx][mod3] = strval(arrCoords[13]);
CarInfo[idx][mod4] = strval(arrCoords[14]);
CarInfo[idx][mod5] = strval(arrCoords[15]);
CarInfo[idx][mod6] = strval(arrCoords[16]);
CarInfo[idx][mod7] = strval(arrCoords[17]);
CarInfo[idx][mod8] = strval(arrCoords[18]);
CarInfo[idx][mod9] = strval(arrCoords[19]);
CarInfo[idx][mod10] = strval(arrCoords[20]);
CarInfo[idx][mod11] = strval(arrCoords[21]);
CarInfo[idx][mod12] = strval(arrCoords[22]);
CarInfo[idx][mod13] = strval(arrCoords[23]);
CarInfo[idx][mod14] = strval(arrCoords[24]);
CarInfo[idx][mod15] = strval(arrCoords[25]);
CarInfo[idx][mod16] = strval(arrCoords[26]);
CarInfo[idx][mod17] = strval(arrCoords[27]);
CarInfo[idx][paintjob] = strval(arrCoords[28]);
LoadComponents(idx);
idx++;
}
}
return 1;
}
public SaveCarCoords()
{
new idx;
new File: file2;
while (idx < sizeof(CarInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%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\n",
CarInfo[idx][cModel],
CarInfo[idx][cLocationx],
CarInfo[idx][cLocationy],
CarInfo[idx][cLocationz],
CarInfo[idx][cAngle],
CarInfo[idx][cColorOne],
CarInfo[idx][cColorTwo],
CarInfo[idx][mod1],
CarInfo[idx][mod2],
CarInfo[idx][mod3],
CarInfo[idx][mod4],
CarInfo[idx][mod5],
CarInfo[idx][mod6],
CarInfo[idx][mod7],
CarInfo[idx][mod8],
CarInfo[idx][mod9],
CarInfo[idx][mod10],
CarInfo[idx][mod11],
CarInfo[idx][mod12],
CarInfo[idx][mod13],
CarInfo[idx][mod14],
CarInfo[idx][mod15],
CarInfo[idx][mod16],
CarInfo[idx][mod17],
CarInfo[idx][paintjob]);
if(idx == carsonserver)
{
file2 = fopen("yourfile.cfg", io_write);
}
else
{
file2 = fopen("yourfile", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
With those publics,you can make CMD`s such as /makecar and /loadcar but be sure to put savecar(); at the /makecar cmd and loadcar(); at the /loadcar cmd.
If you want to do it dynamically,be careful to count the cars on your server and modify the carsonserver[it should be on the top of the script like
PHP код:
new carsonserver