[Ajuda] ANULAR DANO PLAYER - Versão de Impressão +- Portal SAMP (https://portalsamp.com) +-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5) +--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6) +--- Tópico: [Ajuda] ANULAR DANO PLAYER (/showthread.php?tid=462) |
ANULAR DANO PLAYER - Woorz - 11/12/2020 Fala rapaziada! Queria saber como fazer para anular o dano no player que receber um tiro ou qualquer dano. Alguém sabe família? (Meu sistema de dano está no TakeDamage e GiveDamage) RE: ANULAR DANO PLAYER - willttoonn - 11/12/2020 A lógica pode ser feita em ambas as callbacks. Tanto a OnPlayerTakeDamage (quando um jogador recebe dano), quanto na OnPlayerGiveDamage (quando um jogador causa dano). A lógica é simples. Basta adicionar vida/colete (SetPlayerHealth/SetPlayerArmour) equivalente ao valor de dano que o jogador recebeu. O valor do dano fica na variável damagedid na callback OnPlayerGiveDamage, ou, amount na callback OnPlayerTakeDamage. Ao devolver a vida/colete que foi perdido no dano, logicamente, esse dano é anulado. Documentação: - OnPlayerTakeDamage: https://open.mp/docs/scripting/callbacks/OnPlayerTakeDamage - OnPlayerGiveDamage: https://open.mp/docs/scripting/callbacks/OnPlayerGiveDamage - SetPlayerHealth: https://open.mp/docs/scripting/functions/SetPlayerHealth - SetPlayerArmour: https://open.mp/docs/scripting/functions/SetPlayerArmour RE: ANULAR DANO PLAYER - Woorz - 11/12/2020 (11/12/2020 21:07)João Pedro Escreveu: A lógica pode ser feita em ambas as callbacks. RE: ANULAR DANO PLAYER - willttoonn - 11/12/2020 Resolvido? RE: ANULAR DANO PLAYER - Woorz - 11/12/2020 (11/12/2020 22:19)João Pedro Escreveu: Resolvido? Não amigo. Recebi o dano normal e nem seto o retorno da vida. (Está no TakeDamage) RE: ANULAR DANO PLAYER - RodrigoMSR - 12/12/2020 Sem um sistema de dano server-side, você só pode anular dano de tiros entre jogadores com a OnPlayerWeaponShot (retornando 0). Se quiser anular dano de queda/explosão/fogo/veículos, terá que usar algo como o weapon-config. RE: ANULAR DANO PLAYER - [NRG]Dark - 12/12/2020 Uma alternativa efetiva é retornar zero (0) na função, quando não deseja que o dano da arma seja concretizado: Código: public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) RE: ANULAR DANO PLAYER - Woorz - 12/12/2020 Muito Obrigado meus amigos! Deu certo! +Rep |