Skripta koju koristim: Axe Arena RolePlay
Detaljan opis problema: Ispod sam napisao cijeli dio sto se veze sa online i rekord. Problem je u tome kada idem da restartujem server i udjem ponovo u server restartuje se i rekord.. A npr u toku igre normalno raste rekord znaci samo sacuvanje je problem. Pa ako moze ko reci sta jos da dodam ili ispravim?!
Dio skripte:
new onlinepl, postojecirekord;
onlinepl=Konektovano();
onlinepl++;
onlinepl--;
AXEARENAINGAME[14] = TextDrawCreate(522.500000, 150.937500, "rekord: 100");
TextDrawLetterSize(AXEARENAINGAME[14], 0.255500, 0.864999);
TextDrawAlignment(AXEARENAINGAME[14], 1);
TextDrawColor(AXEARENAINGAME[14], -1);
TextDrawSetShadow(AXEARENAINGAME[14], 0);
TextDrawSetOutline(AXEARENAINGAME[14], 0);
TextDrawBackgroundColor(AXEARENAINGAME[14], 51);
TextDrawFont(AXEARENAINGAME[14], 3);
TextDrawSetProportional(AXEARENAINGAME[14], 1);
AXEARENAINGAME[18] = TextDrawCreate(522.500000, 141.312500, "online: 100");
TextDrawLetterSize(AXEARENAINGAME[18], 0.240000, 0.943749);
TextDrawAlignment(AXEARENAINGAME[18], 1);
TextDrawColor(AXEARENAINGAME[18], -1);
TextDrawSetShadow(AXEARENAINGAME[18], 0);
TextDrawSetOutline(AXEARENAINGAME[18], 0);
TextDrawBackgroundColor(AXEARENAINGAME[18], 51);
TextDrawFont(AXEARENAINGAME[18], 3);
TextDrawSetProportional(AXEARENAINGAME[18], 1);
forward DosadasnjiRekord();
public DosadasnjiRekord()
{
new strFromFile[24], arrCoords[6][5], File: file = fopen("rekord.txt", io_read);
if (file)
{
fread(file, strFromFile);
razdvoji(strFromFile, arrCoords, ',');
postojecirekord = strval(arrCoords[0]);
fclose(file);
}
return 1;
}
forward SacuvajRekord();
public SacuvajRekord()
{
new coordsstring[24];
format(coordsstring, sizeof(coordsstring), "%d", postojecirekord);
new File: file = fopen("rekord.txt", io_write);
fwrite(file, coordsstring);
fclose(file);
return 1;
}
task RekordTimer[50]()
{
if(postojecirekord > onlinepl)
{
new NoviRek[128];
format(NoviRek, sizeof(NoviRek), "online: %d", onlinepl);
TextDrawSetString(AXEARENAINGAME[18], NoviRek);
format(NoviRek, sizeof(NoviRek), "rekord: %d", postojecirekord);
TextDrawSetString(AXEARENAINGAME[14], NoviRek);
}
if(postojecirekord < onlinepl)
{
postojecirekord=onlinepl;
new NoviRek[128];
SacuvajRekord();
format(NoviRek, sizeof(NoviRek), "online: %d", onlinepl);
TextDrawSetString(AXEARENAINGAME[18], NoviRek);
format(NoviRek, sizeof(NoviRek), "rekord: %d", postojecirekord);
TextDrawSetString(AXEARENAINGAME[14], NoviRek);
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno) : //
kreiraj rekord.txt u scriptfiles
Znaci rekord je npr 5 i sada na gpanelu restartujem i u rekord pise 5 i kada udjem u server tek onda se vraca na jedinicu to jest restartuje se rekord
Ne valja ti to evo ti ovo :
forward DosadasnjiRekord();
public DosadasnjiRekord()
{
new strFromFile[24], arrCoords[6][5], File: file = fopen("rekord.txt", io_read);
if (file)
{
fread(file, strFromFile);
razdvoji(strFromFile, arrCoords, ',');
rekordigraca = strval(arrCoords[0]);
fclose(file);
}
return 1;
}
forward SacuvajRekord();
public SacuvajRekord()
{
new coordsstring[24];
format(coordsstring, sizeof(coordsstring), "%d", rekordigraca);
new File: file = fopen("rekord.txt", io_write);
fwrite(file, coordsstring);
fclose(file);
return 1;
}
forward Rekordbre(playerid);
public Rekordbre(playerid)
{
RekordTimer(playerid);
return 1;
}
forward RekordTimer(playerid);
public RekordTimer(playerid)
{
new string1[512];
format(string1, 512, "Online:~w~%d", Konektovano());
TextDrawSetString(AXEARENAINGAME[18], string1);
new govno[64];
format(govno, sizeof(govno), "Rekord:~w~%d", rekordigraca);
TextDrawSetString(AXEARENAINGAME[14], govno);
onlinepl++;
if(Konektovano() > rekordigraca)
{
rekordigraca = Konektovano();
new string[256];
format(string,sizeof(string),""SERVER" *REKORD* "BELA"- Upravo je oboren stari rekord online igraca - Novi je: "SERVER"%d "C_BELA"!",rekordigraca);
SCMTA(-1,string);
format(govno, sizeof(govno), "Rekord:~w~%d", rekordigraca);
TextDrawSetString(AXEARENAINGAME[14], govno);
SacuvajRekord();
}
return 1;
}
E i da samo pod ongamemodeinit stavis timer : SetTimer("RekordBre", 500, 1);
sada mi stoji samo online: 100 i rekord: 100 .. vidi negdje si pogrijesio