Jump to content

(Help) Problem with weapon damage while sprinting


Perseus

Recommended Posts

https://www.youtube.com/watch?v=MgkMWq29BsI

As you can see in the video, the player will not get damage from the sides while sprinting, but if you pay attention when I shot him to his back then he take damage.

Details:
 

The weapon has 0 recoil, so thats not a problem, also it happens even in local server, so its not lag.
I tried changing player_sync_interval from 100 to 50 but nothing.

I tested also while disabling all the resources that could be causing the behavior.

setWeaponProperty(31, "pro", "damage", 90)
setWeaponProperty(31, "std", "damage", 90)
setWeaponProperty(31, "poor", "damage", 90)

setWeaponProperty(31, "pro", "accuracy", 1)
setWeaponProperty(31, "std", "accuracy", 1)
setWeaponProperty(31, "poor", "accuracy", 1)

setWeaponProperty(31, "pro", "weapon_range", 300)
setWeaponProperty(31, "std", "weapon_range", 300)
setWeaponProperty(31, "poor", "weapon_range", 300)

This is the only modification I did, but the problem  happens even with other weapons that I didn't modify the stats. As you see, the weapon have 0 recoil and good accuracy/range.

You can even see the player bleeding but not taking any damage, and the crosshair is always on his body, so its not bad aim.

Did I miss to setup something else in the server?

EDIT: Forgot to mention that the other player is just my other computer and i'm using a script to make him run, not sure if this script can be causing something but here is it:

 

function runP ()
        setControlState ( source, "forwards", true)
        setControlState ( source, "sprint", true)
        setElementPosition(source, -1493.04590, 2599.95068, 55.68750, false)
end
setTimer(addEventHandler("onClientPlayerWasted", root, runP), 400, 100)

 

Edited by Perseus
Link to comment
  • Moderators
1 hour ago, Perseus said:

As you can see in the video, the player will not get damage from the sides while sprinting

What is the ping of the other player?

It is normal to compensate your aim for latency, when the damage is registered clientside. You should aim at the location where the player is moving to. The higher the ping. the more you need to compensate.

If you shoot a player in the back/front, latency matters less, it just delays the inevitable.

 

Having 0 recoil makes the latency issue even worse, because the spread normally makes sure that at least some bullets hit.

I recommend to put the recoil not to 0. It is fine to put it very low, but if you put it to 0, some calculations might be miscalculated.

 

1 hour ago, Perseus said:

I tried changing player_sync_interval from 100 to 50 but nothing.

Increasing the interval does reduce some of the extra latency. To be specific from 100 > 50 could potential update the player position 50ms faster. But that is only the case with a stable internet connection. In case of an unstable internet connection, it might even increase latency when the network is being blocked by too many unreceived position updates.

Link to comment

As I said, I tested on a local server having almost 0 ping, if you see teleporting is because of the script for testing weapons while the target is running to make it harder. The weapon have a very high damage, only 3 shoots needed to kill from back/front, but it takes a lot more to kill from the sides, almost all the bullets.

I recorded another video, this time trying to compensate the latency:

https://www.youtube.com/watch?v=3Pz8j6Pkwdg

in this other I've decreased the weapon accuracy from 1 to 0.7:

https://www.youtube.com/watch?v=rc7O9pNLO34

I will try to reinstall the server and run a clean installation without modifications.
Is there a way to code a resource for lag compensation? Because I have played servers having 300 ping but never happened this, maybe they have some system to compensate.

Edited by Perseus
Link to comment
  • Moderators
9 minutes ago, Perseus said:

I recorded another video, this time trying to compensate the latency:

What if you switch roles and film the one that gets hit? That way you can verify if it is a bug.

Also:

  • Double check if bullet sync is active.

 

16 minutes ago, Perseus said:

Is there a way to code a resource for lag compensation?

It is indeed possible to override the bullet/damage system, but lag compensation is very complex and often result in unexpected results.

 

Link to comment
  • Moderators

@Perseus

It looks like a latency issue or bullet sync is not enabled.

Also, what is your server FPS?

image.png.29a7cdb5b1e2f0b07ba6e51d12dfc804.png

 

The bullets here are behind the player, see screenshots.

You could also try to freeze the player with this function: https://wiki.multitheftauto.com/wiki/SetElementFrozen
And shoot from the side while running, that way you can verify if it is 1 issue or 2 issues.

 

behind-2.thumb.png.dfedb22bd93b2757c09829d29e0c290f.pngbehind-1.thumb.png.5867e06b1cfc4c2a5a6e9f5f2c213c92.png

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...