Ajuda comando /daradm
#1

Galera й o seguinte to criando um gm dm/drift do zйro sу que tentei criar varios /daradmin sу que todos dгo erro!
Alguem poderia me disponibilizar um simples ?
TIpo sу da o level escolhido ao player e manda uma mensagens pra todos dizendo que ele й o novo admin

se isso ajudar:

pawn Код:
if(strcmp(cmdtext, "/daradmin", true, 10) == 0)
{
      if(AdminInfo[playerid][pAdmin] >= 3)
      {
            cmd = strtok(cmdtext, idx);
      }
}
Nгo sei se precisa mais eu tenho as strock isNumeric e ReturnUser
Reply
#2

PHP код:
dcmd_setlevel(playeridparams[])
{
    if(
IsPlayerAdmin(playerid))
    {
        new 
IDlevel;
        if(
sscanf(params"ii"IDlevel)) SendClientMessage(playeridCOLOR_WHITE"USAGE: /setlevel [id] [level]");
        else if(
ID == INVALID_PLAYER_IDSendClientMessage(playeridCOLOR_RED"Player is not connected!");
        else
        {
            
AccountInfo[ID][aLevel] = level;
            
SendClientMessage(IDCOLOR_GREEN"The RCON Admin promoted you to an admin!");
        }
    }
    return 
1;

____________
Deme uma estrelinha se este comando foi util
Reply
#3

Esse seu comando ta vazio cara '-'
Reply
#4

kikito seu comando й util sу que nao uso sscanf nem dcmd
mesmo assim obrigado
Reply
#5

ou:
ZCMD:
PHP код:
COMMAND:setlevel(playeridparams[])
{
    
// Setup local variables
    
new OtherPlayerLevelMsg[128], Name[24], AdminName[24], OldLevel;
    
// Send the command to all admins so they can see it
    
SendAdminText(playerid"/setlevel"params);
    
// Check if the player has logged in
    
if (APlayerData[playerid][LoggedIn] == true)
    {
        
// Check if the player's admin-level is at least 5
        
if (APlayerData[playerid][PlayerLevel] >= 5)
        {
            if (
sscanf(params"ui"OtherPlayerLevel)) SendClientMessage(playerid0xFF0000AA"Usage: \"/setlevel <OtherPlayer> <AdminLevel>\"");
            else
            {
                if (
IsPlayerConnected(OtherPlayer))
                {
                    
// Get the old level of the other player
                    
OldLevel APlayerData[OtherPlayer][PlayerLevel];
                    
GetPlayerName(playeridAdminNamesizeof(AdminName));
                    
GetPlayerName(OtherPlayerNamesizeof(Name));
                    
APlayerData[OtherPlayer][PlayerLevel] = Level;
                    if (
OldLevel != Level)
                    {
                        
//ver se o jogador foi promovido ou despromovido
                        
if (OldLevel Level)
                            
format(Msg128"Player %s has been promoted to %s by %s"NameAdminLevelName[Level], AdminName);
                        if (
OldLevel Level)
                            
format(Msg128"Player %s has been demoted to %s by %s"NameAdminLevelName[Level], AdminName);
                        
SendClientMessageToAll(0x00FF00FFMsg);
                    }
                    else
                        
SendClientMessage(playerid0xFF0000FF"Other player's level hasn't been changed");
                }
                else
                    
SendClientMessage(playerid0xFF0000FF"That player isn't online");
            }
        }
        else
            return 
0;
    }
    else
        return 
0;
    
// vamos deixar que o servidor saiba que й um comando vбlido
    
return 1;

commandos criados por mim e testados
Reply
#6

como vocй quer fazer
PHP код:
if(strcmp(cmdtext"/setlevel"true10) == 0)
{
    if(
IsPlayerAdmin(playerid))
    {
        new 
IDlevel;
        if(
sscanf(params"ii"IDlevel)) SendClientMessage(playeridCOLOR_WHITE"USAGE: /setlevel [id] [level]");
        else if(
ID == INVALID_PLAYER_IDSendClientMessage(playeridCOLOR_RED"Player is not connected!");
        else
        {
            
AccountInfo[ID][aLevel] = level;
            
SendClientMessage(IDCOLOR_GREEN"The RCON Admin promoted you to an admin!");
        }
    }
    return 
1;

nгo foi testado

peзo desculpa por double post.nгo notei que jб tinha postado
Reply
#7

Sу que denovo usaou sscanf e zcmd tambem nao uso..

## edit nao vi seu doble post foi mal

$$ Edit 2

Nao tenho sscanf e tento colocar da bug poderia me manda um simples sem zcmd sscanf e dcmd ?
Reply
#8

xiii pois й sscanf...esqueci-me
Reply
#9

o resto do comando vocк jah deve ter definido , entгo aqui:

OBS: Nгo sei se ta certo nгo costumo usar strtok... so uso ZCMD...

pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
{
    if (AdminInfo[playerid][pAdmin] <= 3) return SendClientMessage(playerid, -1, "Vocк nгo й admin ou nгo tem nivel suficiente de admin!");
    {
        if(IsPlayerConnected(playerid)) {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return SendClientMessage(playerid, -1, "USO: /daradmin [ID/Nome] [Level 1-5]");
            new Outroplayerid;
            new LevelAdmin;
            Outroplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            LevelAdmin = strval(tmp);
            if(IsPlayerConnected(Outroplayerid)) {
                if(Outroplayerid != INVALID_PLAYER_ID) {
                    if(LevelAdmin < 0 || LevelAdmin > 5) return SendClientMessage(playerid, -1, "Level de 1 а 5!");
                    new NomedoCara[MAX_PLAYER_NAME];
                    new NomedoCara2[MAX_PLAYER_NAME];
                    new string[60];
                    GetPlayerName(Outroplayerid, NomedoCara2, sizeof(NomedoCara2));
                    GetPlayerName(playerid, NomedoCara, sizeof(NomedoCara));
                    AdminInfo[Outroplayerid][pAdmin] = LevelAdmin;
                    format(string, sizeof(string), "%s lhe deu admin nivel %d", NomedoCara, LevelAdmin);
                    SendClientMessage(Outroplayerid, -1, string);
                    format(string, sizeof(string), "Vocк deu nivel de admin %d para %s", LevelAdmin, NomedoCara2);
                    SendClientMessage(playerid, -1, string);
                }
            }
        }
    }
    return 1;
}
Reply
#10

Tente...

Код:
if(strcmp(cmd,"/setadmin",true) == 0)
{
tmp = strtok(cmdtext, idx);
new player[MAX_PLAYER_NAME];
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= 5)
{
			if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_RED,"USE: /setadmin [id] [cargo]");
			if(!IsNumeric(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"[AVISO] Por favor digite o ID do Player.");
			if(!IsPlayerConnected(strval(tmp))) return SendClientMessage(playerid,COLOR_WHITE,"[FAIL] Jogador indisponнvel.");
			giveplayerid = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			new Level = strval(tmp);
			new playername[24];
   			if(Level < 0)
            {
               SendClientMessage(playerid, COLOR_CYAN, "[FAIL] Level minimo 0");
            return 1;
            }
            if(Level > 5)
            {
               SendClientMessage(playerid, COLOR_CYAN, "[FAIL] Level mбximo 5");
            return 1;
            }
			GetPlayerName(giveplayerid, playername, sizeof(playername));
			format(file,sizeof(file),"%s.ini",playername);
			dini_Create(file);
			dini_IntSet(file,"Level", Level);
			PlayerInfo[giveplayerid][Admin] = dini_Int(file,"Level");
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, player, sizeof(player));
			format(string, sizeof(string), "{FFFF00}Adm.Cmd:{33AAFF} O Administrador %s deu para vocк [Cargo %d] de Administrador!",player, Level);
			SendClientMessage(giveplayerid, COLOR_WHITE, string);
			format(string, sizeof(string), "{FFFF00}Adm.Cmd:{33AAFF} Vocк deu para %s [Cargo %d] de Administrador!", giveplayer, Level);
			SendClientMessage(playerid, COLOR_WHITE, string);
}
else if(PlayerInfo[playerid][Admin] < 5) return SendClientMessage(playerid,COLOR_RED, "Vocк nгo tem permissгo para usar este comando!");
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)