Szerző Téma: Mûködne ez az AFK FS?  (Megtekintve 1052 alkalommal)

dexi

  • Vendég
Mûködne ez az AFK FS?
« Dátum: 2012. január 08. - 19:02:46 »
0 Show voters
Hali!
Lényeg: Ha 5percig semmit sem csinálunk és nem vagyunk AFK üzemmódban akkor dobjon ki, ha AFK-ban vagyunk akkor ne. Müködne?
 
#include <a_samp>
#include <zcmd>
new afkba[MAX_PLAYERS];
new asd;
public OnFilterScriptInit()
{
print(\"\\n_-_-_---------------------------_-_-_-\");
print(\"\\n [ Nesze Olie :D - AwayFromKeyboard ] \");
print(\"\\n_-_-_---------------------------_-_-_-\");
return 1;
}
public OnFilterScriptExit()
{
KillTimer(asd);
return 1;
}
forward AJEFKA(playerid);
public OnPlayerUpdate(playerid)
{
if(afkba[playerid] == 0)
{
    KillTimer(asd);
asd = SetTimerEx(\"AJEFKA\", 5*(60*1000), 0, \"i\", playerid);
}
else SendClientMessage(playerid, 0x00FF00, \"Teszt: Nem vagy AFK.\");
return 1;
}
public AJEFKA(playerid)
{
if(afkba[playerid] == 0)
{
SendClientMessage(playerid, 0x00FF00, \"Túl sokáig voltál AFK! Máskor /afk\");
Kick(playerid);
}
SendClientMessage(playerid, -1, \"Teszt: Most rúgott volna ki.\");
}
CMD:afk(playerid)
{
if(afkba[playerid] == 0)
{
SetPlayerVirtualWorld(playerid, 4);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0x00FF00, \"AFK-ba léptél.\");
afkba[playerid] = 1;
}
else if(afkba[playerid] == 1)
{
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, 0x00FF00, \"Már nem vagy AFK.\");
afkba[playerid] = 0;
}
return 1;
}

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Mûködne ez az AFK FS?
« Válasz #1 Dátum: 2012. január 08. - 20:07:37 »
0 Show voters
Ez teljesen rossz :D
OnPlayerUpdate ??
Most akkor ha az afkba változo 0 akkor az folyton meghívja neked a Timert és a többit ez nagyon nagy lagg + nagyon eszi a procit is!

dexi

  • Vendég
Mûködne ez az AFK FS?
« Válasz #2 Dátum: 2012. január 08. - 20:20:36 »
0 Show voters
Más ötletem nincs azt ellenörizni hogy mikor mozog az illetõ.

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Mûködne ez az AFK FS?
« Válasz #3 Dátum: 2012. január 08. - 20:28:25 »
0 Show voters
mondjuk ha egy billentyût sem nyom meg azt ellenõriztesd hogyha pl 5-10 percig nem nyomott meg egyet sem akkor teszi AFK ba :)
például : a W billenytût mert avval megy elõre :)

dexi

  • Vendég
Mûködne ez az AFK FS?
« Válasz #4 Dátum: 2012. január 08. - 20:57:17 »
0 Show voters
#include <a_samp>
#include <zcmd>
new afkba[MAX_PLAYERS];
new asd;
public OnFilterScriptInit()
{
print(\"\\n_-_-_---------------------------_-_-_-\");
print(\"\\n [ Nesze Olie :D - AwayFromKeyboard ] \");
print(\"\\n_-_-_---------------------------_-_-_-\");
return 1;
}
public OnFilterScriptExit()
{
KillTimer(asd);
return 1;
}
forward AJEFKA(playerid);
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys & KEY_UP || newkeys & KEY_DOWN || newkeys & KEY_LEFT || newkeys & KEY_RIGHT)
{
if(afkba[playerid] == 0)
{
       KillTimer(asd);
   asd = SetTimerEx(\"AJEFKA\", 5*(60*1000), 0, \"i\", playerid);
   SendClientMessage(playerid, 0x00FF00, \"Teszt: Nem vagy AFK. Timer elindítva\");
}
else SendClientMessage(playerid, 0x00FF00, \"Teszt: AFK vagy.\");
}
return 1;
}
public AJEFKA(playerid)
{
if(afkba[playerid] == 0)
{
SendClientMessage(playerid, 0x00FF00, \"Túl sokáig voltál AFK! Máskor /afk\");
Kick(playerid);
}
SendClientMessage(playerid, -1, \"Teszt: Most rúgott volna ki.\");
}
CMD:afk(playerid)
{
if(afkba[playerid] == 0)
{
SetPlayerVirtualWorld(playerid, 4);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0x00FF00, \"AFK-ba léptél.\");
afkba[playerid] = 1;
}
else if(afkba[playerid] == 1)
{
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, 0x00FF00, \"Már nem vagy AFK.\");
afkba[playerid] = 0;
}
return 1;
}

 
Így?( Nem tudok tesztelni gép hiányában )

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal