First mod attempt, RoR2-like ping functionality because describing things is hard.
Source is published if you want to see my awful code.
https://thunderstore.io/c/lethal-company/p/Greyull/LethalPing/
1 messages · Page 1 of 1 (latest)
First mod attempt, RoR2-like ping functionality because describing things is hard.
Source is published if you want to see my awful code.
https://thunderstore.io/c/lethal-company/p/Greyull/LethalPing/
two ping mods? #1179184311887482961
Yeah, their mod kinda gave me the inspiration to try it out--main functionality difference is theirs you have to scan to see other player pings (because they create custom scannodes), mine immediately displays to other players when you make a ping
very nice
I'm not going to act like my way is any cleaner (it's not) but it's how I prefer the functionality to work
nobody sees the pings when they have to scan, they just ignore em
get pink roled
I'm not entirely sure why and it could be a conflict with a number of other mods, but having this specific mod enabled means that when i use the "start game" lever, nothing happens and the game doesnt actually start
I can't think of anything I'm touching that might cause that tbh
actually
there's a vague chance my Harmony patch to the PlayerControllerB update func might have some weird behavior with something else
Any chance you can toss your BepInEx log in here (assuming you haven't restarted your game since the issue?)
Actually, in me messing around with deploying this via r2modman I just ran into the same thing myself... let me investigate.
generic calls to static fields are in fact a bad practice
that's on me
One final test and I'll throw the patch up
Patch uploaded, should show up on ThunderStore shortly
Thanks for the bug report!
Thanks! can test later today
Another question, when using this Solo for testing, should i be able to see my own pings? I can now start the game but can't see the pings on T
You should be able to see your own pings.
Any chance you can toss me a modlist? I'd like to see if I can replicate.
bit tough as i have a mess of 34 mods, but i can do a bit of extra testing myself later
Cool, I'll take some looks at my code and see what I can guess for why it wouldn't be working as well
Oh, I forgot to ask the obvious as well--any errors popping up in the log when you press the T key?
Also are you seeing a message that says "T Key Pressed!" on pressing T in the BepInEx log, I realize I conveniently left that debug line in
Just pushed a patch that may improve it
Cleaned up some incredibly dumb if statements
mainly because I also found out that some changes I made broke the ability to see other players' pings
which is a little important
Other Pinger Mod did not seem to work for me so I will be giving this a shot 🙂 Thanks
I could be entirely wrong because I didn't test/troubleshoot but when I press "T", my chat is moved up (spamming T will move chat msgs up)
Also I have been unable to get pings to work. Probably an issue with another mod, but I have a lot of them atm.
idk if this was removed in a recent patch but it does not show in log "T Key Pressed!"
Possible it's conflicting keybinds, possible I've broken things again...
I've been meaning to harass a group of friends to test it after I did some code changes, and I've been meaning to add in keybinding functionality at least via configs
Oh, I forgot to remove most of my debug lines even with the last code push I did, so definitely something related to conflicting keybinds or maybe I broke the method I'm using to detect keypresses again
Thanks for the feedback though! Gives me some things to look at.
I am using LethalRebinding, I wonder if it’s the culprit
I’d be happy to help you test anything, just lmk 🙂
Unfortunately disabling LethalRebinding did not fix LethalPing for me 
Ye, for now I'd say "assume my shit's broken", I'll hopefully have some time this weekend to get back to it and work on adding in some sort of keybinding method
I need to check if any of the keybind mods that exist out there have a way for mods to add additional binds...
for now unfortunately work deadlines have me screwed with free time
It would be nice to add the ability to reassign the button. For example, the middle mouse key would be much more convenient than reaching for T
Yep, that's on planned updates
Especially with the new version there'll need to be some looking into that
middle mouse button?
New update pushed, input action is now bindable using the new keybindings menu
Also, changed default from T to G.
because... T is push-to-talk
kinda forgot that was the default push-to-talk key
Huge shoutout to #1183582560652099696 message for making this dramatically easier
and g is drop😭
LMAO
at least it's rebindable
now I just get to grief people who don't edit their keybinds
oh I also didn't edit the readme so it still says "T" is the ping key
hm
welp
time to push a dumb update
dumb update pushed
default key is now V
this time (for sure) I didn't set the default to something important
that said if you already installed and ran v1.2 it'll still be set to G since it memorizes the keybindings
added note--the keybind doesn't show up unless you're in a lobby turns out
I tried to get this mod to work, i didnt even see a ping show up lol
hm
please hold while I test if I've broken it completely again
despite me adding in the keybinding I still haven't done a formal test lately
Seems like it's still functional for me at least, which means it's likely some sort of mod conflict
If you can, try and upload your bepinex log so I can see if I spot any errors related to my mod or anything that might help me figure out why
I can't necessarily guarantee compatibility with every mod but... I do want to make sure I write my stuff in such a way that it shouldn't be a concern
[Warning: Unity Log] damageTrigger is disabled! Netcode for GameObjects does not support spawning disabled NetworkBehaviours! The InteractTrigger component was skipped during spawn!
[Error : Unity Log] MissingFieldException: Field not found: System.Action`2<string, string> LC_API.ServerAPI.Networking.GetString Due to: Could not find field in class
Stack trace:
LethalPing.PingController..ctor () (at <8b3a9615cc16491eadf3362ab29bc460>:IL_001A)
LethalPing.LethalPingPlugin.SpawnElements () (at <8b3a9615cc16491eadf3362ab29bc460>:IL_000B)
(wrapper dynamic-method) StartOfRound.DMD<StartOfRound::SceneManager_OnLoadComplete1>(StartOfRound,ulong,string,UnityEngine.SceneManagement.LoadSceneMode)
Unity.Netcode.NetworkSceneManager.OnServerLoadedScene (System.UInt32 sceneEventId, UnityEngine.SceneManagement.Scene scene) (at <1b23ec5fcbfc4fbca0db70afcdb9b715>:IL_01B9)
Unity.Netcode.NetworkSceneManager.OnSceneLoaded (System.UInt32 sceneEventId) (at <1b23ec5fcbfc4fbca0db70afcdb9b715>:IL_0091)
Unity.Netcode.SceneEventProgress.<SetAsyncOperation>b__37_0 (UnityEngine.AsyncOperation asyncOp2) (at <1b23ec5fcbfc4fbca0db70afcdb9b715>:IL_0012)
UnityEngine.AsyncOperation.InvokeCompletionEvent () (at <e27997765c1848b09d8073e5d642717a>:IL_000F)
Any reason for this?
I also can't start the ship if LethalPing is loaded
Looks like an issue with the LC_API method I'm using for networking things. What version of LC_API do you have installed?
Ah, seems that my LC_API was outdated, thanks!
I get this error when clicking Quit in game Menu after clicking Launch mode Online.
[Error : Unity Log] Error while disconnecting: System.NullReferenceException: Object reference not set to an instance of an object
at LethalPing.PingController.Uninstantiate () [0x0000b] in <eb63e0e71fec4f559e6645689c17a67f>:0
at (wrapper dynamic-method) GameNetworkManager.DMD<GameNetworkManager::Disconnect>(GameNetworkManager)
at GameNetworkManager.OnApplicationQuit () [0x00015] in <44743d9474784365a095189c76175301>:0
That's... interesting 🤔
Oh, wait, I think I have a suspicion why
There were some things I had forgotten to push into a more recent update
It's uploaded now
Should show up in Thunderstore in 10-15m
(Version will be 1.2.4)
ty ❤️
curious as to what it was?
While I'm not 100% it's what you were seeing, I had an ambiguous patch because I had accidentally pushed a copy without realizing that was trying to fix a bug I ran into where pings would get stuck if there was one on-screen when someone pulled the lever
And that was uh
breaking some things
that said it may have pulled a cached copy from the local ones I've tested
either way, the new one should hopefully work better