Problem(error/warning): ZnaÄi smaram viÅ¡e sa temama ali jbg. ZnaÄi uspeo sam srediti Nex-AC da lepo radi. E sada me zanima kako da napravim da Adminima kojima su upaljena obaveÅ¡tenja za AntiCheat poruke poÅ¡alje u chat da neko cheatuje. PokuÅ¡ao sam preko CallRemoteFunction ali nije iÅ¡lo.
Deo skripte: Evo u modu kako je da Å¡alje poruku adminu ako su ukljuÄena AntiCheat ObaveÅ¡tenja [pawn]forward AdminACPoruka( color, string[] );
public AdminACPoruka( color, string[] ) {
for( new i = 0; i < MAX_PLAYERS; i++) {
if( IsPlayerConnected( i ) ) {
if( PI[ i ][ xGM ] >= 1 || PI[ i ][ xAdmin ] >= 1 || IsPlayerAdmin( i ) ) {
if(GetPVarInt( i, "ToggedAC") == 0) {
SCM( i, color, string ); } } } }
return true;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Koristi cb:
[pawn]forward OnCheatDetected(playerid, ip_address[], type, code);
public OnCheatDetected(playerid, ip_address[], type, code)
{
new str[ 128 ];
format(str, sizeof(str), "Igrac %s koristi cheat", GetName(playerid));
AltChatWarn(str);
return 1;
}[/pawn]
Pokusaj preko varijable da odradis mislim da je ovde greska
[pawn]
if(GetPVarInt( i, "ToggedAC") == 0) {
SCM( i, color, string ); } } } }
}
[/pawn]
[pawn]
new bool:AntiCheatStatus[MAX_PLAYERS];
[/pawn]
Pa onda dodas pod
[pawn]
OnPlayerConnect(playerid)
{
AntiCheatStatus[playerid] = 0;
[/pawn]
Pa napravis komandu
[pawn]
CMD:anticheat(playerid,params)
{
if(PlayerInfo[playerid][pAdmin] == 0 return SCM(playerid,-1,"Nisi ovlascen");
if(AntiCheatStatus[playerid] == 0)
{
AntiCheatStatus[playerid] = 1;
SCM(playerid,-1,"Ukljucio si Admin obavjestenja");
}
else
{
AntiCheatStatus[playerid] = 0;
SCM(playerid,-1,"Iskjlucio si Admin obavjestenja");
}
return(true);
}
[/pawn]
I na kraju tvoje slanje poruke
[pawn]
forward AdminACPoruka( color, string[] );
public AdminACPoruka( color, string[] ) {
for( new i = 0; i < MAX_PLAYERS; i++) {
if( IsPlayerConnected( i ) ) {
if( PI[ i ][ xGM ] >= 1 || PI[ i ][ xAdmin ] >= 1 || IsPlayerAdmin( i ) ) {
if(AntiCheatStatus[playerid] == 1) {
SCM( i, color, string ); } } } }
return true;
}
[/pawn]
Dodaj u modu:
[pawn]forward NexACMsg( string[] );
public NexACMsg( string[] ) {
for( new i = 0; i < MAX_PLAYERS; i++) {
if( IsPlayerConnected( i ) ) {
if( PI[ i ][ xGM ] >= 1 || PI[ i ][ xAdmin ] >= 1 || IsPlayerAdmin( i ) ) {
if(GetPVarInt( i, "ToggedAC") == 0) { //mozes koristit i obicnu varijablu
SCM( i, -1, string ); } } } }
return true;
}[/pawn]
U nex-acu dodaj funkciju:
[pawn]OnCheatDetected( playerid, hack[] ) {
new string[ 120 ], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Igrac %s je detektovan za zabranjeni mod: %s", name, hack);
CallRemoteFunction("NexACMsg", "s", string);
return true;
}[/pawn]
I ovo dodaj u Nex-AC kod detekcija:
[pawn]OnCheatDetected(playerid, "Weapon Hack"); //primjer weapon hacka, ti mjenjaj kako ti odgovara[/pawn]
Dugo nisam ništa radio, pa sam malo zaboravio stvari, al bi trebalo raditi.