[Ajuda]Sscanf e string.
#1

Boa noite novamente, observei um sistema em dini, um blacklist, mas nгo sei passar ele para sscanf, pois ele nгo utiliza id do player, e sim nome, e nao sei mexer direito com strings no sscanf, poderiam me ajudar
pawn Код:
if(strcmp(cmd,"/listanegra",true)==0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)//bani
        {
            new file[300];
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"USE: /listanegra [Nick]");
                return 1;
            }
            format(file, sizeof(file), "/listaN/%s.ini", tmp);
            if(!fexist(file))
            {
                dini_Create(file);
                Kick(tmp);
                SendClientMessage(playerid,COLOR_GRAD1,"Jogador banido com sucesso");
            }
            else
            {
                SendClientMessage(playerid,COLOR_GRAD1,"Este nick ja esta em nossa lista negra!!!");
            }
        }
        return 1;
    }
    if(strcmp(cmd,"/tirardalistaN",true)==0)//desbani
    {
        if(PlayerInfo[playerid][pAdmin] >= 1337)
        {
            new file[300];
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"USE: /tirardalistaN [Nick]");
                return 1;
            }
            format(file, sizeof(file), "/listaN/%s.ini", tmp);
            if(dini_Exists(file))
            {
                dini_Remove(file);
                SendClientMessage(playerid,COLOR_GRAD1,"Retirado da lista negra com sucesso!!!");
            }
            else
            {
                SendClientMessage(playerid,COLOR_GRAD1,"Esta conta nгo Esta na lista negra!!!");
            }

        }
        return 1;
    }
Reply
#2

Tente, ssу fiz um o outro vc consegue
pawn Код:
CMD:listanegra(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)//bani
    {
        if(sscanf(params, "s<MAX_PLAYER_NAME>", params[0]))
        return SendClientMessage(playerid,COLOR_GRAD1,"USE: /listanegra [Nick]");
        new file[60];
        format(file, sizeof(file), "/listaN/%s.ini", params[0]);
        if(fexist(file))
        {
            return SendClientMessage(playerid,COLOR_GRAD1,"Este nick ja esta em nossa lista negra!!!");
        }
        else
        {
            dini_Create(file);
            Kick(params[0]);
            SendClientMessage(playerid,COLOR_GRAD1,"Jogador banido com sucesso");
            return true;
        }
    }
    return true;
}
se n der o paramtreo s troque por u somente mas acho q funcionara assim
Reply
#3

No caso ele banirб tambem players OFF, certo?
Reply
#4

й pra ser
----------------------------------------------------------------------------------------------------------------
[S]trong's Version

pawn Код:
CMD:listanegra(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)//bani
    {
        if(!params) return SendClientMessage(playerid,COLOR_GRAD1,"USE: /listanegra [Nick]");
       
        new
            file[60],
            Nam[21];
           
        format(file, sizeof(file), "/listaN/%s.ini", params[0]);
        if(fexist(file)) return SendClientMessage(playerid,COLOR_GRAD1,"Este nick ja esta em nossa lista negra!!!");
       
        for(new x = 0,sz = GetMaxPlayers(); x != sz; x++)
        {
            if(IsPlayerConnected(x))
            {
                GetPlayerName(x,Nam,sizeof(Nam));
                if(strcmp(params,Nam,false) == 0)
                {
                    Ban(x);
                    break;
                }
            }
        }
        dini_Create(file);
        SendClientMessage(playerid,COLOR_GRAD1,"Jogador banido com sucesso");
        return true;
    }
    return true;
}
Reply
#5

Uai, o do strong atй me embolei kk, quando eu for mais expert no Pawn eu uso o codigo dele kk, mas msm assim, thankz strong.

EDIT: Fiz o desban:
ta certo
pawn Код:
cmd(tirarlista,playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)//bani
    {
        if(sscanf(params, "s<MAX_PLAYER_NAME>", params[0]))
        return SendClientMessage(playerid,CINZA,"USE: /listanegra [Nick]");
        new file[60];
        format(file, sizeof(file), "listaN/%s.ini", params[0]);
        if(!fexist(file))
        {
            return SendClientMessage(playerid,CINZA,"Este nick nгo esta em nossa lista negra!!!");
        }
        else
        {
            new gayban[MAX_PLAYERS],string[128];
            GetPlayerName(params[0], gayban, sizeof(gayban));
            format(string, sizeof(string),"O administrador %s tirou o player %s a lista negra");
            SendClientMessageToAll(ERRO,string);
            dini_Remove(file);
            SendClientMessage(playerid,CINZA,"Jogador desbanido com sucesso");
            return true;
        }
    }
  return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)