#No More Dupe (archived. fixed in 14.1.4)
1 messages ยท Page 1 of 1 (latest)
Why not just use a transpiler with a code matcher so you don't break compatibility with other plugins
Firstly, I don't understand transpilers. Secondly, if someone understands transpilers, they can either write and commit to this repository themselves, or add a couple of lines to their code (see screenshot below)
Quick question. Why did you make a plugin when you can clearly see a label that's fixed in the next release?
Do you know when the next release is?
Just for now until the release?
Maybe?
Exactly haha
Even if I knew I can't say.
Which is my point
The next release could be a year from now for all we know
If there's a problem like this right now then we need a fix
So it's just for the wait time
Well, this is a decision that everyone makes for themselves. Either suffer from the bug and wait for the update, or use this plugin.
This should be a working transpiler for this purpose
First, it finds the ResultingPickups field load for the start of the foreach loop
It then marches to the second local store (which in foreach loops will give you the actual element used in the foreach), and stores that index
It then finds the UnityEngine null check in the for loop and uses that to find the branch call that goes to the end of the code in the foreach loop, and stores that index
I then do a similar process with GetSearchCompletor to get and store the index of the end of the code inside of the if(...) when the ... evaluates to true
I then march through the code inside of that same block to find any calls to the end of the loop, and save those indexes to later insert new instructions
The new instructions just load the resultingPickup and call the DestroyPickup which handles it
Considering this is only going to be used for this update, I'm pretty sure went a little over-board in how I approached this, but it's good practice for me
I tested this code and it appeared to do its intended job
thx, i'll check it later ๐
Lmk how it goes! It worked in my testing so it should work in yours
this does not read well on discord ๐ญ
I didn't wanna log into GitHub and make a pr
1.0.1
โ ๏ธ Fixed game bug with phantom projectiles
Previously (i.e. without this plugin), if you held a grenade in your hand without the pin while SCP-914 was active, a phantom projectile would appear.
https://github.com/CosmosZvezdo4kin/NoMoreDupe/releases/tag/1.0.1
Thanks, your transpiler worked, but I had to add a fix for another bug via Prefix
No More Dupe (fixes SCP-914 dupe and phantom projectiles)
Hey do you allow me to add your plugin (with propper credit into exiled ?)
Hi, do you want to add this as a separate plugin to Exiled or add it to the Exiled base code?
If you need it as a separate plugin for Exiled, I can quickly do it myself
And if you need to add the code of this plugin to the Exiled code, then I don't mind
If there's another bug to be fixed, I could write another transpiler too
Yeah, I don't mind and I'll even be glad if you write it ๐
Fire
I can check the original code but if you know off-hand, what's causing the problem with the grenade issue?
If you call Drop on a grenade with the pin pulled, this bug will occur, so I just added this check at the beginning of the code
https://github.com/CosmosZvezdo4kin/NoMoreDupe/blob/master/Patches/Scp914ItemProcessor.cs#L16
I also added a check here for the presence of a spawned pickup, so as not to send NetworkMessage again.
https://github.com/CosmosZvezdo4kin/NoMoreDupe/blob/master/Patches/Scp914ItemProcessor.cs#L57
So essentially just don't process the pickup if the pin is currently pulled?
yeah
Fire I can do that
It'll be a few days though at a minimum cause I'm still on vacation
๐
okay good and yeah that was it
i will make it compatible with your fix so nobody will be annoyed
๐
big thank will work on transpiller for it :) (i will let you copy paste it if you want)
it's better in the compatibility way
You added a fix in time, when in version 14.1.4 all this will be fixed ๐ซ
that my usual luck
The plugin is now archived
In the new version of the game 14.1.4 these 2 bugs were fixed.
