Ah! Mein Fehler.
Ich hatte die beiden Funktionen verwechselt. Hab's im Code oben schon ausgebessert.
Ändere gettime() zu GetTickCount() beim Timer und OnPlayerUpdate. Dann dürfte es funktionieren.
stock UpdateNametag(playerid) {
new namestr[MAX_PLAYER_NAME + 40], Float: health, healthstr[20] = "/",healthvar , Float: healthv;
GetPlayerHealth(playerid,health);
healthv = floatround(health,floatround_round) / 10;
healthvar = floatround(healthv,floatround_ceil);
if(PlayerInfo[playerid][aduty]) print("Aufgerufen1"), healthstr = "Aduty";
if(IsPlayerOnDesktop(playerid) == 1) print("Aufgerufen2"), healthstr = "Afk / Desktop";
if(!IsPlayerOnDesktop(playerid) && !PlayerInfo[playerid][aduty]) {
format(healthstr,sizeof(healthstr),"");
for(new i; i < healthvar; i++) strcat(healthstr,"|");
}
format(namestr,sizeof(namestr),"%s (%i)\n["html_red"%s"html_white"]", PlayerInfo[playerid][_name],playerid,healthstr);
Update3DTextLabelText(PlayerInfo[playerid][nametag], white, namestr);
}
Ob nun Ingame oder nicht es wid immer Aufgerufen2 geprintet