GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: dexi - 2012. Január 15. - 13:55:04

Cím: [A]way[F]rom[K]eyboard
Írta: dexi - 2012. Január 15. - 13:55:04
Sok AFK scriptet látni itt a fórumon de még 1 olyat se láttam ami:
- Kidobja a játékost ha x ideig nem mozog.
- Ha AFK-ban van a játékos, nem kickeli.
Ha már van ilyen akkor tévedtem, nem néztem mindet végig  :D.
Szükséges hozzá: zcmd include.
/*==================================================================*/
Az esetleges bugokért / hibákért elnézést kérek, szokásomhoz híven nincs lehetõségem tesztelni.
Code:
 
#include <a_samp>
#include <zcmd>
new bool:afk[MAX_PLAYERS];
new AfkTimer[MAX_PLAYERS];
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ( newkeys & KEY_UP || newkeys & KEY_DOWN || newkeys & KEY_RIGHT || newkeys & KEY_LEFT)
{
KillTimer(AfkTimer[playerid]);
AfkTimer[playerid] = SetTimerEx(\"AwayFromKeyboard\", 5 * ( 60 * 1000 ), 0, \"i\", playerid);
}
return 1;
}
stock Kirug(playerid, reason[])
{
new stR[200];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(stR, sizeof(stR), \"**[server] %s ki lett rúgva. Ok: %s\", pName, reason);
SendClientMessageToAll(-1,stR);
Kick(playerid);
return stR;
}
forward AwayFromKeyboard(playerid);
public AwayFromKeyboard(playerid)
{
if(afk[playerid] == false)
{
    SendClientMessage(playerid, -1, \"Túl sokáig voltál AFK. Máskor /afk!\");
    Kirug(playerid,\"Away From Keyboard\");
}
}
CMD:afk(playerid)
{
if(afk[playerid] == false)
{
    SendClientMessage(playerid, -1, \"AFK üzemmódba léptél.\");
SetPlayerVirtualWorld(playerid, 10);
TogglePlayerControllable(playerid, 0);
afk[playerid] = true;
}
else if(afk[playerid] == true)
{
    SendClientMessage(playerid, -1, \"Már nem vagy AFK.\");
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
afk[playerid] = false;
}
return 1;
}
Cím: [A]way[F]rom[K]eyboard
Írta: IXT - 2012. Január 15. - 14:39:30
Nem nagy script,de jó  :D
Cím: [A]way[F]rom[K]eyboard
Írta: Pedró - 2012. Január 15. - 16:17:57
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ( newkeys & KEY_UP || newkeys & KEY_DOWN || newkeys & KEY_RIGHT || newkeys & KEY_LEFT)
{
KillTimer(AfkTimer[playerid]);
AfkTimer[playerid] = SetTimerEx(\"AwayFromKeyboard\", 5 * ( 60 * 1000 ), 0, \"i\", playerid);
}
return 1;
}

 
És akkor mivan ha a játékos egy jármûben ül utasként? :)
Cím: [A]way[F]rom[K]eyboard
Írta: dexi - 2012. Január 15. - 16:25:36
Akkor megnyomja a felsorolt gombok egyikét :D.
Cím: [A]way[F]rom[K]eyboard
Írta: Flash - 2012. Január 15. - 23:34:28
Egyszerû és hasznos script, GRAT!
Cím: [A]way[F]rom[K]eyboard
Írta: BoOy - 2012. Január 16. - 08:27:11
Szép szkript grat.
Cím: [A]way[F]rom[K]eyboard
Írta: The - 2012. Január 16. - 10:26:02
Szép, grat!