SA-MP Forums Archive
[ajuda] comando /daradmin - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [ajuda] comando /daradmin (/showthread.php?tid=340442)



[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