Dark_Ilya
Компетентный
Всем привет, нашёл одну интересную систему авто, просто не особо хотелось самому писать
, а там очень страшное сохранение, что ничего не могу понять там. Помогите перевести загрузку и сохранение. Буду очень благодарен, код сравнительно большой, но если сократить, то будет маленький
.
Загрузка:
Сохранение:
Нужно привести к чему-то вроде этого:
Поможете?Будет вам всё что в моих силах 
Загрузка:
PHP:
LoadOwnedCars()
{
if(!fexist("Vehicles.cfg"))
{
return false;
}
new FileStr[256],TempText1[256],TempText2[256];
new first_space;
new File:pFile=fopen("Vehicles.cfg",io_read);
new key[256];
new numb[5];
while(fread(pFile,FileStr,256))
{
for(new n=0;n<sizeof(FileStr);n++)
{
if(FileStr[n]==' ')
{
first_space=n;
break;
}
}
strmid(TempText1,FileStr,0,first_space);
format(key,sizeof(key), "OwnedPlName");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr)-1);
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][OwnedPlName],MAX_PLAYER_NAME,"%s",TempText2);
continue;
}
format(key,sizeof(key), "OwnedCarModel");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarModel] = strval(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarCoordsX");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarCoords][0] = floatstr(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarCoordsY");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarCoords][1] = floatstr(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarCoordsZ");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarCoords][2] = floatstr(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarCoordsA");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarCoords][3] = floatstr(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarColor1");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarColor][0] = strval(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarColor2");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarColor][1] = strval(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarNumber");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][OwnedCarNumber],MAX_NUMBER_PLATE,"%s",TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarFine");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
OwnedCars[strval(numb)][OwnedCarFine] = strval(TempText2);
continue;
}
format(key,sizeof(key),"OwnedCarFineReason");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr));
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][OwnedCarFineReason],MAX_REASON_STRING,"%s",TempText2);
continue;
}
format(key,sizeof(key),"Trustee1PlName");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr)-1);
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][Trustee1PlName],MAX_PLAYER_NAME,"%s",TempText2);
continue;
}
format(key,sizeof(key),"Trustee2PlName");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr)-1);
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][Trustee2PlName],MAX_PLAYER_NAME,"%s",TempText2);
continue;
}
format(key,sizeof(key),"Trustee3PlName");
if(strcmp(key,TempText1,true,strlen(key))==0)
{
strmid(TempText2,FileStr,first_space+1,strlen(FileStr)-1);
strmid(numb,TempText1,strlen(key),strlen(TempText1));
format(OwnedCars[strval(numb)][Trustee3PlName],MAX_PLAYER_NAME,"%s",TempText2);
continue;
}
}
fclose(pFile);
print("Owned Cars Loaded");
return true;
}
PHP:
SaveOwnedCars()
{
new FileStr[256];
new File:pFile=fopen("Vehicles.cfg",io_write);
for(new i=0;i<sizeof(OwnedCars);i++)
{
format(FileStr,256,"OwnedPlName%d %s\n", i,OwnedCars[i][OwnedPlName]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarModel%d %d\n", i,OwnedCars[i][OwnedCarModel]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarCoordsX%d %f\n", i,OwnedCars[i][OwnedCarCoords][0]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarCoordsY%d %f\n", i,OwnedCars[i][OwnedCarCoords][1]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarCoordsZ%d %f\n", i,OwnedCars[i][OwnedCarCoords][2]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarCoordsA%d %f\n", i,OwnedCars[i][OwnedCarCoords][3]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarColor1%d %d\n", i,OwnedCars[i][OwnedCarColor][0]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarColor2%d %d\n", i,OwnedCars[i][OwnedCarColor][1]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarNumber%d %s\n", i,OwnedCars[i][OwnedCarNumber]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarFine%d %d\n", i,OwnedCars[i][OwnedCarFine]); fwrite(pFile,FileStr);
format(FileStr,256,"OwnedCarFineReason%d %s\n", i,OwnedCars[i][OwnedCarFineReason]); fwrite(pFile,FileStr);
format(FileStr,256,"Trustee1PlName%d %s\n", i,OwnedCars[i][Trustee1PlName]); fwrite(pFile,FileStr);
format(FileStr,256,"Trustee2PlName%d %s\n", i,OwnedCars[i][Trustee2PlName]); fwrite(pFile,FileStr);
format(FileStr,256,"Trustee3PlName%d %s\n", i,OwnedCars[i][Trustee3PlName]); fwrite(pFile,FileStr);
}
fclose(pFile);
print("Owned Vehicles Saved");
return true;
}
PHP:
stock SaveProperty()
{
new idx = 1;
new File: file2;
while (idx < Property+1)
{
new coordsstring[256];
format(coordsstring, sizeof coordsstring, "%s|%d|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%f|%f|%f|%f|%f|%f|%d|%f|%f|%f\n",
HouseInfo[idx][hOwner],
HouseInfo[idx][hValue],
HouseInfo[idx][hEntrancex],
HouseInfo[idx][hEntrancey],
HouseInfo[idx][hEntrancez],
HouseInfo[idx][hExitx],
HouseInfo[idx][hExity],
HouseInfo[idx][hExitz],
HouseInfo[idx][hInt],
HouseInfo[idx][hLock],
HouseInfo[idx][hRooms],
HouseInfo[idx][hKlass],
HouseInfo[idx][hKvarplata],
HouseInfo[idx][hOwned],
HouseInfo[idx][hDate],
HouseInfo[idx][hXolx],
HouseInfo[idx][hXoly],
HouseInfo[idx][hXolz],
HouseInfo[idx][hStolx],
HouseInfo[idx][hStoly],
HouseInfo[idx][hStolz],
HouseInfo[idx][hProdukt],
HouseInfo[idx][hStorex],
HouseInfo[idx][hStorey],
HouseInfo[idx][hStorez]);
if(idx == 1) file2 = fopen("house.cfg", io_write);
else file2 = fopen("house.cfg", io_append);
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
}
stock LoadProperty()
{
new arrCoords[25][64];
new strFromFile2[256];
new File: file = fopen("house.cfg", io_read);
if (file)
{
new idx = 1;
while (idx <= Property)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
if(floatstr(arrCoords[2]) != 0.000000)
{
strmid(HouseInfo[idx][hOwner], arrCoords[0], 0, strlen(arrCoords[0]), 255);
HouseInfo[idx][hValue] = strval(arrCoords[1]);
HouseInfo[idx][hEntrancex] = floatstr(arrCoords[2]);
HouseInfo[idx][hEntrancey] = floatstr(arrCoords[3]);
HouseInfo[idx][hEntrancez] = floatstr(arrCoords[4]);
HouseInfo[idx][hExitx] = floatstr(arrCoords[5]);
HouseInfo[idx][hExity] = floatstr(arrCoords[6]);
HouseInfo[idx][hExitz] = floatstr(arrCoords[7]);
HouseInfo[idx][hInt] = strval(arrCoords[8]);
HouseInfo[idx][hLock] = strval(arrCoords[9]);
HouseInfo[idx][hRooms] = strval(arrCoords[10]);
HouseInfo[idx][hKlass] = strval(arrCoords[11]);
HouseInfo[idx][hKvarplata] = strval(arrCoords[12]);
HouseInfo[idx][hOwned] = strval(arrCoords[13]);
HouseInfo[idx][hDate] = strval(arrCoords[14]);
HouseInfo[idx][hXolx] = floatstr(arrCoords[15]);
HouseInfo[idx][hXoly] = floatstr(arrCoords[16]);
HouseInfo[idx][hXolz] = floatstr(arrCoords[17]);
HouseInfo[idx][hStolx] = floatstr(arrCoords[18]);
HouseInfo[idx][hStoly] = floatstr(arrCoords[19]);
HouseInfo[idx][hStolz] = floatstr(arrCoords[20]);
HouseInfo[idx][hProdukt] = strval(arrCoords[21]);
HouseInfo[idx][hStorex] = floatstr(arrCoords[22]);
HouseInfo[idx][hStorey] = floatstr(arrCoords[23]);
HouseInfo[idx][hStorez] = floatstr(arrCoords[24]);
idx++;
}
}
fclose(file);
}
return true;
}
Последнее редактирование:
