StUNt71 Posted November 16, 2011 Posted November 16, 2011 Эта функция возвращает координаты куда целится игрок, но выстрел идёт не в эту точку. Поэтому как можно узнать точный выстрел? Если делать проверку через processLineOfSight, то производительность будет падать (там так написано). Есть какие варианты ещё? И зачем надо указывать у функции getWorldFromScreenPosition радиус... Сделал так: if getPedControlState(localPlayer, "aim_weapon") == true then local posX, posY, posZ = getElementPosition(localPlayer) local worldX, worldY, worldZ = getWorldFromScreenPosition(screenX / 2, screenY / 2, 100) local hit, hitX, hitY, hitZ = processLineOfSight(posX, posY, posZ, worldX, worldY, worldZ, true, true, true, true, true, false, false, false, localPlayer, false) if hit and hitX and hitY and hitZ then setElementData(localPlayer, "Target", hitX .. "," .. hitY .. "," .. hitZ) else setElementData(localPlayer, "Target", worldX .. "," .. worldY .. "," .. worldZ) end else setElementData(localPlayer, "Target", false) end Когда целишься тики прыгают от 0 до 16. Убрал из onClientRender перетащил в цикл. Делается всего за 0 тиков, мне кажется преувеличено, что может быть нагрузка. Sorry for my bad english!
StUNt71 Posted November 16, 2011 Author Posted November 16, 2011 Вроде всё решено, можно удалять тему. Sorry for my bad english!
Moderators Disinterpreter Posted November 16, 2011 Moderators Posted November 16, 2011 Расскажи как разобрался чтоли... Для архива. Developers, Developers, Developers, Developers.... © Steve Balmer http://www.lua.org/about.html Quote Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!
StUNt71 Posted November 17, 2011 Author Posted November 17, 2011 Код выше. Для кемпы делал: screenX / 2, screenY / 2 Для прочего: screenX * 0.53, screenY / * 0.4 Sorry for my bad english!
StUNt71 Posted November 17, 2011 Author Posted November 17, 2011 Перепроверил, теперь всё нормально... Мб в коде были ошибки. Sorry for my bad english!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now