20.04.2013, 20:56
(
Последний раз редактировалось Glimma; 20.04.2013 в 23:36.
)
Probб asн;
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.
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.
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;
}
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.
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.