Closed slipsy closed 10 months ago
The same issue (smite being persistent when in arena mode) happens in arena with the added problem that smite particles don't disappear on death.
The following error gets spammed when i disconnected (I think):
L 12/10/2023 - 19:00:09: [SM] Exception reported: Invalid entity index 1 for victim
L 12/10/2023 - 19:00:09: [SM] Blaming: Gameplay/RTD/rtd.smx
L 12/10/2023 - 19:00:09: [SM] Call stack trace:
L 12/10/2023 - 19:00:09: [SM] [0] SDKHooks_TakeDamage
L 12/10/2023 - 19:00:09: [SM] [1] Line 146, rtd/perks/smite.sp::Smite_Tick
L 12/10/2023 - 19:00:09: [SM] [3] Call_Finish
L 12/10/2023 - 19:00:09: [SM] [4] Line 273, rtd/storage/cache.sp::Timer_PerkTimer
L 12/10/2023 - 19:00:09: [SM] Exception reported: Invalid entity index 1 for victim
L 12/10/2023 - 19:00:09: [SM] Blaming: Gameplay/RTD/rtd.smx
L 12/10/2023 - 19:00:09: [SM] Call stack trace:
L 12/10/2023 - 19:00:09: [SM] [0] SDKHooks_TakeDamage
L 12/10/2023 - 19:00:09: [SM] [1] Line 146, rtd/perks/smite.sp::Smite_Tick
L 12/10/2023 - 19:00:09: [SM] [3] Call_Finish
L 12/10/2023 - 19:00:09: [SM] [4] Line 273, rtd/storage/cache.sp::Timer_PerkTimer
L 12/10/2023 - 19:00:09: [SM] Exception reported: Entity -1 (1) is invalid
L 12/10/2023 - 19:00:09: [SM] Blaming: Dependencies/tf2attributes.smx
L 12/10/2023 - 19:00:09: [SM] Call stack trace:
L 12/10/2023 - 19:00:09: [SM] [0] ThrowNativeError
L 12/10/2023 - 19:00:09: [SM] [1] Line 674, ./Dependencies/tf2attributes.sp::Native_RemoveByID
L 12/10/2023 - 19:00:09: [SM] [3] TF2Attrib_RemoveByDefIndex
L 12/10/2023 - 19:00:09: [SM] [4] Line 1223, rtd/stocks.sp::SetSpeed
L 12/10/2023 - 19:00:09: [SM] [5] Line 155, rtd/perks/smite.sp::Smite_Tick
L 12/10/2023 - 19:00:09: [SM] [7] Call_Finish
L 12/10/2023 - 19:00:09: [SM] [8] Line 273, rtd/storage/cache.sp::Timer_PerkTimer
Are there any error logs from before you disconnected?
No errors from before I disconnect. Errors appear only after disconnecting.
(I tested by being killed by effect, dying to sm_slay, switching to another team. In all cases there were no errors and the effect persisted.)
Edit: To add, the server is running FF2, but I don't think it's relevant here.
@slipsy Did this happen multiple times for you? I cannot reproduce it, dying in MvM simply removes the perk due to a regular death event for me before the revive happens. Also, were you able to access server logs by any chance?
@naydef I cannot reproduce this either, it looks like both situations include some edge case which doesn't happen in normal circumstances. But I have to ask, am I correct to assume you compiled the plugin yourself? Were there any significant changes introduced?
I had my theories as to why you experiences these issues, and they should be fixed with 0a52864aa6f125839de8ba29a4282019b7c3aaee and ffdd70f6e1f647c251cd9f7aaa97f533f0cce358. However, since I'm not able to reproduce the issues I cannot really prove it.
In any case, ffdd70f6e1f647c251cd9f7aaa97f533f0cce358 introduced a few fail safes to how perk times are run. If a random error occurs somewhere, it should be less detrimental now (especially in relation to @naydef's error log). It will still be an error which needs to be fixed though.
In any case, I'm gonna go ahead with the 2.4.1 release which fixes another bug I was able to reproduce. Again, I cannot confirmed whether this issue specifically is fixed, but please do update and look out of any errors if you can.
@Phil25 Yea, compiled it myself. Only significant change was removing the updater code.
I'll now test the new version.
Still prepping to release it :)
Also, updater code doesn't do anything if you don't have the updater plugin or sm_rtd2_autoupdate
is disabled. Even so, updater include file is an optional compilation dependency, so if it won't be found the updater code will be removed automatically.
However there are some variables that do nothing if updater include is not there, which generates warnings. And we are compiling with -E
option, which fails our plugin autotesting.
some variables that do nothing if updater include is not there, which generates warnings
I see, this should be now fixed in 2086b748eea041e513d8c2f08f6cd01f62f6ce91.
Ok, so the plugin almost compiles without modifications, I only needed to add stock
to IsPlayerFriendly
in rtd.sp to mute unused variable error.
So, the plugin no longer generates error on disconnection, however pretty much everything else is the same, I even now have permanent slowdown on respawning after dying to the effect (the particles still stay after death).
On dying the following message gets printed:
L 12/17/2023 - 21:05:57: [Gameplay/RTD/rtd.smx] Internal error: client FF2 Development Industries<35><[U:1:1238637696]><> is not in game or not alive.
This shows that there is a condition which doesn't trigger the perk to be removed when it should. Can you explain what exactly happens so the player gets killed?
I died to the effect and other ways (smited to death, sm_slay @me, killed by player), no change.
Edit: Oh, we fixed it. I updated rtd2_perks.default.cfg
and now the issue is fixed. I can see in our server diff:
"sound" "npc/strider/fire.wav"
"token" "smite"
- "time" "-1"
+ "time" "0"
"class" "0"
"weapons" "0"
So I think the issue was we used the old config where smite was instant ability with no duration, while this new version has duration. So yea, this also fixed another issue with effects which get called on calling for medic. So I guess our issue is fixed, thanks Phil25.
Awesome! Yeah this makes sense.
@slipsy could you check if the server you were on happens to have an outdated config as well?
As discussed on Discord, further feedback is required to determine if it's an issue with server configuration. I'll close this for now and go ahead with the release. Feel free to reopen.
Playing a server running MvM and RTD, friend rolled smite and died, I revived them and the effect became permanent on them, causing them to repeatedly take damage/die without constant healing. This persisted through further reviving, respawning naturally, and even reconnecting or map changing. Rerolling does remove the effect.