OnPlayerWeaponShot help
#4

Код:
//what you asked for, only "counts a shot on an empty vehicle as a miss, but counts a shot on an occupied vehicle as a hit"
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) 
{
	shots[playerid] ++;
    if(hittype == BULLET_HIT_TYPE_VEHICLE) 
    { 
        if(VehicleOccupied(hitid)) vhits[playerid] ++; 
        else misses[playerid] ++; 
    } 
    return 1; 
} 

//what i find more logic: counts a shot on a player or occupied vehicle as a hit and counts a shot anywhere else as a miss
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) 
{
	shots[playerid] ++;
	if (
		(hittype == BULLET_HIT_TYPE_PLAYER && hitid != playerid) ||
		(hittype == BULLET_HIT_TYPE_VEHICLE && VehicleOccupied(hitid))
	)
		vhits[playerid]++; else misses[playerid] ++;
    return 1; 
} 



//this function is called about 10 times as frequently as a fire rate, depending on the number of players shooting together. with the bool tag u use 4 times less space (from 4 bytes/return to 1 byte/return)
bool:VehicleOccupied(vehicleid) 
{ 
    foreach (new i : Player) if(IsPlayerInVehicle(i,vehicleid)) return true;
    return false; 
}
Reply


Messages In This Thread
OnPlayerWeaponShot help - by [FAT]Klabauter[LST] - 17.02.2014, 14:34
Re: OnPlayerWeaponShot help - by phoon - 17.02.2014, 15:09
Re: OnPlayerWeaponShot help - by [FAT]Klabauter[LST] - 17.02.2014, 15:11
Re: OnPlayerWeaponShot help - by XXJacksug8X - 19.07.2014, 20:09

Forum Jump:


Users browsing this thread: 1 Guest(s)