#plugins-dev-chat
1 messages · Page 176 of 1
cuz actually
call damagehandler ctor + network serialization + an other network message serialization
and with my idea you remove the second call ~(trivial cost) but it remove an foreach loop :))
just, im not saying that the system need to be recoded only for this dw, i was just curious of the reason behind but it work so 
SpeakerToy reverb changing and player variable for client-side mutes when?
They were mentioned as likely possibilities months ago
I wish to improve the systems I have using SpeakerToys but I can't until these two things (or comparable changes) are made
I know at least one of those has been on the backlog since like April of last year
Is there a place I can petition to get these things done more expediently or am I just at the mercy of whenever it's decided that the devs can start doing something about it
Oh my bad it was May not April
Honestly, I hate that I keep having to come back to these same points but it's really frustrating and I just want to have some of these basic features
I have multiple community members every month coming to me asking me to "fix" some of my implementations that use SpeakerToys because of these problems
And every time I have to say I can't do anything because I'm stuck dealing with the whims of Northwood
I mean it's at the point where I might have to do shit like implement my own server-specific muting system
This shouldn't be a consideration I have to make
And yet I'm at the point now where this is just about my only option moving forward
I don't know if I can express enough how tired I am of shit like this
idk my opinion hasn't changed in all of this year, but ig no listening and i don't blame the devs
I don't blame the devs, I blame whoever created the system they have to work under because it's clearly not working
You believe the LabAPI maintainers created the bureaucratic processes they have to deal with?
That's like blaming a Walmart cashier for inflated grocery prices
no?
Exactly

btw i honestly have my thoughts
on the stuff i saw with my eyes, and the stuff i got told
and ngl i feel bad for the devs
lol
thank god i don't open much this game anymore
I know at least some of the devs are passionate about making changes and getting stuff done, just they're not allowed/able to
I'm not educated on the internal processes they follow, but they do indeed get stuff done 
We handle a lot of QA requests for LabAPI changes / updates / fixes
evil lucy
Some stuff definitely gets done
I'm not trying to say stuff doesn't happen

So, was this issue raised into a github issue?
Yes
Back in May
Of last year
Everything got marked as completed because shit was moved to the internal tracker
Jesus marked them as done and moved it into internal repo

I would like to change that in future
just not closing and adding tag "moved to internal"
or something
I just want changes to happen so I don't have members in my community constantly asking for fixes on things I can't change
ok i might be blind but i dont actually see the issue for this in the internal repo
Like we still can't even remove the speed cap imposed on micro HID
I have no control here other than being annoying about it in an effort to see these things happen and I apologize for that
I just hope my viewpoint is at least understandable
well, if you have genuince concerns thats something you should contact the labapi lead about (david)
How should I go about dictating such concerns and getting them sent to an official channel
well, for normal issues you would probably want to report them into the github as normal
Right I understand that much
if things get marked as fixed/closed but not actually fixed you may want to re-open such issue
and if that doesnt work you may want to contact david himself
Me too
I just mean I want to see forward progress on some things that I haven't gotten any new news on for months
i searched for like parts of the title and the github link

this works as you said but FallDamageSettings dosent seem to get reset on class change
[2026-01-25 02:37:19.540 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = True
[2026-01-25 02:37:19.555 +05:00] [INFO] [FallDamageControl] Disabling fall damage for Tutorial
[2026-01-25 02:37:36.299 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = False
[2026-01-25 02:37:36.314 +05:00] [INFO] [FallDamageControl] Not modifying fall damage for ClassD
[2026-01-25 02:38:03.149 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = False
[2026-01-25 02:38:03.165 +05:00] [INFO] [FallDamageControl] Not modifying fall damage for Scientist
I'm fine with any change addressing these issues
That would be even better
and I would rather go with this yea
makes sense then
Something I can ask beryl next time I talk with him
I'm hoping and praying to see these things happen soon because I have multiple suggestions and bug reports open on my server relating to this
It gets frustrating telling multiple people every month that I can literally do nothing other than potentially overhauling the muting system with a server-side implement
I only started messaging here about it because I got yet another forum opened about it today
And this is the most power I have to see any progress
Sending preferneces of muted players is not a big deal in my opinion.. but again, something not completely up to me
Yeah I dont mind people pushing stuff a bit
I get its it might get annoying with you being pushed by players that it doesnt work properly
and so the cycle continues towards me
I try not to be too obnoxious I apologize if it's ever an inconvenience
Thank you for understanding David it means a lot
But yet again
Something that you have to keep in mind
Is that stuff just takes time here
I get that
very weird
I mean I'd expect a suggestion to take a month or more to get in the game it's just we're starting to edge on a year for this and I didn't think it was a big ask
Just to get something to be done already takes time, especially the "getting to it" part
I know
public override void OnPlayerSpawned(PlayerSpawnedEventArgs ev)
{
if (ev.Player == null)
{
Logger.Info($"Null player {ev.Player.UserId}");
return;
}
if (ev.Player.ReferenceHub.roleManager.CurrentRole is not IFpcRole fpcRole)
{
Logger.Info($"NoFPC role {ev.Player.UserId} ({ev.Player.Role.ToString()})");
return;
}
bool bOriginalFallDamageEnabled = fpcRole.FpcModule.FallDamageSettings.Enabled;
Logger.Info($"bOriginalFallDamageEnabled = {bOriginalFallDamageEnabled}");
if (_config.DisableFallDamage || _config.IgnoredRoles.Contains(ev.Player.Role))
{
fpcRole.FpcModule.FallDamageSettings.Enabled = false;
Logger.Info($"Disabling fall damage for {ev.Player.UserId} ({ev.Player.Role.ToString()})");
}
else
{
Logger.Info($"Not modifying fall damage for {ev.Player.UserId} ({ev.Player.Role.ToString()})");
}
}
but your not the only one suggestion things
There is plenty of things that has to be done
and its not only suggestion
i am not doubting your code
i am just kinda surprised
Didnt meant this aggresively, sorry
because it's under IFpcRole
I am just sending it for reference here
Code has to be adjusted over time aswell to match base game
I was thinking maybe i fucked something up already
Right I get that it takes time to get things done, it just feels at times like there's not a lot of stuff getting done even where the things might be relatively simple
Like it took about half a year or so to get one line of code changed in the game and that was tough
I feel like there's definitely room for improving the system in which these changes have to go through to get implemented, especially since I know some of you guys are very passionate about doing stuff around here
I can empathize with your viewpoint and understand it I just want to also express where I'm coming from when I talk about this stuff
I don't mean to come off as pompous I just think it's important to express especially when I have a lot of people coming to me asking me to fix stuff I can't do anything about
honnestly is kinda annoying me rn
but you can probably get Server.Host as reference to reset it at every changed class
Uhh try 1 frame delay
might work
Yes, again, Im not mad at you or anything
Cheers
oioi
they should be reset right ?
at every changed role
And thanks for checking in on the report David I'd hope to maybe see something after a few updates
Idk, but its common fix for most of things
if Spawned is correctly put
you wouldn't need a delay fix
let me check
where it's put
No clue on this one
okay
yea
it's might fixed that
@unique crypt instead of using LabAPI event can you use this SL event
PlayerRoleManager.OnRoleChanged
Very interesting
can you give a look to my issue on github ?
if you haven't already
oki
can you show how to do that
Do I do something like PlayerRoleManager.OnRoleChanged += Handler; or
and PlayerRoleManager.OnRoleChanged -= Handler; on disable?
Ye
PlayerRoleManager.OnRoleChanged += Method;
public void Method(ReferenceHub userHub, PlayerRoleBase prevRole, PlayerRoleBase newRole) { your code }
@unique crypt ^
How I can get a player from SL event?
[2026-01-25 04:16:18.838 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = True
[2026-01-25 04:16:18.854 +05:00] [INFO] [FallDamageControl] Disabling fall damage for Tutorial
[2026-01-25 04:16:34.991 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = False
[2026-01-25 04:16:35.006 +05:00] [INFO] [FallDamageControl] Not modifying fall damage for ClassD
[2026-01-25 04:16:35.933 +05:00] [INFO] [FallDamageControl] bOriginalFallDamageEnabled = False```
yeah unfortunately that dosent work either
nor with Timing.CallDelayed Timing.WaitForOneFrame
Lool where i remember both but still don't think it got as "moved into internal" or smth
Idk it has to go tru 2 layer then have to start implement then (depends if basegame touched or only labAPI)
Was already changed when i added that tag
Ye its not easy to get merged into main, many stuff is easy and many stuff has been done but the code is changing constantly (ie: knife stuff was changed 2 times publicly i believe) and other stuff isn't as much priority as other stuff. I have many ideas and maybe ready implementations.
And since many people working on it it isn't really straightforward "get it done, qa it and push asap".
Everything has priority and everyone sees them differently.
(Bugs usually gets the most priority for me, while for example others like to do implantations, etc).
It takes time to read and understand changes, and even suggestions different ideas/implementation over it.
Man 1 am brain
Btw (another ping) @slate flume
Feel free to ping me if your idea/bug hasn't been completed [and you still can replicate the bug] and the issue is closed
Yeah I have no hard feelings towards anyone involved in the process, I just definitely think there is room to improve the way things get done if there are small, but important, changes that are taking close to a year to get implemented
I can't claim I know the first thing about your guys' process, and I know the scale of a game is much larger than, say, the scale of one server, but for me it can be very difficult to deal with when I have a bunch of people expecting changes that I have to rely on Northwood to get done
I wouldn't be talking about it if I wasn't accosted a lot about certain client-sided issues or features that I can't fix
Luckily, I have the technical ability to figure out and patch server-sided problems, which is the main reason I got so good at transpilers, but for other features like the Micro H.I.D. speed cap or, in this case, SpeakerToy reverb and client-side mutes, I just have to sit and wait for the day when the SL or LabAPI changelog includes "Added X" or "Fixed Y"
On the personal side, a few months ago I kind of burnt out making new GitHub requests and bug reports because it's not very often I see any news, updates, or changes regarding the things I post
I have no way of knowing when you guys plan to address the ideas or bugs posted, and I've seen maybe 2/3 things I've posted in my entire time in this community get implemented
Now I know that that part's a bit selfish, and that's why it's not the main thing I bring up but I've ended up resorting primarily to just fixing the bugs myself
Ye i definitely get that.
I have a lot of respect for what you, and others on the team, do
I really appreciate seeing bug fixes and new features, I just wish things happened a bit faster or a bit more because from my side it's like I'm throwing all of my issues into the void
Kind of what it's like on this side at times
And it's not your guys' fault, I know how much you guys work and the passion you all bring
I just wish it could be easier for you guys to do the things you want to do and make more changes for the community
Please dont! I want to see every idea or things you wish, even if small,large or bad in my opinion.
The transparency is something I wish to do tho but I can't really say something like XY will be added. Because I have zero clue if added or not in next update.
Or i dont even think I can say "hey ideas #69696969 is ready in internal pr, we waiting for merge!"
Right, I think a big reason I talk about it a lot here is because I hold myself to a reasonably higher standard with my own server as to making changes and how things come along, both when it comes to programming, and for internal management
It's tough when there's no way to know the way things unfold or when whatever it is that is posted is going to be worked on
I already added my own ideas in internal one that only changes code inside labapi (ie: latest langver)
Honestly your passion really shows
I think there is 2 new tags that will show if the idea got accepted or denied
I always enjoy talking about stuff w/ you cause you bring a lot of positive energy and enthusiasm
It was a silent change but if u wish I can write 2 paragraph about it
If you'd like to share I'm always willing to listen
I also do lot of PoC both in labapi and ingame
@slate flume
// Unofficial announcement
We added new labels in LabApi repo which should be make us little bit more transparent.
"Accepted" label indicate your idea has been accepted and the team will work on it.
"Denied" label indicate your idea has not been accepted and will be written why does the team thinks your idea is not a good addition to the game/api.
"Idea" label indicate the issue is an idea to implement in-game or in labapi itself, for further check above 2 what can happen to your idea.
"Imported" label indicate the issue has been moved to our internal repo for better management.
That's actually really nice considering I have no idea what happens to ideas after they're imported
Like earlier with the KnownUser thing, it was silently denied after being moved internally in favor of another (albeit better) change
I aint even know what happened to it and I can see internal stuff
(maybe github being wierd in mobile)
Ideas=>import=>wait time until someone decided to look if can be done, good etc. =>
- Denied => put out why.
- Accepted => show accepted => team work on it => internal steps to push to public (qa, pr, work) => publicly closed as "finsihed in X.Y"
I love hearing that there's changes like that being done
I really appreciate that things are happening to improve the pipeline for bugs and ideas from the community
I mean that will be the future ig i try to be more transparent but still making some hype and stuff around it
Bugs usually i jump into it
Fix what i can and pray it works in public
Bugs has different pipeline but kinda same
Wait time can be idk, lot
And i been busy just adding ideas to internal one that i like to be added and changed
Idk if u want that to be public or not will ask David about some of mine can be public but mostly it's just simple stuff
Is there an open issue about being able to modify the reverb on SpeakerToys?
Also a fire new idea just dropped
Life would be so great if that's implemented along with this and the aforementioned syncing of client mutes
We could finally be able to create a true prox chat experience rather than reverberating effects-attached client-mute-ignoring current state
I was originally planning to use dummies to replicate proximity chat but the problem with that presents when trying to hide said dummies from players while keeping prox chat working (it's impossible to do)
It would be epic to have a way to integrate SCPs and others into actually being able to use proximity chat and have it sound like proximity chat
because this is supposed to be controller by the server
and how would the client know how much another person fell
hey i did that
biggest MR of my life 
Is there a single check that verifies whether a player is valid?
Or do I have to write a long validation check every time?
Like this:
if (!player.IsDestroyed && !player.IsHost && !player.IsDummy && player.IsReady)
yeah you'll need to do this
make an extension method or property (C# 14)
player is {IsDestroyed: false, IsHost: false, IsDummy: false, IsReady: true} might be cleaner
I'm all for more things being network messages instead of fully client-sided
I like having more control and flexibility in the changes I can make
If more things required server-validation, then situations like, ahem, an unchangeable Micro H.I.D. speed cap wouldn't exist
I'm a Day 1 hater of that change and I always will be
And I mean it, as soon as it was announced I was dogging on it
Major-league bad move
I legitimately crashed out
Extension members >>>>>>>>
So peak
Check it
🗣️
Correct me if I'm wrong but could you not just
player.ReferenceHub?.authManager.InstanceMode == ClientInstanceMode.ReadyClient
If the player is a host, their ClientInstanceMode is DedicatedServer
If the player is a dummy, their ClientInstanceMode is Dummy
If the player isn't ready, their ClientInstanceMode is Unverified
And the null conditional on the ReferenceHub should check if the ReferenceHub is null
One check instead of four
Well technically two but it's disguised as one
I know. But its still long ckeck
null-coalescing doesn't work for unity objects
Well fuck Unity
0 ong
okay why is it that when i open the hub from the task manager it doesn't steal focus for the first time
but when i'm on a different desktop and it starts compiling scripts, the editor steals focus AND switches to its desktop THREE TIMES
What about like player is {ReferenceHub: var hub}?
Or do you need the CompareBaseObjects to run explicitly by converting the hub to a boolean with the implicit == operator
Woops I mean player is {ReferenceHub: { } hub}
that wouldn't (or shouldn't) work
Lol. Why does a player who left the server have InstanceMode ReadyClient?
Because the were verified
gotta love same-frame issues
But he left from server and now NOT verified 
Just put
public static class PlayerIsValid
{
extension(Player player)
{
public bool IsValid => player is {ReferenceHub: { } hub } && hub && hub.authManager.InstanceMode is ClientInstanceMode.ReadyClient;
}
}
Into your plugin somewhere and use IsValid
sobbing
I want to create a PoC for this one and since has 3 values I gonna ask:
Do you want to just disable/enable it?
Can be change all 3 values?
Personally I just want to disable it
Neither I, nor my server's community, have any desire to keep the speed cap
It's a very divisive change but my community voted majoritarily to entirely get rid of it
It also appears like most people looking to modify it just want it disabled
And these kinds of issues really bog it down
So only disable no other value change
That's about where I'm at
That's easier than the other so that's why I asked
Not sure if other devs are looking for something else
But I think that's the thing most people are looking for
IsPlayer
will see about that when I will be not busy creating my own serialization lib for aot and my own socket lib
It will still return true even if the player isn't on the server. That is, the player has left the server, but the check will return True.
Connection should be null when left
Yeah but you wont get disconnected player in Player.ReadyList
But you get in on left event no?
You're actually my favorite
Also dummies arent running OnLeft
They also aren't running OnJoined
No. If you save a player in the list, it won't be null.
For example, if I save a player in the PlayersToSpawn list and call it
Yes ik
Fire
Then update the list if someone leaves?
override OnPlayerLeft(PlayerLeftEventArgs args)
{
PlayersToSpawn.Remove(args.Player);
}
Why? Ican simply check if the player is null and perform an action, then destroy the list.
Also since LEFT running BEFORE the actual player being destroy add 0.1f wait timer into it
0.1 because that's the default for unity (ie: next frame)
player.Hub != null check works fine too yea
I was thinking of other event instead of adding into there
No. Then there will be a problem if the player has been created but hasn't fully logged into the server yet (during the verification process)
What is the context in which you're running this code
OnDummyCreated/Destroyed
That would be epic
OnPlayerJoined is run after all of this no?
Correct
We don't know what u doing since you ain't share any code or information to get any clues
Why even have a static list for something like PlayersToSpawn
Just make it a getter for an IEnumerable over Player.ReadyList
You don't understand what plugin I have, and arguing blindly is stupid.
I've already done everything I wanted and created a normal check to ensure this is a real player.
It should be ienumerable and it do stuff like
Player.ReadyList.Where( x => x.RoleBase is Spectator spec && spec.IsReadyToSpawn)
Or something
there's a uh method for this
Yeah, send us the code
WaveSpawner.CanBeSpawned
You came in here asking for clarification and help and we're trying to offer guidance but you have given us very little information
The point we're trying to make is that there's likely an easier way to do whatever it is you're doing
So all we can do is speculate blindly because you've given us nothing to work off of
We have an incomplete picture because you have not completed it
trying to remove the bit of food stuck between your teeth reference
Here is a complete picture
So tuff
íííííílmao
Looking like a grandpa who just got an iPhone
iphone 💀
This is almost a 1:1 replica of a picture we have of my uncle
Anyway feel free to ping me if i 🐸et to say anything about my PoC implementations.
Since those are poc it wouldn't be fully completed & ready but idea behind should be goog
they might have been transfurmed

goog
le or fel?
You're awful 😔
thx

Do you feed off the tears of new SL devs
Woah thats more evil than eve
Salami is goated
can't pronounce evil without eve
Did you guys hear
OpenAI is seeking more donations because they're operating in the red
"guys we might have put ourselves in a sticky situation because we totally give a crap about safety"
"we absolutely ensure that ai is safe for everyone to use"
-# -nobody at closedai
I heard many security researcher literally tell sama to duck off
saltman
What are you, rich?
no
And still living in a hut
i'm axwabo

Hi axwabo
pizza hut?
Based
🛖
wild west reference
You didn't have to doxx 'em like that
🔥
"30% of our code is written by ai"
yeah it shows
I hate them
Bro I had sticky notes crash earlier
That's not on them but ye
what else can't you do on this os
Sending me million dollar
Not joking
it's their faults
I can't
But I want full game support
I do shady things that requires windows
surveillance over my entire system
And i play rust sometimes
choose a different ventilation method
Jokes on you i block ms domain 🔥
I know I have some games in my library that aren't ported to linux
yeah but not kernel-level anticheat
I don't play those games
go9od
Anymore
Someone needs to make a Windows competitor that is just Windows but without the bullshit
ummmm
fedora kde?
Win7 partial source code is leaked so
omw to build doors7 now
XD
Or
Fedora Linux?
D8rs
genius
Linux != Windows
They exist but they don't work in every use case
Cus not a fish
I don't think they ever even got PUBG working for Linux
I don't play the game but that was interesting to me
GPU passthrough is an issue
Win boat doesn't really do that afaik
All I know is Microsoft cornered the market and are gonna do whatever they can to make sure users can't escape their ecosystem (just like Apple)
Two of my least favorite companies ever
Praying on their downfall 🙏
(not the visual studio team)
I introduced a new dev to Rider a few days ago
ooooo
🗣️🗣️🗣️
some people just don't realize that they're being gatekept
Ong
the previous sentence has weird grammar
they
okay
they're gatekeeping themselves, preventing uhh
a true developer experience
it's a different thing if you don't like Rider because this or that
but at the same time, you can just... configure Rider
🤯
I KNOW RIGHT
Saved me actually SO much time
vs also has one but it's kinda ass
Jet brains has their own decompiler and it's never failed me
Jet brains gives me faith in tech companies
says the one whose IDE has the solution explorer on the right by default
that's just so stupid
You can configure that one too
yeah but who had that brilliant idea

That kinda personnal preference i don't see any problems with both it's just that you are more comfortable with one or an other depending if what you experienced before
That was the first thing I did the moment I opened rider
@slate flume yo.
Hey since I got cold again (or i have zero clue what/how happened) i can't do anything
, head hurts and my nose doing its funny where it doesnt stop being annoying.
Dont think I gonna show what would be an impl poc for microhid.
I usually be better after 1 or 2 days so maybe in weekday or something.
Anyway if you have more ideas to add in labapi/basegame type out here / git issue (i prefer here first then git issue)
I wanted to do so much today waaa
i read than you was cold at zero temp body
i was bruh lol
and now i am asking what is 0F in Celsuis
Is it flu? Idk something usually happens in winter time
My immune system is shit so
Bro ive been sneezing and coughing for a week
rip
This is what happens when are we all locked up in the same basement smh...
Ye i had same issue last week but was good after 2 days then today got struct by it
I don't understand how this works. I unsubscribe from the event, but it doesn't care
I call Unregister in RoundStarting and Register in WaitingForPlayers, but after the round starts, it doesn't respond.
(Register isn't called anywhere else except WaitingForPlayers.)
Does anyone have a similar problem?
log out something in Unregister
Because it goes as "waitingplayers" then "roundstarting" then "RoundStarted" so after the round officially started it unregisters those making your actions completely nulliflied
That's how it should be. Like in WaitingForPlayers, I call Register so that player events trigger during the Lobby.
In RoundStarting, I unsubscribe from events and players once the round has started.
BUT for some reason the events don't unsubscribe and continue their work
The last 3 events will never be called
it's called
spawning in players while they're in the lobby
are you using the same instance of the class?
Bruh
try using CustomEventsHandler
Nvm. The problem is that the events don't want to be unsubscribed
Yep
Well your Unregistering it when you disable the plugin..?
I dont see any RoundStarting unsubscribe
Not only that. I also call Unregister in RoundStarting.
could you put logs in server events to verify that they are being called?
They are 100% called because my logs are spammed with errors that the event could not get the list, because I make the list null in RoundStarting
Wdym?
I mean that players have subscribed to events but don't want to unsubscribe for some reason
I know the events are subscribed because they spam errors because I make the List null in RoundStarting
Wait
What object is this in
Player or Server events?
Plsyer
Can you please in fact confirm via log that they do get called
And show the method where you register them
and the registering too
?
Log the registering the events too
Ah ok
just in case it doesnt get called twice or anything
then show the la how it gets called
@upper vapor any idea
But for some reason this happens.
I had the same problem with another plugin, but I just ignored it
i blame it on c# delegates
uhhh is there some other maintained custom role api besides UCR?
yea but that one is purely yml based 😔
there was another one that looked decent but its archived
exiled 
that would require rewriting my entire plugin and switching out multiple libraries
Geniuenly 0 clue on this one then. Can you make a very basic plugin without anything else than this unsubscribe, subcribe behavior and then report it as an bug if it still persistst?
Gotta make your own then
Well that was the most easier one, if you want can create something that supports C# ones too
I mean UCR does support c# but like the api itself is very limiting
ye we using my Yaml roles and has an extension that we work to do more funny roles
idk if i wanna expose that
not really needed ngl, im already half way through writing a basic custom role api
bettersinkholes rewritten/ported to LabAPI, if the original author permits me to release it on github with CC0 or any other license i'll put it up, feel free to poke around & offer suggestions (dll + src inside)
Yeah don't sweat it dog
I'm going off the grid the next several days so I'll be unreachable during that period
I also did 2 poc i think the 2nd one might be better i think idk.
@thin shuttle sorry for pinging ya, is it possible for you to take a look?
Did you rewrite it or port it?
Seems like a pretty easy plugin to make
i want to know how to stop culling player
huh
It's not mine initially i have only rewriten it to work with event
What do you mean
I don't think anyone besides you understood what you were trying to achieve
!softban 769887313806229564 account compromised; change password
Done. Enough chaos.
Mods, blkdiscard their ssd
Discord mod's snipers was sent to this person
This is really weird. For some reason, the event hasn't unsubscribe again.
I added a check to each event to ensure it unsubscribe again.
Ill check it out later
facts
I'm just curious wdym by limitied?
what ??
Can you tell us what were you doing? You might be playing with something that you probably shouldnt
Gotta love calculus
(I failed that class and I need to re-take it at September)
I've forgotten most of it (we learned it last semester)
Next semester we will learn OOP 
BTW when will be K.A.T.I.E in the base game 
@Mátyus Katalin
everything seems to be very bound to predefined behaviours and doing anything outside of that requires you to directly modify the library
me when i cant even get my classes assigned
Me when i have 3 class at the same time and I need to write 10000 emails to arrange it
How can I get this working NamingRulesManager.ClientFetchReceived(player.Team, player.UnitId) it gives me an empty String 
Because its for client?
Oh
It uses GeneratedNames which is populated by received the message
so its empty
=> return string.empty
Yeah then how can I get the unit?
If we dont have player property for that (which we probably dont), you will have to store them locally via a patch I guess
unless there is other way
Also make a suggestion in case it doesnt exist
We do I'm pretty sure
UnitName
The guy asked this in EXILED discord and what @someone arrived at was that they wanted to fake sync the role of players that shouldn't be seen I think?
Idk here is a screenshot of almost the entire conversation and like if you are in the discord (#656674085425643534 message):
maybe I shouldn't have pinged but it's kinda late now so
@thin shuttle
Can you check if https://github.com/northwood-studios/LabAPI/issues/340 happens only in there or it has other places:
SnowballProjectile
AlphaWarheadController
Metal
Spicy
Strangled
FpcMotor
Scp106Attack
Scp939LungeAbility
I seen other places for effects that doesnt really matter (multiplying and trying to dmg you again)
& also the DC image is unabailable
I verified all of them
Just put it on discord and you would have access
ah the falldamage one
I write info on all of them
So should be easy to put a fix
I validated all of those
i give you a list where i found them but if you find more lmk
I verified by checking every method that use DealDamage so we should be good
Can i suggest to add new DamageHandler for few damage?
Like being killed by bulkdoor give you info what door killed you
That would be good for dev side
Create a list and pass it down the github issue / ideas
Also thanks for that because it's has been bug i have never been able to request QA to fix because of requiring GodMod to reproduced lol
I will also report the Scp939 camera bug
And Scp106 can't go through door (but please with an addition to permit to make than 106 can't go through door
939 camera bug? what
106 cant go tru doors after being re-set to its role is no idea why happening
@restive turret they are both same bug
They arent correctly reset
When changedRole
To the same
It's something on client side
So i can't help you more than that
And camera is about when you prepare jump as 939
it's an old issue that is caused by RA not resetting the role properly
specifically the camera angle
in lunge
Yeah
Not QA accepted bug
Tho it's annoying
Lol
On our old github
Lol
addding artifical 0.2 waiting time when resetting to a role

Cursed
And probably won't fix
Because i thinks it's just not reapply for 939 at least
For 106 idk how that happened
ye we had that bug for 106 custom roles
i added artifical waiting time to set the role again
I wasnt at NW atp so
ya i know i just ignoring it and doing another band-aid fix
We should just rewrite the role system
why ?
Because it has design flaws
why you guys at NW always want to rewrite everything i do get it for old stuff but Role system isn't old
Weapon have been rewrited/modify every update
What is "cyn" meaning ?
His account is so young
@upper vapor @restive turret do you guys know why RoleTypeId.Custom has been kept ?
Has it's never been a things on it
And beens here since 939 rework
That was 4 years ago
Surprise perhaps
Idk tbh
They probably didn't want to break the roles following that
prob not to break million things
@mild ice craziest post moderation ever conceived
There was a minor spelling mistake I just had to fix lol
I have been told by nw staff that this wouldn't be developed
prob cuz it wont 
Yeah
A video with a bunch of grenades exploding.
is it possible to get old Audio back ?
why this is not accepted
if it's closed, that means it's not accepted. just because no response doesn't mean it's not accepted
can you add imported :3
what
because I only searched "idea" in the description when I mass-imported things one day
NW Command trying to use ClientSide command on a ServerSide command
@icy knoll could you fix it please :3
we at the moment can't remove line but it's was clearly intented to be possible
also i thinks the above method should call CleanupExpiredLine after it's finish modifying _timeStamp
i allow to do this
?
i allow you use ClientSide command on a ServerSide command
only for you
no one must know
I'm on loa
can you write it on your name :3
no
laziness of amazement
prob only tested in-editor and got forgotten
Yeah
That why i notify it to here and to beryl
How can I give SCP-106 the ability to stay underground indefinitely?
help
public string HudTemplate { get; set; } =
"<align=left><pos=-45%><size=25></size> <size=15>TPS {tps}</size>\n" +
"__________________________________\n" +
"<size=20>ИНФОРМАЦИЯ О ПЕРСОНАЖЕ</size>\n" +
"Имя: {name} | ID: {id}\n" +
"CInfo: {cinfo}\n" +
"__________________________________\n" +
"<size=20>ИНФОРМАЦИЯ О РАУНДЕ</size>\n" +
"Живых игроков: {alive}\n" +
"Время: {time}\n" +
"__________________________________</pos></align>";```
what code is needed to display setname?
player.DisplayNickname
Или что то такое
PluginAPI doesn't exist anymore
and how to write a plugin
https://github.com/northwood-studios/LabAPI/tree/master/LabApi.Examples
Look at the examples or other plugins made by other people.
Or I think are also docs but no clue where
LabAPI, the Official Modding Framework for SCP: Secret Laboratory. - northwood-studios/LabAPI
!c#
And check out the labapi wiki too
CustomHandlersManager.RegisterEventsHandler(Events);
I dont think there is even an EventManager
Please learn C#
Vibe code of mind
There is a chance it's just really old code like plugin API / smod era. I wouldn't know tho
Speaking of Logs...
I am like super new rn, but when I need logs I use:
using Logger = LabApi.Features.Console.Logger;
And then instead of Log.Error type Logger.Error
Also could anyone help me plz, how can I add some clarification text for commands like the yellow text on the screenshot?
I made a new command but when I type it in RA it just shows the command itself without the parameters which I want to be shown like here
Sry for dumb question
Ty!
It worked
Also can anyone advise a good guide for beginners?
Np
For beginner labapi devs (with prior C# knowledge) you can have a look at our wiki
It's not very detailed, so also check out the examples in the repository, and have a look at others' plugins, or just ask away
K, got it)
Yeah I have some basic knowledge of C#, finally something useful from 4 years of studying in college 💀
Ty!
Np
I bet they taught like C# 6 or something 
.netcore 2
is there an easy way to change the clipSize on an Firearm
?
FirearmItem::MaxAmmo or something like that
make MaxAmmo has a setter 
MaxAmmo has a getter only and we have ChamberMax
with a setter

Patch it
[HarmonyPatch(typeof(MagazineModule), nameof(MagazineModule.AmmoMax), MethodType.Getter)]
internal static class MaxAmmoPatch
{
[HarmonyPostfix]
public static void Postfix(MagazineModule __instance, ref int __result)
{
if (Utilities.TryGetSummonedCustomItem(__instance.Firearm.ItemSerial, out var summonedCustomItem) && summonedCustomItem.CustomItem.CustomData is WeaponData wd)
{
__result = wd.MaxMagazineAmmo;
__instance.ServerResyncData();
}
oh yea I didnt add it because I didnt do proper server -> client sync of the max value
You can set it via a patch or something
but on client it will look like
60/20
or such
Love u man 
You'll also have to do this too
[HarmonyPatch(typeof(AttachmentsUtils), nameof(AttachmentsUtils.AttachmentsValue))]
public static class AttachmentParameterPatch
{
public static void Postfix(Firearm firearm, AttachmentParam param, ref float __result)
{
if ((firearm.IsSummonedCustomItem() || firearm.IsSummonedAPICustomItem()) && param is AttachmentParam.MagazineCapacityModifier)
__result = 0f;
}
}
patch all assembly💀
hope you will add it on 15.0 cuz...
Thank man 
.net copium 2
We'll rewrite everything 
Hi all I was wondering if anyone is available for plugin dev work?
What did you want it may already exist
uhhh what was the way to change playeer vc to scp one?
check proximity chat
Iirc it crashes the client when you try to change it
nah
thats 106 issue
we are more so just looking for a plugin dev as our coder is basically doing everything by himself and we are just looking for help, the server is going to have plugins inspired by chaos theory, candy cult, and dr brights
wait so its not possible?
i mean it crashes if you make 106 speak in not scpchat
well
specifically in prox chat
never tried it ¯_(ツ)_/¯
its old
but it is the way thats used
Might be able to see how overwatch allows incoming scp chat if its server-side
if anyone is Available to help please reach out.
you should prob start by specifying whether youll pay the devs
Yes
we plan on paying
Is this the one candy cult and brights use?
dunno
no clue tf candy cult is and afaik brights uses private source plugins only
i gave one that turns scp -> proximity chat
it is the same concept for reversing that one
well actually it prob isnt, seeing as its last updated 2 years ago
SendingVoiceMessage event
well most server have their code privated for reasons
imagine doing that smh
most of the plugins you see it is mostly custom made
yes
in my case, all the plugins we use are open source, including our custom one
just set channel?
should work hopefully
there's a base-game issue related to a reported bug, the channel isn't read back properly
hopefully we'll get a fix out sometime
Wait whut ? For real ?
GL NW Gamerzzz 
break ur code but dont break my heart and my labApi 
i mean that just sends it in there, i want to like move the player fully to be in scp channel
no
labapi 2 will introduce a lot of breaking changes
subscribe to the receiving event too in that case
LabAPI... 2
-epic orchestral music-
kinda obvious ig
evil thoughts
server mod 2
🫦
okay
so
type fear
in the emoji picker
and this is what you get
smod2?

I hope I see some nice number of people during saturdays stage lol
boycotting it until we get arbitrary code execution on the client
992
ppl will on stage
no fucking way
ngl guys
What if that's what we're announcing 
this game sucks
+1
sounds exciting
I thought Labapi 6.7.0 released becuase of the ping 
nah bro im gonna speak out until primitive triangles get added
btw my suggestion is upvoted and one of the most upvoted
it's interesting that they haven't been added yet
lmfao
you'll be gone by the time we get there (there is a possibility that it will never happen)
sora
im not surprised 
gold fish intelligence
for a triangle
mirror emoji
give me more primitve types to add
im sorry but i don't work for NW
if exceed 5 i consider
cat
triangle
textures
bro a CAPYBARA made it before a triangle
priorities, people
bro none is fucking using capybaras lol
i am
triangle would help the world
i use capybaras as mountains
fix skybox
Mt. Capy (8848m)
yeaa.. we will have spawnable hube and huball before triangles
ngl i forgot how the mentality was here
triange would be cool but it isnt super broadly useful
THIS GUY GETS IT
I would like a regular triangle, and right triangle, along with 30 60 90
bro what type of monkey brain are you using?
like ngl install last patch
buy it with eddies
wdym with 30 60 90?
30 degre 60 degree 90 degree
angle
you know a plane triangle would change alot of stuff
okay
plane triangle?
dummies are so cooked its not even worth
what is that
Bro i swear im gonna punch you
THERE'S ALREADY A PRESET ON BLENDER
im sorry
we can just open a suggestion tab in lab api and maybe find new features
convert to a specific type of triangle?
so which one is it
cant you also do that with quads
1 announce made this chat into a chaos within 1 minute
Three quick and easy ways to create a Triangle in Blender

Zerotwo are you talking about changing every face to a specific type of triangle?
I bet a nw staff has 2 minutes of their life to follow a tutorial
no
Im talking about a fucking triangle that is flat or the base of computer graphics
okay, for the purpose of this conversation, we will assume you have your triangle model that you wanted
tell me how in the world you plan on making any arbitrary model out of that purely in unity by using transforms
u mean tokamak fusion reactors? 
Unless youre talking about a fully customizable triangle toy then you cannot make any arbitrary mesh with it
Well..
import blender
blender.createModel()
like this



Jumps and angles and stuff that you can make so much stuff
Plus it would be so extremely unperformant anyways
purely in unity by using transforms
Like who tf is talking about meshes
import openai
openai.chat("make what axwabo said")
im just saying a triangle would benefit ACTUALLY creating new stuff
custom map generator
you want your own model
so you're creating a mesh, effectively
you can't make any model just with one triangle
Example when me and maro were creating a specific jumps with triangles and we used 30 cubes just for that when that would simplify the entire process
one triangle is nothing 😭
What exactly do you want to use a triangle for
Its hardly to say what even can make modding reflexable at the moment
goku
Is it just jumps
she wants to make goku
pretty much
bruh if u wanna make a tirangle just use pythagore theoreme
Oof-
genius machine
How tf that would help im sorry? if i wanna make a reverse so not the outside but the inside??????
Use trigonometry
Use geonometry
okay but show me the math and code that will convert your model to transforms
you can only use an empty object and your one triangle that you made
duplicate as many times as you want
Primitive triangles?
you know you could spend less resources on making that because out of cubes
nah like a^2 + b^2 = c^3
I think im gonna make bingo list for the stage
Where's everyone going, bingo?
Yes triangles are good because more is always better but its not lifechanging
one triangle still doesn't solve your issue????
bruh have yall not been in school or smth, just make 3 cube one is a b c and do import math and math.pythagore(a b c)
ask about how you'll use it
no answer
Into [REDACTED]

What do you need a primitive triangle for?
I JUST DID
.
yo russian user: goshsha
cuz primitive triangle has non customizable angle so u should do with 3 cube and pythagore import math
goshsha
why everyone ignoring my idea
i hope you realize that you can't make any shape if you only have a triangle
THISSSSS
BUT it uses more gpu and more collider its just a waste of resources FOR JUST ONE TRIANGLE
what are you talking about
ye
you want literally one single triangle in your scene?
ok tell me something
i think you passed geometry in math
Sorry
This is a cube
how the gpu draws it
and a cube is composed of triangles
instead of drawing useless triangles
microoptimization
we just use one
so you want a ramp or something
but for complex stuff, a specific triangle isn't sufficient
optimization
son
wait until you hear about 1M primitives on 1 server
its not if you have 20 triangles composed of 20 primitives
now make the cube taller
I think i saw one
how would that create a triangle????
pythagore
The story of a developers need for triangles
There no problem to have 1M primitive on a server if you unload them when unused
correct
WHY you need to use 20 cubes to create a triangle, when you can use a TRIANGLE to not draw 2000 more
Okay sure
a triangle is good for being a triangle, it just isnt the most amazing thing ever
yes
Why is someone asking about a triangle primitive?
maybe because someone is obsessed with them... 
i remember now why i left
you should've right
im not im pointing out one of the most obv thing in the universe
From a triangle you can do everything




