My plugin doesn't actually register the Subclass Ability keybind anymore. What did I do wrong here? ServerSpecificSettingsSync.DefinedSettings = new ServerSpecificSettingBase[] { new SSKeybindSetting(0, "Subclass Ability", UnityEngine.KeyCode.Z) }; ServerSpecificSettingsSync.ServerOnSettingValueReceived += SettingValueReceived;
#plugins-dev-chat
1 messages · Page 66 of 1
Im pretty sure you do this too
ServerSpecificSettingsSync.SendToAll();
So now I assume Exiled automatically does that
Unless you do it with a dummy you can't
GitHub
Contribute to CedModV2/SCPSLAudioApi development by creating an account on GitHub.
GitHub
基于对SCPSLAuidoApi魔改重置产生的AudioApi框架. Contribute to MengXinSheQu/AudioApi development by creating an account on GitHub.
Oh nice, how?
So I'm not going to only have relays for the dedicated servers
Players will be relayed too
However Unreal has something called Online Beacons
Allowing you to communicate with a game server without connecting to it directly
So it'll be used for pre-connect checks
The server will be allowed to ask the client to send a web request to a backend for instance
I'll ignore HTTP proxies
So the backend will get the player's actual IP (obviously VPNs will still work)
And then the server can decide if it accepts the player or not
hiii chat :3
?????
wtf
How high are you
See I'm a French citizen, if I need something expensive I'll just fly over

one drink
i don't smoke
didn't kick in fully yet though
What did u drink
wtf
Lmao
it's the weekend
Did they switch from coke?
I get to relax
much to my disappointment yes /s /s
New flavour
i'd actually 100% die so thank god
fucking drug addicts
Cola with cocain ❌
Cola with weed ✅
i cannot understand
not an addict
wdym plural
I mean cola had cocaine in it in the past
Yes
I through you drink alcohol or smth
you know how i relax? by working :3
I havent even smoked a cigarette in my life
Good for you, clearly we don't have the same work 
I only did once, it was supposedly "cannabis" one
but I dont buy it xd
Yeah same
I drank alcohol lets not talk about that lol, and i don't like it
I'll have one or two drinks a month with friends but otherwise no thank you
I like my liver intact
and brain cells, though I'm not worried since weed's pretty much only not recommended for peeps under 25
And I don't take enough to cause any issues
You live once
Try out many things
Id rather live longer XD
I have alot OF problems with my lovely lungs
Why I don't smoke
i think if they donate them or sell them they will throw them away
for how broken they are
Outside of my girlfriend probably killing me
crazy sl player with a gf
and takes showers (wait i do that)
Oh I'm mostly done with SL
Go away touch grass
I'll help out Bright's from time to time but I'm taking a break for now
I would quote one of my friends
"If you cant find a gf, be one"
i've never taken a LOA
I work as a game dev, Bright's isn't the only time I develop
I mean its what i became lol (but i was like this for years)
gf = gayfriend 
it's more of a fun past time than anything
crazy
Just find a furry femboy
Development is so fun
thats easier
SL's community is somehow pretty bad
Ye I slowly moving outside of so too
just look on the right
I will not talk about that... else i have some remarks to do

huh
im sorry but i reject your opinion instantly
oh XD
I mean nw is full
???
idk the amount of disrespect is unlike anything i've seen in past communities I've worked with
maybe i'm just getting old
honestly its full of kids in sl
so what do you expect
i like just breaking this game
nothing else
you like remaking games in SL, don't you 
i mean i like breaking the game, and breaking it i can do cool stuff
Was a good thing but I dont really like Unity and all my issues usually is that
unity engine 
only takes 40s to recompile 1 change
And or inconsistent functions
Like other communities, but this one takes the cake in behaviour hahaha
average spectator chat 
behavior u mean monobehavior 
😭😭😭
did you mean
MonoBehaviour
bri'ish
Real
i was like wtf when they obsoleted FindObjectsOfType
oh i wonder why
cuz it was inefficient af
"ordered by instance id"
?????
WHY
they deprecate everything that exists longer than a week
okay that's a bit of a stretch
Ye unity, betufuls shit
Is it though
well they finally have a networking solution
so kudos on that
even though nobody uses it
pffft

-# idc about unity networking
I bet its using some SaaS solution
😭😭😭
Netcode for GameObjects is free iirc
b
lets be honest
nvm
although you can use it without i guess?
I like Unreal's networking stuff, it's S tier and probably the best out of all engines
i've tried netcode once
couldn't pass auth properties in the message like in mirror
at that point i just switched to mirror
imagine someone goes through your resume and sees "Skibidi Engine"
I'd shred it
I will be contacting the mods shortly
Or whatever shit Network as a Service exist

i have already the sniper deployed by hubert
i think he uses them for cheaters
and other people that cause problem
@upper vapor i still need to add the approval sign
wha
i just now remembered about it
The capybara room
right
Hubert seal of approval
poggies
fr
🦭
i love it
"if db != null"

meanwhile Unreal:
UPROPERTY(Replicated)
int32 Score;
AHAHHAHAHHAHA
done, dusted, enjoy
😭😭😭
What is that
weekly task
for gaining MONEY
to buy cosmetics
or else
Thats just
[SyncVar]
you exit your credit card and go buy in the shop
i meant the join message thingy
because why not
cuz you can't put syncvars on roles
(hes actually right)
(╯°□°)╯︵ ┻━┻
You can lol
SL's networking makes me sad as someone who works on multiplayer games a lot
no
Ye, why wouldn't you be able to?
AdminToy has a same shit
so whatever you do on them applies to everyone who spawns as that role afterwards
cuz
- they're pooled, separately on the server and client
- different objects, not root
(I made the mistake of disabling fall damage on a player's role and it applied to the role globally)
lmao
Oh so oh
i disabled fall damage sound IT WAS SO ASS
i still hate it
CB moment
SL shot itself in the foot so many times
Nice one, so even my falldamage stuff isnt actually working
Trust me in CB its not that annoying
Since it will do for all the roles
doing parkour makes it so annoying for the desync sometimes
thanks nw
if handler is fall
cancel event

The sound still plays
right
Was editing the amount
um
Ye I didnt actually tested it works or not.
Im sad for that
well, no fall damage, but sound plays
why not patch out where it sends the message
instead of patching sendtoauthenticated
horrible performance
why are you showing this
I forgot which was the method
lol
oh yea
ServerProcessFall
the entire code
why are you taking parameters
i do
Hi! How can I do this: I have an NTF and I want to make his model to be Chaos, is it possible?
as a comment for the commit i usually commit this
https://www.youtube.com/watch?v=3UF7lpURIqU
You can by desyncing the client
just look at how exiled does it lol
there's even better
Ah okay, thanks
Ye that I would also advice using https://github.com/KadavasKingdom/LabApiExtensions/blob/main/Extensions/AppearanceSyncExtension.cs
Thanks!
damn
np
what would y'all do without the ability to send hand made network messages
albeit in that scenario one would hope the modding framework was just a lot more flexible
death
pain
suffering
Well yeah sadly
i just explode
MeowEditor would not work
Poor meow editor
Like wouldnt exist
meow (:3) editor
:3
ඞ
sue
from
meeowww~ meeow~ mrrp :3
to
MeowMenu
Why are players randomly join a 0/30 server then leave like 1 min later
Are they blind seeing the 0/30??
git revert
i saw
What
real
toxic green sucks
wdym they get to pick colors 😭
yellow to brown
Its not that hard?
what
to make that
this is a continuous recording btw
yeah not that difficult
🥀
death
i don't think its that hard to understand
im changing the teleporter rn with the name
at least i don't need to change the components :3
at this point why not have a record hierarchy for objectives
right cuz it needs to be serializable
I have that already
show
wdym?
i love domain design
you don't wanna see the schematics
because i cleaned them
and a day after they all destroyed
total mess
What i do generally is sending events to the server
from the component
when there are interactions etc...
and from there i can just modify the stuff
there are universal component like CustomColliders etc...
Im cooked im doing something that mongo doesn't like and db exploded
YIPPE
do you convert to json
nah it exploded 'An error occurred while deserializing the tickets property of class ATOH.API.Features.Database.PlayerDB: Arithmetic operation resulted in an overflow.', stack trace:
idk if its because i have 4 bilions tickets
or what
what
why tf do you have 4B tickets
I was testing the purchase of tickets
and for showcasing i did a random number and that was 4b
why?
idk

yea it was that
i destroyed the db
and i need to restart yippe
AHHAHAHAHHAHA its because of that
because 4b is a long not an int
yes
i never planned to have this much tickets
should i change it?
nah i don't think someone will get past 2m
IT WORKS FIRST TRY
i cannot believe it
im crying

rip
nah i need to listen to music or documentaries
or if im doing like hard stuff
docs and nothing else
no video, no music
the music i listen
is crazy
different
i think this screenshot can explain every song in just a small amount
top 10 im stupid moments
i forgot to check if the task was completed
crazy
I love how you can just y'know kill 1 in the RA console
kill *
Hi everyone!
I'm looking for an updated plugin that replaces the old SCPSwap or SCPChooser.
I need something that lets players choose or swap their SCP at the start of the round, or at least provides configurable priority/random SCP assignment.
I know AdvancedSCPSpawn and CustomClassManager existed, but all links seem to be dead or removed.
❓ Is there any currently working plugin for EXILED that does this? Or any modern alternative being used by the community in 2025?
Thanks in advance!
theres scp swap in exiled
go to exiled discord
you have the invitation link?
look on the exiled github page, i dont think links can be shared here
yea
thanks
Hii chat im back :3
hi back im paws
💀
Because game mechanic
Aka nerf
Scp096RageManager.OnRageUpdate
There you can patch it
index 42
have fun il patching : trol
Hi weekly new profile picture
this is the old one
i remember it because it was on the git
Then
Weekly changing pfp
and now im sorta back
How efficient is sorta back
n log n?
really efficent i mean i like it more
no way?
Sorting algorithm
im
Read every patch note and you'll find it
hello speechless

im slejmur
hii
Text to-
Text to speech?
wait
💀
No, don't text to raw video and audio
Seems like it
Though there wasn't much use for it I don't think
rah
gaahaa haa
in original game, 096's HS isn't going to be halved anymore, but it still affects the IHumeShieldProvider, is it?
Can you decrypt this for me? I don't understand
whats everyones favorite sorting algorithm
you can patch the current and thats it
stalin sort
i heard its pretty memory efficient
O(n^2)
selection sort
wdym?
sure
C06BB1EE529DB90354B82E4D2EDA9C2B
Key:6666666666666666
no IV
oh decrpyt not encypt
In computer science, bogosort (also known as permutation sort and stupid sort) is a sorting algorithm based on the generate and test paradigm. The function successively generates permutations of its input until it finds one that is sorted. It is not considered useful for sorting, but may be used for educational purposes, to contrast it with more...
oh wait i got it wrong lol
O ( n × n ! )
Lol
Wait
I thought bogo was the random sort
oh xD
its pratically that
yes, pretty efficient, sadly the result isnt good but hey,
Um not really
Magic particle sort is pretty cool, though not as satisfying to audio-visualize
ratsite
ratcentral
Te patkány!!
Famous meme
is that how you say rat in Hungarian?
Yes
Patkány
Patanky?

i more of a this
https://wife4.dev/f/ad2ec62f-3a55-49c1-94a3-85659f1b1741.png
this is ass pronounciation
rats are better
potkagny
like wtf of a pronounce is
@upper vapor since ik youve done command stuff before uhh
https://github.com/Misfiy/SecretAPI/pull/68/files
yeah it sucks ik
its not complete either and idk tf im doing
💔
Can i eat the pr?
skill issue
i need to figure out
getting all execute methods
validating params with the provided arguments
💔
yknow what i will say next
explosion
say it?
validate deez nuts
u r arlready that
?
anyway brb
wdym?
funny individual
;(
Pat as in compatibility
Ká as in cow
Ny as in (British) news
Wiktionary
potcagne
Yeah
like this is how i would say it
That's fairly
hearing the pronunciation
i wonder if someone called us rats tho because we recieved alot of insults
sadly i will never know
I can't provide much feedback, at a train station rn
Train station are probably the coldest place i've ever been in my life
and when i was a kid i was inside the cold storage rooms for butchers
waiting for my dad
so i know cold
Sounds not great
nah i loved it
to stay down there
really cold, really nice
but my hair always flying ;(
??????
My hair flying in all direction for the wind is something i cannot do much about
Great
I mean i was dressed nicely
with a suit
even tho people looked me so like strangely a man with long hair with really nice hair all ironed up i think is something really uncommon
Poggies
i mean i like my hairs i would die for them :3 long smelling nice and all straight
like perfect hair
Straight hair dam
i tried making them curly too they look even more amazing
because i take alot of care
girls in my class loved to make different hairs style
Reflection on every command call 
yes.
can prob be optimized to store the valid methods first
and params

but uh
yk
its a wip
!!!!!!
can i ask you something nameless?
It's not a source generator :(
and if its meant to handle multiple execute methods
where you can have
Run(RoleTypeId role)
Run(string player)

idk
even optional
You're not gonna make a parser for that, are you
literally just

try doing &&
Have you considered
Records
i could
my private messages are weird
Record struct
i just read the one for my portfolio
im scared
Just type record before struct
THEN pretty
Auto generated equality members and toString
.
Also you could have a primary constructor
nahh
Less boilerplate
public readonly record struct CommandParseResult(bool CouldParse, string FailReason, object? Parameter = null)
Boom
Complete struct
Yep
SL devs need to embrace them more
i set fail reason if could parse is false
Also records (classes) have inheritance
I mean i didn't know what they were
otherwise i set the param
never seen them
Then make it nullable
Why are you stoopid
fuck you too
i kinda try to avoid records now just cause they can generate a lot of bloat
like unless i need all of that
see someone gets it
i tried changing every class in a plugin to records
and..?
and i like
Why
doubled the size of the plugin
Wtf
not every class
"tried"
just a bunch of POD classes
probably testing
Waaaahhh
XD
Wanna know how much is ATOH?
2MB
lol
That's even crazier
most of it is just mongodb
but the plugin itself is just 500KB
which is massive (no low taper fade please :3)
i mean it takes up memory
when loaded
yea 500kb isnt a lot but like
7 MB for a simple plugin cuz it includes a wave file as an embedded resource
nah
not like that else it would be 100MB
for the amount of audio files there are on ATOH
even for just a small key (most of them share the same but there are exceptions)
Yes cuz I was lazy to tell the owner to copy this file into config
AHAHAHAHHAH
Ah
nah i do everything automatic
i have a component dedicated for that called Audio
and it tracks the audio and just plays it
when asked
Leak pls
Eve moment
Imma make an AudioClip based sample provider sometime
Where's the processing
Trigger is invoked
Audio processing
Did you even know what records are 😭
ive used them
but literally just as
public record class Hello(bool IsStupid);
thats it
Yes
and yes litteraly i can just put it everywhere and no worries about anything :3
i dont care for them though
Me when loading every audio clip into memory
Thats the best thing i can do
trust me
else for some reason AudioPlayerAPI takes 30 minutes
to load it
if its not loaded when none is on the server
i cannot understand why
or sometimes no audio
thats the only problem i have with audio player api
Lmfao
What
no worries of copying thousands of lines
It loads
but doesn't play for a player
idk why but at the next request it does
like its weird
it loads it but doesn't play it
Why are your images embedded like that
Have you tried an abstract class
wdym?
Me when win+shift+s and ctrl+v
Literally
I use components so its easier and looks nice on the editor too
just add this
and done
Abstract component that has an event that's invoked on start
Let me guess
It deletes the clip from the queue if no targets are present
Right
NO?
thats so stupid
it loads
plays and nothing else
only does that but the clip remains always in memory
just loads there and stays there
But you were talking about thousands of lines of copied code
Yeah
.
"no worries of copying thousands of lines"
i don't see any problem?
like i expressed it correctly
im saving lines by making this a component
I'm not braining
and just invoking it
You would expect that, no?
Why would it unload the clip entirely if it's played
no the problem i've met when i was playing around with it was
It loads it
but doesn't playback to the player
but to the next one it does
or
Lmao
it loads it
takes 30 minutes
and loads it to the player
Check the filter func
the func is fine
because if i load it at the start it just works fine
the towers get loaded in OnWaitingForPlayers
so when the audio loads its during no players
and it work normally
but
If i load it when requested it happens
the playback doesn't play for that player or its delayed asf
so to save time
i just load the on waiting (so in ram)
That's stupid
Killers moment
Im not the one who decided the rules
and honestly going to check for the reason and spending 20 hours to find it
its like searching for nothing
it could be alot of stuff
but i know my code isn't the issue
Race condition?
possible?
idk
but honestly to prevent that player feel like the server is lagging (when its not)
i decided to take this action
Why don't you make it Start()
else it seems the server is laggy or just not even caring about you
I don't wanna add it as a dependency
and there was another reason that i forgot
oh yea
because some towers aren't loaded
But you're calling a method every frame that only gets called once
0/10 not a rat picture
Epic
hey just a questiona why does GameObject not have field which would be List of all child GameObjects?
ask unity
there is a way to already do this, but kinda don't know why it's not a thing yet
pretty sure u have to do it on the transform
yes
Does anyone have an easy method to extract details of a keycard, no matter if it's vanilla or custom? The CustomKeycard system for whatever reason doesn't store the details in an object but clears them on next use 😭
one sec
omg it's GBN
yes
Keycard::Details iirc
🙏🙏🙏
I need these after the keycard has been created (this is a custom struct)
it really depends
Ok so have fun
because mirror loves you
isn't there method you could get all of this when keycard is being created that could be patched?
Nope because they aren't saved server side
instead nw decided to make it save inside a dictionary
with the network payload
what?
They should be saved right before another keycard is created though. Maybe I can patch LabAPI's create method?
you should be able to
so if you rejoin a server all keycards will have default names ?
You can do something else if you want
no
they are saved
then server has to know
inside a network payload
I saw these payload objects when looking at the code
so why did NW make it so hard to retrieve?
This works for my keycard wrapper though
NametagDetail nametagDetail = keycard.Details.OfType<NametagDetail>().FirstOrDefault();
It does?
did they update it
?
You can extract the detail
because last version it didn't work
but not the data inside it
if (ev.NewItem?.Base is not KeycardItem keycard)
return;
if (!keycard.Customizable)
return;
ArraySegment<byte> payload = PublicDatabaseKeyCards.Database[keycard.ItemSerial];
using (NetworkReaderPooled pool = NetworkReaderPool.Get(payload))
{
foreach (DetailBase detailBase in keycard.Details)
{
if (detailBase is CustomItemNameDetail)
{
string name = pool.ReadString()?.ToLowerInvariant() ?? string.Empty;
this is what i did
did you do oftype?
one version before
but for initializing them i do
Card.NametagDetail? nametag = keycard.Details.OfType<Card.NametagDetail>().FirstOrDefault();
And then save the _customNametag
but if its created by base game or command i think you need to do that
idk try one of this
but this one works 100%
with base game cards or non
and you can even edit them if you want to
for the next guy
Have fun i guess
if you want ping me :3
Is there a way to see what order the pool is in?
Since some keycards will have details others wont
search for the serial
look at this
Okay I meant the details inside the pool
if you are doing the payload
Oj
ehm yea you need to go in the codee
and see how they are done
on the deserialize
Okay. Thanks for the info though since I tried network magic before and it would take hours to figure out 🙏
(Though it will still take hours)
which one you want to know?
Hm?
Well I need all of them tbh
.
use this directly
and get for example the _customText
it works
_customText is static and will be replaced on next keycard creation though
keycard remain the same
they cannot be modified
if you just don't modify the Item yourself
or it could be deleted
Well the keycard's text can't be modified, but the static field certainly will on next keycard creation.
No?
its unique for each card
I'm a bit confused on how a static string is unique for each card
Card.NametagDetail? nametag = keycard.Details.OfType<Card.NametagDetail>().FirstOrDefault();
keycard is the Wrapper of LabAPI
o.GetComponentsInChildren<Transform>()
or GameObject
this is very true message
You'll get the unique NametagDetail object, but the _customNametag is shared since it's static
yea its static i've never actually seen it but it is even tho the game uses it
as you can see here
why this choice idk
but then i guess do this or just do a patch
block-scoped using statement 
the payload will have it and its the one of the keycard you are trying to get
so just deserialize it manually and do it by hand
Except for permissions
david who designed this
Hubert
I think
I can get permissions without the payload though so that's fine
go and do git blame
Yea permissions are saved
you can't do that
get the children, then linq select
david is there a way for you to send us the HEX code for NTF permission color?
The server has no information of it
wha
Yea let me open up unity i guess
Meanwhile
Does anyone know how to spawn items in lockers
preferably the experimental one
2000 years later
I want to force spawn disruptor there





