#plugins-dev-chat

1 messages ยท Page 42 of 1

grand flower
#

or just install the publicizer to your project like Axwabo sent

upper vapor
#

I'll publish some project templates some day

#

With the option to include the publicizer

icy knoll
#

genuinely about to crash out why do labapi perms not work furisob

grand flower
#

I'd love to know what in that list consists of that bug but okay

upper vapor
icy knoll
#

as it is only a test

celest thorn
#

You can patch that?

#

i love that

grand flower
#

Yeah I patched it

#

But hey, it's an issue not to report don't worry

icy knoll
#

also, does anyone have issues making server specific dropdown settings? secretapi is having issues and im unsure if it's specific to SecretAPI or not...

celest thorn
#

nameless cooked so much?

hearty shard
icy knoll
celest thorn
hearty shard
#

was the literal first thing added

#

iirc

celest thorn
#

nameless i was searching

icy knoll
celest thorn
#

a wrapper

#

for it

#

let me check it out

grand flower
#

We don't use SecretAPI though

icy knoll
#

just

#

ugh

celest thorn
icy knoll
#

this is super annoying now

grand flower
#

Just made our own wrapper around SSSS

hearty shard
#

i thought all were tested

celest thorn
#

can i ask you something nameless?

hearty shard
#

wat

celest thorn
#

OH

#

so i understood how it works

#

its an abstract

#

that registers

#

Nameless you are smart

hearty shard
#

yea

celest thorn
#

probably going to switch to this

#

more clean

#

love it

icy knoll
#

only issue is

#

dropdown settings are crashing out

hearty shard
#

the only unclean part is the duplication way

celest thorn
icy knoll
#

and i cant figure it out for the life of me

hearty shard
celest thorn
hearty shard
#

ill replicate it in like

#

5 hours

icy knoll
hearty shard
#

when im home

icy knoll
#

AND v1.1.0

#

like

#

dude

hearty shard
#

I*

icy knoll
#

genuinely it's so annoying now ๐Ÿ˜ญ

#

why did v1.0.0 work fine

hearty shard
#

did it

icy knoll
#

how did this even break

icy knoll
hearty shard
#

i mean i think it did

celest thorn
grand flower
# grand flower

If anyone has a bug where armor/wearables disappear on role change/on player escape, just patch WearableSync.OnServerRoleSet and recompute the wearable state yourself.

If the player has active 1344, add WearableElements.Scp1344Goggles to the flags, if they have armor, add WearableElements.Armor, and then call hub.OverrideWearables(newFlags)

And NW, next time you close an issue for "being in the issue not to report list", please spend the 3 seconds it takes to copy/paste the element in that list that matches the issue. What's the point of helping you guys with bugs if you're just gonna treat it that way? Thanks.

celest thorn
hearty shard
#

Police WILL be called

icy knoll
#

me when nothing has been changed between 1.1.0 and 1.0.0 to break this shit

hearty shard
#

lolol

grand flower
#

actually, unsure if we use dropdowns

#

might've been mistaken

celest thorn
#

I abuse of dropdown

grand flower
#

lemme check

celest thorn
#

so if its broken

#

i might need to fix it myself

#

and make a pr

hearty shard
#

My phone is gonna explode

celest thorn
#

how do you get settings?

hearty shard
#

wat

#

anyway i gtg sooo

#

ask lumi she uses it

celest thorn
# hearty shard wat

I have a dropdown and i want to get those settings outside for example when you click a button

#

how do you do that

icy knoll
celest thorn
icy knoll
#

or you can just do GetSetting?

#

yeah

#

you can do CustomSetting.Get<YourSettingClass>(id)

#

if non-player specific

celest thorn
grand flower
#

@icy knoll works fine on our side so defo not labapi

icy knoll
#

crashing out rn

celest thorn
#

any error?

icy knoll
#

it's coming from a patch

celest thorn
#

i love patches

icy knoll
celest thorn
#

especially transpilers

icy knoll
#

there is the error

#

if you want to have a gander

celest thorn
icy knoll
#

i know

#

guess what

#

that's the line that uses SelectedOption

celest thorn
icy knoll
#

something inside of selected option is null

celest thorn
#

possible?

celest thorn
icy knoll
celest thorn
#

it happened to me that sometimes its null

icy knoll
#

that also throws an NRE

#

so I think it goes even further down the line

#

smth very far down is null

celest thorn
#

can you show this setting?

#

like what is this dropdown?

icy knoll
#

it worked with secretapi v1.0.0 and scpsl v14.1.0

#

but as soon as i bumped both versions

#

crash

#

i think smth base game broke that secretapi relies on

celest thorn
#

on dropdowns

#

especially

#

i can tell you that because on my server they work fine

#

and i abuse them quite alot

icy knoll
#

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

#

im just stuck here

#

my plugin is broken because of this shit ๐Ÿ˜ญ

celest thorn
#

get_SyncSelectionText() is throwing the error

#

because is null

#

add a null check

#

they CAN be null

icy knoll
#

guess what

#

already did that

celest thorn
#

when the player is initializing

icy knoll
#

but

#

still NRE

#

it goes further down

celest thorn
#

idk how to help you lol

#

because i don't have the issue and its something you probably do

icy knoll
#

make a dropdown with secretapi

#

and test

#

if it works im gunna cry ๐Ÿ˜ญ

celest thorn
#

i cannot rn

#

like im studying for my big exam

#

coming up

#

so

icy knoll
#

fair enough

#

gotta wait for nameless then blegh

celest thorn
#

i need to restudy pratically 5 years of stuff

#

and honestly im applying some secret technique to just not study everything lol

#

i have 1h 30m of me talking max and i can apply some secret tricks to actually talk less and not bore 7 people

grand flower
grand flower
#

I just wanna know if reporting new issues is gonna be worth it mmLul

#

Who knows, could've been a mistake

unique crane
#

Let me ask crimson

icy knoll
#

okie so i downgraded to secretapi v1.0.0, it's a base game issue ๐Ÿ˜ญ

icy knoll
unique crane
#

Hm?

icy knoll
#

smth in the base game is null making it so whenever you access the selected value, an NRE throws

worthy rune
#

i just tested dropdowns and they are working

restive turret
celest thorn
#

just admit it skill issue trollfancy

icy knoll
icy knoll
lucid canyon
celest thorn
upper vapor
celest thorn
upper vapor
#

Eve how about you create a method to get the original setting and call that method in the patch

upper vapor
#

I'm reading

#

This chat

#

Brain overload

celest thorn
#

because my brain is reading stuff that i find so stupid

#

and hard

lucid canyon
celest thorn
celest thorn
#

Nameless's skill issue?

icy knoll
#

ye

celest thorn
#

see

#

im not going to switch

#

my abuse of dropdowns

#

will never end

#

because people are stupid

#

and i found out by QA they find easier to understand dropdown than double button

#

for some reason

#

so yea

upper vapor
celest thorn
#

even if i just stay silent

#

im not joking

#

for how much extra school stuff i did and credits i have to spend

#

but i cannot recieve the bonus because my best friend has higher grades than mine

#

;(

#

so most likely he will recieve it

upper vapor
#

Ouch

#

Not studying is peak though

celest thorn
#

its just 10 points tho

#

i have around 50

#

and he has around 60 thanks to that

#

so we are pratically same

icy knoll
#

is spinning the barrel of a revolver client side?

unique crane
#

Then it starts

#

So you can just RevolverRouletteModule::SendRpc()

#

which will spin it

#

for the client

icy knoll
#

I am running RevolverRolutetteModule::ServerRandomize() and it aint spinning

unique crane
#

Thats code thats run with the animation

#

to actually randomize the chambers

icy knoll
#

do i need args with SendRpc or does it do everyone automatically?

unique crane
#

No args

icy knoll
#

nice

#

IsBusy doesn't work properly :c

#

it isn't true through the duration of the animation

unique crane
#

@grand flower But SL default channel is Reliable Ordered

#

So if RoleChange msg drops, it will wait until it gets resent and then apply the scale?

hearty shard
#

Already done xd

#

thats required for it to even work at all

worthy rune
#

the reason it was probably unreliable at 0.1 delay is that it could be 1 or 2 frames between sending the message, and for the scale message to work it requires a 2 frame delay

unique crane
#

Well fixing the null ref within the role changing will fix most of the issues

hearty shard
#

already exists

worthy rune
#

The real solution is ofc

Timing.CallDelayed(0.0f, ()=>
{
    Timing.CallDelayed(0.0f, ()=>
    {
        //Your code here.
    });
});
icy knoll
grand flower
# unique crane

Interesting, kinda assumed based on Mirror's definition of channels

#

That does solve the ordering issue, however the fake role sync stuff remains

#

Additionally, sync vars really are meant to be used for stuff like this

#

RPCs are useful but if you're using them for stateful stuff, it gets messy

unique crane
#

Well obviously mirror was not meant to use with faking syncs...

hearty shard
#

I obsoleted stuff

#

I added a few setting stuff

#

And a new constructor for keybind setting

#

Nothing is deleted

#

So idk why it works on one and not the other

unique crane
#
  • the scale reset on role change is intended behavior
grand flower
#

I guess not, but it's a fact that it is used by a lot of plugins to hide players/dummies from others since we don't have those capabilities

unique crane
#

You have to do that even without the fake sync

unique crane
#

I would like to look into hiding players in proper way

icy knoll
#

everything else works fine

grand flower
#

iirc we didn't have that issue prior to 14.1.1, at the very least we could change the local scale directly and it wouldn't be overridden on role change

icy knoll
#

1.0.0 doesnt work either

#

tested that too

hearty shard
#

oh

icy knoll
#

only broken in 14.1.1

grand flower
#

The new scale stuff does make that harder

icy knoll
#

14.1.0 works fine

hearty shard
#

then idk what nw changed

#

@unique crane can u givr full changelog for settings from 14.1 to 14.1.1

#

SSSS

unique crane
#

Hmmm ok

grand flower
#

(my point still stands though, this should really still be a SyncVar, even if you want it to reset on role change, it could be done with it)

#

Just good to know about the default channel, ty

icy wraith
#

What bool allows spectator to use keybinds ? I don't find it.

unique crane
#

nvm

unique crane
grand flower
#

There's lots in SL that's done with RPCs for syncing states, that's my main gripe with the new stuff heh.

icy wraith
hearty shard
icy wraith
#

They have been pretty slow recently due to the whole github report thing.

hearty shard
#

theyre slow because they have lives

#

exams !!!

#

Or so i hear

#

And jobs

#

And stuff

icy wraith
#

Oh also, how do you use animated hints ?

icy wraith
hearty shard
#

soo

#

david whatd u change for SSSS

#

what has thy broken

unique crane
#

Well first I have to find the commit ID for the 14.1

#

so I can download it locally

#

(do not ever compare anything to master on gitlab, especially for SL)

hearty shard
#

smh....

unique crane
#

It crashed it several times

hearty shard
#

Oh.

#

Interesting

#

Does nw have gitlab releases for all versions

#

im curious

unique crane
#

No, there is just tags

#

But you can download the depots for quite some time

hearty shard
#

damn

unique crane
#

Only these 3 were changed

#

with SSKeybind having the spectator fix

#

SSSlider sync drag

#

And SSSSync this

hearty shard
#

whats the sync change

unique crane
hearty shard
#

thats it?

unique crane
#
  • method name change
worthy rune
hearty shard
#

@icy knoll i blame you then

unique crane
hearty shard
#

cuz no changes to SSSS and iirc you were the one that tested

icy knoll
#

i didnt do shit ๐Ÿ˜ญ

#

i didnt test anything

worthy rune
#

oh i thought you were looking for changes between 14.1 to 14.1.1

#

nvm

hearty shard
#

er

#

idk who did then

icy knoll
#

just all i know is that secretapi gets an NRE

hearty shard
#

someone did

unique crane
#

Obviously we can all here agree its Eve's fault

icy knoll
#

true

icy knoll
#

thanks david

hearty shard
#

It worked at some point

#

Not my fault nw breaks everything

icy knoll
#

worked in 14.1.0

#

not 14.1.1

#

so

unique crane
#

Let me compare these 2 then

#

Yeah well only the SSKeybind

icy knoll
#

OriginalDefinition didnt get changed? hm

hearty shard
upper vapor
#

Let's rewrite SSSS

#

-# honestly I would

unique crane
#

Only thing I dont like about SSSS is that there is single method for procesing all inputs

#

and like

#

Do the rest yourself..

icy knoll
#

if i ever become game dev im making SSSS 2.0

hearty shard
#

if i ever become a game dev im deleting the game

unique crane
icy knoll
#

smh

#

ill just make a new system and keep the old one

#

just obsolete everything TrollDespair

unique crane
hearty shard
#

This is why lumi isnt dev

icy knoll
unique crane
#

Apply next time

icy knoll
#

they havent opened apps for a while

hearty shard
#

there is no such thing as just obsoleting

unique crane
#

Just make sure eve cant apply

hearty shard
#

You either delete it or you keep it the way it is

hearty shard
icy knoll
unique crane
#

Good good

unique crane
#

But anyways

#

some kind of wrapper for SSS so you can like

#

new SSKeybindEntry(...).OnPressed += ...

grand flower
#

Considering the current crash with applying scale on role change, what are the chances of the system being outright replaced with a sync var in the near future? ๐Ÿ™

unique crane
#

would be nice

icy knoll
#

or is it too far out of spec?

unique crane
#

No its that no one did it

icy knoll
#

id do it if yall opened apps again ๐Ÿ˜ญ

upper vapor
hearty shard
#

chatgpt

upper vapor
#

but if i'm not in NW
the chances of getting the changes accepted are negative

unique crane
#

does health and stuff get synced properly?

#

Those arent sync vars either

grand flower
#

They do, we send them as part of the fake sync message

#

But also: they should be sync vars ;-;

#

Stateful RPCs are devilish

hearty shard
#

I dont think so

unique crane
hearty shard
#

yeaaa...

unique crane
#

They are just objects

grand flower
#

That's another problem heh, but not as big honestly

#

Actually doubt it even affects us

#

Scale does because it messes with other stateful rpcs

#

The good news is that at least now that I know the default is reliable ordered I can cleanup our code a bit more, but unfortunately can't outright get rid of the issue

unique crane
#

I wonder why is role update sent the next frame

#

Instead of right away

hearty shard
#

cuz uhh nw moment

#

pls fix

grand flower
#

Probably to let everything setup on role change and then update with the latest data, if I were to guess

#

How does Mirror handle sync vars

#

Updated at X frequency?

unique crane
#

0.1 I believe?

#

Ill just see what happens when I put the role sync msg in front of the role changed args

grand flower
#

If you wanna keep using RPCs for scale, at the very least I'd recommend adding scale to the role sync message

upper vapor
#

workaround:
set role, send the rolesyncinfo message yourself and _sendRoleNextFrame to false on the roleManager of the hub

grand flower
#

Would resolve us having to delay the fake role sync and then delay the scale

upper vapor
#

any FPC role would write the scale, not just position and rotation

grand flower
#

Spawn data has it already afaik nvm got confused

#

I just wanna be able to set the scale on role change and it be received at the same time the remote client receives the role sync

#

Because rn players see the dummy at full size for a split second, before it gets set to the correct tiny scale

#

Which is... not pretty

scenic trout
#

Does anyone know when the labapi repo on github will be updated as well as the nuget to the latest version?

celest thorn
scenic trout
celest thorn
#

can i ask you something

hearty shard
#

no u cant

harsh thorn
hearty shard
#

damn

upper vapor
#

xd

celest thorn
#

you know you could use Custom IDs

hearty shard
#

for

celest thorn
#

to actually make easier the get?

#

for SSSS

hearty shard
#

wat

grand flower
#

I just use a string identifier and convert with GetStableHashCode

celest thorn
# hearty shard wat

CustomSetting.GetPlayerSetting<YourCustomSetting>(SettingId, Player)?.Options

Rn its like this big ass line

#

you could just use

hearty shard
#

Oh id will probably be removed

#

In the future

celest thorn
#

CustomSetting.GetPlayerSetting(Player, "String ID");

hearty shard
#

So no need for it

celest thorn
#

instead this is cleaner

#

in my opinion

hearty shard
#

nah using T >>>

celest thorn
hearty shard
#

its nicer to use

celest thorn
hearty shard
#

nuh uh

icy knoll
#

it avoids casting urself

#

if it casts for you

#

bruh

#

i like the current method

#

maybe im biased because i made it

#

but yeah

hearty shard
hearty shard
#

Me when

#

CustomSetting.TryGet<T>(player)

#

Well actually theres out T

celest thorn
#

lumi is a lier

hearty shard
icy knoll
#

YOU ADDED TRYGET

#

smh

celest thorn
#

then i will abuse of that

#

i guess

#

oh wait

#

i cannot

#

;(

hearty shard
#

i still arent happy with my SSSS wrapper

celest thorn
hearty shard
#

been trying to figure out fixes

hearty shard
celest thorn
icy knoll
#

we should have setting categories too maybe?

hearty shard
#

Or what

celest thorn
icy knoll
#

no i meant like for CanView as well

celest thorn
#

menus

#

:3

icy knoll
#

merge them together

hearty shard
#

wat

celest thorn
icy knoll
#

rather than copy and pasting CanView

limber silo
celest thorn
icy knoll
#

just have a category

hearty shard
#

why r u showing up randomly

celest thorn
harsh thorn
icy knoll
hearty shard
celest thorn
#

bro is spying

limber silo
hearty shard
limber silo
#

cant talk or what

harsh thorn
#

its totally not what i do

hearty shard
icy knoll
#

ced777ric: "im busy"

limber silo
celest thorn
celest thorn
icy knoll
#

also ced777ric at a random ass point: "im watching you guys"

harsh thorn
#

i now have time

celest thorn
#

my summer break is studying :3

#

for exams

icy knoll
harsh thorn
#

im debating to rewrite the blazor server sites to hybrid

celest thorn
harsh thorn
#

or just figuring out why the fuck sometimes they are slow

icy knoll
#

just dont use blazor

#

simple

celest thorn
harsh thorn
celest thorn
#

joking around sometimes its useful

harsh thorn
#

didnt like it

celest thorn
#

it points out some issues i've made in my code

harsh thorn
limber silo
#

whats the issue

harsh thorn
#

i know in the past it was because 2 years ago when half of the non panel sites were made i had no idea what the fuck tasks are

celest thorn
#

give it the entire code base

icy knoll
celest thorn
#

and just it will try to find

#

it takes 2000k hours

harsh thorn
#

but ive asyncified everything that could be blocking and supports async

celest thorn
#

but at the end sometimes its useful

harsh thorn
#

but sometimes it still takes 3 business years to load

#

see rn its fast

celest thorn
#

i guess server skill issue?

harsh thorn
#

faster than ive seen it before even

#

lmao

celest thorn
#

see

#

give love to your server

#

and it will give you faster response time

harsh thorn
#

only thing i could see as a central source of blame is the mariadb server being under high load

#

which slows down basically everything using it

celest thorn
#

honestly

#

i wanted to switch to cassandra

#

but ITS NON SQL

#

USING SQL SIMILAR LANGUAGE

#

like wtf

harsh thorn
#

cassandra is for a different purpose

celest thorn
#

honestly i need to find some kind of db

harsh thorn
#

cassandra is designed to handle massive amounts of data with fast querying and aggregation and stuff

celest thorn
#

that holds info but its fast

harsh thorn
#

it also EATS your ram

#

and cpu when its indexing

limber silo
#

how big is the db ced

harsh thorn
limber silo
#

the biggest one

harsh thorn
# limber silo the biggest one

it used to be stats
i moved stats to a more purpose fit db engine, that lowered the load a little bit
the biggest is stuff like:
audit log
and logs for stuff like joins

celest thorn
#

Honestly ced

harsh thorn
#

i may need to clear that table at some point tbh

celest thorn
#

whats the best db you think it could work for big ass amount of data like stats

limber silo
#

saving logs for each server is gods work

celest thorn
#

rn im using MongoDB and it works so good

celest thorn
#

indexes and everything

harsh thorn
#

the db server is working overtime

harsh thorn
celest thorn
harsh thorn
#

cuz it also eats ram

celest thorn
harsh thorn
#

it was

#

either way i need to find a different db for server logs

#

cassandra doesnt like it

#

(thats why its using 800 cpu)

random scaffold
#

cloud cores

harsh thorn
#

i dont do cloud

#

i use bare metal

celest thorn
#

i honestly

harsh thorn
#

48 whole threads of that epyc are mine to use

celest thorn
#

lost my mind finding a good db

#

but mongo is always the easiest

limber silo
#

have you tested redis db like the not temporary one

celest thorn
#

and the best one

harsh thorn
random scaffold
harsh thorn
#

well the server does more than just panel pepeLaff

limber silo
#

like redis but it has a mode so the data isnt lost when restarted

harsh thorn
limber silo
#

mariadb

harsh thorn
#

but redis is singlethread

celest thorn
harsh thorn
#

it does NOT like searching large volumes of data

random scaffold
celest thorn
#

i need fast time

harsh thorn
celest thorn
#

and when hosting lars server i saw mongo behaved fast asf

harsh thorn
celest thorn
#

with 120k queries

harsh thorn
#

๐Ÿ”ฅ

celest thorn
#

and all optimization

random scaffold
harsh thorn
#

its the cheapest

limber silo
celest thorn
#

never one time crashed

harsh thorn
#

what can i say

#

sql isnt slow

#

its only slow if you use it wrong

#

or if you spam your db server

#

lmao

random scaffold
#

lol

harsh thorn
#

yes

celest thorn
random scaffold
harsh thorn
#

caching caching and even more caching

celest thorn
limber silo
celest thorn
#

and i told them to change it

#

and divide the load

harsh thorn
#

if you make your queries wrong mariadb wont use your indexes

limber silo
#

the structure of the db is really important

harsh thorn
#

also VERY important to keep in mind

#

if you do a full text search with LIKE '%something%'

#

its not going to use your indexes

#

i think LIKE make it not use them regardless but im not sure about that one

celest thorn
#

This is what i use rn for a custom gamemode and it does around 0.002ms for getting it

#

in a 100k test enviroment

#

OriginalTickets isn't stored but its just used as a reference in case someone buys tickets in the online store

celest thorn
#

if you wanna search someone

#

how do you find them in the stats

random scaffold
#

its auth id or user id?

celest thorn
#

so your steamid and steam

random scaffold
#

what auth contains?

celest thorn
#

thats how it works

random scaffold
#

death counter in string

harsh thorn
#

well thats one way to do it i guess

random scaffold
#

โ˜ ๏ธ

celest thorn
#

not death counter

#

those are just cosmetics

limber silo
celest thorn
#

and this is the index i create

limber silo
#

if you saved the full string you would have been failed in my uni

harsh thorn
#

i always find it easier to just put it in the same string

celest thorn
#

for searching

harsh thorn
#

cuz i dont see a point in separating it

celest thorn
#

i see it because of stats

#

because i can understand alot

harsh thorn
#

?

#

i dont need to separate the platform to do stats kek

celest thorn
#

i remember on the old AM db almost all people who were logged with discord did infact get banned for cheating

celest thorn
limber silo
celest thorn
#

so thats why

limber silo
#

my teachers would be like, but nobody knows if you will in the future

harsh thorn
#

so

celest thorn
#

this is how it looks

harsh thorn
#

what is that long ass id lmao

celest thorn
#

Im not joking anymore i get paranoid

#

so much

#

that now for just anything i hash

#

it can identify

#

hash

harsh thorn
#

the user sees internal ids for me

#

other than cases where they can see the id ofc

#

which is almost always

#

lmao

celest thorn
#

so if someone sends an email

#

we can just purge it in 30 seconds

#

i don't wanna spend 30k hours finding someone in a db

harsh thorn
#

i think it might actually be mariadb

#

cuz its fast rn and its still in non peak

celest thorn
#

and embrace NON-SQL

limber silo
#

whats that screenshot from

celest thorn
limber silo
#

which software

harsh thorn
celest thorn
#

Ahahhahaha

#

funny name

harsh thorn
celest thorn
#

and?

#

what are you going to do?

#

replace it?

harsh thorn
#

no

#

probably evaluate whats making so many queries, if the queries are efficient, and change it to be efficient if it isnt

limber silo
celest thorn
harsh thorn
celest thorn
#

funny enough

#

you wrote sheep in italian

limber silo
#

oh lol

celest thorn
#

with just an r added

limber silo
#

I see ill take a look later looks interesting

celest thorn
#

"pecora"

harsh thorn
#

yeah it might actually be the peaks

celest thorn
#

of like

#

that program for virutalizing

#

used in servers

#

i forgot the name

harsh thorn
#

theres like 20

#

you mean docker or actual vms

celest thorn
#

acutal vms

#

it was an OS

#

like

harsh thorn
#

well theres a gazillion of them

celest thorn
#

i forgot

harsh thorn
#

you have vmware, virtualbox, proxmox (os)

#

vmware also has an OS build for itiirc

celest thorn
#

yea

#

i totally forgot

#

ui wise it reminds me of that

harsh thorn
#

guess i might just enable slow query log and see what shows up

celest thorn
#

i honestly need to take a look at what tf am i hashing

harsh thorn
#

i should probably move the session management to something else

#

instead of querying from db

#

but foreign keys ๐Ÿ˜”

frail pilot
#

What is the alternative to pluginconfig in labapi?

hearty shard
#

or this.TryLoadConfig<TConfig>("config.yml")

harsh thorn
#

(or use the config manager manually)

icy knoll
#

me when iโ€™m waiting for beryl to release new version so no nullable config finally

hearty shard
#

this is clearly

frail pilot
#

Thanks

hearty shard
#

calling the dropdown

#

but

#

it doesnt actually call that

#

calls a different one ???

harsh thorn
#

me omw to cause a massive db spike as i apply 8 new indexes

hearty shard
#

ced

#

why is C# like this

harsh thorn
#

what

hearty shard
#

and the only logs are of a different type

#

than whats actually called

harsh thorn
#

idk

hearty shard
#

๐Ÿ’”

#

nvm logged wrong thing

#

but somehow id is wrong

restive turret
#

Ehrm you are wrong

ionic prawn
#

if (ev.Pickup == )
{

        }

What am i supposed to reference to get an item

#

cause when i try something it wont work

hearty shard
#

ev.Pickup.Type == ItemType.SCP500

ionic prawn
#

oo

#

and how am i supposed to switch the item?

hearty shard
#

what

#

change its type?

#

or what

ionic prawn
#

like switch the item to something else

hearty shard
#

delete it

#

create a new one

restive turret
#

Ye

#

That's it

ionic prawn
#

will it save position?

restive turret
#

No

hearty shard
#

no

ionic prawn
#

oh

hearty shard
#

you save position

#

delete

#

create

#

spawn in pos

restive turret
#

You have to manually spawn the pickup too

ionic prawn
#

got it

#

do i also turn isallowed off

restive turret
#

Huh what

ionic prawn
#

ev.IsAllowed = false;

restive turret
#

Ye but wher

ionic prawn
#

public override void OnScp914ProcessingPickup(Scp914ProcessingPickupEventArgs ev)
{
if (ev.KnobSetting == Scp914KnobSetting.Fine)
{
if (ev.Pickup.Type == ItemType.Coin )
{
ev.IsAllowed = false;
var SavedPosition ==
}
}

    if (ev.KnobSetting == Scp914KnobSetting.VeryFine)
    {
    }
}

i just sent this when i was working on it lol

#

should i get base.position or just position

restive turret
#

Just position enough

ionic prawn
#

ok and how am i supposed to create the item

restive turret
#

๐Ÿ˜ญ check the Pickup wrapper

ionic prawn
#

ty

#

made my own function for it

PluginFunctions.Process914PickupFully(ev, Scp914KnobSetting.Fine, ItemType.Coin, ItemType.KeycardJanitor);

hearty shard
#

ok i had brain damage

#

me when

#

brain damage

restive turret
#

i know

hearty shard
#

i was dupliating wrong type

#

xd

restive turret
icy knoll
#

:3

#

also, does anyone know how to reset Player::DisplayName?

#

in exiled you just set it to null but because LabAPI is nullable and stuff, it says "no"

unique crane
#

Honestly I dont see any change when sending the player info sync right before RoleChanged event

icy knoll
#

what ๐Ÿ˜ญ

unique crane
#

No we were talking about the scale issue

#

caused by the role being sent the next frame

hearty shard
#

david

#

ur like

#

C# nerd right

#

how does null ref happen here

#

and yes ive tried logging before the return

#

nothing

unique crane
#

You set it to null to reset it

icy knoll
hearty shard
#

actually

#

[2025-06-13 14:41:12.376 +02:00] [STDOUT] at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)

icy knoll
#

do i just do null!

hearty shard
#

i dont think i have a 2nd patch

icy knoll
#

ah yeah i do null!

#

blegh

unique crane
#

Yes you do null

#

Ill just... make it nullable I guess

worthy rune
#

yeah that would be better

unique crane
#

And add comment that null resets it

hearty shard
#

i dont get this shitty ass setting ๐Ÿ’”

#
namespace SecretAPI.Patches.Features
{
    using HarmonyLib;
    using LabApi.Features.Console;
    using SecretAPI.Attribute;
    using SecretAPI.Features.UserSettings;
    using UserSettings.ServerSpecific;

    /// <summary>
    /// Fixes <see cref="ServerSpecificSettingBase.OriginalDefinition"/> on custom settings.
    /// </summary>
    [HarmonyPatchCategory(nameof(CustomSetting))]
    [HarmonyPatch(typeof(ServerSpecificSettingBase), nameof(ServerSpecificSettingBase.OriginalDefinition), MethodType.Getter)]
    internal static class SettingsOriginalDefinitionFix
    {
#pragma warning disable SA1313
        private static void Postfix(ServerSpecificSettingBase __instance, ref ServerSpecificSettingBase __result)
#pragma warning restore SA1313
        {
            Logger.Info("test subject");

            // ignore if basegame is success (support non SecretAPI settings)
            if (__result != null)
                return;

            Logger.Info(__instance == null);
            Logger.Info(__instance!.GetType());

            __result = CustomSetting.Get(__instance.GetType(), __instance.SettingId)?.Base ?? null!;
        }
    }
}
#

full patch btw

unique crane
#

result?

worthy rune
#

i also feel like it should be named differently, something like CustomName

hearty shard
#

[2025-06-13 14:44:21.195 +02: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-13 14:44:21.196 +02:00] [STDOUT] at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)
[2025-06-13 14:44:21.196 +02:00] [STDOUT] at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-06-13 14:44:21.196 +02:00] [STDOUT] at SecretAPI.Features.UserSettings.CustomDropdownSetting.get_SelectedOption () [0x00006] in <b15ab221974943d39611470320d02696>:0
[2025-06-13 14:44:21.197 +02:00] [STDOUT] at SecretAPI.Examples.Settings.ExampleDropdownSetting.HandleSettingUpdate (LabApi.Features.Wrappers.Player player) [0x00000] in <842f298d3dbe43fe9542c8fb91ca3963>:0

#

it throws null ref in that method

#

but it doesnt log anything

#

not a single log

#

for reference thats the stack tree

#

this would be a null check right

#

so it has to be in side the actual patch 100%

unique crane
#

@hearty shard Do you like send different settings to different people

hearty shard
#

no

#

its the same

#
[2025-06-13 14:48:08.565 +02: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-13 14:48:08.565 +02:00] [STDOUT]   at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)
[2025-06-13 14:48:08.565 +02:00] [STDOUT]   at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
#

even forcing an exception, still null ref

#

i dont get it

unique crane
#

Disable that patch

#

does it still happen

#

?

hearty shard
#

ill try ig

#

but it SHOULD

#

throw null ref if i disable

#

yea

#
[2025-06-13 14:50:13.369 +02:00] [STDOUT] Disconnecting connId=3 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object
[2025-06-13 14:50:13.370 +02:00] [STDOUT]   at UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition () [0x00035] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-06-13 14:50:13.370 +02:00] [STDOUT]   at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
#

no patch mention this time tho

icy knoll
#

considering this is a postfix

#

that means that something is null

unique crane
#

is that

#

ServerSpecificSettingsSync.DefinedSettings is null

hearty shard
#

i dont change that

#

the reason i need the patch is to validate properly without base game server knowing it exists

#

works on my server tho

icy knoll
#

maybe add a check to see if DefinedSettings is null and if it is, just set to an empty array

hearty shard
#

no patch difference

hearty shard
#

thats not secret api moment tho

#

i override to not care for it

icy knoll
#

sure, but it's better than not doing anything

hearty shard
#

it shouldnt fix secret api

#

but ig ill try?

#

if it fixes... nw moment

restive turret
unique crane
#

Eve moment

hearty shard
icy knoll
restive turret
#

Me when you can just use [];

hearty shard
#

...................

#

me when

#

me when

restive turret
#

(or new();

hearty shard
#

that made my patch use its own exception

#

which is

#

progress

restive turret
#

Domt think

#

The progess is its being perfect

hearty shard
#

wait

#

wait

#

oh

#

it might be erroring basegame

#

and then uhhh

restive turret
#

Also why does the server crash if I make a scale to 1, -1 , 1

hearty shard
#

postfix catches it

restive turret
hearty shard
#

and gets the exception

hearty shard
#

role change ?

restive turret
#

After

#

Like

hearty shard
#

[2025-06-13 14:55:13.098 +02:00] [INFO] [SecretAPI] test subject
[2025-06-13 14:55:13.114 +02:00] [INFO] [SecretAPI] False
[2025-06-13 14:55:13.129 +02:00] [INFO] [SecretAPI] UserSettings.ServerSpecific.SSDropdownSetting
[2025-06-13 14:55:13.145 +02:00] [INFO] [SecretAPI.Examples] test
[2025-06-13 14:55:13.161 +02:00] [INFO] [SecretAPI] test subject
[2025-06-13 14:55:13.176 +02:00] [INFO] [SecretAPI] False
[2025-06-13 14:55:13.191 +02:00] [INFO] [SecretAPI] UserSettings.ServerSpecific.SSDropdownSetting
[2025-06-13 14:55:13.208 +02:00] [INFO] [SecretAPI.Examples] test

restive turret
#

Around 2f wait

hearty shard
#

it works

#

@unique crane ....

#

I HATE YOUUU

restive turret
hearty shard
#

idk why it works on my server

#

or why it works in 14.1

#

or 14.0

unique crane
#

So you have skill issue and didnt change the DefinedSettings

#

did you

hearty shard
#

or any time

hearty shard
#

i never did that

#

it was tested

icy knoll
unique crane
#

Must have been the wind then

icy knoll
#

like at all

hearty shard
#

no

icy knoll
#

hm

hearty shard
#

i dont use exiled

#

whatever

#

i just

restive turret
#

Refuse exiled

icy knoll
#

i imagine exiled would fix it by the way it works but yeah that's weird

hearty shard
#

I CAN FINALLY BE SICK IN PEACE

restive turret
#

Go to FreakyAPI

icy knoll
icy knoll
hearty shard
#

no

#

flip you

restive turret
#

Same but i waiting on other plp to give me src for it

unique crane
#

Im still rewriting my old plugins to LabAPI from NWAPI

icy knoll
#

atleast give me the .dll to use ๐Ÿ˜ญ

ionic prawn
hearty shard
#

no

#

take it

icy knoll
#

ty

hearty shard
#

or leave it

#

ill make release in a year

icy knoll
#

i got it

restive turret
#

David you could do the funniest thing, deleting that dll

unique crane
#

I dont have perms to do that

hearty shard
#

yea

#

xd

restive turret
#

F

unique crane
restive turret
#

Report for virus

solid mica
#

SO um.. how to log something into console?

restive turret
ionic prawn
restive turret
#

Oh nvm you don't have an alias for console.logger

unique crane
#

Make sure you use Logger from LabApi.uhhsomething.Console

solid mica
unique crane
#

and not the UnityEngine one

icy knoll
ionic prawn
solid mica
restive turret
#

Me when i

<Using Include="LabApi.Features.Console.Logger" Alias="CL" />```
restive turret
ionic prawn
#

crazy ๐Ÿ’€

#

bro is going to do something else with the ai

icy knoll
#

@hearty shard it works!!! tysmmmmm

restive turret
#

AI vs AI

ionic prawn
#

tf

restive turret
#

SCP:SL AI battle

#

Is it against vsr to make ai to the game?

unique crane
#

what

#

npc that moves around

restive turret
#

Ye

#

And shoot people

#

As like normal player

unique crane
#

Nothing against that as far as I know