13.12.2012, 15:13
pawn Код:
}
forward AltTabTimer();
public AltTabTimer()
{
foreach(Player, i)
{
if(IsPlayerLoggedIn(i))
{
// AFK Detection
GetPlayerPos(i, NewPos[i][0], NewPos[i][1], NewPos[i][2]);
if(IsPlayerInRangeOfPoint(i, 3, OldPos[i][0], OldPos[i][1], OldPos[i][2])) {AFK[i] ++;} else {AFK[i] = 0;}
GetPlayerPos(i, OldPos[i][0], OldPos[i][1], OldPos[i][2]);
if(AFK[i] >= 600)
{
if(!IsAFK[i])
{
IsAFK[i] = 1;
SendClientMessage(i, COLOR_LIGHTBLUE, " You have been standing in the same area for 10 minutes, you have been marked as AFK.");
/*AFKText[i] = Create3DTextLabel("AFK", COLOR_CYAN, 0, 0, -20, 25, -1, 1);
Attach3DTextLabelToPlayer(AFKText[i], i, 0, 0, 0.35);*/
AFKText[i] = CreateDynamic3DTextLabel("AFK", COLOR_CYAN, 0, 0, -20, 25, i);
Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL,AFKText[i] , E_STREAMER_ATTACH_OFFSET_Z, 0.35);
}
}
else if(AFK[i] == 0)
{
if(IsAFK[i])
{
IsAFK[i] = 0;
SendClientMessage(i, COLOR_LIGHTBLUE, " You have moved from your AFK area, you are not marked as AFK anymore.");
//Delete3DTextLabel(AFKText[i]);
if(IsValidDynamic3DTextLabel(AFKText[i])) DestroyDynamic3DTextLabel(AFKText[i]);
}
}
// Alt-Tab Detection
AltTabbed[i] ++;
if(AltTabbed[i] < 2)
{
if(HasText[i])
{
HasText[i] = 0;
//Delete3DTextLabel(AltTabText[i]);
if(IsValidDynamic3DTextLabel(AltTabText[i])) DestroyDynamic3DTextLabel(AltTabText[i]);
}
}
if(AltTabbed[i] > 2) {Tabbed[i] = 1;}
else Tabbed[i] = 0;
if(Tabbed[i])
{
if(!HasText[i])
{
HasText[i] = 1;
/*AltTabText[i] = Create3DTextLabel("Alt Tabbed", COLOR_RED, 0, 0, -20, 25, -1, 1);
Attach3DTextLabelToPlayer(AltTabText[i], i, 0, 0, 0.3);*/
AltTabText[i] = CreateDynamic3DTextLabel("Alt Tabbed", COLOR_RED, 0, 0, -20, 25, i);
Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL, AltTabText[i] , E_STREAMER_ATTACH_OFFSET_Z, 0.25);
}
if(Event[i])
{
new string[128];
format(string, sizeof(string), "AdmWarn: %s is alt-tabbed inside the event.", RPN(i));
SendAdminMessage(COLOR_DARKRED, 1, string);
}
}
}
}
return 1;