[FilterScript] Restriзгo de Armas na DP
#1

Olб Galera, tenho orgulho em estб postando meu Primeiro Tуpico nesta бrea do fуrum.

Bom, recentemente vi um tуpico com um Membro que precisava que quando entrasse na DP as armas sumissem e quando sair elas volte, entгo fiz isto sem que precise que vocк salva nas scriptfiles

VEJA UM VНDEO DE COMO FICARБ:

http://www.youtube.com/watch?v=l5QHJ...ature=*********
(Nгo sei colocar o vнdeo ainda kkk :/)

Comeзamos com o que precisa de inнcio no GM:
pawn Код:
#define MAX_PLAYERS 101//Todos os players +1, edite conforme seu servidor
#define COLOR_WHITE 0xFFFFFFAA
#define TEAM_BALLAS_COLOR 0x8000ffFF
new Armas[MAX_PLAYERS][13][2];
new PlayerDP[MAX_PLAYERS];
Coloque o conteъdo acima no inнcio do Seu gm.

Agora escolha onde quer que a funзгo seja executada, seja em um Comando ou outra coisa, apenas adicione as seguintes coisas Nisto:

pawn Код:
PlayerDP[playerid] = 1;
retirararmas(playerid);
Eu irei colocar em um interior, entгo ficara assim:

pawn Код:
if(Cordenadas(3.0, playerid, 1219.2263,-1812.4078,16.5938))
{
            //Entrada HQ PF
    SetPlayerInterior(playerid,3);
    SetPlayerVirtualWorld(playerid, OUTRO_MUNDO2);
    SetPlayerPos(playerid,238.7150,139.0801,1003.0234);
    TextoPlayer(playerid, "~w~DP Policia Federal", 5000, 1);
    SetPVarInt(playerid, "Universo", OUTRO_MUNDO2);
    PlayerDP[playerid] = 1;
    retirararmas(playerid);
}
Com isso as armas do player serгo retiradas, e serгo salvas para quando vocк deseja voltar elas, para voltar as armas use:

pawn Код:
PlayerDP[playerid] = 2;
voltararmas(playerid);
No meu caso como й um interior ficarб assim:

pawn Код:
if(GetPVarInt(playerid, "Universo") == OUTRO_MUNDO2)
{
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1219.2263,-1812.4078,16.5938);
    SetPlayerVirtualWorld(playerid, void);
    SetPVarInt(playerid, "Universo", void);
    PlayerDP[playerid] = 2;
    voltararmas(playerid);
}
OBS: NГO PRECISA SER EXATAMENTE A ENTRADA EM ALGUM INTERIOR, PODE SER COMENADO OU ETC

Agora, o que vai dar vida ao cуdigo, Coloque essas publics em seu Gm:

pawn Код:
forward retirararmas(playerid);
public retirararmas(playerid)
{
    if(PlayerDP[playerid] == 1)
    {
        new weapons[13][2];
        new playerck[MAX_PLAYER_NAME];
        GetPlayerName(playerid, playerck, sizeof(playerck));
        format(string, sizeof(string), "Vocк teve que deixar suas armas para pode entrar, foi confiscado:");
        SendClientMessage(playerid, TEAM_BALLAS_COLOR, string);
                GetPlayerWeaponData(playerid, 1, weapons[1][0], weapons[1][1]);
        Armas[playerid][1][0] = weapons[1][0];
        Armas[playerid][1][1] = weapons[1][1];
                //=================================================================//
        GetPlayerWeaponData(playerid, 2, weapons[2][0], weapons[2][1]);
        Armas[playerid][2][0] = weapons[2][0];
        Armas[playerid][2][1] = weapons[2][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 3, weapons[3][0], weapons[3][1]);
        Armas[playerid][3][0] = weapons[3][0];
        Armas[playerid][3][1] = weapons[3][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 4, weapons[4][0], weapons[4][1]);
        Armas[playerid][4][0] = weapons[4][0];
        Armas[playerid][4][1] = weapons[4][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 5, weapons[5][0], weapons[5][1]);
        Armas[playerid][5][0] = weapons[5][0];
        Armas[playerid][5][1] = weapons[5][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 6, weapons[6][0], weapons[6][1]);
        Armas[playerid][6][0] = weapons[6][0];
        Armas[playerid][6][1] = weapons[6][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 7, weapons[7][0], weapons[7][1]);
        Armas[playerid][7][0] = weapons[7][0];
        Armas[playerid][7][1] = weapons[7][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 8, weapons[8][0], weapons[8][1]);
        Armas[playerid][8][0] = weapons[8][0]
        Armas[playerid][8][1] = weapons[8][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 9, weapons[9][0], weapons[9][1]);
        Armas[playerid][9][0] = weapons[9][0];
        Armas[playerid][9][1] = weapons[9][1];
                //=================================================================//
        GetPlayerWeaponData(playerid, 10, weapons[10][0], weapons[10][1]);
        Armas[playerid][10][0] = weapons[10][0];
        Armas[playerid][10][1] = weapons[10][1];
        //=================================================================//
        GetPlayerWeaponData(playerid, 11, weapons[11][0], weapons[11][1]);
        Armas[playerid][11][0] = weapons[11][0];
        Armas[playerid][11][1] = weapons[11][1];
        //=================================================================//
        PlayerDP[playerid] = 2;
        ResetPlayerWeaponsEx(playerid);
        return 1;
    }
}
forward voltararmas(playerid);
public voltararmas(playerid)
{
    if(PlayerDP[playerid] == 2)
    {
        format(string, sizeof(string), "Vocк saiu da DP e suas armas foram devolvidas");
        SendClientMessage(playerid, COLOR_WHITE, string);
        GivePlayerWeapon(playerid, Armas[playerid][1][0], Armas[playerid][1][1]);
        GivePlayerWeapon(playerid, Armas[playerid][2][0], Armas[playerid][2][1]);
        GivePlayerWeapon(playerid, Armas[playerid][3][0], Armas[playerid][3][1]);
        GivePlayerWeapon(playerid, Armas[playerid][4][0], Armas[playerid][4][1]);
        GivePlayerWeapon(playerid, Armas[playerid][5][0], Armas[playerid][5][1]);
        GivePlayerWeapon(playerid, Armas[playerid][6][0], Armas[playerid][6][1]);
        GivePlayerWeapon(playerid, Armas[playerid][7][0], Armas[playerid][7][1]);
        GivePlayerWeapon(playerid, Armas[playerid][8][0], Armas[playerid][8][1]);
        GivePlayerWeapon(playerid, Armas[playerid][9][0], Armas[playerid][9][1]);
        GivePlayerWeapon(playerid, Armas[playerid][10][0], Armas[playerid][10][1]);
        GivePlayerWeapon(playerid, Armas[playerid][11][0], Armas[playerid][11][1]);
        Armas[playerid][1][0] = 999; Armas[playerid][1][1] = 0;
        Armas[playerid][2][0] = 999; Armas[playerid][2][1] = 0;
        Armas[playerid][3][0] = 999; Armas[playerid][3][1] = 0;
        Armas[playerid][4][0] = 999; Armas[playerid][4][1] = 0;
        Armas[playerid][5][0] = 999; Armas[playerid][5][1] = 0;
        Armas[playerid][6][0] = 999; Armas[playerid][6][1] = 0;
        Armas[playerid][7][0] = 999; Armas[playerid][7][1] = 0;
        Armas[playerid][8][0] = 999; Armas[playerid][8][1] = 0;
        Armas[playerid][9][0] = 999; Armas[playerid][9][1] = 0;
        Armas[playerid][10][0] = 999; Armas[playerid][10][1] = 0;
        Armas[playerid][11][0] = 999; Armas[playerid][11][1] = 0;
        PlayerDP[playerid] = 0;
        return 1;
    }
}
Com isso estб quase pronto, Agora, Coloque o cуdigo abaixo no seu OnPlayerConnect, Para que nгo venha haver bugs no cуdigo:

pawn Код:
Armas[playerid][1][0] = 999; Armas[playerid][1][1] = 0;
Armas[playerid][1][0] = 999; Armas[playerid][1][1] = 0;
Armas[playerid][2][0] = 999; Armas[playerid][2][1] = 0;
Armas[playerid][3][0] = 999; Armas[playerid][3][1] = 0;
Armas[playerid][4][0] = 999; Armas[playerid][4][1] = 0;
Armas[playerid][5][0] = 999; Armas[playerid][5][1] = 0;
Armas[playerid][6][0] = 999; Armas[playerid][6][1] = 0;
Armas[playerid][7][0] = 999; Armas[playerid][7][1] = 0;
Armas[playerid][8][0] = 999; Armas[playerid][8][1] = 0;
Armas[playerid][9][0] = 999; Armas[playerid][9][1] = 0;
Armas[playerid][10][0] = 999; Armas[playerid][10][1] = 0;
Armas[playerid][11][0] = 999; Armas[playerid][11][1] = 0;
PlayerDP[playerid] = 0;
Bom, й isso, espero que tenham gostado, foi um cуdigo feito as pressas mais eu atй que gostei dele, Se houver algum bug, por favor poste aqui que darei um jeito de resolver.
Reply
#2

Maneiro o sistema, й parecido com meu sistema de morte =)
Nгo tentendo muito da GetPlayerWeaponData, mais estou estudando ela, e no momento nгo posso lhe apontar nenhum bug, mas parece que estб certinho pelo seu video...
Reply
#3

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Maneiro o sistema, й parecido com meu sistema de morte =)
Nгo tentendo muito da GetPlayerWeaponData, mais estou estudando ela, e no momento nгo posso lhe apontar nenhum bug, mas parece que estб certinho pelo seu video...
Tipo Tem uma funзгo mais simples que vocк deve conhecer que й a GetPlayerWeapon, ela pega apenas a ID da arma que o cara esta na Mгo, Apenas 1 a que ele estб usando agora, Mais diferente disso a GetPlayerWeaponData pega de todas as Armas do Player, envez de apenas a que ele ta na mгo, e a GetPlayerWeaponData tambйm pega o nъmero de balas, entгo й mais ъtil
Reply
#4

Dava pra fazer uma include era melhor!
Reply
#5

Quote:
Originally Posted by Stronda xD
Посмотреть сообщение
Tipo Tem uma funзгo mais simples que vocк deve conhecer que й a GetPlayerWeapon, ela pega apenas a ID da arma que o cara esta na Mгo, Apenas 1 a que ele estб usando agora, Mais diferente disso a GetPlayerWeaponData pega de todas as Armas do Player, envez de apenas a que ele ta na mгo, e a GetPlayerWeaponData tambйm pega o nъmero de balas, entгo й mais ъtil
Sim, й facil aprender as funзхes do SA:MP.
Podia der posto em letra maiscula "RetirarArmas", fica mais gostoso de ler. kkkkkk
Reply
#6

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Dava pra fazer uma include era melhor!
Hmm, nгo pensei nisso na hora, fiz meio que as pressas :/, Mais com isso que eu postei a pessoa mesma pode fazer um include.
Reply
#7

Bem legal, mais tenho uma pergunta:

Esta funзгo foi tirada de seu gm certo ?

pawn Код:
"OutroMundo(playerid, OUTRO_MUNDO2);"
Reply
#8

Quote:
Originally Posted by iMega
Посмотреть сообщение
Bem legal, mais tenho uma pergunta:

Esta funзгo foi tirada de seu gm certo ?

pawn Код:
"OutroMundo(playerid, OUTRO_MUNDO2);"
Ha sim, Meu Gm й totalmente modificado desdas Includes, entгo eu mudo minhas funзхes e crio outras para que apenas eu as tenhas, foi editar la, Desculpe
Reply
#9

Й mais simples utilizar assim:

pawn Код:
for(new slot = 0; slot != 12; slot++) {
       GetPlayerWeaponData(playerid, slot, weapons[slot][0], weapons[slot][1]);        
       Armas[playerid][slot][0] = weapons[slot][0];        
       Armas[playerid][slot][1] = weapons[slot][1];
}
Bom code
Reply
#10

Quote:
Originally Posted by Sergiosousa
Посмотреть сообщение
Й mais simples utilizar assim:

pawn Код:
for(new slot = 0; slot != 12; slot++) {
       GetPlayerWeaponData(playerid, slot, weapons[slot][0], weapons[slot][1]);        
       Armas[playerid][slot][0] = weapons[slot][0];        
       Armas[playerid][slot][1] = weapons[slot][1];
}
Bom code
Eu ia fazer assim, Mais acabei fazendo do outro jeito, enfim й a mesma coisa
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)