[Ajuda] Aplicar comando a player offline
#1

Eae galera,alguem pode me ajudar com o seguinte: E quero aplicar um comando a um player offline. Exemplo: /darvip Senhor_Azul. Alguem me ajuda ae,valeu.
Obs: Eu quero saber quais funзхes devo usar.
Reply
#2

pode checar se existe o arquivo do player nas scriptfiles, e setar tranquilamente com dini ou dof2, depende que sistema utiliza.
Reply
#3

Quote:
Originally Posted by [JD]BlackFire
Посмотреть сообщение
pode checar se existe o arquivo do player nas scriptfiles, e setar tranquilamente com dini ou dof2, depende que sistema utiliza.
pawn Код:
//==================================================================================[RETIRAR VIP]==========================================================================================
if (strcmp(cmd, "/retirarvip", true) == 0)
{
    DOF2_GetString([pVip]);
    if [pVip] >= 1;
    DOF2_SetString([pVip])= 0
    return 1;
    }
atй agora estб assim,eu estou meio perdido pra faze esse code. E quero ele va atй a pasta contas e olhe se o player й vip ou nao,me ajuda ae com isso por favor
Reply
#4

Tente isto:
PS: Vip_Nivel й a linha da conta que defini o vip do player.
pawn Код:
stock DarVip(const nome[24], valor){
    strcat(nome, ".inc");
   
    if(!fexist(nome)){
        return 0; // arquivo nгo existe
    }
   
    s_Set(nome, "Vip_Nivel", valor);
}


stock s_Set(filename[], line[], value[]){

        if(!fexist(filename) || strfind(filename, ".") == 0 ){
            return false;
        }

        #if !defined MAX_STRING
            #define MAX_STRING      (128)
        #endif

        static
            File:Arquivo,
                Linha[MAX_STRING],
            Buf[MAX_STRING]
        ;

        Linha[0]     = '\0';
        Buf[0]       = '\0';

        Arquivo = fopen(filename, io_read);


        for( ; fread(Arquivo, Linha); ){
            if(strfind(Linha, line) != -1){
                format(Linha, MAX_STRING, "%s=%s\r\n", line, value);
            }


            strcat(Buf, Linha);
        }

        fclose(Arquivo);
        fremove(filename);

        Arquivo = fopen(filename, io_write);


        Linha[0] = '\0';
        if(strfind(Buf, line) == -1){
            format(Linha, MAX_STRING, "%s=%s\r\n", line, value);
            strcat(Buf, Linha);
        }
        fwrite(Arquivo, Buf);
        fclose(Arquivo);

        return true;
}
Reply
#5

@Edit: eu peguei 1 cmd e editei.fico assim:
pawn Код:
if(strcmp(cmd, "/retirarvip", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] >= 1340)
        {

            new plnamex[MAX_PLAYER_NAME];
            GetPlayerName(playerid, plnamex, sizeof(plnamex));
            format(gstring, 64, "Contas/%s.ini", plnamex);
            tmp = strtok(cmdtext, idx);
             new arquivoa[35];
             format(arquivoa,35,"Contas/%s.ini",plnamex);
            if(!DOF2_FileExists(arquivoa))
            {
            SendClientMessage(playerid, COLOR_GRAD2, "O player nгo existe.");
            }
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /retirarvip [Nome correto do player].");
                return 1;
            }
            else
            {

            new File: filex = fopen(arquivoa, io_read);
              if (filex)
              {
                new valor;
                valor = 0;
                DOF2_SetInt(arquivoa,"Vip",valor);
                SendClientMessage(playerid, COLOR_GRAD2, "O valor foi resetado com sucesso.");
                return 1;
               }
               fclose(filex);
               SendClientMessage(playerid, COLOR_GRAD2, "Fail");
               }
        }
      return 1;
    }
]
Ele da sucesso no comando,mas nгo retira o vip.
Reply
#6

pawn Код:
DOF2_SaveFile();
Em baixo de:

pawn Код:
DOF2_SetInt(arquivoa,"Vip",valor);
This forum requires that you wait 120 seconds between posts. Please try again in 14 seconds.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)