[Ajuda] Guardar E Sacar Armas
#1

Bom pessoal eu fui criar um sistema de guardar armas e sacar armas eu criei um comando e nao deu em nada ai achei esse aqui na net mais tem uns bugs..
as vezes deposita a arma mais na hora de sacar nao saca
as vezes fala q tem q ter uma arma na mao para poder depositar sendo que ja estou com uma arma na mao !!
segue o codigo
pawn Код:
#include <a_samp>
#include <dini>
#define SLOTS 100
    new
        NAME[39],
        Armas[13],
        Name[MAX_PLAYER_NAME],
        Balas[13],
        bool:Ocupado[SLOTS][13],
        Status[SLOTS][13][256];


main()
{
    print("\n----------------------------------");
    print("Sistema de Banco de Armas BY:HigorOliver");
    print("----------------------------------\n");
}

stock RemoveArma(p,w)// Funзгo By Drakon
{
    SetPlayerArmedWeapon(p, w);
    GivePlayerWeapon(p, w,-(GetPlayerAmmo(p)));
    SetPlayerArmedWeapon(p, 0);
    return true;
}




public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    format(NAME, sizeof(NAME), "%s-Armas.ini", Name);
    if(!dini_Exists(NAME)) dini_Create(NAME);
    for (new i = 0; i < 13; i++) Status[playerid][i] = "Vazio";
    dini_Set(NAME,"Creditos","Sistema Produzido por HigorOliver");
    return 1;
}


public OnPlayerCommandText(playerid, cmdtext[])
{

    if (strcmp("/depositararma", cmdtext, true, 10) == 0)
    {
        new String[256];
        if(Ocupado[playerid][0] == true) Status[playerid][0] = "Cheio";
        if(Ocupado[playerid][1] == true) Status[playerid][1] = "Cheio";
        if(Ocupado[playerid][2] == true) Status[playerid][2] = "Cheio";
        if(Ocupado[playerid][3] == true) Status[playerid][3] = "Cheio";
        if(Ocupado[playerid][4] == true) Status[playerid][4] = "Cheio";
        if(Ocupado[playerid][5] == true) Status[playerid][5] = "Cheio";
        if(Ocupado[playerid][6] == true) Status[playerid][6] = "Cheio";
        if(Ocupado[playerid][7] == true) Status[playerid][7] = "Cheio";
        if(Ocupado[playerid][8] == true) Status[playerid][8] = "Cheio";
        if(Ocupado[playerid][9] == true) Status[playerid][9] = "Cheio";
        if(Ocupado[playerid][10] == true)Status[playerid][10] = "Cheio";
        if(Ocupado[playerid][11] == true)Status[playerid][11] = "Cheio";
        if(Ocupado[playerid][12] == true)Status[playerid][12] = "Cheio";

        format(String, sizeof(String),
        "Slot 0 \nSlot 1 (%s)\nSlot 2 (%s)\nSlot 3 (%s)\nSlot 4 (%s)\nSlot 5 (%s)\nSlot 6 (%s)\nSlot 7 (%s)\nSlot 8 (%s)\nSlot 9 (%s)\nSlot 10 (%s)\nSlot 11\nSlot 12 (%s)"
        ,Status[playerid][0],
        Status[playerid][1],
        Status[playerid][2],
        Status[playerid][3],
        Status[playerid][4],
        Status[playerid][5],
        Status[playerid][6],
        Status[playerid][7],
        Status[playerid][8],
        Status[playerid][9],
        Status[playerid][10],
        Status[playerid][11],
        Status[playerid][12]);
        ShowPlayerDialog(playerid,500,DIALOG_STYLE_LIST,"Equipe",String,"Guardar","Sair");
        return true;
    }

    if (strcmp("/sacararma", cmdtext, true, 10) == 0)
    {
        new String[256];
        if(Ocupado[playerid][0] == true) Status[playerid][0] = "Cheio";
        if(Ocupado[playerid][1] == true) Status[playerid][1] = "Cheio";
        if(Ocupado[playerid][2] == true) Status[playerid][2] = "Cheio";
        if(Ocupado[playerid][3] == true) Status[playerid][3] = "Cheio";
        if(Ocupado[playerid][4] == true) Status[playerid][4] = "Cheio";
        if(Ocupado[playerid][5] == true) Status[playerid][5] = "Cheio";
        if(Ocupado[playerid][6] == true) Status[playerid][6] = "Cheio";
        if(Ocupado[playerid][7] == true) Status[playerid][7] = "Cheio";
        if(Ocupado[playerid][8] == true) Status[playerid][8] = "Cheio";
        if(Ocupado[playerid][9] == true) Status[playerid][9] = "Cheio";
        if(Ocupado[playerid][10] == true)Status[playerid][10] = "Cheio";
        if(Ocupado[playerid][11] == true)Status[playerid][11] = "Cheio";
        if(Ocupado[playerid][12] == true)Status[playerid][12] = "Cheio";

        format(String, sizeof(String),
        "Slot 1 (%s)\nSlot 2 (%s)\nSlot 3 (%s)\nSlot 4 (%s)\nSlot 5 (%s)\nSlot 6 (%s)\nSlot 7 (%s)\nSlot 8 (%s)\nSlot 9 (%s)\nSlot 10 (%s)\nSlot 12 (%s)"
        ,Status[playerid][0],
        Status[playerid][1],
        Status[playerid][2],
        Status[playerid][3],
        Status[playerid][4],
        Status[playerid][5],
        Status[playerid][6],
        Status[playerid][7],
        Status[playerid][8],
        Status[playerid][9],
        Status[playerid][10],
        Status[playerid][11],
        Status[playerid][12]);
        ShowPlayerDialog(playerid,501,DIALOG_STYLE_LIST,"Equipe",String,"Sacar","Sair");
        return true;
    }
    return 0;
}



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    format(NAME, sizeof(NAME), "%s-Armas.ini", Name);
    if(!dini_Exists(NAME))dini_Create(NAME);
    for (new i = 0; i < 13; i++) GetPlayerWeaponData(playerid, i, Armas[i], Balas[i]);
    if(dialogid == 500) {
        if(response) { // Tipo assim
            if(listitem == 0) {
            if(Ocupado[playerid][0] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "0", Armas[0]  );
            RemoveArma(playerid,dini_Int(NAME,"0"));
            if(dini_Int(NAME,"0") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][0] = true;
            }
            if(listitem == 1) {
            if(Ocupado[playerid][1] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "1", Armas[1]  );
            RemoveArma(playerid,dini_Int(NAME,"1"));
            if(dini_Int(NAME,"1") == 1) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][1] = true;
            }
            if(listitem == 2) {
            if(Ocupado[playerid][2] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "2", Armas[2] );
            RemoveArma(playerid,dini_Int(NAME,"2"));
            if(dini_Int(NAME,"2") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][2] = true;
            }
            if(listitem == 3) {
            if(Ocupado[playerid][3] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "3", Armas[3]  );
            RemoveArma(playerid,dini_Int(NAME,"3"));
            if(dini_Int(NAME,"3") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][3] = true;
            }
            if(listitem == 4) {
            if(Ocupado[playerid][4] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "4", Armas[4]  );
            RemoveArma(playerid,dini_Int(NAME,"4"));
            if(dini_Int(NAME,"4") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][4] = true;
            }
            if(listitem == 5) {
            if(Ocupado[playerid][5] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "5", Armas[5]  );
            RemoveArma(playerid,dini_Int(NAME,"5"));
            if(dini_Int(NAME,"15") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][5] = true;
            }
            if(listitem == 6) {
            if(Ocupado[playerid][6] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "6", Armas[6]  );
            RemoveArma(playerid,dini_Int(NAME,"6"));
            if(dini_Int(NAME,"6") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][6] = true;
            }
            if(listitem == 7) {
            if(Ocupado[playerid][7] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "7", Armas[7]  );
            RemoveArma(playerid,dini_Int(NAME,"7"));
            if(dini_Int(NAME,"7") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][7] = true;
            }
            if(listitem == 8) {
            if(Ocupado[playerid][8] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "8", Armas[8]  );
            RemoveArma(playerid,dini_Int(NAME,"8"));
            if(dini_Int(NAME,"8") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][8] = true;
            }
            if(listitem == 9) {
            if(Ocupado[playerid][9] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "9", Armas[9]  );
            RemoveArma(playerid,dini_Int(NAME,"9"));
            if(dini_Int(NAME,"9") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][9] = true;
            }
            if(listitem == 10) {
            if(Ocupado[playerid][10] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "10", Armas[10]  );
            RemoveArma(playerid,dini_Int(NAME,"10"));
            if(dini_Int(NAME,"10") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][10] = true;
            }
            if(listitem == 11) {
            if(Ocupado[playerid][11] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "11", Armas[11]  );
            RemoveArma(playerid,dini_Int(NAME,"11"));
            if(dini_Int(NAME,"11") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][11] = true;
            }
            if(listitem == 12) {
            if(Ocupado[playerid][12] == true) return SendClientMessage(playerid, 0xFF0000AA, "Jб Esxiste arma aqui");
            dini_IntSet(NAME, "12", Armas[12]  );
            RemoveArma(playerid,dini_Int(NAME,"12"));
            if(dini_Int(NAME,"12") == 0) return SendClientMessage(playerid, 0xFF0000AA, "Vocк precisa ter uma arma para esse slot");
            SendClientMessage(playerid, 0xFF0000AA, "Depositado");
            Ocupado[playerid][12] = true;
            }
        }
    }
    if(dialogid == 501) {
        if(response) {
            if(listitem == 0) {
            if(Ocupado[playerid][0] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[0]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][0] = "Vazio";
            Ocupado[playerid][0] = false;
            }
            if(listitem == 1) {
            if(Ocupado[playerid][1] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[1]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][1] = "Vazio";
            Ocupado[playerid][1] = false;
            }
            if(listitem == 2) {
            if(Ocupado[playerid][2] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[2]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][2] = "Vazio";
            Ocupado[playerid][2] = false;
            }
            if(listitem == 3) {
            if(Ocupado[playerid][3] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[3]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][3] = "Vazio";
            Ocupado[playerid][3] = false;
            }
            if(listitem == 4) {
            if(Ocupado[playerid][4] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[4]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][4] = "Vazio";
            Ocupado[playerid][4] = false;
            }
            if(listitem == 5) {
            if(Ocupado[playerid][5] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[5]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][5] = "Vazio";
            Ocupado[playerid][5] = false;
            }
            if(listitem == 6) {
            if(Ocupado[playerid][6] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[6]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][6] = "Vazio";
            Ocupado[playerid][6] = false;
            }
            if(listitem == 7) {
            if(Ocupado[playerid][7] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[7]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][7] = "Vazio";
            Ocupado[playerid][7] = false;
            }
            if(listitem == 8) {
            if(Ocupado[playerid][8] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[8]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][8] = "Vazio";
            Ocupado[playerid][8] = false;
            }
            if(listitem == 9) {
            if(Ocupado[playerid][9] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[9]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][9] = "Vazio";
            Ocupado[playerid][9] = false;
            }
            if(listitem == 10) {
            if(Ocupado[playerid][10] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[10]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][10] = "Vazio";
            Ocupado[playerid][10] = false;
            }
            if(listitem == 11) {
            if(Ocupado[playerid][11] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[11]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][11] = "Vazio";
            Ocupado[playerid][11] = false;
            }
            if(listitem == 12) {
            if(Ocupado[playerid][12] == false) return SendClientMessage(playerid, 0xFF0000AA, "Nгo Existe Arma Aqui");
            GivePlayerWeapon(playerid,dini_Int(NAME,Armas[12]),200);
            SendClientMessage(playerid, 0xFF0000AA, "Sacado");
            Status[playerid][12] = "Vazio";
            Ocupado[playerid][12] = false;
            }
        }
    }

    return 1;
}
irei dar um rep+ para quem me ajudar
Reply
#2

Pq double post?
Reply
#3

Topo do gm
pawn Код:
new arma1, arma2, arma3, arma4, arma5, arma6, arma7, arma8, arma9, arma10, arma11; //sistema de salvar armas
new ammo1, ammo2, ammo3, ammo4, ammo5, ammo6, ammo7, ammo8, ammo9, ammo10, ammo11; //sistema de salvar armas

pawn Код:
if(strcmp(cmdtext, "/salvararmas", true) == 0) {
SendClientMessage(playerid, COLOR_YELLOWGREEN, "Armas salvas digite /Pegar-armas para pegar suas armas");
GetPlayerWeaponData(playerid, 1,arma1, ammo1);
GetPlayerWeaponData(playerid, 2,arma2, ammo2);
GetPlayerWeaponData(playerid, 3,arma3, ammo3);
GetPlayerWeaponData(playerid, 4,arma4, ammo4);
GetPlayerWeaponData(playerid, 5,arma5, ammo5);
GetPlayerWeaponData(playerid, 6,arma6, ammo6);
GetPlayerWeaponData(playerid, 7,arma7, ammo7);
GetPlayerWeaponData(playerid, 8,arma8, ammo8);
GetPlayerWeaponData(playerid, 9,arma9, ammo9);
GetPlayerWeaponData(playerid, 10,arma10, ammo10);
GetPlayerWeaponData(playerid, 11,arma11, ammo11);
return 1;
}
if(strcmp(cmdtext, "/pegararmas", true) == 0)
{
SendClientMessage(playerid, COLOR_YELLOWGREEN, "Vocк pegou suas armas");
GivePlayerWeapon(playerid, arma1, ammo1);
GivePlayerWeapon(playerid, arma2, ammo2);
GivePlayerWeapon(playerid, arma3, ammo3);
GivePlayerWeapon(playerid, arma4, ammo4);
GivePlayerWeapon(playerid, arma5, ammo5);
GivePlayerWeapon(playerid, arma6, ammo6);
GivePlayerWeapon(playerid, arma7, ammo7);
GivePlayerWeapon(playerid, arma8, ammo8);
GivePlayerWeapon(playerid, arma9, ammo9);
GivePlayerWeapon(playerid, arma10, ammo10);
GivePlayerWeapon(playerid, arma11, ammo11);
return 1;
}
Reply
#4

PHP код:
Criamos/Editamos/Atualizamos Seu Gamemod Ou Filterscript 
Confira Jб Nossos Serviзos 
Isso ai й verdade?
Reply
#5

a ultima coisa que eu queria era vim pedir ajuda aqui no forum samp..
fique codando o dia todo que no final do dia voce nao conseguira fazer nada como eu fiquei...
Ja Consegui arrumar o problema pode dar closed
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)