שלום לכולם, היום אפרסם לכם מערכת שבניתי בשבילכם.
המערכת נבדקה ואין בה שום באג.
קוד:
#include <a_samp>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new InAfk[MAX_PLAYERS];
public OnFilterScriptInit()
{
printf(" AFK System By Yagel © 2012-2013");
printf(" Please don't remove the credits.. ");
return 1;
}
public OnPlayerText(playerid, text[])
{
if(InAfk[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "/Afk - ליציאה הקש ,AFK אתה לא יכול לרשום בצ'אט במצב"), 0;
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(AFK, 3, cmdtext);
if(InAfk[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "/Afk - ליציאה הקש ,AFK אתה לא יכול לבצע פקודות במצב");
return 0;
}
dcmd_AFK(playerid, params[])
{
#pragma unused params
new str[256];
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "!צא מהרכב");
printf(!InAfk[playerid]? ("[AFK-System] \"%s\" is now afk."):("[AFK-System] \"%s\" back from afk."), GetName(playerid));
InAfk[playerid] = !InAfk[playerid]? 1 : 0;
TogglePlayerControllable(playerid, !InAfk[playerid]? 1 : 0);
format(str, sizeof(str), !InAfk[playerid]? ("[InAFK] .AFK נכנס למצב \"%s\" השחקן"):("[OutAFK] .AFK יצא ממצב \"%s\" השחקן"),GetName(playerid)), SendClientMessageToAll(0xFFD700FF, str);
SendClientMessage(playerid, 0x00FF00FF, !InAfk[playerid]? ("!המשך משחק מהנה ,AFK יצאת ממצב"):("/Afk - ליציאה הקש ,AFK נכנסת למצב"));
return 1;
}
//==============================================================================
stock GetName(playerid){ new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name;}