[Ajuda] Dano em veiculo desocupados
#1

Tava querendo fazer com que os veiculos desocupados tambйm perdessem lataria ao serem atingindos, tentei assim:
Код:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
	if(hittype == BULLET_HIT_TYPE_VEHICLE) {
    	// dano em veiculos desocupados
		#define DEAGLE_DAMAGE 60
		#define COMBATSHOTGUN_DAMAGE 64
		#define SHOTGUN_DAMAGE 52
		#define MP5_DAMAGE 28
		#define SNIPER_DAMAGE 45
		#define RIFLE_DAMAGE 38
		#define M4_DAMAGE 35
		#define AK47_DAMAGE 30
		#define MINIGUN_DAMAGE 500
		new Float:vhp;
		GetDynamicVehicleHealth(hitid, vhp);
		if(weaponid == 24) SetDynamicVehicleHealth(hitid, vhp-DEAGLE_DAMAGE);
		else if(weaponid == 25) SetDynamicVehicleHealth(hitid, vhp-SHOTGUN_DAMAGE);
		else if(weaponid == 27) SetDynamicVehicleHealth(hitid, vhp-COMBATSHOTGUN_DAMAGE);
		else if(weaponid == 29) SetDynamicVehicleHealth(hitid, vhp-MP5_DAMAGE);
		else if(weaponid == 30) SetDynamicVehicleHealth(hitid, vhp-AK47_DAMAGE);
		else if(weaponid == 31) SetDynamicVehicleHealth(hitid, vhp-M4_DAMAGE);
		else if(weaponid == 33) SetDynamicVehicleHealth(hitid, vhp-RIFLE_DAMAGE);
		else if(weaponid == 34) SetDynamicVehicleHealth(hitid, vhp-SNIPER_DAMAGE);
		else if(weaponid == 38) SetDynamicVehicleHealth(hitid, vhp-MINIGUN_DAMAGE);
	}
}
Mas nada acontece...
O que estб errado?
Reply
#2

Teve um post que eu achei que o gringo ja fez man, tlg, vou achar e volto
Reply
#3

Provavelmente estб atirando em um veiculo que nгo й dinвmico e/ou veiculos dinвmicos nгo suportam OnPlayerWeaponShot
Reply
#4

Quote:
Originally Posted by Jonorusc
Посмотреть сообщение
Teve um post que eu achei que o gringo ja fez man, tlg, vou achar e volto
Eu que achei fdp, ta ai mano: https://sampforum.blast.hk/showthread.php?tid=642831
Reply
#5

heuaheu
Reply
#6

PHP код:
#define DEAGLE_DAMAGE 60
#define COMBATSHOTGUN_DAMAGE 64
#define SHOTGUN_DAMAGE 52
#define MP5_DAMAGE 28
#define SNIPER_DAMAGE 45
#define RIFLE_DAMAGE 38
#define M4_DAMAGE 35
#define AK47_DAMAGE 30
#define MINIGUN_DAMAGE 500
new Float:VidaCarro[MAX_VEHICLES];
public 
OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ
{
    if(
hittype == BULLET_HIT_TYPE_VEHICLE
    {
        
GetVehicleHealth(vehicleidVidaCarro[hitid]); 
        switch(
weaponid)
        {
            case 
24VidaCarro[hitid] -= DEAGLE_DAMAGE);
            case 
25VidaCarro[hitid] -= SHOTGUN_DAMAGE);
            case 
27VidaCarro[hitid] -= COMBATSHOTGUN_DAMAGE);
            case 
29VidaCarro[hitid] -= MP5_DAMAGE);
            case 
30VidaCarro[hitid] -= AK47_DAMAGE);
            case 
31VidaCarro[hitid] -= M4_DAMAGE);
            case 
33VidaCarro[hitid] -= RIFLE_DAMAGE);
            case 
34VidaCarro[hitid] -= SNIPER_DAMAGE);
            case 
38VidaCarro[hitid] -= MINIGUN_DAMAGE);
        }
        
SetVehicleHealth(vehicleidVidaCarro[hitid]);
        if(
VidaCarro[hitid] < 250.0)
        {
            
SetVehicleHealth(hitid0);
        }
    }
    return 
1;

Reply
#7

Quote:
Originally Posted by Dayvison_
Посмотреть сообщение
Provavelmente estб atirando em um veiculo que nгo й dinвmico e/ou veiculos dinвmicos nгo suportam OnPlayerWeaponShot
O veiculo й dinamico...
Sabe algum lugar que eu posso ver se veiculos dinamicos aceitam OnPlayerWeaponShot
Ou de testar isso?

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:
#define DEAGLE_DAMAGE 60
#define COMBATSHOTGUN_DAMAGE 64
#define SHOTGUN_DAMAGE 52
#define MP5_DAMAGE 28
#define SNIPER_DAMAGE 45
#define RIFLE_DAMAGE 38
#define M4_DAMAGE 35
#define AK47_DAMAGE 30
#define MINIGUN_DAMAGE 500
new Float:VidaCarro[MAX_VEHICLES];
public 
OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ
{
    if(
hittype == BULLET_HIT_TYPE_VEHICLE
    {
        
GetVehicleHealth(vehicleidVidaCarro[hitid]); 
        switch(
weaponid)
        {
            case 
24VidaCarro[hitid] -= DEAGLE_DAMAGE);
            case 
25VidaCarro[hitid] -= SHOTGUN_DAMAGE);
            case 
27VidaCarro[hitid] -= COMBATSHOTGUN_DAMAGE);
            case 
29VidaCarro[hitid] -= MP5_DAMAGE);
            case 
30VidaCarro[hitid] -= AK47_DAMAGE);
            case 
31VidaCarro[hitid] -= M4_DAMAGE);
            case 
33VidaCarro[hitid] -= RIFLE_DAMAGE);
            case 
34VidaCarro[hitid] -= SNIPER_DAMAGE);
            case 
38VidaCarro[hitid] -= MINIGUN_DAMAGE);
        }
        
SetVehicleHealth(vehicleidVidaCarro[hitid]);
        if(
VidaCarro[hitid] < 250.0)
        {
            
SetVehicleHealth(hitid0);
        }
    }
    return 
1;

Baseado no que vocк me passou tentei fazer o meu, mas continua o mesmo problema de nem tirar lataria:
PHP код:
    if(hittype == BULLET_HIT_TYPE_VEHICLE
    {
        
GetDynamicVehicleHealth(hitidVehicleInfo[hitid][vHealth]);
        switch(
weaponid)
        {
            case 
24: (VehicleInfo[hitid][vHealth] -= DEAGLE_VEHDAMAGE);
            case 
25: (VehicleInfo[hitid][vHealth] -= SHOTGUN_VEHDAMAGE);
            case 
27: (VehicleInfo[hitid][vHealth] -= COMBATSHOTGUN_VEHDAMAGE);
            case 
29: (VehicleInfo[hitid][vHealth] -= MP5_VEHDAMAGE);
            case 
30: (VehicleInfo[hitid][vHealth] -= AK47_VEHDAMAGE);
            case 
31: (VehicleInfo[hitid][vHealth] -= M4_VEHDAMAGE);
            case 
33: (VehicleInfo[hitid][vHealth] -= RIFLE_VEHDAMAGE);
            case 
34: (VehicleInfo[hitid][vHealth] -= SNIPER_VEHDAMAGE);
            case 
38: (VehicleInfo[hitid][vHealth] -= MINIGUN_VEHDAMAGE);
        }
        if(
VehicleInfo[hitid][vHealth] < 452) { VehicleInfo[hitid][vHealth] = 452; }
        
SetDynamicVehicleHealth(hitidVehicleInfo[hitid][vHealth]);
    } 
Reply
#8

Veja se o seu servidor estб com Lagcomp ON, creio que OnPlayerWeaponShot sу funcione nesse caso
Reply
#9

Quote:
Originally Posted by ZaHHak
Посмотреть сообщение
Veja se o seu servidor estб com Lagcomp ON, creio que OnPlayerWeaponShot sу funcione nesse caso
Estб sim!
Reply
#10

Quote:
Originally Posted by binnyl
Посмотреть сообщение
O veiculo й dinamico...
Sabe algum lugar que eu posso ver se veiculos dinamicos aceitam OnPlayerWeaponShot
Ou de testar isso?




Baseado no que vocк me passou tentei fazer o meu, mas continua o mesmo problema de nem tirar lataria:
PHP код:
    if(hittype == BULLET_HIT_TYPE_VEHICLE
    {
        
GetDynamicVehicleHealth(hitidVehicleInfo[hitid][vHealth]);
        switch(
weaponid)
        {
            case 
24: (VehicleInfo[hitid][vHealth] -= DEAGLE_VEHDAMAGE);
            case 
25: (VehicleInfo[hitid][vHealth] -= SHOTGUN_VEHDAMAGE);
            case 
27: (VehicleInfo[hitid][vHealth] -= COMBATSHOTGUN_VEHDAMAGE);
            case 
29: (VehicleInfo[hitid][vHealth] -= MP5_VEHDAMAGE);
            case 
30: (VehicleInfo[hitid][vHealth] -= AK47_VEHDAMAGE);
            case 
31: (VehicleInfo[hitid][vHealth] -= M4_VEHDAMAGE);
            case 
33: (VehicleInfo[hitid][vHealth] -= RIFLE_VEHDAMAGE);
            case 
34: (VehicleInfo[hitid][vHealth] -= SNIPER_VEHDAMAGE);
            case 
38: (VehicleInfo[hitid][vHealth] -= MINIGUN_VEHDAMAGE);
        }
        if(
VehicleInfo[hitid][vHealth] < 452) { VehicleInfo[hitid][vHealth] = 452; }
        
SetDynamicVehicleHealth(hitidVehicleInfo[hitid][vHealth]);
    } 
Alguйm sabe?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)