Jump to content

createWeapon позиция таргета


Recommended Posts

Всем привет. Делаю кастомное оружие на игроков, и возникла такая проблема.

1. В руках у игрока обычная АК-47.

2. Создаю кастомное оружие через createWeapon ( "ak-47"

3. Прицепляю это оружие через crystalmv bone_attach к игроку (12 кость)

4. Обычная пушка и созданная полностью совпадают в руках игрока по координатам (визуально)

5. При стрельбе кастомного оружия, его точка попадания оказывается левее-ниже прицела :evil:

Пробовал поменять fire_rotation у кастомного оружия. Получалось что на средних дистанциях новое оружие стреляет точно по прицелу, но при повороте камеры в низ, точка попадания смещается влево, а при повороте камеры в верх, точка смещается правее.

Еще пробовал поместить в onClientRender getPedTargetEnd и setWeaponTarget:

  
function fireWeapOnClientRender() 
    for i, v in ipairs ( getElementsByType ("weapon", true) ) do 
        if getElementData ( v, "cweap" ) then 
            local owner = getElementData ( v, "cweap.owner" ) 
            local sx, sy, sz = getPedTargetEnd(owner) 
            setWeaponTarget (v,sx, sy, sz) 
        end 
    end 
end 
  
addEventHandler('onClientRender', root, fireWeapOnClientRender ) 
  

Но в таком случае оружие просто не стреляет (видимо фича мта).

Может у кого есть идеи как еще можно исправить вот это?

5. При стрельбе кастомного оружия, его точка попадания оказывается левее-ниже прицела
Link to comment

Все, разобрался. Необходимо было поставить оружию два флага, чтобы оно нормально стреляло:

setWeaponFlags (weapon, "shoot_if_out_of_range", true)

setWeaponFlags (weapon, "shoot_if_blocked", true)

Link to comment

А что на счет синхронизации?

Я думаю сделать как-то так: создаем триггер с сервера на клиент (кому это нужно), там создаем саму пушку, аттачим и т.п., а вот стрельба (bindKey с сервера) триггер на клиенты и там вкл. стрельбу (аналогично с выкл.). Может есть какой-то лучший способ?

Link to comment
  • 2 months later...
Если пинг между игроков и сервером 500мс, то в 2 конца это 1 секунда. Ну такое...

Да, секунда задержки для стрельбы это много.

Есть предложения по лучше как это можно сделать? Мне кажется можно сразу с сервера на определенные клиенты.

Link to comment
Если пинг между игроков и сервером 500мс, то в 2 конца это 1 секунда. Ну такое...

Да, секунда задержки для стрельбы это много.

Есть предложения по лучше как это можно сделать? Мне кажется можно сразу с сервера на определенные клиенты.

Будет куда рациональнее.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...