#plugins-dev-chat

1 messages Β· Page 68 of 1

spare zodiac
#

will it be scaled and positioned based on resolution?

true cedar
#

u can implement that urself

#

i mean for vertical yea

#

but for horizontal no

spare zodiac
#

HSM has it

spare zodiac
true cedar
#

it is literally just

#

an <align=left> or <pos=500> etc

spare zodiac
#

you do you

true cedar
#

i mean if its really that necessary i can add it

true cedar
#

there are things that ruei v3 has that hsm doesn't

#

and my primary concern is making an eloquent system not trying to beat hsm

spare zodiac
#

also are you able to scale things float type lime 0.1, 0.01 etc.?

spare zodiac
true cedar
#

yea

#

why wouldnt u be able to

spare zodiac
spare zodiac
true cedar
#

im not sure why u need that but

#

yea

spare zodiac
true cedar
#

it supports hint parameters too im still proud of that

upper vapor
#

It's common knowledge that gravity doesn't go up, right and forward at the same time

upper vapor
spare zodiac
#

and it doesn't move itself automatically based on resolution so hints cut themselves

upper vapor
#

You can use float values with any unit

spare zodiac
#

when you change resolution to lower the hint is not in same position

upper vapor
#

That's why you use em

#

1em = default font size
2em = 2x font size

spare zodiac
#

em does some dark magic in the background?

#

yeah but that's size

#

then you position the hint somewhere on your screen

upper vapor
#

<pos=20%>

spare zodiac
#

if you design hint on 1080x1920 to be left next to your health and change resolution lower then it's cut off

upper vapor
#

I've never seen that as an issue, I'll test it

upper vapor
#

it's always rectangular (well, at least, has the same aspect ratio regardless of window size/aspect)

#

you can do some magic to make the text go to the very far end of the screen but at that point it's your fault

spare zodiac
upper vapor
#

does it let you place the hint on the very edge of the window?

#

i don't see how resolution would break it otherwise

restive turret
#

<pos=2800>

upper vapor
#

like here?

restive turret
#

Yes

upper vapor
#

how would XY coordinates fix that

#

if it's a constant pixel value

#

if you give it -200 and the screen isn't that big, it won't magically move itself
so surely HSM has a way to auto-adjust these, not just XY coords
if i gave it XY coords i'd expect them to be constant

#

okay so X=0 is the very left of the screen and not the hint canvas?

#

no

spare zodiac
#

tbh I could be talking dumb things rn I'm just saying information which I got

if you design hint to be c coordinate 30 on width 1920 you can

30/1920 * actual width

spare zodiac
#

well it's based on align

#

in what order did my messages sent? My wifi is dogshit

upper vapor
upper vapor
spare zodiac
spare zodiac
celest thorn
#

hiii

spare zodiac
upper vapor
grand flower
#

Would be nice if NW at least let us create UI on the client side via network messages

celest thorn
celest thorn
#

i currently use it

#

No RUIE

upper vapor
celest thorn
#

so

spare zodiac
#

ya

#

ano

celest thorn
#

lol

upper vapor
#

da

#

😭😭

celest thorn
#

thats russian

spare zodiac
spare zodiac
celest thorn
#

Π”Π°

#

or Da

#

how do you say fortnite in russian?

#

so sad still fortnite

spare zodiac
celest thorn
spare zodiac
#

did you know Robot is Czech word?

celest thorn
#

like

upper vapor
#

XDDDD

celest thorn
#

el topo que gira

#

crazy

celest thorn
#

in italian doesn't change

upper vapor
#

vc.. NOW

unique crane
#

Never!

upper vapor
#

david...

#

you

unique crane
#

Your starting to write like eve

upper vapor
#

yes

#

save me 😭

celest thorn
#

you are actually better than eve

#

she is a witch

upper vapor
upper vapor
spare zodiac
#

Robot is translated as Robot in all languages iirc

spare zodiac
celest thorn
#

machine?

upper vapor
#

yes

celest thorn
#

the first thing that came in my mind

#

when i thought of machine lol

spare zodiac
#

what do you do in Labapi VC's like

celest thorn
#

am i cooked?

celest thorn
upper vapor
#

yap

#

and

#

nerd

celest thorn
#

crazy i know

upper vapor
#

and mald

spare zodiac
#

don't you like have epic personal projects that you work on or like idk?

random scaffold
#

k)JLA0

grand flower
#

3 months of SL modding and I'm all wrung out

#

Probs gonna stop for the foreseeable future

icy knoll
#

then ill retire to just being maintainer :3

grand flower
#

I think fixing and rewriting 40+ plugins in 3 months is enough

grand flower
#
  • all the fixes to SL and performance improvements
#

we'll see if I'm motivated for more in a few months but right now, eh

celest thorn
#

wtf

unique crane
celest thorn
#

My connection dying

upper vapor
#

bru

celest thorn
#

Dead space is peak

#

The game where i was scared the most was fallout 4 Vr

#

Fucking cockroaches

sinful bronze
celest thorn
sinful bronze
#

Never think about that

icy knoll
celest thorn
#

But saying poppy playtime is horror

icy knoll
#

i played alien isolation, the whole game, and finished it.

celest thorn
#

Is probably spitting on them all

icy knoll
#

and i still think poppy playtime is good

#

sure, not the best horror

celest thorn
sinful bronze
celest thorn
#

In vr i think i will shit my pants

icy knoll
celest thorn
#

But never alien because its scary

#

Asf

#

Like that one

#

Is

icy knoll
#

smh

celest thorn
#

honestly

#

i might

icy knoll
#

poppy playtime is a great horror

celest thorn
#

buy it

#

and play it in vr

#

because why?

#

idk

spare zodiac
#

zer0

celest thorn
spare zodiac
#

have you tried removing door game object that is not door?

#

like the locked door in vt

celest thorn
#

but you cannot

#

Oh that door is fake

#

is part of the mesh lol

spare zodiac
#

teleporter has to be build infront of the door when expanding map because of it

celest thorn
thin shuttle
#

Likely all door that go out of the map are made from mesh

spare zodiac
#

Why is multithreading not more used in plugin development? Like eg. for coroutines?

celest thorn
#

ragebaiting

upper vapor
spare zodiac
#

it's simple enough to understand, so is it not in 4.8 framework or people are just not using or epic SL/unity limitation?

upper vapor
#

you need to take thread safety into account

#

jumping between threads is not very simple

#

there's Awaitable though

#

you can't invoke unity stuff from outside the main thread

spare zodiac
#

so I can use threads as coroutines without any problems then?

upper vapor
#

the question is, why would you

#

for long-running IO tasks, it makes sense

#

for coroutines, no

spare zodiac
#

sense in my context and other people is very different like I'm waiting for extension properties when a lot of people online said it wouldn't make sense

upper vapor
#

waiting for extension properties when a lot of people online said it wouldn't make sense

#

if someone says that, they need to perish

upper vapor
royal mica
#

Also you have to keep in mind, the game itself is single threaded, so modifying the game in a separate thread might mean you are already frames behind

grand flower
#

You're not even able to modify the game in another thread

#

You'll likely cause crashes

spare zodiac
#

guys it's not looking good

#

I can only make calculations and not for example use showhint :(

#

it's still useful for things I'm going to do so yea

#

could I do calculations for my object though? The object would be for example body and would have property blood which I would make thread that would take care of logic of the blood, that should work though right?

unique crane
unique crane
#

You can get it

#

no issues with that

royal mica
unique crane
#

but you cannot set it

unique crane
spare zodiac
#

πŸ”₯

royal mica
#

it'll be safe trust ReallyInnocent

spare zodiac
#

the questions is could I treat coroutines as threads and make like 10 coroutines at same time doing thing and then synchronizing them?

royal mica
#

Coroutines are technically syncronized

#

They do not require thread safety

spare zodiac
#

david recode the game to multithread trust the process

royal mica
#

You need a deterministic game engine for that dogkek

#

even Factorio has a huge problem with multithreading

spare zodiac
#

I saw job system that unity has and you can use to code multithreaded in unity though haven't looked to it very much

grand flower
#

Also yeah what are you doing that even needs multithreading

upper vapor
royal mica
#

Teeechnically, if you are able to make pure functions, you can multithread those, BUT you need to properly handle

grand flower
#

Again, why though

royal mica
#

To fuck with the game and come back in 3 months why server randomly dies

#

I've been there

#

I'm currently there

grand flower
#

There's like, zero reasons for multithreading of anything gameplay related

#

The only multithreading I do is to run a TCP socket in a background thread

royal mica
#

I want to vectorial calculate + AI train the coefficient of all player vectors matrix multiplied by trained model so I can determine if an apples falls far from the tree, does the sun eat burritos on sunday

upper vapor
spare zodiac
grand flower
#

I'm calling 911 on your behalf I believe you're having a stroke

grand flower
#

You do not need multithreading

upper vapor
grand flower
#

And you cannot

#

And you shouldn't

royal mica
#

Please trust, you are head diving into such a headache, that you jsut give up midway

#

You are not only loosing performance, debugging will be a pure nightmare

grand flower
#

Those calculations are also stupid simple

spare zodiac
grand flower
#

That's not experience

#

You should never multithread something like that

royal mica
#

This will give you negative experience, since you'll hammer in the fact that you can multithread games

spare zodiac
grand flower
#

It's extremely bad

#

Trust me, you will never do this in an actual project

upper vapor
spare zodiac
#

guys trust the process trolling

grand flower
#

There is no scenario where what you're doing is legit

#

Games don't work that way

upper vapor
#

Xname tell them

grand flower
#

Heh

terse bone
grand flower
#

I mean go ahead and have fun getting nowhere

#

It literally won't work

spare zodiac
#

I had before few NPCs (30) and calculating things for them like moves was a headache

grand flower
#

And you think multithreading is gonna solve that

#

Have you ever done multithreading before, out of curiosity

royal mica
#

Does multithreading solve marriage?

upper vapor
grand flower
#

You reminded me I need to order a ring LOL

upper vapor
#

-# you're both separate processes

grand flower
#

Holy shit this is random as fuck

spare zodiac
grand flower
#

Anyway, don't do multithreading for gameplay stuff, your scenario has 0 need for it, it'll break, you'll hate yourself

#

Even more the reason not to

terse bone
grand flower
#

You have no experience with it and I'm not joking when I say it won't work

#

You don't do gameplay stuff outside of the main thread for games

upper vapor
grand flower
#

It's impossible*

upper vapor
#

it's not worth it

grand flower
#

*except for very specific cases, which aren't yours, and require you being an experienced programmer

upper vapor
royal mica
#

I think even experienced programmers do not touch threading with a 10 feet pole

upper vapor
#

and don't cancel every cts

grand flower
#

I do, both in SL and at work

royal mica
grand flower
#

But I also know what I'm doing and I tread extremely carefully

#

I can't imagine a new programmer trying to do it haphazardly especially in a game

#

Best case, you'll crash

#

Worst case, you'll crash

hearty shard
#

hi chat

grand flower
#

Hi Eve

hearty shard
celest thorn
grand flower
#

And this is Unity

#

Best case at my work is I crash

upper vapor
# hearty shard

can you tell this guy to stop thinking about multithreading the game

spare zodiac
hearty shard
grand flower
#

Worst case is memory corruption and I have to debug it for 2 weeks straight

hearty shard
upper vapor
#

read the chat

hearty shard
#

worst case you just go gambling

#

i cant read

spare zodiac
#

oh I am going to multithread so much

royal mica
grand flower
#

Your funeral

grand flower
#

We've talked enough about it hah

spare zodiac
#

you warned me like 20 times already and I'm still dumb enough to try it zo ye

hearty shard
#

cyn would you give me money for my gambling addiction

grand flower
#

If I had money

#

Times be tough, game dev industry too

grand flower
grand flower
#

yoink

#

That gif is mine

upper vapor
#

i stole it too

grand flower
#

Dang

upper vapor
hearty shard
#

alright chat

#

time for skibidi toilet simulator

upper vapor
#

no

#

time for secretapi v2 stable release

upper vapor
#

kezboard lazout moment

hearty shard
upper vapor
#

i haven't tested anything

restive turret
#

just write test

hearty shard
#

ive been busy

upper vapor
spare zodiac
#

the fully safe road is for safe thread people sunglas

hearty shard
#

busy!

upper vapor
#

drake laptop gif

royal mica
upper vapor
#

XDD

hearty shard
#

btw

restive turret
#

lel

hearty shard
#

werent u using settings

hearty shard
#

of secretapi 2.0

#

specifically

#

thats the only thing i wanted you to test lol

spare zodiac
hearty shard
#

like i had it working but i cant guarantee it works on other machines rn

upper vapor
hearty shard
#

ok cool

#

otherwise theres uh

#

CallOnUnloadAttribute but

#

its so similiar to CallOnLoad that i dont know if i care to test it

#

everything else i have in my own project and is just a copy

carmine prawn
#

is OnPlayerUsedItem unreliable?

grand flower
#

Define unreliable

hearty shard
#

cyn why arent u rich

grand flower
#

Job dried up

#

Waiting for new contracts

#

Got enough savings for a while so it's fine for now

hearty shard
#

im broke

#

πŸ’”

grand flower
#

Rip

carmine prawn
#

recording a video

#

minute

grand flower
#

Is it that you can cancel the event by switching item before the animation ends

#

If so, yeah

#

We've known about it for a looooooong time on Bright's but the playerbase wants to keep that bug in

carmine prawn
#

yep

grand flower
#

Because it's become a mechanic heh

carmine prawn
#

exactly

grand flower
#

Up to you if you wanna report it

carmine prawn
#

why not?

grand flower
#

I mean yeah it's a bug

#

I'll have to break it again if NW fixes it

#

Or well, another dev can, not working on SL stuff until i get motivation back

carmine prawn
#

πŸ’€

hearty shard
#

Does anyone have the SCP SL logo

#

either the ingame or the server icon for disc

upper vapor
hearty shard
#

thanks

upper vapor
#

np

inner citrus
solid mica
carmine prawn
#

bigger

hearty shard
#

nerds

upper vapor
restive turret
#

@hearty shard

hearty shard
#

nice quality

restive turret
#

ty

mild ice
#

Static version

restive turret
royal mica
#

@icy knoll TE_Stare

#

Does anyone have idea why RA_ is being replaced then in RA player list:

          stringBuilder.Append("<color={RA_ClassColor}>(").Append(hub.PlayerId).Append(") ");
          stringBuilder.Append(hub.nicknameSync.CombinedName.Replace("\n", string.Empty).Replace("RA_", string.Empty)).Append("</color>");
          stringBuilder.AppendLine();
#

It does some funny RA thing

#

Also no plugins used at all here, FYI

#

Also it happens when using steam name as well

#

Mainly my question: Why replace RA_ and what impact does it do

icy knoll
#

i imagine it's because RA_ is added to the start sometimes, when it actually doesn't exist in people's names

#

so they replaced it

celest thorn
#

yo does someone have MER

#

i need a schematic to be compiled

inner citrus
unique crane
#

Can you check if it does something if you have that in your name?

royal mica
#

This only happens in RA playerlist

#

I do not know other instances where it is replaced

unique crane
#

From my search

#

nowhere else

#

But the RA list is send as a one giant string

#

That is then parsed and such

celest thorn
unique crane
#

No

celest thorn
#

sad

unique crane
#

I used MapForge

celest thorn
#

i need a mer schem to be compiled

unique crane
#

Couldnt get mer to work

celest thorn
#

lol

unique crane
#

😭

celest thorn
#

and reinstalling unity 2021

#

with project would take me 20 hours

#

so thanks no

unique crane
#

Leave it overnight

celest thorn
#

so

#

i kinda need it

#

i found someone lol

#

on the exiled discord

unique crane
#

oki

blissful pike
#

What is 0harmony and why do people use it?

hearty shard
celest thorn
#

My love harmony

severe cave
#

Why isnt there a door name for the scp 049s gate and 173s gate in hcz

#

is there a way to get it somehow?

celest thorn
#

Is chat dead

restive turret
#

Yes

celest thorn
#

So sad

spare zodiac
#

is lightbul breakint client sided or server sided/patchable to not break & start blackout in room?

celest thorn
#

ServerShat

severe cave
#

if a door doesnt have a Doorname then it is none?

upper vapor
upper vapor
#

to identify what exactly it is

celest thorn
#

Nah

#

Embed worked

upper vapor
celest thorn
upper vapor
#

WHAT

restive turret
severe cave
upper vapor
#

because it's not that special Nailpolish TFA_Sparkles

severe cave
#

?

upper vapor
celest thorn
severe cave
celest thorn
upper vapor
#

it's not special enough to have a DoorName assigned

restive turret
celest thorn
restive turret
severe cave
celest thorn
#

like its that the reason

#

don't ask us, ask nw

upper vapor
#

"today i identify as "

celest thorn
#

lol

celest thorn
restive turret
#

The one shall not be named

celest thorn
#

the shat one

sinful bronze
upper vapor
#

the rat shat the shart

celest thorn
#

just a capybara

#

or a capybara room

#

walls are the capybara

sinful bronze
#

Secret egg!!!!

#

Voices in the walls

celest thorn
#

1/10000000000000000000000th chance to spawn

upper vapor
sinful bronze
#

New achivement - shizo voice in ur mind

sinful bronze
#

Meow

celest thorn
#

meow

upper vapor
#

i turned the camera in unity and the whole computer froze for 5 seconds

sinful bronze
celest thorn
spare zodiac
#

are the broken doors synchronized to be same with all the clients or is it same as with ragdolls?

spare zodiac
# celest thorn Wdym?

the door when it's broken like from grenade and flies across the room is it client sided or server sided synchronized with all clients?

sinful bronze
#

unity update

slender lynx
#

@celest thorn nerd

celest thorn
unique crane
#

@celest thorn @upper vapor Are you two in the VC for the whole day...?

celest thorn
#

i joined after 5 hours

#

that i spent making a hub

slender lynx
#

no more talking

#

BACK TO WORK

celest thorn
#

ok

#

;(

slender lynx
upper vapor
#

you go back to work building the towers

slender lynx
#

makin money

upper vapor
#

boo

icy knoll
#

pay zero that money :3

upper vapor
#

yez

slender lynx
#

ur hilarious

#

zero gets paid in exposure

celest thorn
upper vapor
#

can you give her like a slice of bread

celest thorn
#

lol

icy knoll
#

just for that comment i’m paying my staff next month

celest thorn
icy knoll
celest thorn
#

||and showing how fucking this game is dogshit||

#

those are my motives

upper vapor
#

wow, such an accomplishment

icy knoll
#

i find it funny when people go to private jet charter companies and say β€œgive me a jet to miami and ill tag you in my ig post”

#

fucking influencers man

celest thorn
unique crane
#

How about you give me money and pay for the jet xd

celest thorn
unique crane
#

If I were the company xd

icy knoll
celest thorn
#

nw doesn't pay enough

#

i mean david is cool

upper vapor
unique crane
upper vapor
unique crane
hearty shard
#

deport david

celest thorn
hearty shard
#

legally not allowed to be here

hearty shard
celest thorn
#

#DavidPresident2026

unique crane
#

president of what

celest thorn
#

idk

hearty shard
#

i thought that was hubert

#

r u killing hubert

#

thats not nice

icy knoll
upper vapor
#

throne withdrawal

#

dethroning

#

yes

#

that's the word

upper vapor
hearty shard
upper vapor
#

um

#

have you attended a single history class

celest thorn
#

i love devchat

hearty shard
#

no

celest thorn
#

because its nameless being mean

hearty shard
#

well

#

yes

hearty shard
celest thorn
unique crane
#

Never mess with a country that invented defenestration

hearty shard
#

u deserve it

upper vapor
#

1419

#

that's ancient

slender lynx
#

zero is not getting paid
eve is getting deported
everybody wins

unique crane
#

Yes

celest thorn
hearty shard
#

zeros weird and wants to be homeless

unique crane
#

Ill take the money then

upper vapor
#

we're 50% there

celest thorn
#

i lost count

slender lynx
#

and not payin any of.yall

unique crane
#

I dont see anyone else saying that in here

#

so 0

celest thorn
unique crane
#

Also yall seen this crazy thing? XD

celest thorn
#

and gives you the basement

unique crane
#

Absolute cinema

celest thorn
#

2 fps every thousands years

#

thats why meow exist

upper vapor
#

and no primitive movement smoothing

#

i hate it sm when people make a recording in game and you can see them turn the camera instantly

#

please press the tilde, type smootinput and enter 😭😭

#

or use the filmmaker

#

-# ik it's not very good but like

slender lynx
#

@celest thorn remember this update

unique crane
#

what the fuck

celest thorn
hearty shard
#

ofc maro makes that

upper vapor
unique crane
#

For that? yea

celest thorn
slender lynx
#

the best tower ever

celest thorn
#

she is cool

#

nameless

celest thorn
upper vapor
slender lynx
#

d1 hater

#

all of yall

hearty shard
#

zero you watch skibidi toilet

celest thorn
#

chat does it look like shit?

unique crane
#

Whats that

slender lynx
celest thorn
slender lynx
#

needs more detail tho

upper vapor
restive turret
#

Consider deez nuts

unique crane
slender lynx
unique crane
#

you never know

celest thorn
slender lynx
celest thorn
#

pots

slender lynx
#

just do whatev to make it look good

celest thorn
#

i think in 2 days i will have everything ready lol

slender lynx
#

the limit is 200k

#

otherwise 59 tps

#

:(

celest thorn
#

because it takes nothing to load it

slender lynx
#

light work

celest thorn
#

compared to the old one

#

just saying

slender lynx
#

,,, no fuckin way

unique crane
#

capybara with wings?

#

I think I cooked this shortcut

celest thorn
celest thorn
slender lynx
unique crane
#

Real

slender lynx
#

i know what prefabs are

upper vapor
#

then use them instead of copy-pasting the same structure over and over pls

slender lynx
#

but editing a prefab without unpacking is a pain in the ass

slender lynx
upper vapor
#

not one cube

#

a group of cubes

hearty shard
#

cube prefab

slender lynx
#

thats STUPIS

#

like me

upper vapor
#

yes

slender lynx
#

im not doing it

upper vapor
#

prefabs aren't stupid though

slender lynx
#

also unity6k

upper vapor
restive turret
#

Counter strike?

upper vapor
#

countering the maro

slender lynx
#

good luck with that

tulip kiln
#

Sorry for interrupting your prefab conversation, but does anyone have a solution to a plugin destroying StaticUnityMethods by exceptioning?

upper vapor
#

try catch

tulip kiln
#

Excluding a try-catch around every subscriber

upper vapor
#

um

#

is it your plugin?

tulip kiln
#

Yes

upper vapor
#

you could make a try-catch wrapper function

#

method with an Action parameter that try-catches the action

#

if you wanna unsubscribe, you'll need to store the wrapped method

tulip kiln
#

So like my own staticmethods that subscribes to the actual staticmethods

upper vapor
#

kinda

#

i guess you could do

static Action SubscribeToUpdateSafe(Action action)
{
    Action wrapped = () => { try { action() } catch {} };
    StaticUnityMethods.OnUpdate += wrapped;
    return wrapped;
}
#

you can also make a custom component with the Update() method (i'm not talking about another version of StaticUnityMethods)
that'll log the exceptions to the LA log, no need for explicit try catch

#

add it to a player if it's player-specific and it'll be destroyed when they leave

tulip kiln
#

Unfortunately I need the "fix" to be a generic solution. I did this:

public static class StaticUnityMethods
{
    static StaticUnityMethods()
    {
        global::StaticUnityMethods.OnUpdate += Update;
        global::StaticUnityMethods.OnFixedUpdate += FixedUpdate;
        global::StaticUnityMethods.OnLateUpdate += LateUpdate;
    }

    public static event Action OnUpdate;

    public static event Action OnLateUpdate;

    public static event Action OnFixedUpdate;

    public static void Update()
    {
        if (OnUpdate == null)
            return;

        foreach (Delegate subscriber in OnUpdate.GetInvocationList())
        {
            try
            {
                subscriber?.DynamicInvoke();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
    }

    public static void FixedUpdate()
    {
        if (OnFixedUpdate == null)
            return;

        foreach (Delegate subscriber in OnFixedUpdate.GetInvocationList())
        {
            try
            {
                subscriber?.DynamicInvoke();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
    }

    public static void LateUpdate()
    {
        if (OnLateUpdate == null)
            return;

        foreach (Delegate subscriber in OnLateUpdate.GetInvocationList())
        {
            try
            {
                subscriber?.DynamicInvoke();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
    }
}

Are there any major reasons for not doing this?

upper vapor
#

that works, too

tulip kiln
#

Ok now it complains the original StaticUnityMethods class conflicts with my global using so I have to do it for each usage

#

πŸ’€

upper vapor
#

StaticUpdates

#

rename it toomuchtrolling

tulip kiln
#

You're too smart πŸ™

#

Ok has anyone had this happen?

[2025-07-15 21:48:37.641 +02:00] [STDOUT] NullReferenceException: Object reference not set to an instance of an object.
[2025-07-15 21:48:37.641 +02:00] [STDOUT]   at UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException (System.Object obj) [0x00018] in <6869b1608d104370ab4484f8f699b3fc>:0
[2025-07-15 21:48:37.641 +02:00] [STDOUT]   at UnityEngine.Component.get_gameObject () [0x00006] in <6869b1608d104370ab4484f8f699b3fc>:0
[2025-07-15 21:48:37.642 +02:00] [STDOUT]   at ReferenceHub.GetHashCode () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-07-15 21:48:37.642 +02:00] [STDOUT]   at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00035] in <13c0c460649d4ce49f991e2c222fa635>:0
[2025-07-15 21:48:37.642 +02:00] [STDOUT]   at System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue (TKey key, TValue& value) [0x00000] in <13c0c460649d4ce49f991e2c222fa635>:0
[2025-07-15 21:48:37.643 +02:00] [STDOUT]   at CollectionExtensions.GetOrAdd[TKey,TValue] (System.Collections.Generic.Dictionary`2[TKey,TValue] dictionary, TKey key, System.Func`1[TResult] factory) [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-07-15 21:48:37.643 +02:00] [STDOUT]   at InventorySystem.Items.Firearms.Ammo.ReserveAmmoSync.UpdateDelta () [0x00032] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-07-15 21:48:37.644 +02:00] [STDOUT]   at InventorySystem.Items.Firearms.Ammo.ReserveAmmoSync+<>c.<Init>b__2_3 () [0x00008] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-07-15 21:48:37.644 +02:00] [STDOUT]   at (wrapper delegate-invoke) <Module>.invoke_void()
[2025-07-15 21:48:37.644 +02:00] [STDOUT]   at StaticUnityMethods.Update () [0x00009] in <093a5c0d652d42d593cd177a9f57d69f>:0
#

When the round restarts

rugged laurel
#

I have but i could never reproduce the issue

#

If u have a way to reproduce the issue that be cool

#

I just patched in the null check to that method for when it happens

#

But if you can reproduce it be better to find the cause

terse bone
#

idk if it can be done without transpiler

#
[HarmonyPriority(Priority.VeryLow)]
[HarmonyPatchCategory(Constants.AutomaticPatchCategory)]
[HarmonyPatch(typeof(ReferenceHub), nameof(ReferenceHub.GetHashCode))]
internal static class FixReferenceHubGetHashCodePatch
{
    private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
    {
        return
        [
            new CodeInstruction(OpCodes.Ldarg_0),
            new CodeInstruction(OpCodes.Call, AccessTools.Method(typeof(object), nameof(GetHashCode))),
            new CodeInstruction(OpCodes.Ret),
        ];
    }
}

just ignore that patchcategory attribute

icy knoll
#

so many issues...

unique crane
#

Yeah gonna go through them and close the resolved ones

#

next update

restive turret
#

In 14.1.2

restive turret
rain isle
#

@icy knoll are you finally coding lootboxes into scp:sl

grand flower
#

Bit of an odd request I know

upper vapor
icy knoll
#

/j

rain isle
upper vapor
rain isle
unique crane
icy knoll
unique crane
#

so no

#

Only additions

#

no changes

rain isle
#

the 🐐

upper vapor
unique crane
#

That would break every single plugin

#

πŸ’€

upper vapor
#

just read it with the both naming strategies Smart

unique crane
#

no

#

Why do you even care for serialized naming convention

upper vapor
#

because i hate snake case

restive turret
#

Same

upper vapor
#

🀝

royal mica
#

I hate yaml ReallyInnocent

restive turret
#

Ah yes let me
s_c_p_long_name_that_need_million_this_things

unique crane
upper vapor
unique crane
#

Tf is toml

royal mica
#

can we have XML pleas

icy knoll
upper vapor
restive turret
#

Can We go back to json instead

unique crane
upper vapor
restive turret
#

Skill issue

#

Literally skill issue

upper vapor
#

server hosts strying to figure out how to make an object

unique crane
#

Yaml is still dumb client friendly

#

kinda

upper vapor
hearty shard
#

nuh uh

#

false

restive turret
icy knoll
#

throw eve out the chat /j

restive turret
#

Read documentation or something

upper vapor
unique crane
#

@icy knoll remove her role

upper vapor
#

more protogens

restive turret
upper vapor
#

:3

icy knoll
hearty shard
#

kill lumi

#

lumis lumi

#

i should find the old screenshots

terse bone
unique crane
hearty shard
#

david arent u a protogen enjoyer too

upper vapor
#

.proto files

restive turret
#

hUH

unique crane
#

Thats peak

unique crane
#

I know a lot of protos

upper vapor
#

:3c

hearty shard
#

i keep forgetting ur not a protogen too

upper vapor
#

he's david

hearty shard
#

well

#

yes...

restive turret
#

Am I missing some lore

upper vapor
#

david basement lore

restive turret
#

I definitely think I miss something

upper vapor
#

i guess

unique crane
#

what

restive turret
upper vapor
#

better idea

#

for config serialization

#

dump the .NET objects' memory

restive turret
#

Just don't

#

Don't make things configuratable

unique crane
#

Man just hardcode everything

#

easy

royal mica
#

obviously we should use serialized PHP objects

#

which is just fucked up json

unique crane
#

Minecraft blocks

upper vapor
#

true

#

barrels

restive turret
#

doom wad file

royal mica
#

CS2 demo file

restive turret
#

Or doom save game

royal mica
#

oh god

unique crane
#

Hide it in a png file

restive turret
#

Save it inside an electron tube

unique crane
#

Remember it

royal mica
#

just save the code in all different possible configuration state and just rename enabled_ff_true_.disabled.cs to plugin.cs and just load the .cs on demand

severe cave
#

when a player doesnt have a current item than it is null or none?

severe cave
#

thx

true cedar
#

do any of you know how the fuck the aspect ratio works for hints

#

im trying to place a hint on the far left/right side of the hint display based on the aspect ratio

#

and i got a formula that mostly works but not exactly and i need it to be exact

static meteor
#

Something like this

upper vapor
#

those are insane magic numbers

tulip kiln
#

This looks like you decompiled someone else's code

#

😭

#

(which isn't bad btw)

#

I didn't even know Hubs sent the server their aspect ratio

#

time to make my hints compatible I guess

true cedar
#

it was close but not quite

grand flower
#

on another note, when are we getting int serials

true cedar
true cedar
#

serials for items as ints and not ushorts

grand flower
#

^

#

one of our servers reached 49770 somehow

true cedar
#

let me guess

#

mayhem

grand flower
#

well, yeah

#

do they not get reset on round restart?

true cedar
#

i dont think they are

#

but they reset when it gets over 65000

hearty shard
grand flower
#

10/10

true cedar
true cedar
#

okay

#

if one of u can figure out how to get this to work properly and consistently

#

ill give u like

#

$10

#

through nitro prob

grand flower
#

Clientside UI when /s

true cedar
#

i dont need client side ui i just need this fucking resolution thing to work T_T

#

ill up the price too istg

grand flower
#

No amount of money will make me mess around with hints

#

Good that they're a thing, awful that we dont have better UI support

true cedar
grand flower
#

My rates are higher DogKek and I'd rather not fight with SL

#

Also at work atm

true cedar
#

$5000

grand flower
#

If you're able to pay that much just to mess around with the hint system, you should probably consider starting your own SCP project

true cedar
#

scp: with ui

grand flower
#

The list of stuff SL does wrong or bad is long so

#

Enjoy the free case study

true cedar
#

i dont actually have that money tho so

grand flower
#

I'm sure someone's working on a game anyway

true cedar
#

i figured it out none of you gets any money

#

to get the total screen width given a certain aspect ratio, it's just aspectRatio * 1080

#

subtract that by 1200 (display area width) and divide by two for the position offset needed to get on the far left/right side of the screen

#

no polynomials needed

grand flower
#

Could've answered it easily heh

true cedar
#

well

#

anyways if any of you want a more accurate "get left x position" function here you go:

public float GetLeftXPosition(float aspectRatio)
{
    const float Base = 1080;
    const float DisplayScreenSize = 1200f;

    return ((aspectRatio * Base) - DisplayScreenSize) / -2f;
}
random scaffold
#

is it possible OnWaitingForPlayers not be called?

true cedar
#

well

#

if the server crashes or hangs

grand flower
#

Always calls for us

random scaffold
#

Sender.SenderId is user id?

celest thorn
random scaffold
#

ev.CommandName is Command or can be aliase?

spare zodiac
ionic prawn
#

When i try to set the AmmoStored on a gun with the magazineModule it says its read only how can i fix it?

    Item? item = player.AddItem(ItemType.ParticleDisruptor);
    if (item == null)
        return false;

    Firearm doortoggler = (Firearm)item.Base;
    if (!doortoggler.TryGetModules(out MagazineModule magazineModule, out AutomaticActionModule automaticActionModule)) { return false; }

    magazineModule.AmmoStored = 0;
    magazineModule.ServerResyncData();
restive turret
ionic prawn
#

ty

#

btw it was ServerModifyAmmo i think

random scaffold
#

how show text like here in panel?

#

dont works

unique crane
#

ServerModifyAmmo()

ionic prawn
#

/ Particle Disruptor

restive turret
#

Set ammo to 1

worn gull
#

Hi! Why's that if I teleport sb out of a custom room they get teleported back instantly, but if I set a delay they're not getting teleported back

restive turret
#

Because immediately runs the other check

worn gull
#

OOOOHHHHH

restive turret
#

Ye ik

#

Np

worn gull
#

Thanks xd

upper vapor
upper vapor
upper vapor
#

something other than StartingItem

ionic prawn
#

i only need it to detect what mode it is on and left click/ shooting without destroying anything

random scaffold
#

nw moment

#

triple david moment

spare zodiac
#

yo persons how could I make rigidbody on object freeze at ends of the objects?

For example having cable connected from one device to another.

royal mica
#

If that is RA response text

upper vapor
#

i wrote my own connector 😭

spare zodiac
grand flower
#

Mods can do anything Unity related

#

You can make components if you wish

spare zodiac
grand flower
#

Reference UnityEngine.dll

#

Use the one in the dedicated server binaries

spare zodiac
#

makes sense alr

#

so I can even use the before I sent configurable joint?

upper vapor
#

most (if not all) builtin unity components are available

grand flower
#

They're all available

#

Whether or not SL plays nicely with them is something else

#

Especially considering the lack of clientside mods

upper vapor
#

what if they didn't include one unity module toomuchtrolling

grand flower
#

I guess

spare zodiac
upper vapor
#

you can but it won't sync unless you sync it manually

grand flower
#

^

spare zodiac
#

sync it manually?

grand flower
#

You don't have access to the client side of things

upper vapor
#

override position

grand flower
#

Some things that you'll do on the server just wont show up for clients

#

Or will probably feel like shit

upper vapor
# grand flower https://docs.unity3d.com/6000.1/Documentation/Manual/Constraints.html

so i could just delete this entirely

public sealed class LocalZRotationInterpolator : MonoBehaviour
    {

        [SerializeField]
        private Transform from;

        [SerializeField]
        private Transform to;

        [SerializeField]
        private Vector3 mask;

        [SerializeField]
        private float offset;

        private Transform _t;

        private void Awake() => _t = transform;

        private void LateUpdate()
        {
            var fromMasked = Vector3.Scale(from.localEulerAngles, mask);
            var toMasked = Vector3.Scale(to.localEulerAngles, mask);
            var current = _t.localEulerAngles;
            current.z = Mathf.LerpAngle(
                fromMasked.x + fromMasked.y + fromMasked.z,
                toMasked.x + toMasked.y + toMasked.z,
                0.5f
            ) + offset;
            _t.localEulerAngles = current;
        }

    }
grand flower
#

Probably

#

Also

#

Did you seriously do a one liner Awake method

upper vapor
#

yes

grand flower
#

This is wrong on so many levels

upper vapor
#

i ain't having transform calls every frame

grand flower
#

Okay but

#

Expression body really

#

For this

spare zodiac
#

so theoretically synchronizing could cause player being ragdoll, but not dead

upper vapor
#

i use expression body wherever possible shrug

grand flower
#

I use it for getters

#

Off with your head for that one

upper vapor
upper vapor
spare zodiac
grand flower
#

Just dunno how good it'll look to the player

upper vapor
#

why can't you just use gravity...

upper vapor
grand flower
#

Less readable than just having curly braces

#

For getters, fine

#

For setters, in very specific scenarios, but probably okay

#

For methods, never

upper vapor
#

i don't need two extra lines to do one assignment

grand flower
#

Β―_(ツ)_/Β―

upper vapor
grand flower
#

It's just not as readable

#

I'd get shot for doing that at work