[Pedido] Diminuir dano da arma
#1

Queria saber como faзo para diminuir o dano da minigun para 0.5 ou 1 cada tiro, mas nгo sei como fazer.
Reply
#2

Tem que fazer uma gambiarra com OnPlayerGiveDamage fazendo a verificaзгo da arma e diminuindo o valor da vida.
Reply
#3

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Tem que fazer uma gambiarra com OnPlayerGiveDamage fazendo a verificaзгo da arma e diminuindo o valor da vida.
Eu tentei fazer no OnPlayerTakeDamage mas nгo deu muito certo, ele acabava morrendo.
Reply
#4

https://sampforum.blast.hk/showthread.php?tid=330005
Reply
#5

й mais ou menos assim:

PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
{
    new 
Float:life;
    
GetPlayerHealth(playeridlife);

    switch(
weaponid)
    {
        case 
35:
        {
            
SetPlayerHealth(playeridlife-50);
        }
    }
    return 
1;

Reply
#6

O melhor jeito й vocк usar SetPlayerTeam em todos os players e em OnPlayerGiveDamage vocк configura o dano.
Os outros mйtodos eu ja tentei todos e pode atй funcionar mas fica bugado.

O problema de fazer isso й que buga na hora do player morrer, entгo vocк tem que configurar um jeito do player morrer quando a vida acabar, nгo fiz isso aqui mas se quiser eu faзo e posto.

Exemplo:

PHP код:
#include <a_samp>
new PlayerTeam[MAX_PLAYERS];
public 
OnPlayerSpawn(playerid){
    
SetPlayerTeam(playerid0);
    
PlayerTeam[playerid] = 0;
    return 
1;
}
public 
OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart)
{
    
// Caso tente matar mesma gang
    
if(PlayerTeam[playerid] == PlayerTeam[damagedid]){
    
        return 
0;
    }
    
    new 
Float:life;
    
GetPlayerHealth(damagedidlife);
    switch(
weaponid)
    {
        case 
35:
        {
            
SetPlayerHealth(damagedidlife-0.5);
        }
    }
    return 
1;
}
// Usar isso no lugar de SetPlayerTeam
stock SetPlayerServerTeam(playeridteamid){
    return 
PlayerTeam[playerid] = teamid;
}
// Usar isso no lugar de GetPlayerTeam
stock GetPlayerServerTeam(playerid){
    return 
PlayerTeam[playerid];

Reply
#7

acho que eu consegui resolver com:
PHP код:
new Float:HP;
        new 
Float:Armor;
        
GetPlayerArmour(damagedidArmor);
        
GetPlayerHealth(damagedidHP);
        if(
Armor 1)
       {
        if(
weaponid == 38SetPlayerHealth(damagedidHP+amount-46.5);
        if(
Armor <= 100)
        {
        if(
weaponid == 38SetPlayerArmour(damagedidArmor+amount-46.5);
        } 
isso no OnPlayerGiveDamage
Agradeзo a Atenзгo e ajuda de todos.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)