OnPlayerWeaponShot. Выстрел в объект с ротацией
#1

Здравствуйте.
Вопрос по поводу OnPlayerWeaponShot. При выстреле в объект (BULLET_HIT_TYPE_OBJECT) калбэк дает координаты попадания относительно объекта, в который попали. В моем же случае необходимо получить глобальные координаты попадания. Если бы не ротация - всё было бы просто. GetObjectPos и к каждой координате прибавляли бы fX,fY,fZ соответственно. Но объект может быть повернут (ObjectRot) так, что таким способом координаты будут ложными. И тут уже необходимо хорошо знать математику. Вот я и обращаюсь за помощью. Возможно, кто-то считал себе или видел где такое, возможно кто-то и помочь захочет. Буду благодарен. Код ниже:
PHP код:
public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
{
    if(
hittype == BULLET_HIT_TYPE_OBJECT)
    {
        new 
Float:pos[3]; GetObjectPos(hitid,pos[0],pos[1],pos[2]);
        new 
Float:rot[3]; GetObjectRot(hitid,rot[0],rot[1],rot[2]);
        
//pos[0]+=fX*...//Вот тут и надо вести подсчеты
        //pos[1]+=fY*...//sin'уси - cos'инусы будут, как же без них.
        //pos[2]+=fZ*...
        
CreateObject(model,pos[0],pos[1],pos[2],0.0,0.0,0.0);//Этот объект должен будет появляться на месте попадания
    
}
    return 
true;

Reply
#2

Используй GetPlayerLastShotVectors.
Reply
#3

Во, точно. Пропустил таки её мимо глаз. Отлично. Спасибо.
p.s. если всё таки кто-то будет проводить подсчеты через координаты с калбэка - приветствуется. Хочу хотя бы глянуть что там и как.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)