Hi. How to do a gui label, when player comes from AFK, for him will show label with text: You are AFK and 2 buttons ( 1 - play, 2 - still be AFK).
Code:
new AFKTime[MAX_PLAYERS];
new AFKTimer[MAX_PLAYERS];
new Text3D:label[MAX_PLAYERS];
forward AFKCheck();
public OnPlayerConnect(playerid)
{
AFKTimer[playerid] = SetTimer("AFKCheck",1000,1);
label[playerid] = Create3DTextLabel(" ", 0xFFFFFFFF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.7);
return 1;
}
public OnPlayerUpdate(playerid)
{
AFKTime[playerid] = 0;
Update3DTextLabelText(label[playerid], 0xFFFFFFFF, " ");
return 1;
}
public AFKCheck()
{
new Float:Pos[3];
for(new i = 0; i < MAX_PLAYERS; i++)
{
GetPlayerPos(i,Pos[0],Pos[1],Pos[2]);
if(IsPlayerInRangeOfPoint(i,2,Pos[0],Pos[1],Pos[2]))
{
AFKTime[i]++;
}
if(AFKTime[i] > 20)
{
new string[100];
format(string, sizeof string, "This player is AFK {00FF00}(%d Seconds)", AFKTime[i]);
Update3DTextLabelText(label[i], 0xFFFFFFFF, string);
}
}
return 1;
}
Mhm. How to do dialog?