29.10.2011, 09:27
pawn Код:
forward OnPlayerTargetPlayer(playerid,newtarget,oldtarget);
new OPTP_target[MAX_PLAYERS] = {INVALID_PLAYER_ID,...};
new OPTP_ALS[1 char];
forward OPTP_OnPlayerUpdate(playerid);
forward OPTP_OnPlayerConnect(playerid);
forward OPTP_OnFilterScriptInit();
forward OPTP_OnGameModeInit();
public OnPlayerUpdate(playerid)
{
new trg = GetPlayerTargetPlayer(playerid);
if (OPTP_ALS{0} & 1) CallLocalFunction("OnPlayerTargetPlayer","iii",playerid,trg,OPTP_target[playerid]);
OPTP_target[playerid] = trg;
return (OPTP_ALS{0} & 2) ? CallLocalFunction("OPTP_OnPlayerUpdate", "i", playerid) : 1;
}
#if defined _ALS_OnPlayerUpdate
#undef OnPlayerUpdate
#else
#define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate OPTP_OnPlayerUpdate
public OnPlayerConnect(playerid)
{
OPTP_target[playerid] = INVALID_PLAYER_ID;
if (OPTP_ALS{0} & 4) CallLocalFunction("OnPlayerConnect", "i", playerid);
return 1;
}
#if defined _ALS_OnPlayerConnect
#undef OnPlayerConnect
#else
#define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect OPTP_OnPlayerConnect
public OnFilterScriptInit()
{
if (funcidx("OPTP_OnPlayerTargetPlayer") != -1) OPTP_ALS{0} |= 1;
if (funcidx("OPTP_OnPlayerUpdate") != -1) OPTP_ALS{0} |= 2;
if (funcidx("OPTP_OnPlayerConnect") != -1) OPTP_ALS{0} |= 4;
if (funcidx("OPTP_OnFilterScriptInit") != -1) CallLocalFunction("OPTP_OnFilterScriptInit", "");
return 1;
}
#if defined _ALS_OnFilterScriptInit
#undef OnFilterScriptInit
#else
#define _ALS_OnFilterScriptInit
#endif
#define OnFilterScriptInit OPTP_OnFilterScriptInit
public OnGameModeInit()
{
if (funcidx("OPTP_OnPlayerTargetPlayer") != -1) OPTP_ALS{0} |= 1;
if (funcidx("OPTP_OnPlayerUpdate") != -1) OPTP_ALS{0} |= 2;
if (funcidx("OPTP_OnPlayerConnect") != -1) OPTP_ALS{0} |= 4;
if (funcidx("OPTP_OnGameModeInit") != -1) CallLocalFunction("OPTP_OnGameModeInit", "");
return 1;
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit OPTP_OnGameModeInit
p.s.: if you don't want me to post here, tell me and I take down it.

