Hallo Breadfish.
Ich würde gern' mal wissen ich meine FPS getten kann um sie dann in einem Textdraw anzeigen zu lassen?
Wenn jemand eine Idee hätte würde ich mich über eine Antwort freuen (Am besten mit Code).
Mit freundlichen Grüßen.
Kinq.
Hallo Breadfish.
Ich würde gern' mal wissen ich meine FPS getten kann um sie dann in einem Textdraw anzeigen zu lassen?
Wenn jemand eine Idee hätte würde ich mich über eine Antwort freuen (Am besten mit Code).
Mit freundlichen Grüßen.
Kinq.
Players' drunk level will automatically decrease over time, based on their FPS (players with 50 FPS will lose 50 'levels' per second. This is useful for determining a player's FPS!).
In 0.3a the drunk level will decrement and stop at 2000. In 0.3b+ the drunk level decrements to zero.)
Levels over 2000 make the player drunk (camera swaying and vehicles difficult to control).
Max drunk level is 50000.
While the drunk level is above 5000, the player's HUD (radar etc.) will be hidden.
Habe das vorhin schon mit GetPlayerDrunkLevel versucht da kamen aber Zahlen von über 1000 raus, muss ich die dann runden und dann habe ich meine FPS?
Gesetztes Drunklevel - bekommenens Drunklevel = FPS
Genau damit habe ich es probiert. Doch wie gebe ich nun die Zahl aus?
Mit
pFPS[playerid]
#Edit
bspw. so:
for(new i=0; i<SLOTS; i++)
{
new string[257];
format(string, sizeof(string), "~r~FPS: ~y~%d",pFPS[i]);
TextDrawSetString(FPS[i], string);
}
Ich bekomme leider Errors.
Ich habe oben im Script
forward FPSz();
Dann den Timer:
SetTimer("FPSz",1000,true);
Und hier der Public dazu:
public FPSz()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new string[100];
format(string, sizeof(string), "FPS: %d",pFPS[i]);
TextDrawSetString(FPS[i], string);
}
return 1;
}
Ich bekomme diese Errors:
error 028: invalid subscript (not an array or too many subscripts): "FPS"
warning 215: expression has no effect
: error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Was habe ich falsch gemacht?
Du musst den Textdraw schon irgentwo Erstellen
Oben:
new Text:FPS[MAX_PLAYERS];
OnGameModeInit
for(new i=0;i<MAX_PLAYERS;i++)
{
FPS[i] = TextDrawCreate(3.000000, 433.000000, "~r~FPS: ~y~0");
TextDrawBackgroundColor(FPS[i], 255);
TextDrawFont(FPS[i], 2);
TextDrawLetterSize(FPS[i], 0.200000, 1.300000);
TextDrawColor(FPS[i], -1);
TextDrawSetOutline(FPS[i], 1);
TextDrawSetProportional(FPS[i], 1);
}
Hol dir das SAMP Fox dingens da, native oder so, damit kannste die FPS Abfragen. (GetPlayerFPS) Momento, suche den Thread raus. Sekunde.
//EDIT: [ PLUGIN ] SAMPFox - Über 90 neue Natives! Jetzt für Linux/XP!
native GetPlayerFPS(playerid);
In der Liste der NAtives das vorletzte.
Mein Textdraw sieht aber nun so aus:
Die 0 soll weg und die 45 dahin wo die 0 ist aber im Script ist es eigentlich richtig angegeben.
Lass die 0 beim Textdraw Create einfach weg.
Mein Textdraw Create besitzt aber keine 0. -> FPS = TextDrawCreate(520.000000, 100.000000, "FPS:");
Aber der String wird ja eigentlich laut Script durch die FPS ersetzt.
format(string, sizeof(string), "FPS: %d",pFPS);
TextDrawSetString(FPS, string);
Da kommt nirgents eine 0 vor.
Players' drunk level will automatically decrease over time, based on their FPS (players with 50 FPS will lose 50 'levels' per second. This is useful for determining a player's FPS!).
In 0.3a the drunk level will decrement and stop at 2000. In 0.3b+ the drunk level decrements to zero.)
Levels over 2000 make the player drunk (camera swaying and vehicles difficult to control).
Max drunk level is 50000.
While the drunk level is above 5000, the player's HUD (radar etc.) will be hidden.
There is currently no text in this page, you can search for this page title in other pages or edit this page.
So ich schreibe nun nochmal alles zusammengefasst in der Hoffnung das dann mein Problem gelöst wird.
Im Kopf des Script's:
new Text:FPS[MAX_PLAYERS];
OnGameModeInit:
for(new i=0;i<MAX_PLAYERS;i++)
{
FPS[i] = TextDrawCreate(520.000000, 100.000000, "FPS:");
TextDrawBackgroundColor(FPS[i], 255);
TextDrawFont(FPS[i], 1);
TextDrawLetterSize(FPS[i], 0.500000, 1.000000);
TextDrawColor(FPS[i], -65281);
TextDrawSetOutline(FPS[i], 1);
TextDrawSetProportional(FPS[i], 1);
TextDrawUseBox(FPS[i], 0);
TextDrawTextSize(FPS[i], 580.000000, 40.000000);
}
OnPlayerConnect
for(new i=0;i<MAX_PLAYERS;i++)
{
TextDrawShowForPlayer(playerid,FPS[i]);
}
OnPlayerDisConnect
for(new i=0;i<MAX_PLAYERS;i++)
{
TextDrawShowForPlayer(playerid,FPS[i]);
}
Im Kopf vom Script:
forward FPSz();
OnGameModeInit:
SetTimer("FPSz",1000,true);
Public:
public FPSz()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new string[100];
format(string, sizeof(string), "FPS: %d",pFPS[i]);
TextDrawSetString(FPS[i], string);
}
return 1;
}
Mein Problem ist oben als Bild das die FPS Fehlerhaft unter dem eigentlichen Textdraw dargestellt werden, ich hoffe mir kann nochmal jemand genau erklären was ich falsch gemacht habe.