Hallo Breadfishler
Ich habe eine script frage zu der ich keine Ergebnisse gefunden habe und zwar würde ich gerne auf meinem Dm Server eine
Fps Anzeige In form eines Textdraw machen ich bitte um eure Hilfe
Mfg
DasPöse
Hallo Breadfishler
Ich habe eine script frage zu der ich keine Ergebnisse gefunden habe und zwar würde ich gerne auf meinem Dm Server eine
Fps Anzeige In form eines Textdraw machen ich bitte um eure Hilfe
Mfg
DasPöse
Ist glaubich nichtmal Möglich die Latenz anzeigen zu lassen.
Du könntest höchstens irgendwie von der Online-Anzeige irgendwie die Latenz anzeigen lassen.
Wozu ne Anzeige wenns eh schon drin steht.
Ich meine das Halt so wie bei Nsg das wen man ein Befehl ein gibt das da dan die Fps Zahl Steht
Das ist relativ einfach.
Du kannst über das "DrunkLevel" des Spielers, die FPS Zahl ermitteln:
http://wiki.sa-mp.com/wiki/SetPlayerDrunkLevel
new pDrunkLevelLast[MAX_PLAYERS];
new pFPS[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
pDrunkLevelLast[playerid] = 0;
pFPS[PlayerID] = 0;
}
public OnPlayerUpdate(playerid) {
// handle fps counters.
new drunknew;
drunknew = GetPlayerDrunkLevel(playerid);
if (drunknew < 100) { // go back up, keep cycling.
SetPlayerDrunkLevel(playerid, 2000);
} else {
if (pDrunkLevelLast[playerid] != drunknew) {
new wfps = pDrunkLevelLast[playerid] - drunknew;
if ((wfps > 0) && (wfps < 200))
pFPS[playerid] = wfps;
pDrunkLevelLast[playerid] = drunknew;
}
}
}
Okey das ist jetzt der Code wie kann ich dies nun in einer SendClientMessage wiedergeben also Deine Fps ist :
oder halt in einem Textdraw ( Idealste Lösung )
if(strcmp(cmd,"/fps",true) == 0)
{
new b1[200];
format(b1,200,"Du hast %d FPS! ", pFPS[playerid]);
SendClientMessage(playerid, Gelb, b1);
}
return 1;
}
Textdraw ist ja das selbe System.
lg
public Fps(playerid)
{
new Fps[10];
format(Fps, sizeof(Fps), "Fps: %i",pFPS[playerid]);//hier halt mir deinem erstetzen.. also GetPVarInt
TextDrawSetString(Fpstextdraw[playerid],pFPS[playerid]);
return 1;
}
ich lasse das Fps system sich über ein Ti mer jede sec aktuallisieren
nur ich bekomme diesen error und ingame zeigt et nur ein buchtstbe an der sich jede sec verändert
C:\Users\Jack.Walker\Desktop\I Like to Script That\Neuer Ordner (3)\gamemodes\Hardlife.pwn(1656) : warning 219: local variable "Fps" shadows a variable at a preceding level
Alles anzeigen
public Fps(playerid)
{
new Fps[10];
format(Fps, sizeof(Fps), "Fps: %i",pFPS[playerid]);//hier halt mir deinem erstetzen.. also GetPVarInt
TextDrawSetString(Fpstextdraw[playerid],pFPS[playerid]);
return 1;
}
ich lasse das Fps system sich über ein Ti mer jede sec aktuallisieren
nur ich bekomme diesen error und ingame zeigt et nur ein buchtstbe an der sich jede sec verändert
C:\Users\Jack.Walker\Desktop\I Like to Script That\Neuer Ordner (3)\gamemodes\Hardlife.pwn(1656) : warning 219: local variable "Fps" shadows a variable at a preceding level
Das bedeutet, dass die Variable schon erstellt wurde. Mach anstatt new fps[10]; einfach mal new fps2[10];
PS: Du kannst auch diesen stock direkt verwenden, dann müsstest Du anstatt pFPS[playerid], GetPVarInt(playerid,"FPS"); benutzen, wenn Du Strings formatieren willst.
stock GetPlayerFPS(playerid)
{
SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
if(GetPVarInt(playerid, "DrunkL") < 100)
{
SetPlayerDrunkLevel(playerid, 2000);
}
else
{
if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
{
SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
{
return GetPVarInt(playerid, "FPS") - 1;
}
}
}
return 0;
}
public Fps(playerid)
{
new fps[40];
format(fps, sizeof(fps), "Fps: %d",GetPVarInt(playerid,"FPS"));//hier halt mir deinem erstetzen.. also GetPVarInt
TextDrawSetString(Fpstextdraw[playerid], fps);
return 1;
}
So es wird nun ngezeigt nur nun Steht da Durchgehend 0