[Ajuda] Como Detectar Colisгo (Batida) entre Veiculos?
#5

Em teoria seria algo como
PHP код:
const vehDelay 1000;
const 
vehDistance 3.0;
new 
    
vehTick[MAX_VEHICLES],
    
Float:vehX[MAX_VEHICLES],
    
Float:vehY[MAX_VEHICLES],
    
Float:vehZ[MAX_VEHICLES]
;
public 
OnVehicleDamageStatusUpdate(vehicleidplayerid)
{
    
veTick[vehicleid] = GetTickCount();
    
GetVehiclePos(vehicleidvehXvehYvehZ);
}

for(new 
iMAX_VEHICLES; ++i)
{
    if(
vehDesejado == i) continue;
    if(
check(vehTick[vehDesejado], vehTick[i], vehDelay))
    {
        if(
check2(vehX[i], vehY[i], vehZ[i], vehX[vehDesejado], vehY[vehDesejado], vehZ[vehDesejado], vehDistance))
        {
            
// Bateram EM TEORIA, nгo sei a real condiзгo em testes com pings altos, etc..
        
}
    }
}

check(tick1tick2range)
{
    
assert(range >= 0);
    if(
tick1 tick2)
        
tick1 tick2;
    else
        
tick2 tick1;
    return (-
range <= range);
}
check2(Float:x1Float:y1Float:z1Float:x2Float:y2Float:z2Float:distance)
{
    return (
GetDistanceBetweenPoints3D(x1,y1,z1,x2,y2,z2) < distance);
}
// AbyssMorgan
stock Float:GetDistanceBetweenPoints3D(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2){
    return 
VectorSize(x1-x2,y1-y2,z1-z2);

Reply


Messages In This Thread
Como Detectar Colisгo (Batida) entre Veiculos? - by MarllonGTA - 18.08.2016, 12:36
Re: Como Detectar Colisгo (Batida) entre Veiculos? - by arakuta - 18.08.2016, 14:19
Re: Como Detectar Colisгo (Batida) entre Veiculos? - by Andinho - 18.08.2016, 21:39
Re: Como Detectar Colisгo (Batida) entre Veiculos? - by F1N4L - 19.08.2016, 11:27
Re: Como Detectar Colisгo (Batida) entre Veiculos? - by Dayvison_ - 19.08.2016, 12:15
Re: Como Detectar Colisгo (Batida) entre Veiculos? - by iLordGG - 21.08.2016, 23:06

Forum Jump:


Users browsing this thread: 1 Guest(s)