multitheftauto / mtasa-blue

Multi Theft Auto is a game engine that incorporates an extendable network play element into a proprietary commercial single-player game.
https://multitheftauto.com
GNU General Public License v3.0
1.3k stars 412 forks source link

setPedAimTarget does not work properly if it is called less than every 95-100 milliseconds with the standard configuration #3509

Open T-MaxWiese-T opened 4 days ago

T-MaxWiese-T commented 4 days ago

Describe the bug

setPedAimTarget does not work properly if it is called less than every 95-100 milliseconds with the standard configuration. If the code is executed while standing somewhere in front of the ped, it hits the player. However, if you move directly back and forth or hide behind a wall and then go somewhere in front of the ped, the ped will no longer hit you. This problem also affects the well-known "Slothman/Slothbot" resource for bots. I read in the Discord that other players also had this problem. But if you execute the code below with a timer only every 95-100 milliseconds then there are no problems. I also tried lowering the <ped_sync_interval> from 400 to 100 but that had no effect. The function setPedAimTarget can be called as often as the <player_sync_interval> is called.

Steps to reproduce

  1. Execute this code on the client:
    local cj = createPed(0, 2498.5, -1684.0, 13.5, 20) -- create a ped at cjs house in grove street
    givePedWeapon(cj, 30, 3000, true)
    function renderHandler()
    local x,y,z = getElementPosition(localPlayer)
    setPedAimTarget(cj, x, y, z)
    setPedControlState(cj, "fire", true)
    end
    addEventHandler("onClientRender", getRootElement(), renderHandler)
  2. Move quickly back and forth or hide behind a wall and then go back in front of the ped or execute the code in another place and then go to the ped.

Version

Client: v.1.6.0-release-22556 (Windows) Server: v.1.6.0-release-22556 (Windows)

Additional context

No response

Relevant log output

No response

Security Policy