Hallöchen,
Ich habe folgendes Problem.
Ich habe ein Anti ESC geschrieben, welches hauptsächlich nur ein Timer ist.
Mein Problem ist, wie frage ich richtig ab ob der Spieler wirklich, NUR im Desktop/Menu ist.. weil anderseits schlägt der Timer schon zu wenn ich mich nicht bewege.
(Ich setze bei OnPlayerUpdate eine PVAR auf 1, und mit dem Timer (falls auf 1) wieder auf 0. Wenn nicht (auf 1) soll eine PlayerChatBubble einzeigt werden mit 'nem formatiertem String.)
public AntiESCTimer()
{
for(new i = 0; i < GetMaxPlayers(); i ++)
{
if(!IsPlayerConnected(i))continue;
if(GetPVarInt(i, "DeskCheck") == 1)
{
DeletePVar(i, "DeskCheck");
SetPVarInt(i, "AFKTime", 0);
return true;
}
else
{
if(GetPVarInt(i,"AFKTime")>=420000)return KickEx(i,"AFK Zeit überschritten!");
new str[128];
format(str,sizeof(str),"Seit %i Sekunden im Menu/Desktop",GetPVarInt(i, "AFKTime"));
SetPlayerChatBubble(i,str,DROT,14.4,1000);
//printf(str); Hab da mal einfach geguckt ob der str an sich funktioniert.. tut er.
SetPVarInt(i, "AFKTime", GetPVarInt(i, "AFKTime")+1);
}
}
return true;
}
OnPlayerUpdate muss ich denk ich nicht zeigen, ist nur ein pvar der dazu gehört.. SetTimer in OnGameModeInit wird auch nicht wichtig sein.
Wie gesagt, wie geh ich sicher ob der User wirklich auch im Menu/Desktop ist, und sich nicht einfach nur bewegt.
Mfg,
Michi