Primjer kako treba biti:
1. Pero - Potkova ukupno: 50
2. Kruh - Potkova ukupno: 16
itd...
Deo skripte:
CMD:topshoes(playerid,params[])
{
new count;
new string;
new file, name;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), "Shoes/%s.ini", name);
if(!fexist(file)) SavePlayerProgress(playerid);
INI_ParseFile(file, "ReadCollectibleProgress", .bExtra = true, .extra = playerid);
for(new i; i < sizeof(CollectibleTypes); i++)
{
count++;
format(string, 256, "ID: %d - Name: %s --- %d", count, name, GetCollectedCount(playerid, i));
SendClientMessage(playerid, -1, string);
}
return 1;
}Ovo je nacin neki cuvanja I ucitavanja.
GetCollectedCount(playerid, type)
{
new count = 0;
for(new i; i < sizeof(CollectibleData); i++) if(CollectibleData == type && CollectiblePicked > 0) count++;
return count;
}
GetCollectibleCount(type)
{
new count = 0;
for(new i; i < sizeof(CollectibleData); i++) if(CollectibleData == type) count++;
return count;
}
LoadPlayerProgress(playerid)
{
for(new i; i < sizeof(CollectibleData); i++) CollectiblePicked = 0;
new file, name;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), "Shoes/%s.ini", name);
if(!fexist(file)) SavePlayerProgress(playerid);
INI_ParseFile(file, "ReadCollectibleProgress", .bExtra = true, .extra = playerid);
return 1;
}
SavePlayerProgress(playerid)
{
new file, name;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), "Shoes/%s.ini", name);
new INI: fHandle = INI_Open(file), key;
if(fHandle != INI_NO_FILE)
{
INI_SetTag(fHandle, "CollectibleData");
for(new i; i < sizeof(CollectibleData); ++i)
{
format(key, sizeof(key), "ColPicked_%d", i);
INI_WriteInt(fHandle, key, CollectiblePicked);
}
INI_Close(fHandle);
}
return 1;
}Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike