#plugins-dev-chat

1 messages · Page 177 of 1

thin shuttle
#

There a reason why game use triangle for render

upper vapor
#

no you can't

celest thorn
#

I LOVE YOU

#

YOU ACTUALLY UNDERSTAND

#

OH MY GOD

upper vapor
#

why are you not thinking please

topaz yacht
#

Would triangle primitives even be used much

vast canopy
#

U guess every time u r ending discussion about triangle someone gonna start it again

celest thorn
vast canopy
#

Endless loop

celest thorn
#

of triangles

teal junco
#

I understand triangles are the basic 3d unit

gilded thicket
upper vapor
#

if you get a triangle with each side having the same length
that doesn't let you create any model

teal junco
#

I just am pretty sure

#

you cant create arbitrary mesh with tri

thin shuttle
twilit summit
thin shuttle
#

Isn't that simple ?

teal junco
#

Also zerotwo said "who said anything about mesh"

#

so it confused me

celest thorn
#

for them

upper vapor
#

okay

#

so

teal junco
#

I think I remember this channel being a chill place

terse bone
upper vapor
#

@celest thorn and @thin shuttle tell me how you turn a specific triangle into ANY triangle

halcyon folio
upper vapor
#

like how do you get from A to B

upper vapor
gilded thicket
celest thorn
gilded thicket
#

i learn it today in school

vast canopy
#

Thats not 90 triangle

teal junco
celest thorn
#

So a quad for your theory doesn't exist????

vast canopy
#

They were talking about 90 i guess

celest thorn
#

its the exact same way that a quad exist

upper vapor
sinful bronze
#

just insert 3D graphics editor inside unity edtior ahh steamfacepalm steamfacepalm steamfacepalm steamfacepalm steamfacepalm steamfacepalm steamfacepalm steamfacepalm

celest thorn
#

but just a triangle

sinful bronze
#

so easy

gilded thicket
#

they should add me into the game

#

@northwood

#

any northwood employee here?

sinful bronze
#

john northwood

halcyon folio
#

@upper vapor

#

^ talk to him

teal junco
#

also mesh made of individual triangle objects sounds like shit on pcs

halcyon folio
#

hehe

upper vapor
#

@celest thorn give me a transformation matrix that turns an equilateral triangle into a triangle with sides 4, 6, 8

gilded thicket
halcyon folio
celest thorn
upper vapor
upper vapor
#

how do you

halcyon folio
upper vapor
#

convert a specific triangle

#

into ANY triangle

sinful bronze
upper vapor
#

simply by rotating, scaling and positioning it

twilit summit
#

so guys hows the triangle

halcyon folio
celest thorn
teal junco
celest thorn
#

im just SAYING a PLANE TRIANGLE

upper vapor
#

like

#

omg

gilded thicket
upper vapor
celest thorn
teal junco
gilded thicket
twilit summit
halcyon folio
#

plain*?

teal junco
upper vapor
upper vapor
gilded thicket
#

how to converrt to 90 degrees

upper vapor
gilded thicket
#

if u want to make a cube

celest thorn
#

intelligence?

gilded thicket
#

w ragebait

teal junco
#

@celest thorn How do you transform an equilateral triangle to another arbitrary triangle just by scaling it inside Unity?

gilded thicket
#

u got this whole chat

#

even had me stop trolling

celest thorn
teal junco
#

is what axwabo asked

upper vapor
celest thorn
#

like who tf threw that

upper vapor
#

then you say

#

"why do you want that"

teal junco
upper vapor
celest thorn
#

im saying that is impossible but still funny if it would be

upper vapor
#

so what are we trying to achieve

#

you want a triangle

celest thorn
#

but the point is all of the shapes are there

upper vapor
#

and nothing more

celest thorn
#

just a triangle missing

sinful bronze
#

triangle exist in unity btw

upper vapor
#

we're not ahead by a lot then

celest thorn
#

triangle would add possibility to make more precise shapes and stuff

sinful bronze
#

but as 2d primitive

celest thorn
#

take THAT

#

and put it on the game

sinful bronze
#

we must make sl 2d game

teal junco
#

I dont understand why planes are 10x the size of quads and have worse topology

celest thorn
vast canopy
#

Place triangle via texttoy

sinful bronze
#

tldr

teal junco
sinful bronze
#

plane just

gilded thicket
#

yo

#

guys

sinful bronze
#

quad

teal junco
#

Does the additional geometry help something

gilded thicket
#

my teammates went 2-6 and 0-7 in brawl

#

pls help

gilded thicket
#

dawg

teal junco
#

Okay

teal junco
sinful bronze
#

you

teal junco
celest thorn
gilded thicket
teal junco
#

But I know it wouldnt be possible in SL because itd tank prrformance

celest thorn
twilit summit
teal junco
#

Yes

sinful bronze
#

ZeroTwo Behind The Triangle

gilded thicket
twilit summit
celest thorn
#

and triangle are useful too

teal junco
celest thorn
#

why then we have planes

#

??

#

they are useless

#

lets remove them

twilit summit
upper vapor
upper vapor
sinful bronze
#

meow

gilded thicket
#

what does colts new gadget do

twilit summit
#

stop meowing :(

celest thorn
thin shuttle
upper vapor
terse bone
sinful bronze
celest thorn
#

but they are and its a fact that they are the base for computer graphics

gilded thicket
celest thorn
#

and its not that complex to understand why they would be useful

teal junco
celest thorn
#

even for doing a model like so simple as mario could be possible

teal junco
#

did I ever tell you

#

I added laser eyes to SCP SL

upper vapor
celest thorn
twilit summit
thin shuttle
teal junco
twilit summit
#

im confused

upper vapor
twilit summit
#

have we met before

thin shuttle
gilded thicket
#

damnnn they nerfed colt to the ground

thin shuttle
#

And i kinda disagree it's would still be good even without modifying them

gilded thicket
#

Hi

twilit summit
#

Hello

thin shuttle
upper vapor
thin shuttle
#

If we can change vertices idk how that work

#

That would be to the extent of zer0 two

upper vapor
thin shuttle
#

To modify one of the 3 angle ?

upper vapor
#

that would mean we need a subclass
not impossible
but like
at this point, it would make sense to add support for 3D models

gilded thicket
#

when am i getting added to sl?

#

i asked a while ago

upper vapor
unique crane
#

If you pay that amount we will add whatever the fuck you want to the game

gilded thicket
#

say wallah?

unique crane
#

Yeah uh except that

twilit summit
#

yeah thats fair

unique crane
#

But except for that!

#

Anything else

twilit summit
#

fortnite's building system

unique crane
#

You can do that via plugins tbh

twilit summit
#

yeah thats fair actually

#

ill do that someday

thin shuttle
unique crane
#

Custom meshes is something that is not planned as of now

gilded thicket
#

a while ago

thin shuttle
#

yeah but why custom subclass is required ?

gilded thicket
#

because other primitive admintoy dont have

thin shuttle
#

with triangle we could make Mario64

#

:3

upper vapor
restive turret
#

tbh even if zou have the cube zou cant deform one of the vertecies either

twilit summit
upper vapor
thin shuttle
upper vapor
#

Yeah, for a customizable triangle we would need another class

gilded thicket
#

i made this a long time ago

#

im suing

upper vapor
thin shuttle
restive turret
#

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

gilded thicket
#

ignore the wall snap i couldnt be bothered to fix it

twilit summit
#

it does icl

upper vapor
#

Though it is cooler

gilded thicket
#

idk when i amde it it was right after 11.0

#

or when primitives were added

#

ill check

#

jan 2023

restive turret
#

so even if triangle added you cant deform but you can still do the exact same thing as the other primitves

#

ie: scale, color

gilded thicket
#

yes that was zerotwos argmenet

#

yeah urs is older 😢

#

my patent claim is failed

restive turret
#

someone talked about deforming it which cant be done even in normal primitve since it caches the mesh and reuse that

thin shuttle
#

but mesh is a single color ?

restive turret
#

what

gilded thicket
#

son

thin shuttle
#

on Primitive

#

mesh it's just a single color

#

it's not like complexe mesh

restive turret
#

no that a material color

#

Meshes are cached after client connected.
PrimitiveObjectToy.Init or the PrimitiveTypeToMesh field

cyan crown
teal junco
upper vapor
#

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

thin shuttle
upper vapor
#

Then the performance is great, not sure about hdrp

thin shuttle
#

And idc if it's required to be modified to be unspawn and respawn

#

That wouldn't be very needed

gilded thicket
upper vapor
gilded thicket
#

ideally

upper vapor
#

Yeah

#

If only saltman & his buddies weren't making overly complicated statistical machines

gilded thicket
#

Its ok just profit off them now that the company isnt making money off it

#

500$ free gemini credit 🤑

autumn nebula
#

H

next jungle
#

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

next jungle
#

sadly it doesnt seem to work 😔

upper vapor
#

sad

unique crane
#

Something like allow_multiple_accounts

#

or similar

upper vapor
#

allow_same_account_joining

#

Perhaps

upper vapor
#

You can just launch the exe

#

(They already had the 2nd client)

next jungle
next jungle
# next jungle sadly it doesnt seem to work 😔

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?

next jungle
#

nope

static meteor
#

idk then ¯_(ツ)_/¯

next jungle
#

it could be in theory exiled as i do have it for like one thing i didnt bother rewriting yet

upper vapor
#

Did you also change th3 channel in the receiving event?

next jungle
#

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

static meteor
#

Patch time trol

next jungle
#

#

writing IL for this is gonna be so ass, its like so awkwardly placed

halcyon folio
next jungle
#

real

#

compared to bytecode that I'm used to c#'s IL is much more strict

next jungle
soft depot
#

yo I'm red now

next jungle
hearty shard
#

yo im not red

soft depot
soft depot
next jungle
#

and IL opcodes

soft depot
#

all you're trying to do is change the ldloc for voiceChatChannel to getting the property off the event args right?

next jungle
next jungle
soft depot
soft depot
next jungle
#

that I managed to piece together based on some other IL I looked at

soft depot
#

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)

slate flume
#

Transpilers are dope

slate flume
# next jungle yup, gotta grab msg to stack and get the fields

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

slate flume
slate flume
atomic ocean
#

how to fix Could not update server data on server list - Automatic verification failed - Unable to get valid response from server: ConnectionFailed

mild ice
atomic ocean
#

and what

#

there is nothing how to setup it

atomic ocean
mild ice
atomic ocean
#

so how do i know my port

true cedar
#

blows my mind that people don't use them

mild ice
true cedar
#

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

slate flume
slate flume
#

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

true cedar
#

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

slate flume
#

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

upper vapor
#

Are you saying you write bytecode

warped prairie
#

I wish to one day reach the level of code proficiency where I can understand what any of this means 🥲

upper vapor
warped prairie
#

I’m learning Java rn for class. Just intro to it tho.

upper vapor
upper vapor
#

(If you're learning old Java then you're cooked)

warped prairie
#

Intro classes are crazy easy to me bc I know how most stuff works intuitively but like the actual language idk much about

upper vapor
#

Yeah

#

Java has some cool features (eg. their enums) but in most cases I consider c# superior

#

Streams (for collections) are weird

warped prairie
#

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

upper vapor
warped prairie
#

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

upper vapor
#

Blazor is nice depending on who you ask

upper vapor
warped prairie
upper vapor
#

Not to mention bullshit method placements like Arrays.asList and Collectors.toList

warped prairie
#

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++

upper vapor
warped prairie
#

I was decent in c++ but my prof had me wrapped around his prebuilt framework that I wanted to break out of

upper vapor
warped prairie
#

Neat

upper vapor
#

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

warped prairie
#

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

upper vapor
#

Yeah I'm

#

Um

#

Frontend is uhhhh

#

Not very pleasant sometimes

warped prairie
#

Is it Despairge ?

upper vapor
#

Slejm could tell you how much he hates frontend

warped prairie
#

lol

upper vapor
warped prairie
#

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

upper vapor
#

Did you know that Claude code is using react to render its ui which is then converted to ansi escape sequences and text?

upper vapor
#

The windows 11 start menu is react native

#

Discord is built with react

#

And after all this time, react still sucks xd

warped prairie
#

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 Bedge. I have much to learn still from you all very knowledgeable individuals.

#

Ty

upper vapor
restive turret
#

And yes i hate frontend

celest thorn
#

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

upper vapor
#

you can just run the exe

celest thorn
#

I ran one instance on steam

#

and the other one i open the prompt and go SCPSL.exe -fdiscord

upper vapor
#

no need for -fdiscord

#

you can literally just double click the exe

celest thorn
#

yea but if i need to connect to a server i cannot use same instance

#

because of the db

upper vapor
#

you can

#

ohhhhh

#

database

#

right

#

well yeah

celest thorn
#

i solved in a far funnier way

next jungle
next jungle
next jungle
upper vapor
upper vapor
#

ugh

#

LINQ is just cleaner imo

next jungle
rustic pecan
#

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.

upper vapor
#

you can't use base-game abilities unless your role is actually the role that has the ability

thin shuttle
#

and it's permit you to have different userid

#

so it's always better

#

for testing

rustic pecan
#

Okaaay...
But is possible to code: if the player looks at a ragdoll and holds a button for 5 seconds then he becomes disguised?

thin shuttle
#

Hold a button of noclip no

#

because it's a single send message

#

you can use InteractableToy

upper vapor
thin shuttle
#

and make it that the Interactable toy is Parent of the NetIdentity of the Ragdoll

upper vapor
thin shuttle
#

because Ragdoll arent sync between server client after it's got spawned

thin shuttle
#

Ragdoll can be very far

#

between client and server

upper vapor
#

you parent the ragdoll to the toy?

#

interesting idea

thin shuttle
#

actually i was more thinging in the InteractableToy being the children

#

but both would probably work fine ?

celest thorn
#

I honestly forgot but can you remove npcs from the player list?

upper vapor
#

isn't there like a base game way now

celest thorn
upper vapor
#

something that doesn't involve changing the uhhh

#

the id

celest thorn
#

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

restive turret
celest thorn
#

npc, dummies same thing

restive turret
#

Inside serverrole

restive turret
upper vapor
celest thorn
#

CurrentSCP079.ReferenceHub.serverRoles.NetworkHideFromPlayerList = true;

#

so like this?

restive turret
upper vapor
#

Ah

#

Well that sucks

restive turret
#

Use normal dummy

upper vapor
next jungle
#

callvirt my beloved

upper vapor
#

CodeInstruction.Call

next jungle
#

i dont think toString is not virtual

upper vapor
#

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

next jungle
#

yup, trying to figure out why it still none

upper vapor
#

e.g. ldflda instead of ldfld

upper vapor
#

ldarga, ldloca

#

i usually just write a helper method to do my logic/behavior and call that

next jungle
#

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

upper vapor
#

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

worn gull
#

Hey, a little bit different question, does anybody has a unity learning site/video which is really good?

upper vapor
worn gull
upper vapor
#

tl;dr you might wanna consider not learning unity

worn gull
worn gull
upper vapor
#

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

worn gull
#

Ah

upper vapor
#

it's joever for youu

#

they should be teaching godot

worn gull
#

Alr alr thanks xd

worn gull
upper vapor
#

ah hell nawhhhhh

#

HEELLL NAWHH

worn gull
#

Yeah

upper vapor
#

are yall gonna learn\

#

vrchat

#

furrymurry

#

and shit

#

?

worn gull
#

💀💀

worn gull
#

I know that it will be Unity

upper vapor
#

my suggestion: drop out

icy knoll
upper vapor
#

i am well aware

worn gull
next jungle
icy knoll
worn gull
upper vapor
#

furniversity

#

you're already halfway there

worn gull
upper vapor
#

XDDD

worn gull
#

💀

languid temple
upper vapor
#

university issue

icy knoll
languid temple
upper vapor
#

e.g. braincells

static meteor
#

The ominous white rectangle

next jungle
#

uhhh is there a particular reason to use harmony 2.2.2 or no?

slate flume
static meteor
#

2.2.2 is just what exiled uses afaik

next jungle
static meteor
#

So its probably best to use that version if you make public plugins

next jungle
#

DeclaredEventAdder

#

or just EventAdder

#

not sure which one would achive what i want

slate flume
#

And both are gone in the latest releases?

next jungle
#

what

hearty shard
#

TLDR: If you make public plugins, you should use 2.2.2

next jungle
hearty shard
#

then go up version

slate flume
#

Ahhh gotcha

hearty shard
#

but

slate flume
hearty shard
hearty shard
#

there are breaking changes

slate flume
#

I update mine

hearty shard
#

but yes itd be nice to have the version increase

slate flume
#

Honestly skill issue

hearty shard
#

will need to up

#

this means cedmod, exiled, and all other public plugins

next jungle
#

someone would have to force it for everyone else to adpat

hearty shard
#

exiled & cedmod have the power to do so

slate flume
hearty shard
#

now every plugin using it will break because a lot of ppl use it along side cedmod Trol

slate flume
#

I use the latest harmony with SecretAPI and CedMod and have zero issues

hearty shard
#

it is, as itd break plugins if i increased

slate flume
#

Yes

hearty shard
#

afaik it has breaking changes

#

along side adding a ton more dependencies

slate flume
#

My servers aren't dying and I know I use latest dependencies

hearty shard
#

harmony 2.4.2?

slate flume
#

I believe so idk I can't check the specific version until I'm home

hearty shard
#

erm

#

i mean

#

harmony is now

#

split into 3

#

harmony fat, harmony ref, harmony thin

#

what the fuck is the difference

slate flume
#

No clue ngl

#

I forget which one I use

hearty shard
#

but thatd be another thing that might cause issues

#

difference between thin and fat

#

but i have 0 clue

next jungle
hearty shard
#

ok

#

so

#

tldr

#

dont use thin

next jungle
#

in most scenarios yea

hearty shard
#

im mostly referring to plugins like exiled, secretapi, cedmod

#

anything public

#

should refrain from requesting users to add 50 dependencies

slate flume
#

Right

hearty shard
#

at least thats my opinion

slate flume
#

The thing I'm opposed to is using old standards just because people don't want to update their dependencies

hearty shard
#

if an increase in version rly doesnt cause breaking changes - sure, i could increase it for secretapi

hearty shard
slate flume
slate flume
hearty shard
#

secretapi imo isnt big enough to cause that reaction

slate flume
#

Right

slate flume
#

Ong

restive turret
#

would be so good if unity goes to latest .net

#

many dependendcies will not be needed

slate flume
#

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

hearty shard
next jungle
restive turret
#

(AND CAN BE CHANGE the wrong json included in the game to use latest compiled one (if unity wiill support that))

next jungle
#

2.4.2 woud be

hearty shard
#

2024

next jungle
#

makes sense

hearty shard
#

October 6th 2024

#

2.3.3 was latest at the time

#

and also

#

my comment specifies 2.4.2

restive turret
hearty shard
#

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

restive turret
#

well doesnt have deps for it which is good

#

(or doesnt say)

hearty shard
restive turret
#

can you make it to use latest instead

hearty shard
#

i made a comment

#

im not exiled dev

restive turret
#

forcing now everyone in 15.0 and Exiled 10 to be up-to-date everthing

thin shuttle
#

We will update for Exiled 10

hearty shard
#

cool

restive turret
#

idk if exiled 10 will be on 15.0

hearty shard
#

no clue but

#

@slate flume ^^

slate flume
#

Fucking big

#

Love to see it

hearty shard
#

tbf it already was planned

#

just exiled 10 never happened

slate flume
#

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

hearty shard
#

true

#

secretapi >

next jungle
#

real

hearty shard
#

i will refrain from updating for the time being

restive turret
#

or just update

hearty shard
#

id like to finish my source gen for secretapi but holy shit am i confused

restive turret
#

and ignore

hearty shard
#

tbf.f....

#

i dont use secretapi....

#

if it breaks that sounds like....

next jungle
hearty shard
#

not my problem....

restive turret
#

i know

hearty shard
hearty shard
next jungle
#

anyways uhh back to figuring out why my player is not in global chat

hearty shard
#

what else to add to secretapi

#

hmmm

restive turret
#

support for net10 application s

hearty shard
#

get out

#

slime boy

#

ur evil

slate flume
#

I still need to time some of the reflection I do in my project to see if I could improve it with source gen

hearty shard
#

wowzers

#

which specific parts

restive turret
#

scr gen is so complicated

#

ew

hearty shard
#

you make it for me

#

thanks bestie

restive turret
#

i have to make one for myself too

hearty shard
#

nono

slate flume
#

Source gen is dope

hearty shard
#

make mine

restive turret
#

making aot serialiable library

#

cus none of the existing one support it

hearty shard
#

damn

languid temple
#

but make it very secret

hearty shard
#

good point

#

ill make sure it breaks servers 1% of the time

slate flume
slate flume
#

Decontamination.TimeUntilDecontam

slate flume
hearty shard
#

gulp

hearty shard
#

hi miller

languid temple
#

bye eve

hearty shard
#

oh...

slate flume
#

You can figure it out by doing some math with the offset but it's not written in explicitly

hearty shard
#

i see

next jungle
#

💀

[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
slate flume
#

So peak

next jungle
#

im not even sure what could be resetting it atp

worn gull
languid temple
#

meg vmi adatszerkezetek

slate flume
worn gull
worn gull
#

Megszentségteleníthetetlenségeskedéseitekért

#

Don't ask how this is in english

languid temple
#

később talán

#

all fun and games until bsod

slate flume
#

As an English speaker my first thought was that it was an acronym or something lmao

worn gull
#

vmi=valami=something

static meteor
next jungle
#

wait what

#

in offline mode it works

#

but doesnt for online??

thin shuttle
#

That how it's planned

static meteor
next jungle
#

most likely

#

still i didnt expect ac to be touching voicemessages

slate flume
#

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

next jungle
slate flume
next jungle
#

wdym by invalid

slate flume
#

Incorrect

next jungle
#

channel is sent to ScpChat

slate flume
#

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?

next jungle
#

in reverse

slate flume
#

Trying to send human chats to SCP?

next jungle
#

im trying to have a human class be in scpchat

#

which does work as long as online mode is disabled

slate flume
#

And you accomplished this by setting the channel in SendingVoiceEvent to SCP?

next jungle
#

im setting channel to ScpChat and somehwere later its forced back to proximity

slate flume
#

Where are you setting the channel

next jungle
#

PlayerEvents.SendingVoiceMessage

upper vapor
next jungle
#

and when i check in Receiving its still scpchat

upper vapor
#

change it to roundsummary in receiving maybe?

slate flume
upper vapor
#

or cancel the event and send a new voice message

next jungle
#

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

slate flume
#

Afaik humans aren't set up to work with SCP chat

#

The voice chat system is very weird

next jungle
#

indeed it is

next jungle
slate flume
#

They call me epic and handsome

next jungle
#

scp sl be like
human speaking in SCPChat ❌
human speaking in RoundSummary ✅

slate flume
#

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

next jungle
#

nah like i said it DOES work with online mode disabled so its most likely anticheat tweaking

#

unless invalid channel defaults to global

slate flume
#

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

next jungle
#

online mode disabled generally means its not calling any external servers

#

at least that is how it works for other games

slate flume
#

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

next jungle
#

as long as it doesnt require a boot driver its fine with me

slate flume
#

It would be nice to have it working without doing RoundSummary Bs

next jungle
upper vapor
next jungle
upper vapor
#

eh

#

if you put it that way

slate flume
#

It's more just the client noticing something is wrong and correcting it

upper vapor
#

but the server also validates it

#

yeah

slate flume
#

It doesn't believe that the message you send it could ever be valid

next jungle
slate flume
next jungle
#

indeed

slate flume
#

So open a LabAPI report and have the maintainers investigate for you in like a year

#

Low priority -type shit

next jungle
#

damn that fast??

restive turret
#

hey everything is slow

#

not like everyone is doing this 10 hours a day

slate flume
halcyon folio
slate flume
#

The production pipeline for SL is what makes changes take so long, less the dev stuff

halcyon folio
#

SL is nice but think of future

slate flume
restive turret
#

well most people have jobs or in the university next to SL dev

halcyon folio
slate flume
#

I just tend to give hobbies 110%

halcyon folio
#

Can relate

slate flume
#

I was in school when I first started here and I actually did more programming then than I do now lmao

restive turret
#

I also do many other stuff while i play or dev for sl

slate flume
#

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

halcyon folio
#

Side projects are very important

restive turret
#

80% of me is literally shady stuff

halcyon folio
#

Huh

teal junco
#

What real life stuff are you supposed to even program

slate flume
restive turret
#

no

restive turret
#

RE

halcyon folio
teal junco
#

When youre like me and have no applicable knowledge in anything besides language, basic logic and scp sl

halcyon folio
slate flume
#

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

halcyon folio
#

I use .NET for side projects

#

There’s many things beyond .NET too

restive turret
teal junco
halcyon folio
#

Even if someone did. Try to make it better

restive turret
#

well I mostly code in .net too so

slate flume
halcyon folio
teal junco
slate flume
halcyon folio
#

People are capable of doing great things

hearty shard
#

istill need to find devs for my stuff

#

it is very unfortunate

halcyon folio
#

Like myself

#

Like you

restive turret
#

yoy

hearty shard
#

icedchai is evil

next jungle
#

yoy

hearty shard
#

hi slime boy

halcyon folio
halcyon folio
restive turret
#

I am bad at managing time

#

or my projects

teal junco
teal junco
restive turret
#

i mostly do stuff that i want when i waken up

hearty shard
restive turret
#

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"

teal junco
hearty shard
#

you flipping flipper

#

im gonna flip you

slate flume
hearty shard
#

also

#

what the act ual fcuk

#

LocalDeclarationStatementSyntax resultDeclaration = LocalDeclarationStatement(
VariableDeclaration(NullableType(IdentifierName(CommandResultLocation)))
.AddVariables(VariableDeclarator(ResultArgName)
.WithInitializer(EqualsValueClause(LiteralExpression(SyntaxKind.NullLiteralExpression)))));

teal junco
hearty shard
#

🥀

halcyon folio
#

If you have an idea and have the passion. You will make it

slate flume
halcyon folio
#

@teal junco

teal junco
#

I got hit up recently to fix one of my plugins, but it was really hard to find the motivation to.

slate flume
halcyon folio
#

Plugins are something, but you can also think beyond game development

teal junco
#

Plus another one of my plugins is majorly broken but I cant find the motivation to fix that ejther

slate flume
teal junco
slate flume
#

You're an independent person and you make your own choices, the only person who has to hold you accountable is yourself

teal junco
#

But generally I cant do it

teal junco
slate flume
halcyon folio
slate flume
#

People aren't interested in doing a ton of free work for years on end

teal junco
#

I heard good things about Maui but i also heard thats harder to use

halcyon folio
teal junco
#

It feels so demotivating to see updates slowly destroy your plugin. No matter how much you keep up it will always break again

halcyon folio
#

That's with anything in development

teal junco
#

Gotta be a special kind of worker to keep going like that for a free game mod

halcyon folio
#

New updates deprecate/obsolete stuff

halcyon folio
slate flume
teal junco
slate flume
#

No updates needed

#

You just have to make them right

teal junco
#

Interesting

#

Yeah I never got transpilers honestly

#

People have told me to research them but its kinda scary

slate flume
restive turret
teal junco
halcyon folio
slate flume
teal junco
#

I thinkive read about that

halcyon folio
unique crane
slate flume
# teal junco locating the correct instruction?

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

teal junco
#

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

next jungle
#

possibly

slate flume
slate flume
#

Make your code as flexible as possible

teal junco
#

I guess if that code never gets fully changed it shouldnt matter really

slate flume
#

So long as the general structure of any function I've patched is kept, my code will continue to work

restive turret
#

me when i finding your patch and rewirte the function

teal junco
#

evil slejmur

teal junco
#

im not the evil one

halcyon folio
#

Slejm would not revert

#

Evil Slejm would revert

restive turret
#

revert

halcyon folio
#

(edited)

next jungle
#

and only after 18h of debugging i got working human scp chat 💀

warped prairie
#

I read intently in this chat

#

So many words I have yet to understand lmao

upper vapor
teal junco
upper vapor
next jungle
#

ngl transpilers would be so much eaiser to debug if you could save modified assmeblies

halcyon folio
#

I can learn it if I took the time to study it

#

Atm I have other priorities

next jungle
#

they are pretty easy as long as you understand how the stack works and have some reference IL to look at

halcyon folio
#

🙂‍↕️

slate flume
#

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

warped prairie
#

What do people here be making their own transpilers for? I get the idea of a transpiler but like what for?

next jungle
#

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

upper vapor
halcyon folio
upper vapor
#

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

warped prairie
#

Jovix is tweaking guys help him

hearty shard
#

@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

hearty shard
#

out CustomCommand? subcommand

#

instead of out subcommand

slate flume
#

90% of my transpilers are for fixing SL bugs

warped prairie
#

Ohh so it’s not the transpiler I’m thinking of which is like language to language?

slate flume
hearty shard
#

transpilers are generally used for modifying code without causing the issue of duplicate code

#

or yk

#

for long methods

#

you dont rly wanna copy paste the entire method and then carefully check every update if it got changed

#

also