30.04.2013, 20:34
Quote:
* Y_Less - very thorough research |

Anyway, I would still recommend using y_master - I used to do what you're doing here and developed that to prevent duplication (because I got royally frustrated with writing everything twice):
pawn Код:
#if defined AC_SLAVE
AC_STOCK AC_GetPlayerMoney(playerid) {
return CallRemoteFunction(#AC_GetPlayerMoney, "i", playerid);
}
#if defined _ALS_GetPlayerMoney
#undef GetPlayerMoney
#else
#define _ALS_GetPlayerMoney
#endif
#define GetPlayerMoney AC_GetPlayerMoney
#else
AC_PUBLIC AC_GetPlayerMoney(playerid) {
if (IsPlayerConnected(playerid)) {
new bad_money = U_GetPlayerMoney(playerid);
return bad_money < AC_players[playerid][AC_pMoney] ? bad_money : AC_players[playerid][AC_pMoney];
}
return 0;
}
#if defined _ALS_GetPlayerMoney
#undef GetPlayerMoney
#else
#define _ALS_GetPlayerMoney
#endif
#define GetPlayerMoney AC_GetPlayerMoney
#endif
pawn Код:
foreign AC_GetPlayerMoney(playerid);
global AC_GetPlayerMoney(playerid) {
if (IsPlayerConnected(playerid)) {
new bad_money = U_GetPlayerMoney(playerid);
return bad_money < AC_players[playerid][AC_pMoney] ? bad_money : AC_players[playerid][AC_pMoney];
}
return 0;
}
#if defined _ALS_GetPlayerMoney
#undef GetPlayerMoney
#else
#define _ALS_GetPlayerMoney
#endif
#define GetPlayerMoney AC_GetPlayerMoney
Other than that, the layout looks good and thoroughly organised!
Also, I don't tend to rely on using the "FILTERSCRIPT" macro as people are rubbish at using it:
pawn Код:
new bool:AC_FILTERSCRIPT = false;
public OnFilterScriptInit()
{
AC_FILTERSCRIPT = true;
AC_OnScriptInit();
}
public OnGameModeInit()
{
if (!AC_FILTERSCRIPT) AC_OnScriptInit();
}