#include <a_samp>
#include <YSI_Data\y_iterate>
#define MAX_ADMIN_LEVEL 7
new Iterator:AdminStaff<MAX_ADMIN_LEVEL +1, MAX_PLAYERS>;
public OnPlayerConnect(playerid) {
Iter_Add(AdminStaff<7>, playerid); // 7 fiind admin level.
return true;
}
public OnPlayerDisconnect(playerid) {
if(Iter_Contains(AdminStaff<7>, playerid)) Iter_Remove(AdminStaff<7>, playerid);
return true;
}
#define sendAdminMessageF(%0,%1,%2,%3) \
format(srsString,sizeof srsString,%1,%3)&&sendAdminMessage(%0,srsString,%2)
#define sendAdminMessageForAllF(%0,%1,%2,%3) \
format(srsString,sizeof srsString,%1,%3)&&sendAdminMessageForAll(%0,srsString)
stock sendAdminMessage(const color, const message[], level) { // atentie sa nu treaca peste level-ul peste MAX_ADMIN_LEVEL!
foreach(new a: AdminStaff<level>) SendClientMessage(a,color,message);
return true;
}
stock sendAdminMessageForAll(const color, const message[]) {
foreach(new a: All(AdminStaff<>)) SendClientMessage(a,color,message);
return true;
}
poti interca si aici un exemplu facut de mine.