pt y_commands trebuie sa modifici OnPlayerCommandPerformed
OnPlayerCommandPerformed
Acum este:
e_COMMAND_ERRORS:OnPlayerCommandReceived(playerid, cmdtext[], e_COMMAND_ERRORS:success)
Exemplu:
public e_COMMAND_ERRORS:OnPlayerCommandReceived(playerid, cmdtext[], e_COMMAND_ERRORS:success)
{
if(success == COMMAND_UNDEFINED)
{
SendClientMessage(playerid, -1, "Aceasta comanda nu exista.");
return COMMAND_OK;
}
return COMMAND_OK;
}
Lista cu errorile:
enum e_COMMAND_ERRORS
{
// The majority of these are even - odd numbers return "1" not "0".
COMMAND_ZERO_RET = 0 , // The command returned 0.
COMMAND_OK = 1 , // Called corectly.
COMMAND_UNDEFINED = 2 , // Command doesn't exist.
COMMAND_DENIED = 3 , // Can't use the command.
COMMAND_HIDDEN = 4 , // Can't use the command don't let them know it exists.
COMMAND_NO_PLAYER = 6 , // Used by a player who shouldn't exist.
COMMAND_DISABLED = 7 , // All commands are disabled for this player.
COMMAND_BAD_PREFIX = 8 , // Used "/" instead of "#", or something similar.
COMMAND_INVALID_INPUT = 10, // Didn't type "/something".
}
Iar la Iteratori, ai inteles gresit cum se folosesc.
La comanda ta:
YCMD:admins(playerid, params[], help) {
new string[128];
foreach(new i: Admin) {
if(PlayerInfo[i][pAdmin] > 0) {
format(string, 128, "%s - admin level %d", GetName(playerid), PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
}
}
return 1;
}
Functia GetName trebuie sa apeleze ID-ul adminului, nu al tau, iar acea verificare daca e admin, e inutila, pt ca in interator adaugi doar persoanele care au admin.
GetName(playerid) -> GetName(i)
foreach(new i: Admin) {
if(PlayerInfo[i][pAdmin] > 0) {
format(string, 128, "%s - admin level %d", GetName(playerid), PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
}
->
foreach(new i: Admin)
{
format(string, 128, "%s - admin level %d", GetName(i), PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
}