Jump to content

SendClientMessageToAdmins


Recommended Posts

Geplaatst:

Hallo

Ik heb even een functie uitgewerkt dat een bericht naar alle admins (adminlevel groter dan 0) moet sturen. Dit is mijn script:

public SendClientMessageToAdmins(color, const message[])
{
new msgstring[256];
for(new i; i < MAX_PLAYERS; i++)
{
	if(adminlevel[i] == 0)
	{
		return 0;
	}
	else
	{
		SendClientMessage(i, color, msgstring);
		print("AdmCmd");
	}
}
return 1;
}

// ========================

if(strcmp(cmd, "/test", true) == 0)
{
	tmp = strtok(cmdtext, idx);
  		if(!strlen(tmp))
	{
		SendClientMessage(playerid, COLOR_GRAY, "USAGE: /test [msg]");
		return 1;
	}
	else
	{
		format(string, sizeof(string), "AdmCmd: %s", tmp);
		SendClientMessageToAdmins(COLOR_ADM_RED, string);
	}
	return 1;
}

Hij compiled dit zonder errors of warnings, maar als ik ingame ga met mezelf adminlevel 5 (RCON admin) en /test blablabla doe, dan crashed de server. Ik wil dit gaan gebruiken voor (/a)dmin chat, voor AdmWarn's en voor /report's te zenden aan de admins.

Geplaatst: (bewerkt)

Dit komt omdat jij een lege string probeert te verzenden....

jij wil de string 'msgstring' verzenden, maar je hebt die string niet ge-format.

Daardoor crasht je server.

Bovendien werkt je code niet goed door die 'return 0;' die je krijgt als een speler geen admin is. Want die 'return 0;' kapt namelijk de hele functie af.

public SendClientMessageToAdmins(color, const message[])
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(adminlevel[i] != 0) // Let op die '!='. 
	{
		SendClientMessage(i, color, msgstring);
		print("AdmCmd");
	}
}
return 1;
}

Bewerkt: door =>Sandra<=

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...