[Ajuda] format bugado??
#1

galera to com uma duvida
o seguinte
pawn Код:
CMD:setadmin (playerid,params[])
{
            new string[32], aname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
            new id; // Variavel que irб armazenar o id do jogador desejado!
            new nivel; // irб armazenar o nivel de administrador.
            new file[70], snd[MAX_PLAYER_NAME];
            GetPlayerName(playerid,aname, MAX_PLAYER_NAME);
            GetPlayerName(id, pname, MAX_PLAYER_NAME);
            if(sscanf(params,"ui",id,nivel))return SendClientMessage(playerid, -1, "[ERRO] Uso: /setadmin [playerid] [nivel]");
            if(nivel >= 6) return SendClientMessage(playerid,-1,"Niveis de 0 a 5");
            if(nivel == 0) {
            GetPlayerName(id, snd, sizeof snd);
            format(file, sizeof file, "Contas/%s.ini", snd);
            if(!DOF2_FileExists(file)) {
                DOF2_CreateFile(file); // caso o nome dele nгo esteja na pasta administradores.
            }
            DOF2_SetInt(file, "Admin", nivel); // irб setar na linha Admin o valor do nivel desejado.
            DOF2_SaveFile(); // salva e fecha o arquivo.
            pAdmin[id] = 0; // irб setar o nivel para ele!
            format(string, sizeof(string), "{FF0000}(INFO) {FFFFFF}O Admin Rcon %s (%d)(») {0000FF}Removeu admin do jogador: %s (%d)", aname,playerid,pname,id);
            SendClientMessageToAll(-1, string);
            SpawnPlayer(id);
            }else{
            SendClientMessage(playerid,-1,"ID Inexistente");
            }
            if(nivel >= 1){
            GetPlayerName(id, snd, sizeof snd);
            format(file, sizeof file, "Contas/%s.ini", snd);
            if(!DOF2_FileExists(file)) {
                DOF2_CreateFile(file); // caso o nome dele nгo esteja na pasta administradores.
            }
            DOF2_SetInt(file, "Admin", nivel); // irб setar na linha Admin o valor do nivel desejado.
            DOF2_SaveFile(); // salva e fecha o arquivo.
            pAdmin[id] = nivel; // irб setar o nivel para ele!
            format(string, sizeof(string), "{FF0000}(INFO) {191970}O Admin Rcon %s (%d)(») {0000FF}Promoveu para admin nv %d o jogador: %s (%d)", aname,playerid,nivel,pname,id);
            SendClientMessageToAll(-1, string);
            SpawnPlayer(id);
            }
            return true;
        }
terminei meu comando de setar admin soh que...... as mensagens por format estao erradas
tipo digito la /setadmin 0 5 ai em vez de aparecer tudo aparece soh ate o %s tipo (info) o admin....
e acaba aiii

eu fikei estudando isso mas n cheguei a uma conclusao porque....
pawn Код:
new string[32], aname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];//guardar string(format),nome do playerid e nome do id que sera enviado
            new id; // id que sera enviado
            new nivel; // armazena nivel de adm.
beleza depois seta tudo
pawn Код:
GetPlayerName(playerid,aname, MAX_PLAYER_NAME);//id do digitador do comando, nome do digitador do comando
            GetPlayerName(id, pname, MAX_PLAYER_NAME);//id do recebedor do cmd, nome do recebedor...
ae tipo
pawn Код:
format(string, sizeof(string), "{FF0000}(INFO) {FFFFFF}O Admin Rcon %s (%d)(») {0000FF}Removeu admin do jogador: %s (%d)", aname,playerid,pname,id);
            SendClientMessageToAll(-1, string);// coloquei tudo em ordem e nao deu..., aname,playerid,pname,id....................
Reply
#2

Aumente o tamanho da string .___. new string[32] deixa em new string[128]
Reply
#3

Quote:
Originally Posted by Diogo123
Посмотреть сообщение
Aumente o tamanho da string .___. new string[32] deixa em new string[128]
deu certo , cara nao entendi porque isso mais valeu rep ++ ^^^^
Reply
#4

deu certo porque a string era muito pequena logo nao armazenava os dados todos e era necessario mais cells para guardar o resto dos dados espero ter tirado duvida podes setar com qualquer tamanho a string nao presisa ser 128 podes setar so 100 frases longas ocopam mais cells cada cell tem um carater procura por um tutorial de strings aqui no forum que eu nao sou muito bom a explicar
Reply
#5

Voce tinha limite de characteres de 32..m
Reply
#6

Quote:
Originally Posted by caoraivoso3
Посмотреть сообщение
deu certo porque a string era muito pequena logo nao armazenava os dados todos e era necessario mais cells para guardar o resto dos dados espero ter tirado duvida podes setar com qualquer tamanho a string nao presisa ser 128 podes setar so 100 frases longas ocopam mais cells cada cell tem um carater procura por um tutorial de strings aqui no forum que eu nao sou muito bom a explicar
Quote:
Originally Posted by VeNuZ_
Посмотреть сообщение
Voce tinha limite de characteres de 32..m
ah obrigado , agora coomprendi melhor , mesmo assim vou procurar um tutorial de strins
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)