09.11.2015, 23:23
Como eu faзo pra se a distancia for maior que X (um numero bom) o dano da shotgun for = dano / 2
no onplayertakedamage
no onplayertakedamage
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
// playerid й o ID do jogador que RECEBE o dano
// issuerid й o ID do jogador que CAUSA o dano
// amount й o valor em float (decimal) do dano
// weaponid й o ID da arma utilizada
// bodypart й a constante que define o local do tiro
// Com isso...
if(weaponid == 25) // A shotgun normal. Vocк tambйm pode usar o 27, que й da combat shotgun e a 28 que й da sawnoff shotgun
{
new
Float:p[3]
;
GetPlayerPos(issuerid, p[0], p[1], p[2]); // Pegar posiзгo do jogador que CAUSOU (issuerid) o dano
if(!IsPlayerInRangeOfPoint(playerid, x, p[0], p[1], p[2]) // Agora vamos ver se a distвncia em metros do jogador que RECEBEU (playerid) o dano й acima da distвncia mнnima, em relaзгo a posiзгo obtida acima. Sendo x a distвncia para o dano normal.
{
new
Float:life
;
GetPlayerHealth(playerid, life); // Receber valor da vida atual
SetPlayerHealth(playerid, life + (amount / 2)); // Somar com a metade do dano recebido
// Recomendo muito o uso de um sistema de vida server side, para evitar morte quando nгo deveria haver, enfim..
}
}
return 1;
}