30.05.2011, 00:50
Quote:
pawn Код:
|
Ih, й mesmo


Obrigado por me avisar


Quote:
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

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
