[Duda] Sistema de administradores duty
#4

Probб asн;

pawn Код:
zcmd(adminduty, playerid, params[]) {
        if(Info[playerid][pAdminZC] == 0) return SendClientMessageEx(playerid, COLOR_WHITE, "[ERROR]: No tienes autorizaciуn a usar este comando.");
        new string[128];
        if(Info[playerid][pAdminZC] >= 1) {
            if(AdminDuty[playerid]== 0) {
                AdminDuty[playerid] = 1;
                SetPlayerColor(playerid, COLOR_LIGHTBLUE);
                format(string, sizeof(string), "{FFFFFF}[Staff]: %s estб {00FFCC}en servicio", GetPlayerNameEx(playerid));
                SendClientMessageToAll(-1, string);
            }
            else {
                AdminDuty[playerid] = 0;
                SetPlayerColor(playerid, TEAM_HIT_COLOR);
                format(string, sizeof(string), "{FFFFFF}[Staff]: %s ya no estб {00FFCC}en servicio", GetPlayerNameEx(playerid));
                SendClientMessageToAll(-1, string);
            }
        }
        return 1;
    }
De paso, definн el string una sуla vez, estaba definido dos veces para el mismo valor, innecesario, y la funciуn SetPlayerToTeamColor la estabas usando mal en cuanto a parбmetros, asн que la cambiй por SetPlayerColor.

Con respecto a los errores, era porque habнa primero una llave de abertura de mбs, y luego porque habнan llaves de cerradura inexistentes (te faltу colocarlas).

Ademбs, tabulй varias lнneas y el ъltimo else if lo puse al principio como if, y estabas usando dos veces (innecesario) la misma condicionante para detectar si un jugador tiene rango 1 administrativo), lo cambiй, y reducн lнneas al quitar ese condicionante.

Otra cosa, cuando comprueba que al usar al comando y tener la variable de adminduty activa (en 1) para que le quite el servicio y le devuelva la misma en 0, tenнas como mensaje tambiйn "estб en servicio", le agreguй "ya no estб en servicio", estabas comprobando si uno tenнa la variable de administrador en 1, puse para que compruebe si es mayor o igual a 1, ya que tengo entendido que hay mбs de un nivel adminsitrativo, quitй el params que estaba al lado de la funciуn GetPlayerNameEx, ya que estaba de mбs.... Por ъltimo, te puse la funciуn para enviar mensajes globales debajo de los format, que era lo que te faltaba.

Quote:
Originally Posted by sonnkz
Посмотреть сообщение
if(Info[playerid][pAdminZC] == 1){

en ves poner asi proba poniendo asi

if(Info[playerid][pAdminZC] == 1)
{
Eso no tiene nada que ver, hay formas y formas de programar / scriptear.. Muchos colocan la llave al lado de una lнnea, todo para ahorrar lнneas.. El compilador lee de derecha a izquierda, asн que si una llave estб en una misma lнnea pero a la derecha de una funciуn, condicional o lo que sea, es leнdo de forma correcta.
Reply


Messages In This Thread
[Duda] Sistema de administradores duty - by FelipeMancilla - 20.04.2013, 17:21
Respuesta: [Duda] Sistema de administradores duty - by sonnkz - 20.04.2013, 20:42
Respuesta: [Duda] Sistema de administradores duty - by GranaT3 - 20.04.2013, 20:45
Respuesta: [Duda] Sistema de administradores duty - by Glimma - 20.04.2013, 20:56
Respuesta: [Duda] Sistema de administradores duty - by sonnkz - 21.04.2013, 00:17

Forum Jump:


Users browsing this thread: 2 Guest(s)