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.deHat das Thema geschlossen.
 
		