Hallo leute ich hab ein Problem mit dem Desktopcheck. Wenn ein Spieler auf den Desktop geht soll eine Nachricht erscheinen also ein 3DTextLabel wo die Sekundenanzahl steht wie lange er schon auf dem Desktop ist. Nur leider wird kein 3DTextLabel angezeigt.
Der Code:
public OnPlayerConnect(playerid)
{
Desktop_Check[playerid] = 0;
Desktop_Timer_Started[playerid] = 0;
Desktop_Status[playerid] = 0;
Desktop_SHOW[playerid] = Create3DTextLabel("",0xAA3333FF,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;
Update3DTextLabelText(Desktop_SHOW[playerid],0xFF6347AA,"");
Attach3DTextLabelToPlayer(Desktop_SHOW[playerid],playerid,0,0,0);
}
if(Desktop_Check[playerid] <= 0)
{
Desktop_Status[playerid] +=1;
new string[128];
format(string,sizeof(string),"Spieler ist seit %d Sekunden auf dem Desktop.", Desktop_Status[playerid]);
Update3DTextLabelText(Desktop_SHOW[playerid],0xAA3333FF,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 vorraus.
Mfg Chucky
//edit Rechtschreibung