#plugins-dev-chat
1 messages · Page 177 of 1
no you can't
why are you not thinking please
Would triangle primitives even be used much
U guess every time u r ending discussion about triangle someone gonna start it again
do you know what model are composed?
Endless loop
of triangles
I understand triangles are the basic 3d unit
SON 😭 😭 😭 😭
if you get a triangle with each side having the same length
that doesn't let you create any model
Just let it have a property? Like size ?
youre always negative
Isn't that simple ?
I think I remember this channel being a chill place
and store 3 heights or what?
@celest thorn and @thin shuttle tell me how you turn a specific triangle into ANY triangle
Probably the most pointless discussion I've seen
like how do you get from A to B
you might be right
🤦♂️ its cuz they dont use pythagore
what???? bro its THE SAME AS A QUAD
i learn it today in school
Thats not 90 triangle
Probably, I just dont see it being well optimized by northwood
So a quad for your theory doesn't exist????
They were talking about 90 i guess
its the exact same way that a quad exist
yes it is
just insert 3D graphics editor inside unity edtior ahh

but just a triangle
so easy
john northwood
also mesh made of individual triangle objects sounds like shit on pcs
hehe
@celest thorn give me a transformation matrix that turns an equilateral triangle into a triangle with sides 4, 6, 8
this sound liek a chatgpt prompt
a^2 + b^2 = c^2
a triangle isn't composed of 3 angles???????
lmao
what is this question
how do you
A triangle has 3 angles
axwabo can only add you inside labapi
and it sounds like a hell of a torment...
simply by rotating, scaling and positioning it
so guys hows the triangle
What's the experience like?
Why tf are you adding other triangles in the game
Maybe with parent scaling it might work
im just SAYING a PLANE TRIANGLE
to make any model???????
like
omg
oh brother
okay but then show me how
THIS
what is a plane triangle
yeah
triangle that flies
plain*?
I dont know im just saying its something to consider
that's a triangle, crazy
and how do you make any model with that? you don't
Not so happy employees
Three quick and easy ways to create a Triangle in Blender
@celest thorn please come back when you have this figured out
blender in unity
are we fr right now
if u want to make a cube
yes but what if i don't want to have the other side????
intelligence?
w ragebait
@celest thorn How do you transform an equilateral triangle to another arbitrary triangle just by scaling it inside Unity?
Why you guys are fucking talking about other shapes????
is what axwabo asked
this is what i've wanted to figure out for months 😭
like who tf threw that
you say you can make any model with a triangle
then you say
"why do you want that"
Have you been working on the problem for a while
i've been thinking about it but i haven't actually explored it
You understand something between a joke and something realistic??
im saying that is impossible but still funny if it would be
but the point is all of the shapes are there
and nothing more
just a triangle missing
triangle exist in unity btw
we're not ahead by a lot then
triangle would add possibility to make more precise shapes and stuff
but as 2d primitive
we must make sl 2d game
I dont understand why planes are 10x the size of quads and have worse topology
just resize them who cares
Planes are useful for most flat surfaces, such as floors and walls. You can use a plane to show special effects and images or movies in GUI, but it might be easier to use a quad primitive.
tldr
I mean yeah iknow its just kinda weird to me why its just objectively worse
plane just
quad
Does the additional geometry help something
Okay
what
"you" wrote this
you
I saw that in a minecraft vid
because triangle CAN actually make shapes but its impossible in SL because its too many primitives
have u ever played Sl w ur life on the line?
But I know it wouldnt be possible in SL because itd tank prrformance
yes but thats done with a shader and has no collisions
havent we all
i'm done
ZeroTwo Behind The Triangle
hey did u use to have a different username
answer the mans question
its not too hard of a concept to understand that all of the shape exist on the game
and triangle are useful too
Bark bark bark
furry
useful but not nearly to the extent of what you originally portrayed it
^
meow
meow
what does colts new gadget do
stop meowing :(
Im just saying that is a possibility but its impossible because of the amount of primitives it would require
Plane = Quad with more triangle and a different default size/rotation
nuh uh
meow
but they are and its a fact that they are the base for computer graphics
helloooo
and its not that complex to understand why they would be useful
Hey
even for doing a model like so simple as mario could be possible
yes they are but not very useful if you can't change the vertices
i saw that
what?
You can modify Scale and have an other property on the primitive to modify one of the 3 angle that enough
Hm gues not
im confused
that's not a primitive anymore
have we met before
Can't we change vertice ?
damnnn they nerfed colt to the ground
And i kinda disagree it's would still be good even without modifying them
Hello
And even without doing that triangle would help in a lot of situations that can't be fill by circle or square
yes it would be useful, but not to the extent zer0 originally opened an issue with
If we can change vertices idk how that work
That would be to the extent of zer0 two
you get a singular triangle
you can rotate it, scale it, position it
that's it for the primitive
Can't we have an other argument like color ?
To modify one of the 3 angle ?
that would mean we need a subclass
not impossible
but like
at this point, it would make sense to add support for 3D models
If you pay that amount we will add whatever the fuck you want to the game
say wallah?
sex update when
Yeah uh except that
yeah thats fair
fortnite's building system
You can do that via plugins tbh
i have seen a lot of Subclass but why would it be needed ?
Custom meshes is something that is not planned as of now
yeah but why custom subclass is required ?
because other primitive admintoy dont have
fortinayt la babacii
fardnit in scp:sl??? 😳😳🥵😱
Because you wouldn't change the angle of a sphere
tbh even if zou have the cube zou cant deform one of the vertecies either
am i really this unoriginal
Exactly
Maybe
we are talking about Triangle not sphere ?
Yeah, for a customizable triangle we would need another class
copyright
i made this a long time ago
im suing
I'll see you in court
can't it just be inherited by normal primtive ?
i mean idk its added in internal tracking, whatever gonna happen to it will happen, u prob going to get seen when i change the label to either "approved" or "denied"
As I even experimented with custom meshes at runtime but that not planned to for now and many people have to approve it
ignore the wall snap i couldnt be bothered to fix it
This looks newer than mine
it does icl
Though it is cooler
idk when i amde it it was right after 11.0
or when primitives were added
ill check
jan 2023
so even if triangle added you cant deform but you can still do the exact same thing as the other primitves
ie: scale, color
someone talked about deforming it which cant be done even in normal primitve since it caches the mesh and reuse that
but mesh is a single color ?
what
son
no that a material color
Meshes are cached after client connected.
PrimitiveObjectToy.Init or the PrimitiveTypeToMesh field
☠️
When rich dude buys out SL, makes it his own, and ruins it
Not very ideal to do every frame
I have a game that generates hundreds of meshes, totaling well over a million vertices
The overhead is creating them, which can be done as it's loading
i mean usually you need it only once when you spawn it
Then the performance is great, not sure about hdrp
Yeah
And idc if it's required to be modified to be unspawn and respawn
That wouldn't be very needed
ideally just computing power, no money
You need money for the electricity bill

Yeah
If only saltman & his buddies weren't making overly complicated statistical machines
Its ok just profit off them now that the company isnt making money off it
500$ free gemini credit 🤑
H
trying to test stuff with 2 clients, how can i bypass like the "only one player instance" kick?
im betting there is a flag for it but i cant find it
nevermind found it
sadly it doesnt seem to work 😔
sad
Its in gameplay_config
Something like allow_multiple_accounts
or similar
Discord auth
No need for that
You can just launch the exe
(They already had the 2nd client)
ye its same_account_joining
its like real weird tho, it should work on paper but it doesnt
OnSendingVoiceMessage called for player koxx12 (619), on channel ScpChat
OnSendingVoiceMessage called for player koxx12 (619), on channel ScpChat
OnSendingVoiceMessage called for player koxx12 (619), on channel ScpChat
OnReceivingVoiceMessage called for player koxx12 (619), on channel None
OnReceivingVoiceMessage called for player koxx12 (619), on channel None
OnReceivingVoiceMessage called for player koxx12 (619), on channel None
OnReceivingVoiceMessage called for player koxx12 (620), on channel Proximity
OnReceivingVoiceMessage called for player koxx12 (620), on channel Proximity
OnReceivingVoiceMessage called for player koxx12 (620), on channel Proximity
its as if the value is being reset by something else, maybe plugin conflict?
Do you have cedmod?
nope
idk then ¯_(ツ)_/¯
it could be in theory exiled as i do have it for like one thing i didnt bother rewriting yet
Did you also change th3 channel in the receiving event?
i mean based on what im looking at i shouldnt need too for what im testing
it should just mute both players rn
and if that works i can start messing around with the other one
BRUH
I SEE THE ISSUE
crazy stuff
Patch time 
Welcome to plugin development
yea lemmie do a prefix in the middle of a function
nah he means make a bool prefix, then copy paste the entire methods with the modifications you want and just return false
yo I'm red now
ik but i dont really like that solution
yo im not red
I would hate to imagine what debugging forgiving IL would be like
transpilers are pretty easy once you get used to them
ik I'm just not really used to them
and IL opcodes
all you're trying to do is change the ldloc for voiceChatChannel to getting the property off the event args right?
it just allowed me to get away with more stupid stuff without running in to crashes
yup, gotta grab msg to stack and get the fields
funnily enough you can store improper references inside of properties
nah it should be a property which is a callvirt on the instance of the event args to the getter method for said property
that I managed to piece together based on some other IL I looked at
here I made a mockup of the transpiler for funsies:
public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
{
List<CodeInstruction> newInstructions = ListPool<CodeInstruction>.Shared.Rent(instructions);
int index = newInstructions.FindLastIndex(x => x.opcode == OpCodes.Ldloc_1);
newInstructions.RemoveAt(index);
newInstructions.InsertRange(index, [
new(OpCodes.Ldarg_1),
new(OpCodes.Ldfld, AccessTools.Field(typeof(VoiceMessage), nameof(VoiceMessage.Channel)))
]);
for (int z = 0; z < newInstructions.Count; z++)
yield return newInstructions[z];
ListPool<CodeInstruction>.Shared.Return(newInstructions);
}
It should work, it might not though lol. Do keep in mind there are many ways to do harmony patches, this is just the way I learned them (and what Exiled does) but there are other tools like CodeMatcher n stuff. I also made sure not to use Exiled features like Exileds ListPool (I used NW's one)
I mean I enjoy it
Transpilers are dope
That seems wrong
msg = playerSendingVoiceMessageEventArgs.Message means the correct channel should be stored in a local
Really all you have to do is change the local index for the ldloc used to load voiceChatChannel to the right one, no extra IL necessary
I never hard code local indexes with my transpilers, it helps prevent them from breaking every other update
Also, don't sleep on CodeMatcher
I learned it and I feel it's much better than just working with the instructions manually
You should tell that to Cedric 
how to fix Could not update server data on server list - Automatic verification failed - Unable to get valid response from server: ConnectionFailed
Looks like your server isn't accessible, if you need help setting it up take a look at #technical-support
can it be beacouse i setted port 7777?
Unlikely
so how do i know my port
i cant do transpilers without codematchers anymore
blows my mind that people don't use them
It defaults to 7777, unless you set it otherwise!
As I said before, if you need server setup help take a look at #technical-support, they'll be able to help better than I can
the way that harmony implemented them kinda fucking sucks (can u tell i dont like the dev of harmony)
but they're still wayyyy better than the "traditional" approach
I do also think it's missing features, especially with the CodeMatch Class and the lack of versatility with the pre-existing parameters
Like I don't think you can even do something like CodeMatch.LoadsLocal(int index)
I'm interested to hear what issues you have with the Harmony dev, I don't know much about that kinda stuff
And yeah I agree, the gripes I have with it are only that it doesn't have further abstractions, it's an improvement on manually working with the code instructions in almost every way
Still pmo that CodeMatcher.Pos is a private field, there should be some accessible setter for it that uses absolute position and not relative
Low-key thinking about making extension methods for it in my project
theres some really weird behavior thats not documented as well as it should
MatchEnd or whatever its called puts the position at the last matched element and not the actual end
ig it kinda makes sense but at the same time it's inconvenient as hell
Yeah that was something I noticed when I decompiled the code it's very strange
It means that when running CodeMatches for one IL instruction (which is like 99% of cases), the only difference between MarchStart and MatchEnd is that MatchEnd is slightly less performative
Bytecode
Are you saying you write bytecode
I wish to one day reach the level of code proficiency where I can understand what any of this means 🥲
There really is no reason to use a list pool when patching
It's j*va
I’m learning Java rn for class. Just intro to it tho.
Ppl try to talk about plugins in plugin dev chat challenge
I wish you the least suffering
(If you're learning old Java then you're cooked)
Intro classes are crazy easy to me bc I know how most stuff works intuitively but like the actual language idk much about
Yeah
Java has some cool features (eg. their enums) but in most cases I consider c# superior
Streams (for collections) are weird
I love c#. I really only know it roughly in the sense of SL but been trying to touch more outside of it like making simple .Net web apps
I have yet to understand streams. I haven’t touched file streams yet but by the looks of it Java has some like buffer layer thing idk
Blazor is nice depending on who you ask
Streams are like LINQ for IEnumerable (but worse)
Speaking of. What are these things people talk of like Blazor Or ASP etc. are they just APIs for making web apps easier?
Not to mention bullshit method placements like Arrays.asList and Collectors.toList
I see
As long as I don’t have to do too too much memalloc I’m chill. Idk why but I never got it right when I did memalloc in c++
Blazor is a framework to make web apps (frontend, and also backend if you use Blazor Server)
ASP.NET Core in general covers web development, be it frontend or backend or both
I was decent in c++ but my prof had me wrapped around his prebuilt framework that I wanted to break out of
Java has GC so you don't worry about that
Everything is an object (there are no structs)
I see. So basically just like diffrent frameworks that you use to create your web apps.
Neat
Eh, pretty much
You can use Blazor Wasm for client-only stuff
Blazor server is better for real-time applications, like a server monitor dashboard
Ahh cool. I’ve never really made web apps outside of like 50% vibe code and teaching myself how it works enough to fix bugs but never really got into the meat of it
Is it
?
Slejm could tell you how much he hates frontend
lol
Especially if you get into the js framework rabbithole
I don’t wish to touch js or at least wait as long as I can before I do. I’ve heard things
Evil things
Did you know that Claude code is using react to render its ui which is then converted to ansi escape sequences and text?
🙏
The windows 11 start menu is react native
Discord is built with react
And after all this time, react still sucks xd
Didn’t react like not so long ago have like a massive network vulnerability that just like let you run ambiguous code server side?
I saw a video taking about something along those lines
Regardless. It’s 1am I gotta go
. I have much to learn still from you all very knowledgeable individuals.
Ty
Yeah
Welcome to javascript
Np
I do my best to take everyone away from JavaScript on server
And yes i hate frontend
just a question, does the 2 Client instance work? because im using steam client and then opening a console and opening it with arguments -fdiscord
i remember this used to work
you can just run the exe
im doing that...
I ran one instance on steam
and the other one i open the prompt and go SCPSL.exe -fdiscord
yea but if i need to connect to a server i cannot use same instance
because of the db
i solved in a far funnier way
used to
my condolences
pretty much the same as LINQ
what the fuck
yeah but like
ugh
LINQ is just cleaner imo
yea i dont recommend it either
Is it possible to add a specific interaction for a custom role?
The idea of custom role's interaction is the same as skelly's interaction with ragdolls.
you can't use base-game abilities unless your role is actually the role that has the ability
-fdiscord should work
and it's permit you to have different userid
so it's always better
for testing
that was possible before
when code was spaghettie
Okaaay...
But is possible to code: if the player looks at a ragdoll and holds a button for 5 seconds then he becomes disguised?
Hold a button of noclip no
because it's a single send message
you can use InteractableToy
i guess
and make it that the Interactable toy is Parent of the NetIdentity of the Ragdoll
as yamato said, interactable toy
or you make an SSSS keybind
because Ragdoll arent sync between server client after it's got spawned
SSSS is very bad for ragdoll because of what i said above
Ragdoll can be very far
between client and server
??
you parent the ragdoll to the toy?
interesting idea
you can since the Ragdoll have NetIdentity right ?
actually i was more thinging in the InteractableToy being the children
but both would probably work fine ?
I honestly forgot but can you remove npcs from the player list?
isn't there like a base game way now
no?
idk
like thats why im asking
Timing.CallDelayed(1f, () =>
{
CurrentSCP079.ReferenceHub.authManager.UserId = PlayerAuthenticationManager.DedicatedId;
CurrentSCP079.ReferenceHub.authManager.SyncedUserId = PlayerAuthenticationManager.DedicatedId;
CurrentSCP079.ReferenceHub.authManager.InstanceMode = ClientInstanceMode.DedicatedServer;
NetworkServer.Respawn(CurrentSCP079.NetworkIdentity);
});
Im doing this but nothing works lol
Not "npc" but you can with dummy
im saying with dummies
npc, dummies same thing
Inside serverrole
No
ServerRoles.HideFromPlayerList
CurrentSCP079.ReferenceHub.serverRoles.NetworkHideFromPlayerList = true;
so like this?
This specifically used only for dummies, you cannot do with players or your faked dedicated server
Use normal dummy
use normal, dummy 
callvirt my beloved
CodeInstruction.Call
i dont think toString is not virtual
also structs are a bit quirky when you have to call methods
did you have a look at the decompiled code? that helps a lot in figuring out what was the issue
you wanna tostring VoiceMessage?
pretty sure you have to load the struct's address instead of the object itself
yup, trying to figure out why it still none
e.g. ldflda instead of ldfld
:dread:
aight
ldarga, ldloca
i usually just write a helper method to do my logic/behavior and call that
hmm im adding stuff after its derefd so that shouldnt be needed, esp since every thing after it does ldfld
still what im trying to do rn is after ldobj
dup
callvirt toString
ldc.i4.1
call Logger.Debug
prev i had similar issues with callvirt but i bypassed it by using CodeMatcher instead which did work even tho in theory it should have produced the same exact IL
yeah you don't ldobj when it comes to structs
at least i don't think so
i mean you can just
load it, box, then pass to debug
so like
ldloc
box VoiceMessage
ldc.i4.1
call logger.debug
gotta love not having a stable internet connection on the go
Hey, a little bit different question, does anybody has a unity learning site/video which is really good?
you can look at the outputted IL by adding [HarmonyDebug] on the patch class


tl;dr you might wanna consider not learning unity
I need it for university

i don't have any recommendations myself other than "experiment and figure stuff out"
maybe someone else knows a good crash course
but like
unity is hella complicated so
Ah
Alr alr thanks xd
"Bevezetés a VR-ba"
Yeah
💀💀
my suggestion: drop out
ur suggestions are poor tho
Will I become a Furry cuz of University? XDD
just praying it formats correctly
99% of furries have a university education :3

perhaps
furniversity
you're already halfway there

XDDD
💀
Meanwhile "Programozás 1: Irjál op rendszert C-be"
university issue
ur genius consists of eliminating nanoseconds from function calls in c#
Meglássuk, acelni fogom easybe sztem (szenvedés lesz)
i elminate other stuff as well
e.g. braincells
acer
The ominous white rectangle
uhhh is there a particular reason to use harmony 2.2.2 or no?
What makes you ask this question
2.2.2 is just what exiled uses afaik
there is a certain accesstool method that i would like to use but its not present in 2.2.2
So its probably best to use that version if you make public plugins
What method, if I may ask?
And both are gone in the latest releases?
what
i think theyre saying that newer has it, but 2.2.2 doesnt
TLDR: If you make public plugins, you should use 2.2.2
yea that is what i meant
then go up version
Ahhh gotcha
but
I don't get why Harmony 2.2.2 should be considered standard
- more dependencies
- may break other plugins ur using
if one person increaeses but the rest dont - then that causes issues
there are breaking changes
If other plugins aren't updating their dependencies that's wild
I update mine
but yes itd be nice to have the version increase
Honestly skill issue
its that all plugins using harmony
will need to up
this means cedmod, exiled, and all other public plugins
someone would have to force it for everyone else to adpat
yeah
exiled & cedmod have the power to do so
Okay? Should it not be part of routine updates for public plugins? Otherwise it should be considered poorly maintained imo
ok ill update secretapi to latest
now every plugin using it will break because a lot of ppl use it along side cedmod 
I didn't even know SecretAPI was behind on harmony
I use the latest harmony with SecretAPI and CedMod and have zero issues
it is, as itd break plugins if i increased
u sure?
Yes
My servers aren't dying and I know I use latest dependencies
harmony 2.4.2?
I believe so idk I can't check the specific version until I'm home
erm
i mean
harmony is now
split into 3
harmony fat, harmony ref, harmony thin
what the fuck is the difference
but thatd be another thing that might cause issues
difference between thin and fat
but i have 0 clue
in most scenarios yea
im mostly referring to plugins like exiled, secretapi, cedmod
anything public
should refrain from requesting users to add 50 dependencies
Right
at least thats my opinion
The thing I'm opposed to is using old standards just because people don't want to update their dependencies
if an increase in version rly doesnt cause breaking changes - sure, i could increase it for secretapi
im opposed to breaking everyone elses stuff in secretapi
There's a reason new versions are released, you should be using them
And that mindset is what everyone has, preventing any updates from happening because it all started with some of the biggest plugins never updating
secretapi imo isnt big enough to cause that reaction
Right
Ong
would be so good if unity goes to latest .net
many dependendcies will not be needed
I mean really most dependency updates like this rarely make huge breaking changes, it's just that the more you refuse to update it, the more shit that breaks as you don't
that is still not even latest
(AND CAN BE CHANGE the wrong json included in the game to use latest compiled one (if unity wiill support that))
2.4.2 woud be
makes sense
October 6th 2024
2.3.3 was latest at the time
and also
my comment specifies 2.4.2
which tbf i just made the comment a minute ago
also the PR actually increases to 2.3.6
prob cuz it was latest as of april 2025
@thin shuttle https://github.com/ExMod-Team/EXILED/pull/129
can you make it to use latest instead
forcing now everyone in 15.0 and Exiled 10 to be up-to-date everthing
We will update for Exiled 10
cool
idk if exiled 10 will be on 15.0
I mean I didn't even know this was a problem until 10 minutes ago so it's nice to see something being done about it
I never really had a stake in this fight because I handle a majority of plugins myself
I reduce my dependencies as much as possible
real
i will refrain from updating for the time being
or just update
id like to finish my source gen for secretapi but holy shit am i confused
push and pray
not my problem....
i know

@slate flume yk what to do for me 
anyways uhh back to figuring out why my player is not in global chat
support for net10 application s
Alrighttttt
I still need to time some of the reflection I do in my project to see if I could improve it with source gen
i have to make one for myself too
nono
Source gen is dope
make mine
damn
add secret class
but make it very secret
You could do a LabAPI decontam extension that gives you time until decontam
that... doesnt exist?
Decontamination.TimeUntilDecontam
Nope!
gulp
hi miller
bye eve
oh...
You can figure it out by doing some math with the offset but it's not written in explicitly
i see
💀
[2026-01-29 15:51:26.512 +01:00] [DEBUG] [SCPSLCustomItems] [StandardVoiceModulePatch] ValidateReceive Prefix called with channel: ScpChat
[2026-01-29 15:51:26.528 +01:00] [DEBUG] [SCPSLCustomItems] [StandardVoiceModulePatch] ValidateReceive Postfix called with channel: ScpChat
[2026-01-29 15:51:26.545 +01:00] [DEBUG] [Mirror] Proximity
So peak
im not even sure what could be resetting it atp
Lesz olyan is 😆
nekem most lesz ebben a félévben
meg vmi adatszerkezetek
Hungarian seems like a weird language
Windows rendszergazda meg networking is lesz valamikor 💀
Yeah, it is weird 😆
Megszentségteleníthetetlenségeskedéseitekért
Don't ask how this is in english
asszem nekem is de nem 2. féléves
később talán
all fun and games until bsod
I saw "vmi" and was instantly confused because I've never seen that combination of letters in that order before
As an English speaker my first thought was that it was an acronym or something lmao
vmi=valami=something
Funky language
i may be stupid and forgot to press compile
wait what
in offline mode it works
but doesnt for online??
We will make it for next big sl update
That how it's planned
Anticheat?
Does anyone have that picture from the guy who made a minimap that looks just like hunter's atlas
It uses hints
I know I've seen it around here before but I can't find it
I want to know I'm not crazy 😭
I swear I've seen it here
ok any ideas how tf should i get around that as i cant find anything myself
So what exactly is going on
VoiceMessages are passing an invalid channel to ValidateReceive or are they passing an invalid channel into the Mirror packet?
wdym by invalid
Incorrect
channel is sent to ScpChat
You show ScpChat for validate and Proximity for the message
What is the issue going on
Are you changing it to Proximity to try to get SCP Prox Chat working?
in reverse
Trying to send human chats to SCP?
im trying to have a human class be in scpchat
which does work as long as online mode is disabled
And you accomplished this by setting the channel in SendingVoiceEvent to SCP?
im setting channel to ScpChat and somehwere later its forced back to proximity
Where are you setting the channel
PlayerEvents.SendingVoiceMessage
skill issue
you can't even spell it
and when i check in Receiving its still scpchat
change it to roundsummary in receiving maybe?
Might wanna check out
#plugins-dev-chat message
or cancel the event and send a new voice message
i mean it would be pretty wierd if sending it via a plugin works over what sl does
especially since it does work when i disable online mode
Set the channel to RoundSummary and send it only to valid SCP players
Afaik humans aren't set up to work with SCP chat
The voice chat system is very weird
indeed it is
nah wtf that actually works
scp sl be like
human speaking in SCPChat ❌
human speaking in RoundSummary ✅
Yeah so I'm pretty sure if you try sending a message like that something in the code freaks out and reverts it because it's invalid, but RoundSummary is definitely valid for every role
nah like i said it DOES work with online mode disabled so its most likely anticheat tweaking
unless invalid channel defaults to global
I haven't experimented much with online mode disabled, but I presume that means no network messages are being sent
In that case it makes sense it works because the channel changes either right before, or when going through, Mirror
If you skip having to send the network message then it's gonna be fine
online mode disabled generally means its not calling any external servers
at least that is how it works for other games
Yeah I've got no clue, I keep everything on my test server as close to production as possible
I mean tbh I could buy into it being some anti-cheat BS
This game's anti-cheat is fucked up
as long as it doesnt require a boot driver its fine with me
You may want to consider opening a bug report on the LabAPI GitHub w/ reproduction steps
It would be nice to have it working without doing RoundSummary Bs
i mean i already had to make a patch something else to force it to go through but i could approach it from another angle and repor that
this is what happens when there's client-side validation too
so it IS anticheat
It's more just the client noticing something is wrong and correcting it
It doesn't believe that the message you send it could ever be valid
ik but like it only validates it some of the time
Right the offline mode thing is interesting
indeed
So open a LabAPI report and have the maintainers investigate for you in like a year
Low priority -type shit
damn that fast??
I mean I program like several hours a day and it's mostly all SL stuff
Spend more time programming real life ideas
The production pipeline for SL is what makes changes take so long, less the dev stuff
SL is nice but think of future
No 😁
well most people have jobs or in the university next to SL dev
😦
This is a hobby for me, it helps with anxiety and shit
I just tend to give hobbies 110%
I was in Uni when I was here
Can relate
I was in school when I first started here and I actually did more programming then than I do now lmao
I also do many other stuff while i play or dev for sl
I used to dev as an excuse for myself to not do homework
Apparently it looks good on a resume that I've done a lot of independent programming so it works out
Side projects are very important
80% of me is literally shady stuff
Huh
What real life stuff are you supposed to even program
Are you a meth dealer or something
no
Word
RE
Resident evil
When youre like me and have no applicable knowledge in anything besides language, basic logic and scp sl
Portfolios, applications
I've had a lot of people tell me "You should start your own business" and I'm just like "For what?"
The market for almost everything is so saturated
My parents hired a college advisor and I looked at my "action plan" document and it has shit like that
You have to find something that someone hasn’t done
Even if someone did. Try to make it better
well I mostly code in .net too so
Everyone and their mother wants to own their own business
🙂↕️
I should make an app but I dont think im capable of doing better than the professional developers who work on open source projects lol
The reality is that not everyone is supposed to be a business owner
The goal in life for everyone shouldn't be "start a business"
Don’t put yourself down.
truly
People are capable of doing great things
yoy
icedchai is evil
yoy
hi slime boy
Entrepreneurship isn’t for everyone
Typo 😖
Maybe I should start thinking this way, it just feels hard when my best accomplishment in terms of programming wasnt really that complex, and also isnt really my favorite plugin i made
Why
i mostly do stuff that i want when i waken up
cuz why not
like "hmm i feeling bug hunting today" or "i feeling gonna play some rust" or "eh, i have to fix this stupid bug on my program"
I dindt do anything you freaking galashkidoodle
Exactly, but everyone has it recommended to them
also
what the act ual fcuk
LocalDeclarationStatementSyntax resultDeclaration = LocalDeclarationStatement(
VariableDeclaration(NullableType(IdentifierName(CommandResultLocation)))
.AddVariables(VariableDeclarator(ResultArgName)
.WithInitializer(EqualsValueClause(LiteralExpression(SyntaxKind.NullLiteralExpression)))));
I think I wanna do stuff when I wake up but by the end of the day I'm so tired all I can do is lie in bed or game
🥀
If you have an idea and have the passion. You will make it
You know 1 in 5 small businesses fail within a year
@teal junco
I got hit up recently to fix one of my plugins, but it was really hard to find the motivation to.
1 in 2 small businesses fail within 5
Plugins are something, but you can also think beyond game development
Plus another one of my plugins is majorly broken but I cant find the motivation to fix that ejther
If you're not motivated or passionate about it then you don't have to do it
Yeah, I wanna think about making an app
You're an independent person and you make your own choices, the only person who has to hold you accountable is yourself
Nah I wanna do this one as a favor, the guys who hit me up are cool and its minimal maintenance
But generally I cant do it
Yeah youre right. But even for other stuff it feels kinda mean to put up a plugin and then stop supporting it simply because I dont want to
That's 95% of plugins big man
WinForms is a good way to start with lightweight .NET (may not look as visually appealing)
Pretty much every plugin out there right now is depreciated
People aren't interested in doing a ton of free work for years on end
Oh yeah! I worked with winforms a bit to build a basic game! I think it's pretty neat though its kinda limited and looks bad.
I heard good things about Maui but i also heard thats harder to use
Yeah. I use it for non-game projects
Yeah, I respect the drive of people who have years old plugins they still work on
It feels so demotivating to see updates slowly destroy your plugin. No matter how much you keep up it will always break again
That's with anything in development
Gotta be a special kind of worker to keep going like that for a free game mod
New updates deprecate/obsolete stuff
That's part why I wanted to focus on real life aspects
If you're really deranged you can go low-level and do manual patches for everything to keep them working for longer but that only extends the lifespan, doesn't guarantee longevity
It feels like low level stuff is way more prone to breaking honestly
I disagree because I have transpilers that have been in the game going on a year
No updates needed
You just have to make them right
Interesting
Yeah I never got transpilers honestly
People have told me to research them but its kinda scary
Like some people will manually insert a ldloc.1 instruction instead of finding the local index and loading it dynamically
or you can always make your own game
locating the correct instruction?
Transpilers look like a pain
Any modification to that function that changes the pecking order breaks it
I thinkive read about that
Is possible, if your passion is game dev
Im sorry. We cannot guarantee long term support as the game changes with every update, and so does the code.
When you load a local, you load by an index
Local 0, 1, 2, 3, ...
What you can do is find where, for instance, a ReferenceHub is loaded and stored as a local to find the index instead of hard-coding the index
this has in the license so
dont apologize lol
Dont apologize for updating the game
I mean, I didnt ask for an apology. I was just saying a reason I find it hard to maintain my shit
maybe i should do that
possibly
You should, my transpilers never need updates
Yeah that makes sense
Make your code as flexible as possible
I guess if that code never gets fully changed it shouldnt matter really
So long as the general structure of any function I've patched is kept, my code will continue to work
me when i finding your patch and rewirte the function
evil slejmur
rewirte
im not the evil one
revert
and only after 18h of debugging i got working human scp chat 💀
To end your suffering perhaps (not in a good way)
What words do you not get
Skill issue?
ngl transpilers would be so much eaiser to debug if you could save modified assmeblies
No
I can learn it if I took the time to study it
Atm I have other priorities
they are pretty easy as long as you understand how the stack works and have some reference IL to look at
🙂↕️
I mean I don't think basic assembly/IL is as hard as people make it out to be
The only really new concept is the idea of managing the stack/memory
And everything else either follows naturally from that or is a basic code instruction
What do people here be making their own transpilers for? I get the idea of a transpiler but like what for?
transpilers allow you to modify something that is in the middle of a function, for example i use it to set a local variable that i wouldnt be able to set with a prefix or postfix since its local
Smart
So real
nod
Also the absence of loops and if statements is a bit annoying but if you look at how the compiler does it, that probably helps
Ahh I see. Ok cool
Jovix is tweaking guys help him
@upper vapor id like your assistance
IfStatementSyntax ifSubCommandCheck = IfStatement(
InvocationExpression(IdentifierName(CheckSubCommandMethodIdentifier))
.WithArgumentList(ArgumentList(SeparatedList(new[]
{
Argument(
InvocationExpression(
MemberAccessExpression(
SyntaxKind.SimpleMemberAccessExpression,
IdentifierName(ArgumentsParamName),
IdentifierName("First")))),
Argument(IdentifierName(CheckSubCommandCommandParamIdentifier))
.WithRefOrOutKeyword(Token(SyntaxKind.OutKeyword)),
}))),
Block());
how does one
make it
Bug fixes
90% of my transpilers are for fixing SL bugs
Ohh so it’s not the transpiler I’m thinking of which is like language to language?
Transpiler is a name for a type of Harmony patch that directly modifies the IL code of the assembly





