Nem rossz nem rossz de az elkészítési idõt figyelembe véve, nem is lehet többet várni.
(nem bírom ezt az elkészítési idõ feltüntetését, valahogy nem hiszem hogy a valóságot tükrözi :problem:)
De íme egy változat én hogy írtam volna meg, bocsánat a zcmd miatt de ha egyszer rászokik az ember már nem tér vissza strcmp dolgokra :D
#include <a_samp>
#define FILTERSCRIPT // Ha filterscriptként van használva a zcmd igényli a FILTERSCRIPT definiciót
#include <zcmd>
#define COLOR_RED 0xFF0000FF
// Az érthetõség kedvéért a true és false értékeknek nevet adtam AFK_KI és AFK_BE ezeknek az értékét a TogglePlayerControllable határozta meg!!
#define AFK_KI true // 1 unfreeze
#define AFK_BE false // 0 freeze
new
bool:afkstatus[MAX_PLAYERS] = {AFK_KI, ... };
COMMAND:afk(playerid)
{
afkstatus[playerid] = AFK_KI - afkstatus[playerid];
TogglePlayerControllable(playerid, afkstatus[playerid]);
SendClientMessage(playerid, COLOR_RED, (afkstatus[playerid])?(\"AFK-KI\"):(\"AFK_BE\"));
SetPlayerVirtualWorld(playerid, _:afkstatus[playerid]);
return 1;
}
public
OnPlayerConnect(playerid)
{
afkstatus[playerid] = AFK_KI;
return 1;
}
public
OnPlayerDisconnect(playerid)
{
afkstatus[playerid] = AFK_KI;
return 1;
}
Ha van egy változó aminek csak két értéke lehet ( bool ) nem kell állandóan if vizsgálat azért hogy true vagy false az értéke, és emiatt szinte duplán leírni a két eshetõségre vonatkozó utasításokat.
Remélem lehet belõle kicsit tanulni. :angel: