Hallo Community,
hab nen mega Bug.
Und zwar sieht man nur ab und zu und bei ID 0 folgendes :
Seit %d Sekunden auf dem Desktop bzw. AFK
Leider habe ich das nicht selber gescripted und weiß auch absolut nicht,
was falsch ist..
Ich zeige euch mal den Code
//#include <a_samp>
new Desktop_Check[MAX_PLAYERS];
new Desktop_Status[MAX_PLAYERS];
new Desktop_Timer[MAX_PLAYERS];
new Desktop_Timer_Started[MAX_PLAYERS];
new Text3D:Desktop_SHOW[MAX_PLAYERS];
#define COLOR_AFK 0xFF2800FF
#define COLOR_WHITE 0xFFFFFFAA
public OnPlayerConnect(playerid)
{
Desktop_Check[playerid] = 0;
Desktop_Timer_Started[playerid] = 0;
Desktop_Status[playerid] = 0;
Desktop_SHOW[playerid] = Create3DTextLabel("",0xFF6347AA,0,0,0,10.0,0,0);
return 1;
}
public OnPlayerDisconnect(playerid)
{
if(Desktop_Timer_Started[playerid] == 1) { KillTimer(Desktop_Timer[playerid]); }
Delete3DTextLabel(Desktop_SHOW[playerid]);
return 1;
}
forward Desktop_Function(playerid);
public Desktop_Function(playerid)
{
if(Desktop_Check[playerid] > 0)
{
Desktop_Status[playerid] = 0;
SetPlayerColor(playerid,COLOR_WHITE);
Update3DTextLabelText(Desktop_SHOW[playerid],0xFF6347AA,"");
Attach3DTextLabelToPlayer(Desktop_SHOW[playerid],playerid,0,0,0);
}
if(Desktop_Check[playerid] <= 0)
{
SetPlayerColor(playerid,COLOR_AFK);
Desktop_Status[playerid] +=1;
new string[128];
format(string,sizeof(string),"Seit %d Sekunden auf dem Desktop bzw. AFK", Desktop_Status[playerid]);
Update3DTextLabelText(Desktop_SHOW[playerid],0xFF6347AA,string);
Attach3DTextLabelToPlayer(Desktop_SHOW[playerid],playerid,0,0,0);
}
Desktop_Check[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(Desktop_Timer_Started[playerid] == 0)
{
Desktop_Timer[playerid] = SetTimerEx("Desktop_Function",1000,1,"d",playerid);
Desktop_Timer_Started[playerid] = 1;
}
Desktop_Check[playerid] += 1;
return 1;
}
Danke im Voraus
/e fail Code.