[AJUDA]Continuando a arrumar meu sistema de head shot...
#5

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
pawn Код:
new armaID = GetPlayerWeapon(playerid);
isso vai verificar a arma que o jogador que vai sofrer o headshot estб e nгo quem atirou rjj... o cуdigo dele nгo verifica quem atirou no jogador por tanto nгo tem como fazer isso. Como jб te falei mais de 5 vezes cara, vocк tem que mudar o seu sistema de headshots, jб й seu terceiro tуpico meu amigo.

Ih, й mesmo , nгo percebi esse detalhe .



Obrigado por me avisar , e desculpas ao criador do tуpico .




Quote:
Originally Posted by Detonador
Посмотреть сообщение
jeito eu tenho certeza que tem,e o rjj,ta dando tipo um "bug" no seu codigo,nenhuma arma esta dando head shot,apenas a desert eagle,e tambem,as armas brancas continuam dando head shot,alem de que nao esta aparecendo no canto direito da tela,quem matou quem,sabe? akeles icones das armas,ate que mostra quem matou quem,pararam de aparecer! este codigo nao funcionou,jeito de fazer eu tenho certeza que tem,preciso de ajuda
desde ja obrigado.

Bem, realmente й possнvel mas, como disse o [S]trong, seria necessбrio trocar o seu sistema de HeadShot, ou reformб-lo, pois ele apenas checa se determinado jogador foi ferido e jб o mata, em outras palavras, ele nгo envolve o atirador .



Whatever, reformei o seu sistema por completo , leia os comentбrios (em verde).



pawn Код:
//Coloque no Topo do GM:


new Float:VidaAtual[MAX_PLAYERS];
new Float:VidaAntiga[MAX_PLAYERS];
new Float:Dano[MAX_PLAYERS];
new ArmasBrancas[8] = {20,21,22,23,24,25};  //Troque os nъmeros daqui pelos IDs das armas "proibidas". Adapte o tamanho do vetor de acordo com a quantidade de IDs.
#define Espaco_Radial 50.0   //Aumente este para aumentar a distancia minima entre atirador e vitima, para que o sistema seja acionado



//No OnPlayerUpdate ficarб assim:



public OnPlayerUpdate(playerid)
{
    GetPlayerHealth(playerid, VidaAtual[playerid]);
    if(VidaAtual[playerid] < VidaAntiga[playerid])
    {
        Dano[playerid] = (VidaAntiga[playerid] - VidaAtual[playerid]);
        new Float:AroudPos[3],y;
        GetPlayerPos(playerid,AroudPos[0],AroudPos[1],AroudPos[2]);
        switch(GetPlayerAnimationIndex(playerid))
        {
            case 1173,1175,1177,1178:
            {
                for(new z; z != MAX_PLAYERS; z++)
                {
                    if(IsPlayerInRangeOfPoint(z, Espaco_Radial, AroudPos[0],AroudPos[1],AroudPos[2]) && GetPlayerWeapon(z) > 0)
                    {
                        while(y < sizeof(ArmasBrancas))
                        {
                            if(GetPlayerWeapon(z) != ArmasBrancas[y])
                            {
                                y++;
                                if(y == (sizeof(ArmasBrancas) - 1))
                                {
                                    SetPVarInt(playerid, "Headshotted", 1),SetPlayerHealth(playerid, 0);
                                    goto Finalizar;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    Finalizar:
    GetPlayerHealth(playerid, VidaAntiga[playerid]);
    return 1;
}


Espero ter ajudado .
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)