Zaključano

Shoes Count (/top lista)

Započeo pokerface
pre 6 godina
457
pregleda
3
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Chuffy
Made Man
pre 6 godina
Problem(error/warning): Zelim napraviti komandu /top koja ce prikazati offline ime igraca I koliko je sakupio onih konjskih potkova kao pickup. Ja sam napravio ali prikaze samo mene, ali nece ostale.

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
Dobrica
Shot Caller
pre 6 godina
Koristis da ti ispisuje playerid za sve sakupljene?
For za playerid?
NaTsu
Rookie
pre 6 godina
Jel imaš neki fajl u kom su sortirani /top igrači tipa TOP1=Pera TOP2=Kruh ili...?
EDIT 2: Video sam da ta skripta ima SQLITE verziju tkd nju koristi, ne treba ti nista, lakse je sa SQLom sortirati stvari 😉

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava