Problem(error/warning): Hocu da promenim da tdovi za vreme i datum da budu player ali ne znam kako izbaci mi undefined symbol "playerid"
Deo skripte: [pawn]task VremeDatum[1000]()
{
new dan, godina, mesec;
getdate(godina, mesec, dan);
new sati,minuti,sekunde;
gettime(sati, minuti, sekunde);
new stringic[16];
format(stringic, sizeof stringic, "%d/%s%d/%s%d", dan, ((mesec < 10) ? ("0") : ("")), mesec, (godina < 10) ? ("0") : (""), godina);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][20], stringic);
format(stringic, sizeof stringic, "%s%d:%s%d:%s%d", (sati < 10) ? ("0") : (""), sati, (minuti < 10) ? ("0") : (""), minuti, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][17], stringic);
return 1;
}[/pawn]ovo sam ja nesto pokusao
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn]Vaš odgovor[/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Citat: Belii poslato April 22, 2023, 14:30:19 POSLE PODNE
Problem(error/warning): Hocu da promenim da tdovi za vreme i datum da budu player ali ne znam kako izbaci mi undefined symbol "playerid"
Deo skripte: [pawn]
task VremeDatum[1000]()
{
new dan, godina, mesec;
getdate(godina, mesec, dan);
new sati,minuti,sekunde;
gettime(sati, minuti, sekunde);
new stringic[16];
format(stringic, sizeof stringic, "%d/%s%d/%s%d", dan, ((mesec < 10) ? ("0") : ("")), mesec, (godina < 10) ? ("0") : (""), godina);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][20], stringic);
format(stringic, sizeof stringic, "%s%d:%s%d:%s%d", (sati < 10) ? ("0") : (""), sati, (minuti < 10) ? ("0") : (""), minuti, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][17], stringic);
return 1;
}[/pawn]ovo sam ja nesto pokusao
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn]Vaš odgovor[/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
[pawn]
task VremeDatum[1000]()
{
foreach(new i : Player)
{
new string[80], year, month, day, hours, minutes, sekunde;
getdate(year, month, day), gettime(hours, minutes, sekunde);
format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][20], stringic);
format(string, sizeof string, "%s%d:%s%d:%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][17], stringic);
}
return 1;
}
[/pawn]
ovako treba
[pawn]task VremeDatum[1000]()
{
foreach(new i : Player)
{
new string[80], year, month, day, hours, minutes, sekunde; //definisemo
getdate(year, month, day), gettime(hours, minutes, sekunde);
format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year); //pravimo format da bi slali poruku i koristimo definisane stvari
PlayerTextDrawSetString(playerid, InGame_TD[playerid][20], stringic);
format(string, sizeof string, "%s%d:%s%d:%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][17], stringic);
}
return 1;
}[/pawn]
@Goku ^ hvala sto si pokusao ali ipak sam ja pomogao :)
Citat: Kajsije ^ poslato April 22, 2023, 19:25:25 POSLE PODNE
ovako treba
[pawn]task VremeDatum[1000]()
{
foreach(new i : Player)
{
new string[80], year, month, day, hours, minutes, sekunde; //definisemo
getdate(year, month, day), gettime(hours, minutes, sekunde);
format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year); //pravimo format da bi slali poruku i koristimo definisane stvari
PlayerTextDrawSetString(playerid, InGame_TD[playerid][20], stringic);
format(string, sizeof string, "%s%d:%s%d:%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(playerid, InGame_TD[playerid][17], stringic);
}
return 1;
}[/pawn]
@Goku ^ hvala sto si pokusao ali ipak sam ja pomogao :)
loopujes sve igrace i posle opet iako si loop koristis PlayerTextDrawSetString za playerid
[pawn]task VremeDatum[1000]()
{
foreach(new i : Player)
{
new string[80], year, month, day, hours, minutes, sekunde; //definisemo
getdate(year, month, day), gettime(hours, minutes, sekunde);
format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year); //pravimo format da bi slali poruku i koristimo definisane stvari
PlayerTextDrawSetString(i, InGame_TD
[20], stringic);
format(string, sizeof string, "%s%d:%s%d:%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (sekunde < 10) ? ("0") : (""), sekunde);
PlayerTextDrawSetString(i, InGame_TD[17], stringic);
}
return 1;
}[/pawn]
kada loopujes igracom ne koristis vise identifikator playerid, nego element i
isto preporucujem da velicina stringa definicija bude u blizini onoga sto je potrebno [prevelika alokacija moze biti problematicna]
isto po mom misljenju se trebaju izbjeci afk igraci i smanjiti opterecenje, ionako kada se igrac vrati AFK svake sekunde se ponavlja azurirat ce mu u tom jednom sekundu vrijeme na TD
Za pocetak, zasto bi vreme i datum, koji su isti za sve na serveru prebacivao u player td?
Fixano