#plugins-dev-chat

1 messages ยท Page 47 of 1

unique crane
#

I fix the black screen on respawn too

random scaffold
#

ask chatgpt

restive turret
#

My grandma can help better than chet gipiti

unique crane
#

Aha so the ratio itself is NaN

harsh thorn
#

i believe its a leftover from old sl

#

with unet you had to do it like that

#

iirc

#

and was just never changed with mirror

restive turret
harsh thorn
#

maybe old mirror versions too cuz mirror was based on unet

hearty shard
#

Hmmm

restive turret
unique crane
#

Yep

restive turret
#

Cinema

#

Now you know what needs fixing

hearty shard
#

David fix david

restive turret
#

As a IDA malware picture said in reverse:

ClassDTroll While I sleep you work.

restive turret
random scaffold
#

slejm moment

hearty shard
unique crane
grand flower
#

So wait @unique crane your fixes would mean ServerSetRole would send the role sync info and then run PlayerChangedRole on the same frame right?

#

If so - that'd be sweet because I'm finding more and more of our plugins breaking in weird ways because of the delay now hah

#

made the assumption that ServerSetRole would run OnPlayerChangedRole a lot in our code

#

which is fine since that was the case but not anymore

grand flower
#

is the scp blink black screen triggered by the server?

random scaffold
#

how i can check if the players already can join to the server?

#

like Round.WaitingOnPlayers or something

grand flower
#

They'll be able to join then yes

random scaffold
#

?

grand flower
#

It's called by the host player when its character class manager is initiated

#

That's around the time players will join

#

So you can just use WaitingForPlayers

#

Just witnessed a reverse NW moment

#

didn't think that bug would be fixed that fast

static osprey
#

ill report this, thanks for the report :D

grand flower
unique crane
#

Do not take this as confirmation of it being in the next update

grand flower
#

Of course yeah

#

Fixed the bugs I had for now, but crossing my fingers that's the case DogKek

#

I'm starting to be annoyed at myself for the patches

unique crane
#

Sorry for fixing it

grand flower
unique crane
#

No it was Jesus

#

QC

grand flower
#

nice

#

are you allowed to explain what was going on or nah

#

because i'm hella curious how something like that happens heh

upper vapor
#

was this due to division by zero?

unique crane
upper vapor
#

:3333

unique crane
#

Max health was 0 for 1 frame after role changed

upper vapor
#

well that's lovely, innit

unique crane
#

And since it aint a number

#

Clamp01 didn't handle it

unique crane
grand flower
#

sounds good

#

finding repro steps for it made me lose hair

slate flume
#

So one thing I've noticed is that very occasionally, when a player jumps on the very edge of some kind of ledge, they continue make the jump client-side and keep going, but a couple seconds later lag-back to under the ledge as if they didn't make the jump

#

Is there a way I can fix that

grand flower
#

nop

#

Whatever SL does for networked movement is very prone to disagreements between client and server

unique crane
#

Yes there is slight issue with the movement system

#

especially if you have higher packet loss

#

and go around corners quickly

slate flume
#

Gotcha

#

Thank you ๐Ÿ˜„

unique crane
#

@slate flume However you can try to fix this

#

as this is server-side issue

upper vapor
#

disable anticheat toomuchtrolling
-# except it's against the VSR

unique crane
#

No its not anticheat

grand flower
#

i was about to say

#

if the AC handled movement corrections

unique crane
#

Its that it takes last position from you

#

and moves you towards it

#

so if you stand behind a wall

#

go around

#

but in meantime you have packet loss

#

and then stop behind

#

the server will try to move you simply forward

#

colliding with the wall

grand flower
#

Kinda feel like that's not really fixable without rewriting how movement is done in SL

slate flume
#

Interesting

grand flower
#

unless you just accept the client's request

unique crane
#

Cheaters: haiiii

grand flower
#

yeah

#

like yeah you can fix the rubberbanding by trusting clients blindly

#

pros: no more rubberbanding

unique crane
#

Compensate with kernel anti cheat

grand flower
#

cons:

#

i love that gif

#

SL's movement was like, my number one gripe with the game for a while

slate flume
#

Instead of moving people to position sent by the client, why not use an input buffer that runs the inputs the player gave to verify movement?

grand flower
#

especially old servers room

#

that's generally the way it's done for games like SL

#

but, it wasn't done that way

slate flume
#

Interesting

#

Make my own input buffer

#

Lmao

grand flower
#

Can't since it'd need to be implemented on the client as well

slate flume
#

Sadly yeah

grand flower
#

So unless NW one day decides they wanna rewrite movement, no luck

slate flume
#

๐Ÿคท๐Ÿผ

unique crane
#

Well the issue here is simply on the server

slate flume
#

Guess I might just have to make the skill jumps I made a little easier

#

To compensate for server network lag

unique crane
#

You just have to work with all the packets that arrive at once

#

cause its reliable ordered

restive turret
#

Well depends what it sneds

#

Sends

#

The speed vector or the actual position

unique crane
#

Your desired position

#

From which the server moves towards to

#

and your desired rotation

#

and whetever you want to jump

restive turret
#

Teleport :trol:

unique crane
#

Only time when server fully trust your position input is when you have noclip enabled

#

which is like..

#

makes sense

slate flume
#

I could maybe write code that does rudimentary pathfinding to determine obstructions and then use that to determine whether or not to accept the client position

#

But that sounds like a lot of work

grand flower
#

open up applications so I can rewrite the entirety of the networked movement system, get it merged, and quit

restive turret
#

๐Ÿ™

slate flume
#

^

#

I can get behind this

restive turret
#

Open up application so Cyn find and fix bugs

slate flume
#

Half the time I'm doing skill jumps I get rubberbanding

restive turret
#

Also can we get rid of toilet light flickering

slate flume
#

It's made playing SCPs like 3114 and 939 SO frustrating because when players are jumping around, you need precise input + movement

upper vapor
restive turret
#

Please, I want them GONE

upper vapor
#

-# OptiFine

grand flower
#

question

#

is there a way to reset the fall damage velocity of a player

restive turret
grand flower
#

don't want them to take fall damage after teleporting them

upper vapor
slate flume
#

Oh yeah

upper vapor
slate flume
#

Is there a way to fix the Lantern flicker

unique crane
restive turret
slate flume
#

Or is that client-side

restive turret
slate flume
#

Shit

restive turret
#

Dont use it

slate flume
#

But

#

but

restive turret
#

Had the same issue

slate flume
#

Lantern

grand flower
unique crane
#

Yeah I belive so

#

Look what noclip does

restive turret
#

Cant do shit with it ๐Ÿ˜ญ

unique crane
#

when you toggle it off

upper vapor
grand flower
#

yep that's what noclip does

#

sweet

restive turret
#

FpcMotor.falldamageTime = float.NaN ClassDTroll1

grand flower
#

i'm mathing up some checks so that one of our SCPs that can teleport a player to the position of the ping doesn't push the player through the floor

#

(โ•ฏยฐโ–กยฐ)โ•ฏ๏ธต โ”ปโ”โ”ป

upper vapor
slate flume
#

David, can you stay up late and fix every bug in the game? It'd be a huge help

grand flower
#

it sucks

slate flume
#

๐Ÿ™๐Ÿผ

grand flower
#

mmmm yes

#

definitely where that should've placed the player

restive turret
#

Inside the wall

grand flower
#

it placed it above the room

#

which is better than falling to their death in the void but like

#

ehh

restive turret
#

As happened one of the times for puppet in a video

upper vapor
grand flower
#

the player

restive turret
#

Can you ping the Surface roof?

upper vapor
#

add the normal of the ping to the position

grand flower
#

don't think so

restive turret
#

Damn

grand flower
upper vapor
#

oh aight

grand flower
#

doesn't fix it if I ping the wall close to the floor

upper vapor
#
  • vector3.one
grand flower
#

because yeah, you'll be away from the wall, but you'll be halfway inside the floor

restive turret
#

If (pos == isFloor) break

upper vapor
#

or,

grand flower
#

needs to be a little more solid than that

upper vapor
#

Vector3.one * player.transform.localScale.y

slate flume
#

I love when my code has like 14 sanity checks just in case something breaks

restive turret
grand flower
#

I don't wanna place the player higher than it needs to be

restive turret
grand flower
#

the idea is that it places the player just high enough to touch the floor

#

or as close as possible to that

slate flume
#

I've had to resort to using ReferenceEquals(x, null) on some items because the compiler bitches when I do something like ev.Player == null

upper vapor
#

or almost up

slate flume
#

But sometimes the player actually is null lmao

grand flower
#

doesn't work well enough

restive turret
#

It never does it for me

#

U using rider

slate flume
#

Ye

grand flower
#

Player can't be null though

restive turret
#

Skill issue

upper vapor
#

how can the player be null ๐Ÿ˜ญ

grand flower
#

Only time it can is like

upper vapor
#

which event

grand flower
#

Player.Get()

slate flume
#

What I know is

#

I had events that were breaking

#

And then I started doing ReferenceEquals(ev.Player, null)

#

And it fixed

upper vapor
#

you can still check for null the normal way

grand flower
#

what events

upper vapor
restive turret
slate flume
#

I think I mostly did it with pickups tho

restive turret
slate flume
#

Oh yeah

#

This one

restive turret
#

Lmao

#

Yeah

upper vapor
#

"created a null pickup"

restive turret
#

Pick-up being null

slate flume
#

ev, ev.Pickup, and ev.Pickup.Serial are all non-nullable

unique crane
#

what

restive turret
#

Serial is int

slate flume
#

But sometimes the Pickup, or a related item, IS null

#

So I check it

#

And it works

restive turret
#

*ushort

upper vapor
restive turret
slate flume
#

I no longer get NREs

restive turret
#

0SteamHappy

slate flume
#

Because I ReferenceEquals(ev.Pickup, null)

upper vapor
#

๐Ÿ˜ญ

restive turret
#

No

#

Or yes

#

Idk

grand flower
#

You have to check IsDestroyed on wrappers

#

Before accessing properties that read from Base

restive turret
#

ArgumentNullException.ThrowIfNull

upper vapor
restive turret
#

๐Ÿ™

slate flume
#

Peak code

grand flower
#

Player can't be null

slate flume
#

But

upper vapor
grand flower
#

ever

slate flume
#

It was

slate flume
grand flower
#

Unless you patched something out

slate flume
#

I added the check

restive turret
slate flume
#

No more NREs

grand flower
#

It wasn't from Player

#

It literally cannot call that event without a player

upper vapor
restive turret
#

Ye

#

I think thats in .net core

slate flume
#

I literally don't know what to tell you other than that check the player for null resolved all of my issues

#

I was getting NREs every round without it

#

Now I get none

grand flower
#

If you have any kind of patches

#

One probably is fucking up SL

slate flume
#

I do have patches but they don't do anything that complicated

restive turret
#

Silent patch making every .Get function returning null ClassDTroll1

slate flume
#

My guess was just that sometimes it calls OnPlayerChangedRole when a player leaves, so some aspect of ev.Player that I was checking was null

#

So when I check ev.Player for null, it also kind of "verifies" that

slate flume
#

So yeah

#

Player is sometimes null

#

Just only when the player doesn't exist

#

So I use

#

ReferenceEquals

#

My king

unique crane
restive turret
#

Did you fixed it david

unique crane
#

fixed what

grand flower
#

That'll fix it

restive turret
#

Null check?

#

Idk

grand flower
#

Although I guess it doesn't fix the root cause with 079

#

we'll never know

grand flower
#

im gonna go insane trying to figure out the correct way to find a valid spot for the player

grand flower
#

I'm teleporting a player where I ping with 079

#

Except if you ping a wall, but at floor level, the player just phases through the floor

#

our players are unhappy about it so I'm trying to handle most cases where that could happen

slate flume
#

What if you do a Raycast

grand flower
#

Does SL have a way of determining if a point is inside a room?

slate flume
#

To determine the floor

grand flower
slate flume
#

Baller

grand flower
#

or well

#

overlaps

slate flume
#

I use casts way more often than I ever thought I would

#

Just so versatile

unique crane
#

and if it hits, move it like 1f up

grand flower
#

i'm using the controller's height & radius so I can be exact

#

there's no room in SL with holes in the ground right

#

like, floor that isn't fully solid

#

I don't think so but i'm wondering before I do raycasts

restive turret
#

Testroom?

#

Or waterfall room?

grand flower
#

not talking about rooms with pits

#

mostly don't wanna cast to the floor and go through like a tiny hole or something (even though the player is standing on the floor)

#

but i don't think SL has any room like that

restive turret
#

No i don't think there is such

royal mica
restive turret
#

It can be null

#

Like dummy

#

Or pre verified player

royal mica
#

Yeah, but Disconnect event isn't fired for Dummies

restive turret
#

R u sur

royal mica
#

No, i wanted to ask but forgot the ?

hearty shard
royal mica
#

There is, just didn't use it

#

I'm paranoid from the NWPluginAPI days where the .Get always failed

grand flower
#

Just wondering

#

is the 079 ping ratelimit clientside

#

or can I reset the ratelimit on the server

#

heh

hearty shard
#

whatd u do

#

is it?

#

i haventseen this

unique crane
#

Well can you show us server log..?

hearty shard
#

yeah

#

show smth

#

๐Ÿ˜ญ

#

if it kicks theres a kick reason

icy knoll
#

especially if ur given that kick reason on the client

hearty shard
#

local admin logs ?

icy knoll
#

show local admin log

grand flower
#

check local admin logs

icy knoll
#

not server logs

hearty shard
#

also player.log on client

#

could have smth

grand flower
#

doesn't happen to us

#

my guess is you have an exception in the event handler

#

that's called during the rpc handler

hearty shard
#
[2025-06-19 09:17:46.092 +00:00] Authentication token of player 76561198149956030@steam has been confirmed by central server.
[2025-06-19 09:18:52.543 +00:00] [STDOUT] NullReferenceException: Object reference not set to an instance of an object
[2025-06-19 09:18:52.544 +00:00] [STDOUT]   at AlphaWarheadActivationPanel.Start () [0x00000] in <d9731e675e55453197cf28cd60eed3f2>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT] Disconnecting connId=2 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at Mirror.NetworkBehaviour.get_isServer () [0x00006] in <ae599454e38d4008a675271403de09db>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at Mirror.NetworkBehaviour.SendRPCInternal (System.String functionFullName, System.Int32 functionHashCode, Mirror.NetworkWriter writer, System.Int32 channelId, System.Boolean includeOwner) [0x00023] in <ae599454e38d4008a675271403de09db>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at AlphaWarheadActivationPanel.RpcGranted () [0x00006] in <d9731e675e55453197cf28cd60eed3f2>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at AlphaWarheadActivationPanel.set_IsUnlocked (System.Boolean value) [0x00021] in <d9731e675e55453197cf28cd60eed3f2>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at AlphaWarheadActivationPanel.ServerInteractKeycard (ReferenceHub ply) [0x00038] in <d9731e675e55453197cf28cd60eed3f2>:0
[2025-06-19 09:18:56.577 +00:00] [STDOUT]   at AlphaWarheadActivationPanel.ServerInteract (ReferenceHub ply, System.Byte colliderId)
#

thats a mirror error

#

ur serveer might be broken

#

this is erroring with null ref

#

so permsIndicator / nfcScanner

unique crane
#

@full wedge Can you show us the code thats causing this?

#

As I do not see any labapi methods in the stack trace

#

Well then you might want to reinstall your server

hearty shard
#

well

#

your specific server

#

is having issue

#

i havent heard this

#

it has to be basegame

#

or... you issue

grand flower
#

if you had a plugin fucking up i'd say yeah

hearty shard
#

but its weird

grand flower
#

but vanilla? probs a broken server

hearty shard
#

thought you said no plugins

grand flower
#

i thought you said you had no plugins

hearty shard
#

ah

#

idk

#

cyn did u test it just now

grand flower
#

I mean I can

unique crane
#

@full wedge Can you confirm the issue on BLANK server

hearty shard
#

i have seen nuke go off without issue

unique crane
#

No plugins

grand flower
#

again if this was an issue

unique crane
#

Because we have no reports of this

#

Yeah

grand flower
#

making me open two games at once

#
  • the server
#

my poor pc won't survi-

unique crane
#

"no plugins"

#

yeah sure buddy

#

Whats this then?

#

Well can you remove the plugin

#

and replicate that issue

grand flower
unique crane
#

and send me that log?

#

No

#

Clean server

#

no plugins

#

Hm?

#

Well I dont see any exception in that log + there is still a plugin loaded

upper vapor
#

Oh eve had answered already

#

Rename the .config/LabAPI directory temporarily and see if it still happens

#

If it doesn't, test the occurrence per every separate plugin enabled, and go to its author

icy knoll
#

day 3 of waiting for scp proximity chat plugin :3

grand flower
#

be the change you want to see

#

wouldn't be that hard

#

especially with custom keybinds to switch between scp chat and prox chat

icy knoll
#

axwabo is making their own

#

i believe they are stuck at a road block rn

grand flower
#

what's the roadblock

icy knoll
#

some volume mishaps

upper vapor
#

I don't wanna amplify it on the server WAAAAAA

grand flower
#

huh

icy knoll
upper vapor
hearty shard
#

ax i hate you

grand flower
#

can you not just set the voice channel to prox

#

or do clients do filtering

icy knoll
hearty shard
icy knoll
#

smh

hearty shard
#

theyre using speaker toys

#

to prevent that

upper vapor
#

Surprise

hearty shard
#

and speaker toys are quiet

#

idk

grand flower
upper vapor
hearty shard
grand flower
#

big nw moment

#

Just spawn multiple speakers with the same controller id to make them louder

#

ยฏ_(ใƒ„)_/ยฏ

unique crane
grand flower
#

that's what we do

icy knoll
grand flower
#

works perfectly fine

hearty shard
icy knoll
#

what else did you add ๐Ÿ˜ญ

upper vapor
hearty shard
#

woah woah woah

#

RACISM???

upper vapor
hearty shard
#

XENOPHOBIA?!??!!

upper vapor
#

With absolutely nothing in the labapi plugins directory?

icy knoll
upper vapor
#

Yes

#

I do

#

And another dependency :33

icy knoll
#

smh

#

another dependency to add here we come

unique crane
#

Yipeee I love dependencies

icy knoll
#

real

unique crane
#

But its alright

upper vapor
#

It's useful though
And you don't need the dependency of the dependency if you only have proximity chat

unique crane
#

we still arent on the javascript 500MB dependencies

upper vapor
#

Also I can just release pxc with a dependencies zip

upper vapor
#

Imagine

icy knoll
#

ive gotta migrate all these to labapi (except some already have labapi versions im just lazy)

hearty shard
#

yes migrate exiled to labapi

upper vapor
#

Dam

icy knoll
#

shush

icy knoll
#

ignore the exiled specific plugins

random scaffold
#

lumi moment

icy knoll
upper vapor
#

I have that too

icy knoll
#

it's a useful plugin

upper vapor
#

Don't wanna expose my IP if I'm streaming LA

icy knoll
#

i dont wanna see ips

#

i dont do ip bans

#

i banned my staff from doing ip bans also

#

so

upper vapor
hearty shard
icy knoll
#

cedmod alt detection gets rid of the stragglers

#

:3

#

anyway

#

does anyone know if it's possible to like have 2 configurations set at the same time during building?

unique crane
#

Wdym?

hearty shard
#

compiler statements

unique crane
#

Ah

#

preprocessors

icy knoll
#

like my plugin timers has 2 configurations for ruei and hsm

hearty shard
#

(it can, SL does it)

icy knoll
#

but i also want exiled and labapi support

hearty shard
#

guh

icy knoll
#

so instead of

#if EXILED-RUEI || LABAPI-RUEI I can just do #if RUEI

#

and then have #if EXILED in the right places

#

idk if it's possible so

unique crane
#

#define YOURPREPROCESSOR

icy knoll
#

so I'd need a define constants with like exiled or labapi inside of it or smth before i build

upper vapor
#
<PropertyGroup Condition="$(DefineConstants.Contains('EXILED-RUEI')) or ...">
    <DefineConstants>$(DefineConstants);RUEI</DefineConstants>
</PropertyGroup>
#

actually you can embed the defineconstants directive in another property group but then put the condition on it

icy knoll
#

wait so i make a build condition based on all of this and then just in the csproj, make it so it filters

#

hmm

#

good shout

upper vapor
#

yes

icy knoll
#

maybe smth like this? idk

upper vapor
#

you just duplicated the constants lol

icy knoll
#

not rly because it checks the condition before it adds, no?

upper vapor
#

"if contains exiled, add exiled"

icy knoll
#

EXILED-RUEI, EXILED-HSM

#

if contains exiled in there

#

add EXILED specifically

#

wouldn't that work?

#

or is DefineConstants an array

upper vapor
#

that's what you're doing rn

#

i mean

#

yeah do it like that but don't put the same constant twice Kek

#

also you're missing a parenthesis at the end

icy knoll
#

but

#

i dont see the issue as it wont add it twice as i wont have a build condition named "EXILED" anyway

#

it will be exiled-ruei or exiled-hsm

upper vapor
#

ye

icy knoll
#

unless DefineConstants is an array, then id have to add those

#

there

#

is that optimal? :3

hearty shard
#

2 EXILED-RUEI

icy knoll
#

huh

hearty shard
icy knoll
#

yeah

#

what about it

#

first adds EXILED

hearty shard
#

...

icy knoll
#

second adds RUEI

hearty shard
#

what about Labapi hsm

icy knoll
#

look at it

upper vapor
#

okay uh

icy knoll
#

last line has EXILED-HSM and LabAPI-HSM

upper vapor
icy knoll
#

๐Ÿ˜ญ

upper vapor
#

i thought it was an array ๐Ÿ˜ญ

icy knoll
#

ill revert back then

#

:3

upper vapor
#

me when

hearty shard
#

cba to test

#

but yk

icy knoll
#

me when it's not working i dont thin

#

yeah it's 100% not working ๐Ÿ˜ญ

#

so confused now

upper vapor
#

that's the build configuration

#

you're choosing

#

check $(Configuration) instead of defineconstants

icy knoll
#

oh yeah true

upper vapor
#

also, consider using global usings :3333

icy knoll
upper vapor
#

global using Name.Space

#

put it in whichever file

#

usually GlobalUsings.cs

#

Rider can do that for you btw

icy knoll
#

me when i dont know how to that either

upper vapor
#

click on a using

#

right click

#

convert to global using

icy knoll
#

ok genuinely about to cry

upper vapor
#

how does your csproj look currently

icy knoll
upper vapor
#

uh

icy knoll
#

did i do smth wrong ๐Ÿ˜ญ

upper vapor
#

did you save the csproj

icy knoll
#

autosave should be on

upper vapor
#

you need to press ctrl+s for csproj files to reload automatically

#
<Target Name="amogus" BeforeTargets="BeforeBuild">
    <Warning Text="$(Configuration)"/>
<Target>
#

add this and build

#

check what it prints

icy knoll
#

oh rider crashed out

#

"no projects loaded"

#

wtf

#

????????

upper vapor
#

target has to be in the project root level

#

not in a propertygroup

icy knoll
#

oh

#

right

#

time to fuck around with the sln

#

sln looks fine??

#

why does it say im on the wrong configuration

upper vapor
#

oh gosh

icy knoll
#

ok

#

turns out rider was crashing out

#

not the sln

#

now it works

unique crane
#

Rider moment

icy knoll
#

fuck sake

upper vapor
#

bru

unique crane
#

Visual Studio wins once again

icy knoll
#

david im not falling for ur propaganda smh

upper vapor
#

yeah the piece of microsoft that doesn't even let you change the language version

#

mhm

unique crane
upper vapor
#

they're trying to get people to move toVSC anyway

icy knoll
#

fuck i just realised i gotta learn base game ssss stuff because i use exiled's here ๐Ÿ˜ญ

#

@unique crane when ssss v2?

restive turret
icy knoll
#

what?

hearty shard
#

why

icy knoll
#

because if i use labapi i cant use exiled can i

#

smh

hearty shard
#

me when

restive turret
#

U when

hearty shard
#

you can use labapi while using exiled

#

me when you uhhh

icy knoll
#

i know

hearty shard
#

secretapi...

icy knoll
#

but i cant use exiled on labapi

restive turret
#

U when u relized noone using secretapi

icy knoll
#

and im not making people install a dependency ๐Ÿ˜ญ

hearty shard
#

im firing slejm

restive turret
icy knoll
#

hmm

hearty shard
restive turret
#

Ur not my manager

icy knoll
hearty shard
#

no this is why david loves me

restive turret
#

I don't think so

upper vapor
icy knoll
#

for SSGroupHeader, do you just put it before ur setting in DefinedSettings and it will work fine?

upper vapor
unique crane
#

what the fuck

upper vapor
#

insults & rage bait

#

"how a labapi programmer turned nw against themselves"

unique crane
#

Insane SCP SL drama

#

@hearty shard just make SSSS wrapper labapi pr

#

and everyone will have your dependency

hearty shard
#

im not happy w my wrapper yet

unique crane
hearty shard
#

but also

#

then whats the point of secretapi ๐Ÿ’”

unique crane
#

Its part of the not-so-secret plan to destroy it

icy knoll
#

me when probably bad solution

upper vapor
#

you can just

#

[..settings, header, setting]

icy knoll
#

did not know there was spread things in c#

upper vapor
#

collection expressions are cool

#

definitely haven't seen them elsewhere toomuchtrolling

icy knoll
#

real

#

why is DefinedSettings an array anyway seriously

upper vapor
#

also if we had System.Index in .net frameowork
gotta switch to .net standard sometime

icy knoll
#

super dumb decision

#

"makes it easy for plugin devs to add settings", instantly chooses the hardest way to add items

unique crane
#

I can change it to observable collection or something

#

And break every single SSS plugin

icy knoll
#

real...

unique crane
#

Actually..

#

if you do like

#

DefinedSettings = [...]

#

it wont break

upper vapor
#

DefinedSettings is aprop

hearty shard
#

david...

#

im going to break you...

upper vapor
#

so you could obsolete it and make another propery with a list

unique crane
hearty shard
#

why not

upper vapor
#

malicious software removal tool

icy knoll
#

yay my plugin built

#

thanks @upper vapor for the configuration stuff :3

upper vapor
#

np

royal mica
#

if I edit CSS or Ts file, it autoformats, but it doesn't know how to do it correctly so uses C# formatting, which is way different

random scaffold
#

YamlDotNet.Core.YamlException: (Line: 3, Col: 3, Idx: 54) - (Line: 3, Col: 3, Idx: 54): Exception during deserialization ---> System.Runtime.Serialization.SerializationException: Property 'normalized' not found on type 'UnityEngine.Vector3'.

#

what wrong

#

...

#

normalized didnt using

upper vapor
#

are you using the serializer provided by labapi?

random scaffold
upper vapor
#

then you should

random scaffold
#

why

#

and how

upper vapor
#

because it has serializers for things like vector3 and color

hearty shard
random scaffold
#

how i can normalized it?

upper vapor
#

.normalized

random scaffold
#

to offset with zero rotation

upper vapor
#

also

#

why would you

#

normalize that

random scaffold
upper vapor
#

no?

hearty shard
#

Vector3 of a position isnt the rotation

#

its the position

random scaffold
random scaffold
upper vapor
#

a normalized vector is a unit vector, in the same direcition as the original but with a length of 1

random scaffold
#

me need calculate offset from object with zero rotation

upper vapor
random scaffold
upper vapor
#

and then i realized why are you doing that

upper vapor
#

you can transform that back with transformpoint

random scaffold
#

its incorrect

#

because room have rotation

#

and if she will be have other rotation it spawn in the void

hearty shard
#

then store the correct rotation too

random scaffold
#

me need calculate offset from ojbect with zero rotation

random scaffold
#

its already that

#

what wrong

#

roomType = Unnamed

upper vapor
#

bro starts deleting it

random scaffold
#

no

upper vapor
#

why are you buta

random scaffold
upper vapor
#

why do you even have the second constructor

random scaffold
#

because i dont wanna use = new() { type = 3, offset = 2 }

upper vapor
#

just

#

make the offset not nullable and default instead of nul

#

zero is the default anyway

random scaffold
#

why config looks that

#

if its normal

hearty shard
#

whats the issue

random scaffold
#

type: Unnamed

#

...

hearty shard
#

oh

#

moment

upper vapor
#

skull

unique crane
#

YOu had 096 room there before?

upper vapor
#

this works perfectly

#

also, have you deleted the config to regenerate it?

unique crane
#

Yeah try that

random scaffold
random scaffold
random scaffold
#

um

#

now it generated normal

#

what the shit

#

its 100% was last config

#

-_-

hearty shard
#

logic moment

random scaffold
#

system too said what it last

#

by creation date and time

#

mklink one love

#

magic command

carmine prawn
#

๐Ÿ’€

#

yoo, why does WaveTeamSelectingEventArgs only provide SpawnableWaveBase, but others such as WaveTeamSelectedEventArgs provide RespawnWave?

hearty shard
#

forgotten

#

they didnt have wrappers when it was made origianlly

carmine prawn
#

ForgetAPI

#

๐Ÿ’€

#

and Ctrl+Shift+R

idle depot
#

The Cubeโ„ข

carmine prawn
#

if I want to change MaxWaveSize, which event can I use? OnServerWaveTeamSelecting seems too late

#

if no more elegant workaround, I would try with OnPlayerJoin and OnPlayerLeft

restive turret
#

Patch it

#

Or sub to something

upper vapor
#

patch WaveSpawner.SpawnWave

restive turret
#

Yes, u called me

upper vapor
#

VOLUME WARNING

icy knoll
#

no way wtf

unique crane
#

Epic

upper vapor
#

yes

#

:3

unique crane
#

I was thinking about plugin to stream voice from specific discord VC to in game broadcast or something

upper vapor
#

thank y'all

random scaffold
#

share code

upper vapor
upper vapor
random scaffold
#

but not in the axwabo.helpers

upper vapor
#

also

#

you'll need dependencies anyway

#

so

royal mica
#

I want this with music synced rave color change during MusicKillers World is Mine

#

imagine those colored light thingies but ingame pogs

upper vapor
#

with a bit of FFT magic it could be done

restive turret
#

Cant wait to sync carameldancen to a rave color

#

Wait can you get the audio current volume? Like db

upper vapor
#

the sample providers give you samples (amplitude) and you can convert that to decibels
you can create a provider that also reads to a separate buffer

upper vapor
#

go check out NAudio in the meantime

royal mica
#

oooh with this mp3 can be played

#

The Mp3FileReader class uses the ACM MP3 codec that is present on almost all consumer versions of Windows. However, it is important to note that some versions of Windows Server do not have this codec installed without installing the "Desktop Experience" component. icant

#

well that goes out the window

upper vapor
#

NLayer

#

NVorbis

#

i use those

royal mica
#

Oh I see

icy knoll
#

just found out about Directory.Build.props, lifesaver

unique crane
#

Yipee

icy knoll
#

legit i was so fed up of going into each project, grabbing the dll from the bin and uploading it to github releases

#

so i did some research

#

found it

slate flume
#

Is it possible to change player scale without effecting the hitbox?

upper vapor
slate flume
#

You rightt

#

You right

#

So I can just set scale on the FpcScaleController and then send a spawn message resetting scale

upper vapor
#

uh

#

why not set the transform's scale

slate flume
#

Because

#

Transform scale doesn't automatically sync

#

FpcScaleController does

upper vapor
#

that's what we want

slate flume
#

Set scale -> sync -> set scale again

upper vapor
#

sendspawnmessage sends the scale

slate flume
#

Change size -> sync -> reset scale

upper vapor
#

yes

#

just not with the fpcscalecontroller

#

we don't want those messages

slate flume
#

You can do:
transform scale -> spawn message -> transform scale
Or
FpcScaleController -> transformscale

#

Or am I wrong

#

I thought the scale controller at a base level does something to the effect of Transform Scale -> Spawn Message

#

Just in a wrapper

upper vapor
#

with fpcscale you get desync if their role changes

#

you also need to handle joining players

slate flume
#

Role change = reset scale

#

So no desync right?

hearty shard
#

fake size + fake role = desync

slate flume
#

Yes

upper vapor
#

right

#

huh is right

slate flume
#

But if I set transform scale to reset size

upper vapor
#

cuz the scale will be 1 anyway

slate flume
#

Then no desync

#

My goal is to change player appearance but not hitbox

#

So I just use FpcScaleController -> Transform Scale
Then handle joining players

#

That's it

#

I believe

upper vapor
#

i mean

#

at that point you might as well just send an fpcscalemessage

#

or

#

scalesyncmessage

#

whatever it's called

slate flume
#

Oh that exists?

#

Sick

#

That makes life 10x easier

#

I'm writing this down for later

#

You guys rock

hearty shard
#

to update scale

slate flume
#

Hurray!

#

If shit breaks I'll let you know

#

I'm off to buy groceries

upper vapor
#

bon appetit

random scaffold
#

is it possible manipulate shooting sounds and other?

upper vapor
#

there used to be a GunAudioMessage but now it's done with RPCs

#

so you need a firearm to play a gun sound

random scaffold
#

I want to create a +-large object, but the zones are always nearby. And the world is limited to -128, -128 and 128, 428, 128

random scaffold
#

i wanna so that this cannot be heard outside of schematics

upper vapor
#

oh

#

then you have to patch the audio module or what's it called

still thistle
#

guys help pls i am making a map on unity (sl-custom objects) i select compile all on shematics manager it not compile pls help guys

random scaffold
#

why by nw was given so little space

upper vapor
#

not to send to hubs outside

random scaffold
#

ask there

still thistle
#

ok

upper vapor
#

-# relative positioning system

random scaffold
#

more details big brain axwabo

upper vapor
#

find door prefab

#

spawn

random scaffold
#

where spawn?

upper vapor
random scaffold
#

you mean increase 128, 128 limits?

#

or teleport of the player

upper vapor
#

a door creates a cube with a "radius" of 128 around itself

random scaffold
upper vapor
#

yes

random scaffold
#

i can create door 500, 0, 500?

random scaffold
upper vapor
random scaffold
upper vapor
#

.

#

It also reduces load 12->7 bytes per packet

unique crane
grand flower
#

But yeah elevators I suppose

#

Granted there's less restricting and annoying ways to do so

random scaffold
#

pl.Position = shit.TransformPoint(relativePosition)?

#

or how it works

grand flower
#

But SL movement can't make use of those the way it's built

#

pl.Position = relative.Position I think

random scaffold
grand flower
#

It's not

#

Not SL's stuff

#

It's relative to a waypoint, the Position property returns the world space position

random scaffold
#

me need get prefab by id?

#

id static?

ancient walrus
#

Heyo
Quick question about LabAPI, what's the latest version installed on the dedicated ? Because on the github the latest is the 1.0.2, and on my server it seems that i got the 1.1.0 ( at least it's what the files properties tells me )

upper vapor
upper vapor
random scaffold
#

what me need do next?

#

only instantiate?

#

for create the door

upper vapor
#

also network spawn it

#

with this code you're creating a door right above the lcz wc door though...

random scaffold
true cedar
#

i think i may kill someone

upper vapor
upper vapor
random scaffold
#

no

#

now trying

true cedar
#

im trying to parse textmeshpro except i need to juggle maybe 500000 things

#

format items {0} noparse etc

random scaffold
true cedar
#

im writing some of the worst code of my life

upper vapor
#

:3

hearty shard
true cedar
#

oh ruei v3 is using spans

#

a lot

upper vapor
#

yes

#

YES

true cedar
#

except

true cedar
#

like

#

because i discovered that escape sequences

#

so like \u0057 or whatever it is

#

work for tags

random scaffold
unique crane
true cedar
random scaffold
#

for add door in the list and other

upper vapor
upper vapor
random scaffold
unique crane
#

I like the "TODO: fix"

true cedar
#

i have to find out how i want to support animated values too my life SUCKS

icy knoll
#

what is a span, i only know span as the html element ๐Ÿ˜ญ

random scaffold
#

but where it adding to the Door.List

true cedar
#

its like a

#

substring

#

but fast