[ajuda] comando /daradmin -
caio.oakey - 07.05.2012
na hora q eu vo da o admin pra pessoa o level sempre vai pra 0
Код:
COMMAND:daradmin(playerid, params[])
{
new OtherPlayer, Level, Msg[128], Name[24], AdminName[24], OldLevel;
SendAdminText(playerid, "/daradmin", params);
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 5)
{
SendClientMessage(playerid, 0xFF0000AA, "Use: /daradmin [id] [nivel]");
{
if (IsPlayerConnected(OtherPlayer))
{
OldLevel = APlayerData[OtherPlayer][PlayerLevel];
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(OtherPlayer, Name, sizeof(Name));
APlayerData[OtherPlayer][PlayerLevel] = Level;
if (OldLevel != Level)
{
if (OldLevel < Level)
format(Msg, 128, "[BC] O jogador %s foi promovido a %s por %s", Name, AdminLevelName[Level], AdminName);
if (OldLevel > Level)
format(Msg, 128, "[BC] O jogador %s foi rebaixado a %s por %s", Name, AdminLevelName[Level], AdminName);
SendClientMessageToAll(0x00FF00FF, Msg);
}
else
SendClientMessage(playerid, 0xFF0000FF, "[BC] Nivel dos outros jogadores nгo foram alterados,");
}
else
SendClientMessage(playerid, 0xFF0000FF, "[BC] Esse jogador nгo estб online.");
}
}
else
return 0;
}
else
return 0;
return 1;
}
Re: [ajuda] comando /daradmin - rjjj - 07.05.2012
Como o comando tem mais de um parвmetro, vocк teria que utilizar um cуdigo como
strtok ou
sscanf para obter o ID e o nнvel indicados

.
Espero ter ajudado

.
Respuesta: [ajuda] comando /daradmin -
caio.oakey - 07.05.2012
tem como passar para sscanf pra mim ? to tentando aki + n consigo :S
Re: Respuesta: [ajuda] comando /daradmin -
humildadeforever - 07.05.2012
Quote:
Originally Posted by caio.oakey
tem como passar para sscanf pra mim ? to tentando aki + n consigo :S
|
Edita ae
pawn Код:
CMD:daradmin(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Vocк nгo pode usar esse comando.");
new OtherPlayer, nivel;
if(sscanf(params,"u", OtherPlayer, nivel)) return SendClientMessage(playerid,-1,"Use: /daradmin [ID] [Nivel]");
if(!IsPlayerConnected(OtherPlayer)) return SendClientMessage(playerid,-1,"Player nгo conectado.");
APlayerData[OtherPlayer][PlayerLevel] = Level;
SendClientMessage(playerid,-1,"Admin setado com sucesso!");
SendClientMessage(OtherPlayer, -1,"Vocк recebeu admin :D");
return 1;
}
Respuesta: Re: Respuesta: [ajuda] comando /daradmin -
caio.oakey - 07.05.2012
Quote:
Originally Posted by humildadeforever
Edita ae
pawn Код:
CMD:daradmin(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Vocк nгo pode usar esse comando."); new OtherPlayer, nivel; if(sscanf(params,"u", OtherPlayer, nivel)) return SendClientMessage(playerid,-1,"Use: /daradmin [ID] [Nivel]"); if(!IsPlayerConnected(OtherPlayer)) return SendClientMessage(playerid,-1,"Player nгo conectado."); APlayerData[OtherPlayer][PlayerLevel] = Level; SendClientMessage(playerid,-1,"Admin setado com sucesso!"); SendClientMessage(OtherPlayer, -1,"Vocк recebeu admin :D"); return 1; }
|
Deu certo obrigado +rep
Re: [ajuda] comando /daradmin -
humildadeforever - 07.05.2012
Nada
Re: [ajuda] comando /daradmin -
Djair_Black - 07.05.2012
Gosto mais assim:
pawn Код:
if(strcmp(cmd,"/nadmin", true)==0)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), psContas, aname);
if(PlayerInfo[playerid][pAdmin] == 5){
new tmp[256];
new plid, nadmin;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]");
return 1;
}
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]");
return 1;
}
nadmin = strval(tmp);
if(IsPlayerConnected(plid)){
PlayerInfo[playerid][pAdmin] = nadmin;
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "** [INFO] O Administrador %s (%d) setou o seu nнvel Administrativo para: %s", aname, playerid, NivelAdmin(nadmin));
SendClientMessage(plid,tcadm, string);
SendClientMessage(playerid, Verde, "** [INFO] Comando efetuado com sucesso!");
return 1;
}else{
SendClientMessage(playerid, VERMELHO_TD, "*** [ERRO] Jogador nгo conectado.");
return 1;
}
}
}
pawn Код:
stock NivelAdmin(nivel)
{
new str[30];
if(nivel == 0)
{
str = "Nгo Administrador";
}
else if(nivel == 1)
{
str = "Moderador";
}
else if(nivel == 2)
{
str = "Auxiliar";
}
else if(nivel == 3)
{
str = "Administrador";
}
else if(nivel == 4)
{
str = "Sub-Dono";
}
else if(nivel == 5)
{
str = "Dono";
}
return str;
}
Re: [ajuda] comando /daradmin -
humildadeforever - 07.05.2012
Quote:
Originally Posted by Djair_Black
Gosto mais assim:
pawn Код:
if(strcmp(cmd,"/nadmin", true)==0) { new aname[MAX_PLAYER_NAME]; GetPlayerName(playerid, aname, MAX_PLAYER_NAME); format(file, sizeof(file), psContas, aname); if(PlayerInfo[playerid][pAdmin] == 5){ new tmp[256]; new plid, nadmin; tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]"); return 1; } plid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]"); return 1; } nadmin = strval(tmp); if(IsPlayerConnected(plid)){ PlayerInfo[playerid][pAdmin] = nadmin; new pname[MAX_PLAYER_NAME]; GetPlayerName(plid, pname, MAX_PLAYER_NAME); format(string, sizeof(string), "** [INFO] O Administrador %s (%d) setou o seu nнvel Administrativo para: %s", aname, playerid, NivelAdmin(nadmin)); SendClientMessage(plid,tcadm, string); SendClientMessage(playerid, Verde, "** [INFO] Comando efetuado com sucesso!"); return 1; }else{ SendClientMessage(playerid, VERMELHO_TD, "*** [ERRO] Jogador nгo conectado."); return 1; } } }
pawn Код:
stock NivelAdmin(nivel) { new str[30]; if(nivel == 0) { str = "Nгo Administrador"; } else if(nivel == 1) { str = "Moderador"; } else if(nivel == 2) { str = "Auxiliar"; } else if(nivel == 3) { str = "Administrador"; } else if(nivel == 4) { str = "Sub-Dono"; } else if(nivel == 5) { str = "Dono"; } return str; }
|
NOSSA! Que code lindo
Sente sу a diferenзa (organizaзгo):
pawn Код:
if(strcmp(cmd,"/nadmin", true) == 0)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), psContas, aname);
if(PlayerInfo[playerid][pAdmin] == 5)
{
new tmp[156],plid, nadmin;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]");
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]");
nadmin = strval(tmp);
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, VERMELHO_TD, "*** [ERRO] Jogador nгo conectado.");
PlayerInfo[playerid][pAdmin] = nadmin;
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "** [INFO] O Administrador %s (%d) setou o seu nнvel Administrativo para: %s", aname, playerid, NivelAdmin(nadmin));
SendClientMessage(plid,tcadm, string);
SendClientMessage(playerid, Verde, "** [INFO] Comando efetuado com sucesso!");
return 1;
}
return 1;
}
E zcmd + sscanf й bem melhor
Re: [ajuda] comando /daradmin -
tonisantolia - 07.05.2012
Quote:
Originally Posted by Djair_Black
Gosto mais assim:
pawn Код:
if(strcmp(cmd,"/nadmin", true)==0) { new aname[MAX_PLAYER_NAME]; GetPlayerName(playerid, aname, MAX_PLAYER_NAME); format(file, sizeof(file), psContas, aname); if(PlayerInfo[playerid][pAdmin] == 5){ new tmp[256]; new plid, nadmin; tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]"); return 1; } plid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, VERMELHO_TD, "** [INFO] /nadmin [ID] [1 -- 5]"); return 1; } nadmin = strval(tmp); if(IsPlayerConnected(plid)){ PlayerInfo[playerid][pAdmin] = nadmin; new pname[MAX_PLAYER_NAME]; GetPlayerName(plid, pname, MAX_PLAYER_NAME); format(string, sizeof(string), "** [INFO] O Administrador %s (%d) setou o seu nнvel Administrativo para: %s", aname, playerid, NivelAdmin(nadmin)); SendClientMessage(plid,tcadm, string); SendClientMessage(playerid, Verde, "** [INFO] Comando efetuado com sucesso!"); return 1; }else{ SendClientMessage(playerid, VERMELHO_TD, "*** [ERRO] Jogador nгo conectado."); return 1; } } }
pawn Код:
stock NivelAdmin(nivel) { new str[30]; if(nivel == 0) { str = "Nгo Administrador"; } else if(nivel == 1) { str = "Moderador"; } else if(nivel == 2) { str = "Auxiliar"; } else if(nivel == 3) { str = "Administrador"; } else if(nivel == 4) { str = "Sub-Dono"; } else if(nivel == 5) { str = "Dono"; } return str; }
|
Amigo nгo e questao de gostar ou nгo, zcmd e sscanf sao muito mais rapidos doq isso ai '-'
Re: [ajuda] comando /daradmin -
RodrigoGirolamo - 08.05.2012
Isso й Bug dos ID's
HaHa
Que versгo o server ta 0.3c ou 0.3d
se tiver no 0.3d й Bug dos ID