SA-MP Forums Archive
OnPlayerWeaponShot. Выстрел в объект с ротацией - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: OnPlayerWeaponShot. Выстрел в объект с ротацией (/showthread.php?tid=525245)



OnPlayerWeaponShot. Выстрел в объект с ротацией - Grem17 - 10.07.2014

Здравствуйте.
Вопрос по поводу 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;




Re: OnPlayerWeaponShot. Выстрел в объект с ротацией - XemyL - 11.07.2014

Используй GetPlayerLastShotVectors.


Re: OnPlayerWeaponShot. Выстрел в объект с ротацией - Grem17 - 11.07.2014

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