[Pedido] Ajuda com /transferir
#1

E ai pessoal, eu tenho um sistema de banco que foi feito pelo freegells й um pouco antigo. Eu queria fazer o cmd /transferir [id] [quantia] mas como uso DOF2 eu estou meio confuso

Esse й o sistema:
pawn Код:
/*SISTEMA DE BANCO BY FREEGELLS*/
new Arquivo[128];
new RealBanc = GetPlayerReal(playerid);
new string[128];
if(strcmp(cmd, "/depositar", true) == 0)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2308.8374,-13.2480,26.7422)) return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo pode acessar sua conta bancбria fora de um Banco/Caixa Eletrфnico!");
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFF00AA, "USE: /depositar [quantia de GP]");
        RealBanc = strval(tmp);
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        if(RealBanc > GetPlayerReal(playerid))
        return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo possui essa quantia de GP na mгo!");
        if(RealBanc < 1 || RealBanc > 999999999)
        return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк pode depositar no mнnimo 1 GP e no mбximo 999 milhхes de GP!");
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        if(GetPlayerReal(playerid)<RealBanc) return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo tem estб quantia!");
        {
            if(GetPlayerReal(playerid) >= RealBanc) {
                new n[MAX_PLAYER_NAME];
                GetPlayerName(playerid, n, sizeof(n));
                format(Arquivo, sizeof(Arquivo), "Arquivos/Banco/%s.cfg", n);

                if(DOF2_FileExists(Arquivo)) {
                    DOF2_SetInt(Arquivo, "Saldo", DOF2_GetInt(Arquivo, "Saldo") +RealBanc);
                }
                else if(!DOF2_FileExists(Arquivo)) {
                    DOF2_CreateFile(Arquivo);
                    DOF2_SetInt(Arquivo, "Saldo", RealBanc);
                }
                format(string, sizeof(string), "[CONTA BANCБRIA] Vocк depositou %d GP em sua conta bancбria. Saldo atual: %d GP.", RealBanc, DOF2_GetInt(Arquivo, "Saldo"));
                SendClientMessage(playerid, 0x5EAF03FF, string);
                GivePlayerReal(playerid, -RealBanc);
            }
            return 1;
        }
    }
}

if(strcmp(cmd, "/sacar", true) == 0)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2308.8374,-13.2480,26.7422)) return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo pode acessar sua conta bancбria fora de um Banco/Caixa Eletrфnico!");
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFF00AA,"USE: /sacar [quantia de GP]");
        RealBanc = strval(tmp);
        {
            new n[MAX_PLAYER_NAME];
            GetPlayerName(playerid, n, sizeof(n));
            format(Arquivo, sizeof(Arquivo), "Arquivos/Banco/%s.cfg", n);
            if(DOF2_FileExists(Arquivo))
            {
                if(DOF2_GetInt(Arquivo, "Saldo")<RealBanc) return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo tem estб quantia!");
                if( strval( tmp ) <= 99999999 ) return SendClientMessage( playerid, COLOR_RED, "[ERRO] Vocк pode sacar no mнnimo 1 GP e no mбximo 999 milhхes de GP!");
                else if(DOF2_GetInt(Arquivo, "Saldo") >= RealBanc)
                {
                    DOF2_SetInt(Arquivo, "Saldo", DOF2_GetInt(Arquivo, "Saldo") -RealBanc);
                    format(string, sizeof(string), "[BANCO REVOLUTION] Vocк retirou %d GP. de sua conta bancбria. Saldo atual %d GP.", RealBanc, DOF2_GetInt(Arquivo, "Saldo"));
                    SendClientMessage(playerid, 0x5EAF03FF, string);
                    GivePlayerReal(playerid, RealBanc);
                }
            }
        }
        return 1;
    }
}

if(strcmp(cmd, "/saldo", true) == 0)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2308.8374,-13.2480,26.7422)) return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo pode acessar sua conta bancбria fora de um Banco/Caixa Eletrфnico!");
    {
        new n[MAX_PLAYER_NAME];
        GetPlayerName(playerid, n, sizeof(n));
        format(Arquivo, sizeof(Arquivo), "Arquivos/Banco/%s.cfg", n);
        if(DOF2_FileExists(Arquivo)) {
            format(string, sizeof(string), "[CONTA BANCБRIA] Seu Saldo atual й %d GP.", DOF2_GetInt(Arquivo, "Saldo"));
            SendClientMessage(playerid, 0x5EAF03FF, string);
        }
        else if(!DOF2_FileExists(Arquivo)) {
            SendClientMessage(playerid, 0x5EAF03FF, "[CONTA BANCБRIA] Seu Saldo atual й 0 GP.");
        }
        return 1;
    }
}
Alguйm pode me ajudar a criar isso? Peguei comando de outro GM e nгo consegui adaptar. Dб uma luz aн por favor
Reply
#2

Amigo, troquei todas funзхes do meu sistema em dini, para dof2... http://pastebin.com/7JXwzxaq

@edit
Transferir:

Код:
    if(strcmp(cmd, "/transferir", true) == 0) 
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFAA, "[ERRO] Use /Transferir [ID] [Quantia]");
        new giveplayerid = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFAA, "[ERRO] Use /Transferir [ID] [Quantia]");
        new qt = strval(tmp);
        if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFFFFFFAA, "[ERRO] Player Offline!");
        new pn1[24], pn2[24];
        GetPlayerName(playerid, pn1, sizeof(pn1));
        GetPlayerName(giveplayerid, pn2, sizeof(pn2));
        format(Arquivo, sizeof(Arquivo), "Banco/%s.txt", pn1);
        if(DOF2_GetInt(Arquivo, "Saldo") < qt) return SendClientMessage(playerid, 0xFFFFFFAA, "[ERRO] Vocк nгo tem estб quantia!");
        DOF2_SetInt(Arquivo, "Saldo", DOF2_GetInt(Arquivo, "Saldo") - qt);
        format(Arquivo, sizeof(Arquivo), "Banco/%s.txt", pn2);
        DOF2_SetInt(Arquivo, "Saldo", DOF2_GetInt(Arquivo, "Saldo") + qt);
        new Str[128];
        format(Str, 128, "[BANCO] Vocк transferiu %d para %s!", qt, pn2);
        SendClientMessage(playerid, 0x5EAF03FF, Str);
        format(Str, 128, "[BANCO] %s transferiu %d para vocк!", pn1, qt);
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)