Hi.
Ich hab ein Befehl drin, wo man per /id alles, über die eingegeben ID erfährt.
Habs auch gemacht, das man die FPS sieht. Bei /id legendary (meine ID) wird bei FPS 0 angezeigt, manchmal auch (meine richtige fps): 80-90
Woran liegt es?
Problem mit /ID
- Legendary
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ohne Code nix los.
-
ocmd:id(playerid,params[])
{
new pID,string[256];
if(sscanf(params,"ui",pID))return SendClientMessage(playerid,WEIß,"{FFFFFF}» {FF000F}Syntax: {FFFFFF}/ID {969696}[Name/ID]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online.");
format(string,sizeof(string),"Name: %s | ID: %i | Level: %i | Ping: %i | FPS: %i",SpielerName(pID),pID,GetPlayerScore(pID),GetPlayerPing(pID),GetPlayerFPS(pID));
SendClientMessage(playerid,GRAU,string);
return 1;
}stock mit fps:
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;
} -
Versuche es mal mit einen Enum
Das hier bei OnPlayerUpdate
public OnPlayerUpdate(playerid)
{
new drunklevel = GetPlayerDrunkLevel(playerid);
if(drunklevel < 100)
{
SetPlayerDrunkLevel(playerid, 2000);
}
else
{
if (pDrunkLevel[playerid] != drunklevel)
{
new FPS = pDrunkLevel[playerid] - drunklevel;
if ((FPS > 0) && (FPS < 200))
{
PlayerInfo[playerid][pFPS] = FPS;
}
pDrunkLevel[playerid] = drunklevel;
}
}
return 1;
}enum SInfo
{
pFPS
}new PLayerInfo[MAX_PLAYERS][SInfo];
Hier noch oben im Script drunklevel definieren und fertig.
new pDrunkLevel[MAX_PLAYERS];
fps wird dann so abgefragt
als Beispiel
format(string,sizeof(string),"%i",PlayerInfo[playerid][pFPS]); -
OnPlayerUpdate will ich gern meiden..^^
-
Viel besser
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;
}Einfach mit GetPlayerFPS(playerid); abfragen
-
Es wird zwar ganz oft in einer Sekunde ausgeführt, aber wenn man die FPS abfrage dadrinne hat, dann reicht es ja.
Für die Abfrage mit den FPS reciht OnPlayerUpdate, falls du diese hilfe nicht annehmen willst, packe das ganze in einen Timer, der jede Sekunde Updatet. -
breadfish.de
Hat das Thema geschlossen.