#plugins-dev-chat

1 messages · Page 73 of 1

spare zodiac
#

for some reason people don't like that trollface

upper vapor
#

this built-in popup is good because

  1. opt-in
  2. official and stated in the EULA
  3. players see it when they join a server for the first time ever
worthy rune
#

if servers are not allowed to record players voices, what would that mean for other players. i doubt them grdp docs make any distiction between server/clients or are even technical on any level

upper vapor
worthy rune
spare zodiac
#

have you heard of hints my friend?

upper vapor
#

well do it and show it

upper vapor
worthy rune
#

isnt this all before AI really became popular

upper vapor
spare zodiac
upper vapor
#

but you'd likely pass that to AI for moderation

hearty shard
spare zodiac
upper vapor
spare zodiac
#

it allows buttons

#

or like opt-in opt out option

hearty shard
#

you said SSSS to clicking hints

upper vapor
spare zodiac
#

what is SSSS isn't it server specified settings?

upper vapor
#

why are people so fixated on recording players' voice

#

kinda creepy

upper vapor
spare zodiac
upper vapor
#

just have human moderators Smart

#

better yet

#

mute everyone

#

no n-words

spare zodiac
#

but yea N-Word is allowed to say like normal without context, but saying it to someone is not allowed anymore

random scaffold
#

i.e 'helicopter' 'car' i must ask like helicopter and car?

hello, helicopter is dev

upper vapor
#

what is ghostz doing here

worthy rune
idle depot
#

I see.

spare zodiac
worthy rune
#

im pretty sure other games have it

idle depot
#

!shoot 699629271089414224 1h toxicity

spring swan
spare zodiac
upper vapor
#

at that point
you don't need to store it
just pass it to an ML speech recognition model

regal lakeBOT
#

logic_gun#0 has been muted in this server for 1 hour.

idle depot
#

That guy

terse bone
spare zodiac
#

what did bro say

terse bone
#

thanks for idea :b

hearty shard
#

WOO

upper vapor
upper vapor
#

well uh

idle depot
#

!warn @random scaffold disrespectful behaviour - unoriginal pronoun joke

spare zodiac
upper vapor
#

in the popup it says "short recordings for gameplay features"
so that doesn't count

restive turret
spare zodiac
#

but it's waaaaay better then 🇨🇿

hearty shard
#

thx @idle depot

upper vapor
#

yes cuz people need to learn it

#

impossible

idle depot
upper vapor
restive turret
upper vapor
#

te patkány

#

as male is female

#

what

spare zodiac
#

udělal/a

restive turret
#

*or

upper vapor
#

xd

spare zodiac
upper vapor
#

in english we have

#

"you"

spare zodiac
upper vapor
spare zodiac
restive turret
#

I guess

spare zodiac
#

í

restive turret
#

æ

upper vapor
spare zodiac
#

I mean Slovakia might have it worser with this

#

China has 800 alphabet symbols iirc

upper vapor
#

let's not talk about the romanian language

upper vapor
spare zodiac
#

English has no čřšť just plain chracters

upper vapor
#

as in dzsungel

spare zodiac
upper vapor
#

shashkeech?

spare zodiac
#

saskyč

#

saskyczs

#

it's close to that

#

tsch

#

saskytsch

upper vapor
true cedar
#

sastsktsktsk

restive turret
#

mlem mlem mlem

upper vapor
#

sass

spare zodiac
#

no headphones

#

also in czechia 'ch' is one chracter in alphabet

upper vapor
#

pfft

#

you're just ripping off slovakia

spare zodiac
upper vapor
spare zodiac
#

maybe changing my name to saskus would be better

upper vapor
#

sus

spare zodiac
#

suskus

spare zodiac
#

why's there no developer suggestion for people here?

#

like toys that could be added etc.

icy knoll
spare zodiac
icy knoll
#

feature requests and issues

spare zodiac
#

do they also handle suggestions through it?

icy knoll
#

yes

hearty shard
#

everything

#

goes to github

#

issues

spare zodiac
#

and where can I make this issue?

hearty shard
spare zodiac
#

it really is

#

thank you

royal mica
#

Why do ppl claim you cannot dev on Linux sadding

#

Bruh

#

You could since forever

upper vapor
plain gazelle
#

Does anyone have a guide on how to make Server specific settings menu?
Ours often "breaks" and completely disappears for all/most players and i want to learn how they work to try and fix it

upper vapor
#

SSSS wrappers

#

there's also

royal mica
#

Using wrapper for 2 settings >.>

#

SSS is very simple tbh

upper vapor
#

and for compat with other plugins

royal mica
#

Lmao compa5

#

Just append to the list if it exists

upper vapor
#

i can't guarantee that other devs won't just override mine

#

even if i do everything to "'comply" with theirs

royal mica
#

Tbh you cant with wrappers either

#

Nust 1 dev who doesnt use it and its joover

upper vapor
#

have you tried secretapi

upper vapor
#

cba

#

coop

plain gazelle
#

Thank you both ^^

upper vapor
#

np

royal mica
#

No and wont cause it doesnt meet my needs

upper vapor
#

well what do you need

royal mica
#

No dependencies xdx

royal mica
#

Wait I have multiple

upper vapor
restive turret
hearty shard
#

@unique crane when make 330 its own item category

unique crane
#

Why?

hearty shard
#

theres a feature that afaik is intended where you can pick up 3 500s and then a 330

#

but the thing is if you do candy then 500 it doesnt rly

#

work

#

or just another way of excluding 330 from the check

#

to you can pickup without dropping and picking up

#

or add ScpItemSearchCompletor to ignore it
or make ItemSearchCompletor ignore the ItemType.Scp330

#

idk!

hearty shard
teal junco
#

is there an event i can use to cover every time a player receives an item (in any way)?

#

does the labapi picked up event cover that

grand flower
worn gull
#

Where is the game checking when the nuke detonates who to kill?

teal junco
#

i assume by checking the room

#

oh, "where"

#

sorry

slate flume
#

The CanBeDetonated is probably the part you mean though

#

AlphaWarheadController.CanBeDetonated

worn gull
#

Thanks

slate flume
slate flume
#

Okay yo

#

You guys know how cassie announces respawns and does multiple lines back-to-back

#

Where the subtitles change part-way

#

Like each sentence

true cedar
#

yes

slate flume
#

Is it possible to do that myself

true cedar
#

add a newline

slate flume
#

It's literally just \n

#

Crazy

true cedar
#

yes

slate flume
#

So how does it know when to change if I use custom subtitles

#

Cause I wanna do multiple messages with the voice effects

slate flume
#

So

#

Doesn't work with custom subtitles GoodOne

true cedar
#

it works with custom subtitles

slate flume
#

Do I need to do \n in both the message and custom subtitles?

#

I did it in just the custom subtitles

slate flume
#

I just tested it

true cedar
#

huh

slate flume
#

I figured as much

#

If you declare custom subtitles there's no way for cassie to know where you want the switch for the next line to be

#

I could have it say "A B C" and want it to switch between the custom subtitles of "1" "2" and "3" and it would have no way of figuring that out

#

So the question is now

#

What do I do

#

I could just do the subtitles myself but that sounds really dumb

#

Would it be possible to reduce the delay between queued CASSIE messages to zero?

#

Follow-up, if I wanted to prevent a player from moving + jumping, could I spoof a strangulation on them?

slate flume
#

Also to add onto this to clarify

#

I remember that in the past there was someone who made a mod that required client-side patching that worked off of the InventoryItemLoader or some shit and would be able to modify names and descriptions for custom items

#

I wonder if it would be possible to simply change what items the client thinks it has when someone opens their inventory (eg. replace a gun in the inventory with a custom keycard)
The actual picture of the item would be inaccurate but you would then be able to give it a custom name

#

I suspect that it wouldn't work but I figured I'd say it in case I'm onto something

slate flume
#

Also the textbox where you can enter it doesn't actually display the \n characters, it displays a new line
So it looks like

#

So you can cascade down the screen w/ it

#

It moves up depending on how many new lines you have it appears

tiny parrot
#

howdy people. Just now trying ro learn how to code plugins. Imma struggle so much because i have no idea what im doing. Yippe!!!! B)))

teal junco
#

hey does anyone know how to properly get a player to copy another player's rotation?

#

its fucking messed up and idk why

#

i know it must have something to do with how CurrentVertical is handled in Mouselook

slate flume
teal junco
#

no, i also need to copy pitch

slate flume
#

Oh you mean

#

Okay

grand flower
#

LookRotation

slate flume
#

player1.LookRotation = player2.LookRotation

teal junco
#

the yaw is handled fine

#

oh

#

lemme try

slate flume
teal junco
#

no that leads to the same method that is problematic

grand flower
#

what are you trying to do

teal junco
grand flower
#

That works on dummies

teal junco
#

something is wrong

slate flume
#

You're doing it wrong

#

You're doing MouseLook.CurrentVertical = rotation.y;

#

I'll bet

teal junco
#

okay ill take a look again

slate flume
#

If you want to set dummy lookrotation to be the same as yours just do dummy.LookRotation = player.LookRotation

#

Don't fuck with mouselook or anything, just do that

#

It'll work

#

100%

teal junco
#

yeah im stupid wtf

#

thank you guys

slate flume
#

Lmao all good

#

It's a little counter-intuitive

#

Usually vertical = y

#

But no no

#

Vertical = x

#

Absolute garbage

teal junco
#

i tried copying what exiled did which i guess was not a good idea here

slate flume
#

Lmao real shit

teal junco
#

maybe what they did worked in the past

#

but obviously not now

slate flume
#

Yeah when I use lookrotation for dummies i do some shit

#

This is upsetting me that I can't figure it out

#

It has to be possible, right?

#

Like wtf

teal junco
#

<split>

#

right?

#

<split> creates a break in the subtitles

#

where it clears it

slate flume
#

I want to do it with custom subtitles so I can remove the voice effects I do

#

Will that still work?

teal junco
#

yeah

slate flume
#

Baller lemme test it

teal junco
#

Custom subtitles are usually just unreadable (to cassie) text along with the actual words hidden

slate flume
#

Cool

teal junco
#

so anything that works in the CASSIE command works on custom subs

slate flume
#

Sick

#

Lemme test it out

#

@teal junco I love you

teal junco
#

no problem

slate flume
#

You're so goated

teal junco
#

feels good to pay you back <5 minutes after you help me with the most obvious shit ever

slate flume
#

Lmao hey happy to help

#

I've legit been trying to figure it out for like 2 hours

#

Funny thing was I was reading your previous messages about Cassie and I was like "Woah this guy knows a lot about this maybe I should @ him" but I didn't wanna disturb you for something you might not even know haha

teal junco
#

and yeah i had to become like a cassie expert

#

hubert should have documented cassie when he wrote it

#

well maybe there is internal docs, i have no idea. i mean usually competent programmers do have docs on like everything essentially

slate flume
#

Search "cassie" in plugin dev chat and half the results will be you haha

slate flume
#

I mean having no documentation for any of the code is a nightmare sometimes

teal junco
#

yeah im a god damn genius

#

that on top of writing a plugin for cassie

#

for no conceivable reason

#

it has embedded some cassie knowledge deep into my head

gilded thicket
#

um no youre not

true cedar
teal junco
#

trust me, heh

#

you dont wanna mess with someone of my intellect

teal junco
#

👿

true cedar
#

i have the default line height memorized and know all the rules of when a tag can be parsed

gilded thicket
#

i distinctly remember you always reporting your findings and progress on ruei in exiled dev chat

true cedar
#

it was an ardous journey

#

and this time i wanted to mirror how tmp parses tags as closely as possible

#

but tmp tags are so fucked

gilded thicket
#

why you dont write own markup language

#

or you cant do that?

teal junco
#

cant do that in SCP sl

gilded thicket
#

no its possible. he just cant do it

true cedar
#

they

gilded thicket
#

^

teal junco
#

i mean maybe you can but it has to convert into tmp at some point

gilded thicket
#

no

teal junco
#

why not

gilded thicket
#

scpsl is using a vulnerable version of mirror which allows granting access to client effectively turning this game into a more dangerous gmod 🔥

teal junco
#

its a client side thing, so scp sl has to have it implemented basegame

teal junco
#

it would be really funny

gilded thicket
#

its real

#

lol

#

there r some east asian servers using it for custom models

teal junco
#

my current project has me ripping my hair out and i dont know if its worth it

true cedar
#

custom models

teal junco
#

im writing the demo system

teal junco
true cedar
#

r u sure they're not using primitives

gilded thicket
#

yeah bro

teal junco
gilded thicket
#

no

teal junco
#

oh

gilded thicket
#

i made it up sorry

true cedar
#

yea so you're bullshiting

#

LOL

gilded thicket
#

though u can mod sl clientside its fun

#

although il2cpp is annoying

#

the crouch feature is still in SL for some reason with the only missing thing being the animation (but u can add it back using UABEA). it takes about 5 lines of code for a server + clientside mod to re add crouching

true cedar
gilded thicket
#

😭

true cedar
#

so thats what im dealing with

teal junco
#

wait so you can inject lines of code?

gilded thicket
#

yes

#

before and after a methid

#

wait I have an example

#

somewhere

teal junco
#

ive seen a couple of people using something like it to spawn assets in SCP SL.

gilded thicket
#

so u can prevent a method from running, change args, return result, etc

teal junco
#

there's lieutenant griefer on reddit & a couple of people i spoke to on EXILED

gilded thicket
gilded thicket
#

ah idk about that for code

teal junco
#

thats what i was talking about

gilded thicket
#

I was using bepinex for code and uabea for models and such

teal junco
#

hm

#

the dedicated server is a unity game right

gilded thicket
#

yup

teal junco
#

so if i can figure out how to mod the SL client with a modloader then i can also mod the server the same way right

#

awesome

gilded thicket
#

I’m not sure. I was just using plugins for server to not break my head

teal junco
#

i probably wont even bother figuring this stuff out but its nice to know in case i ever wanna

gilded thicket
#

It’s actually quite easy. But annoying

gilded thicket
#

Because for server modding is really easy but on client side it’s difficult

teal junco
#

you can probably just write your custom stuff directly on the server side and just have your own network messages and stuff

#

haha

gilded thicket
#

I had some nw devs help me with some workings of the game though

teal junco
#

thats how those people on EXILED did it

#

so the assets were injected on the client side, and the server just told the client that it spawned

#

well if i ever decide to try it at least i know this kind of modding is possible

#

only good for private servers but its still fun

gilded thicket
#

I did 😁

teal junco
#

at least four i think

#

there's a guy on reddit who posts his mods

#

theres like two people on exiled

#

and there's you now

gilded thicket
#

This one

#

Crouch

teal junco
#

wait how do i run SCP SL in unsafe mode so AC doesnt catch me?

teal junco
gilded thicket
teal junco
#

what script contains the crouching stuff?

#

i think i have it installed

gilded thicket
#

yup that

teal junco
#

i used it to make a couple of texture replacements

upper vapor
#

NW will smite you

unique crane
#

I dont think you should be posting in here xd

grave eagle
#

Ahahhhahaha

spare zodiac
grand flower
#

Because it's a bypass for the (useless) anticheat SL has mmLul

worn gull
#

Does somebody have a patch for this?
[2025-07-19 11:48:19.687 +02:00] [STDOUT] ArgumentException: An item with the same key has already been added. Key: ReferenceHub (Name='Player [connId=3]', NetID='27079', PlayerID='23')
[2025-07-19 11:48:19.687 +02:00] [STDOUT] at System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x0015a] in <069d7b80a3914a08b6825aa362b07f5e>:0 [2025-07-19 11:48:19.687 +02:00] [STDOUT] at System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <069d7b80a3914a08b6825aa362b07f5e>:0
[2025-07-19 11:48:19.687 +02:00] [STDOUT] at LabApi.Features.Wrappers.Player..ctor (ReferenceHub referenceHub) [0x0000b] in <ed207da941d64f12942f0c5cc79632fc>:0
[2025-07-19 11:48:19.687 +02:00] [STDOUT] at LabApi.Features.Wrappers.Player.AddPlayer (ReferenceHub referenceHub) [0x00008] in <ed207da941d64f12942f0c5cc79632fc>:0
[2025-07-19 11:48:19.687 +02:00] [STDOUT] at (wrapper delegate-invoke) System.Action`1[ReferenceHub].invoke_void_T(ReferenceHub)
[2025-07-19 11:48:19.687 +02:00] [STDOUT] at (wrapper dynamic-method) ReferenceHub.ReferenceHub.Start_Patch2(ReferenceHub)

terse bone
worn gull
#

Thanks

random scaffold
#

which method teleport items from scp106 to door / pos?

icy knoll
#

or do you mean the automatic method

random scaffold
#

ValidateDoor(DoorVariant dv, FacilityZone requiredZone) was patched

#

but it same teleport items

terse bone
random scaffold
#

but without the players

terse bone
#

here it sets item's position

random scaffold
#

where he get drop position

terse bone
random scaffold
#

how can I make the player see the artificial flashes through the walls? (mimic SCP-1334)

#

i wanna make legal wallhack in settings

tepid sluice
#

I want to ask for this too

hearty shard
#

or make them 096 and make everyone a target

random scaffold
hearty shard
#

fake sync everyone u dont want seen

#

or beg nw for a toy that adds smth for it

spare zodiac
#

yo people how do I get information about keycard like lable from keycard that is defaultly defined by NW and not the custom keycard? I have been searching and it's fucking hard to do.

royal mica
#

This but for any other detail you need

grand flower
#

LINQ moment

royal mica
#

I just used the decompiled Name getter Shrug

spare zodiac
#

*details

royal mica
#

Are you looking at InventorySystem.Items.Keycards.KeycardItem?

royal mica
#

Then you should

spare zodiac
hearty shard
#

keycard.Base.Details

royal mica
#

Cause that class has Details

spare zodiac
#

var x = (KeycardItem)ev.Player.CurrentItem.Base;
Base doesn't exist in x

#

Details does though

#

I finally got it thank you

hearty shard
slender lynx
#

@hearty shard do you got the ruei docs

#

shit down rn

#

its so sad

mighty fractal
#

hi, i joined and i got a basic question which maybe a plugin will do. does anybody know if the scpsl server on linux supports stdin? trying to send broadcast messages through a socket to notify players of a server reboot (have had some weird freezes overnight before and ideally a reboot would solve that). please let me know if this is not the proper chat for this either. thank you!

teal junco
#

doesnt that tool force you to online mode anyways

icy knoll
hearty shard
celest thorn
icy knoll
#

text chat uses ruei, so does timers, you can read my source

upper vapor
celest thorn
#

didn't know that

upper vapor
#

the SL server can't read from LA's stdin

celest thorn
#

im trying to figure it out AutoElement

#

rn

icy knoll
celest thorn
#

with x, y

icy knoll
#

i don’t use that, i just use voffset and pos lol

celest thorn
#

position on the screen now i need to replicate it on that

mighty fractal
celest thorn
#

its better to use that

#

for configs

#

and easier to understand

icy knoll
#

¯_(ツ)_/¯

upper vapor
#

your shell script

celest thorn
#

i could steal the method used by HSM to calculate it so it looks the same

mighty fractal
#

let me send a screenshot. you might be able to solve this since im having trouble with screen. when i run this script manually, it works. but when i run it via cron or systemctl, it fails and i cant figure out the solution. it says must be attached to a terminal, doesn't work even if my screen is attached or detached.

celest thorn
#

oh wait i cannot

mighty fractal
# upper vapor your shell script

if i run this shell script via the terminal, works fine. but screen fails when i do it through an automated service which is what is giving me trouble. i tried with -d -m and whatnot, but still nothing.

#

cron fails and systemctl fails as well. it has to do with the screen session and being headless but i am stumped on it

upper vapor
#

tbh idk how that works 😭

#

why not make a plugin do the auto reboot

mighty fractal
#

im probably going to have to at this point, which is why i joined here

#

is there a plugin already, or should i probably start making one

upper vapor
#

there's an option in the config restart_after_rounds iirc

#

so it auto-restarts every x rounds

#

gameplay config

celest thorn
#

@icy knoll can you get the height of the line or the lenght of the line

celest thorn
#

i need to recalculate the way HSM did the position

#

because im using Vector2 for the configs

slender lynx
#

how get hsm position on ruei

celest thorn
#

and pretty much i want to migrate safely

#

figure it out this i can start re writing

true cedar
#

there's no way to get the height or length of a line unfortunately

celest thorn
#

Y: (700 - Y) voffset
X: <pos={0:0.#}>

#

i mean this are the calculation it does

#

but without them i don't think they will be precise

#

but honestly its better than nothing

true cedar
#

im a bit confused why u need the length of the line

celest thorn
true cedar
#

line height is a tag

celest thorn
#

because so everything has the same position

true cedar
#

huh

celest thorn
#

im migrating from HintServiceMeow to Ruei

#

because im fucking done

hearty shard
#

the only thing u need to place correctly urself is the X

celest thorn
#

the X is just pos

#

thats it

#

im pretty sure

upper vapor
#

voffset for y

hearty shard
#

yes but y is already consistent in ruei

celest thorn
hearty shard
#

if you set what it should be

celest thorn
#

but it wants the line height or someshit

#

that i still don't understand why it needs it

#

ig i can just use this

#

and refine it

#

the configs

true cedar
#

yea ruei does all the vertical positioning for u

celest thorn
hearty shard
#

schizophrenia

true cedar
#

does hsm... not?

celest thorn
#

because i just tested

hearty shard
#

hi rue

celest thorn
#

my server with 4 people destroys itself

hearty shard
#

that to my knowledge is a u issue

slender lynx
true cedar
#

if you're using the ruei v3 branch

#

im so confused

hearty shard
celest thorn
true cedar
#

wdym idk lol

slender lynx
#

pretty sure we're just using the latest release

#

back in may

celest thorn
true cedar
#

and thats crashing the server?

slender lynx
#

no

#

ok

celest thorn
#

Rn we aren’t even using

#

Ruei

slender lynx
#

zero ur an idipt

#

you dont explain correctly

celest thorn
#

;(

upper vapor
#

position

slender lynx
#

we are switching TO ruei

hearty shard
upper vapor
#

why do they need line height

hearty shard
#

theyre adding HSM to ruei idk

celest thorn
#

To just not break everything

upper vapor
#

ppl have already added ruei to hsm
no need for the other way around

true cedar
#

they have lol?

celest thorn
#

Lol

#

Its not that big

true cedar
#

til

celest thorn
#

But honestly

#

Im going to migrate the config manually ig

upper vapor
hearty shard
true cedar
#

well i needed really fine grain control over when a tag == another tag

upper vapor
#

okay

#

but if tag.equals overrides why not overload the operator

true cedar
#

next patch does that

upper vapor
#

fine grain control over when a tag == another tag

#

what's the use case

true cedar
upper vapor
true cedar
#

if two tags are created differently with a null id then they shouldn't equal each other

hearty shard
# true cedar

if other can be null and is handled fine why not make it nullable

true cedar
hearty shard
#

oh okay

true cedar
#

oh wait i can make it nullable wtf

upper vapor
#

so like javascript symbols

hearty shard
#

im so smart

true cedar
celest thorn
#

like a SendHint

#

but for ruei?

true cedar
#

except

icy knoll
#

ye

true cedar
#

new Tag("hello") == new Tag("hello")

celest thorn
#

its time to rewrite :3

icy knoll
#

@celest thorn DisplayCore::SetElemTemp()

celest thorn
#

ok nice

icy knoll
#

that's for temp hints

true cedar
#

new update gets rid of that methdo sowwy

#

its still really simple tho

celest thorn
#

hmm

#

i really need to understand can i do

true cedar
#

display.Add(new BasicElement(500f, "hello), TimeSpan.FromSeconds(2));

celest thorn
#

class MyClass : AutoElement

#

because that would be a banger

hearty shard
#

nuh uh

#

never!

true cedar
#

as in inherit from element?

celest thorn
true cedar
#

yea

icy knoll
celest thorn
#

so i can do this

#

and directly call the ctor

true cedar
#

yea

true cedar
upper vapor
#

make a method shrug

true cedar
#

yea

hearty shard
#

oh

#

yea!!

true cedar
#

its basically just elemreferences

#

but not dumb

upper vapor
#

do you have an overload for no tag returning a new tag

true cedar
#

wdym

#

oh

icy knoll
true cedar
#

nah

#

its not a dictionary

icy knoll
#

yeah that adds up

true cedar
#

i was thinking of renaming Add to Show

celest thorn
#
    public class ChatSystem : AutoElement
    {
        public ChatSystem(Roles roles, Func<DisplayCore, Element> creator) : base(roles, creator)
        {
        }

        public ChatSystem(Roles roles, Element element) : base(roles, element)
        {
        }
    }
#

i don't think i can do this lol

icy knoll
celest thorn
#

im going blind

icy knoll
#

plus with dynamic element, you call whenever you want to update

#

AutoElement, you don't

celest thorn
#

Uuuh

#

i like it

true cedar
#

autoelement is being removed next version

#

btw

upper vapor
#

droles was stupid

icy knoll
#

what's the alternative again? i find it useful to have it for timers

celest thorn
#

Oh my

#

i need to do a manager

true cedar
#

events

celest thorn
#

thats so sad

icy knoll
#

like make it update every second and me not having to do a coroutine

celest thorn
#

like for what i see here

true cedar
#

oh update intervals is an option in dynamicelement

icy knoll
celest thorn
#

before i was using a class Elements

upper vapor
#

lumi

icy knoll
upper vapor
#

why are you using class tuples

icy knoll
upper vapor
#

😭

celest thorn
#

lol

icy knoll
celest thorn
#

:3

#

(im joking)

upper vapor
celest thorn
#

im so scared

icy knoll
celest thorn
#

because it will become massive pretty fast

upper vapor
#

you're allocating unnecessary memory

celest thorn
#

wait i have an idea

icy knoll
celest thorn
#

if i rework the same system i have rn

#

and i just store them in a list?

#

/ hashet

upper vapor
icy knoll
#

hold on then

upper vapor
#

its a class

icy knoll
#

lemme install rider

upper vapor
#

not a struct

#

also you don'don't need to name "named tuples"ű

true cedar
#

u can which is silly

upper vapor
#

who tf is alt+tabbing my computer on its own

icy knoll
#

i love linux

hearty shard
icy knoll
#

yay -S rider

hearty shard
#

why is

#

when is

icy knoll
#

simple rider install

upper vapor
#

i'm trying to press number keys

#

and it just alt tabs

#

wtf

#

WINDOWS

#

wanna hotkey in SL or write an apostrophe? SWITCH TO A DIFFERENT WINDOW

#

oh i know

#

i made a program to do that

#

😭

true cedar
#

dumbass

icy knoll
#

holy shit why tf is .net so large...

upper vapor
icy knoll
#

just mono

#

and msbuild

upper vapor
#

you can just edit on github

icy knoll
#

it took nearly 3 minutes to install msbuild

#

ffs

#

😭

true cedar
#

the sl plugin dev addiction

celest thorn
#

How can i get the elements on a player screen?

true cedar
#

for ruei?

celest thorn
#

im migrating rn

#

because i need to remove a specific element

true cedar
#

in v2 you can add the elements to a display but

upper vapor
true cedar
#

oh use an elemreference

celest thorn
#

ev.PlayerDisplay.RemoveHint("LoadingScreen");

#

on meow i was doing this

#

but now how?

hearty shard
#

saqve the reference

#

save

icy knoll
#

save the elem ref

#

lol

true cedar
#

idk i barely remember how to do it in v2

celest thorn
#

idk how to explain it but wait

#

like

celest thorn
#

before i was doing this

#

to load all of them

#

elements is one of my classes

upper vapor
#

why tf do you have goto

celest thorn
#

but honestly thats not even the point lol

icy knoll
upper vapor
#

reference mscorlib

#

and System

icy knoll
#

references are fucked rn anyway

#

so hold on

upper vapor
celest thorn
#

wait how can you set the X axes?

royal mica
celest thorn
#

oh i forgot i need to do it manually

upper vapor
royal mica
celest thorn
#

nah im going insane

#

on how to save it

#

the element

true cedar
upper vapor
#

how did i know...

celest thorn
#

i could save it in a dictionary

#

because i do this

true cedar
#

idk i think ur better off waiting for ruei v3 before migrating

celest thorn
#

and i have this

celest thorn
#

because if its more than 2 months im switching

upper vapor
#

you can compile it yourself

true cedar
#

maybe like

#

definitely under a month

celest thorn
#

and do new()

upper vapor
#

dunno your use case for removing elemnts

celest thorn
#

lol

upper vapor
#

i'd have a separate screen/display if many things change

celest thorn
#

the problem is most of the stuff is dynamic

#

for a simple reason

#

from Switching Hubs and stuff

#

to countdown

upper vapor
#

paws

#

why don't you use a stylecop ruleset

#

instead of globalsuppressions

true cedar
#

um

#

i didn't know that was a thing lol

#

how do i use it

upper vapor
#

ask eve

#

or check secretapi

true cedar
#

@hearty shard

upper vapor
#

RueI is not a grid-based or line-based system

#

what system is line-based

true cedar
#

idk like

#

if u had a bunch of preset lines

hearty shard
#

paw

#

you know that thing

#

when you

#

and then you

#

and then the world ends?

true cedar
#

no

hearty shard
#

me neither

true cedar
hearty shard
#

no i got rid of the other paws

celest thorn
#

element = AutoElement.Create(Roles.All, raw).UpdateEvery(TimeSpan.FromSeconds(0.1));

#

i was reading but

#

Create doesn't exist

hearty shard
#

new AutoElement()
{
UpdateEvery = new()
}

#

smth

true cedar
#

yea the examples are outdated sorry lol

celest thorn
#

i don't quite understand why

#

this choice

#

but you cannot remove manually an auto element

#

like this gives me so much of an ick

upper vapor
#

compile v3 yourself

hearty shard
celest thorn
#

not for all of them

hearty shard
#

in the dyanmic element

#

dynamic

#

just

narrow kelp
#

whats the name for candy bag

#

BagOfCandies?

hearty shard
#

if (xxx)
return string.Empty;

hearty shard
#

wait

#

what r uon about

#

ItemType ?

#

the class ?

#

basegame or labapi wrapper ?

narrow kelp
#

uhhhhhhm

#

like

#

idfk what its called

#

itemtype i tyhink

hearty shard
#

ItemType.Scp330 iirc

upper vapor
#

IDE suggestions:

hearty shard
celest thorn
#

like

#

im trying so badly to understand

#

do i really need

#

a display

#

that badly to just display hints

upper vapor
#

is it horrible

true cedar
#

v3!!!!!

celest thorn
#

im going to cry

#

so badly

#

you know what

#

@icy knoll im stealing your data sorry

upper vapor
#

what

celest thorn
#

like im going to cry to bed

icy knoll
#

what data

celest thorn
#

im going insane

icy knoll
#

just add text chat to the server bruh

#

why are yall stealing my shit

celest thorn
#

I made my own

icy knoll
#

can we normalise not stealing my shit

celest thorn
#

its so old mine

#

lol

upper vapor
celest thorn
#

before even labapi

#

existed

#

nah

#

i cannot steal

#

so sad

#

fuck the license

icy knoll
#

it's AGPL

#

you can't ignore it

#

i would recommend for legal sakes, do not steal my work.

upper vapor
hearty shard
#

i should make it so you cant do anything with secretapi except reference it

celest thorn
#

like

#

you can see

#

this is old asf

upper vapor
hearty shard
#

thats the point

#

nah

#

secretapi will always be free to use if theres a comment w credit

upper vapor
#

make your own hosting for secretapi

hearty shard
#

true

#

good idea ax

#

thank you

upper vapor
#

like

#

in the readme

hearty shard
#

as in

#

"this code was copied from secretapi"

upper vapor
#

the code that got yoinked?

hearty shard
#

yes

upper vapor
#

nodders

hearty shard
#

i mean

#

thats why its open source

icy knoll
#

just give secretapi the MIT license then

#

practically

upper vapor
#

what's wrong with thisplays

#

display

hearty shard
#

i havent given a licence cuz im lazy

upper vapor
hearty shard
#

PR one idk

upper vapor
#

-# -paws

icy knoll
#

also i just realised, i dont really need to publicize assembly-csharp in 99% of my plugins...

teal junco
#

will this code work to remove an item without destroying it?

hearty shard
upper vapor
#

why are you doing that though
to swap inventories?

upper vapor
teal junco
hearty shard
#

thats what i said!

mighty fractal
hearty shard
#

remove not destroy it

#

i have code somewhere

#

2sec

teal junco
#

oke

hearty shard
#

oh i just use _player.ClearInventory();

teal junco
hearty shard
#

well i replace them

#

so i List<Item> inventory = _player.Items.ToList();

upper vapor
#

remove the item from inventory.userinventory

#

and set senditemsnextframe to true

hearty shard
#

and then i just clear inv

upper vapor
teal junco
#

probably it would

hearty shard
#

it calls public void RemoveItem(ItemBase item) => Inventory.ServerRemoveItem(item.ItemSerial, null);

#

i mean

upper vapor
#

that

#

destroys the item

hearty shard
#

ill check if it destroys but i think it doesnt

#

well

#

it works for me

teal junco
#

im converting my plugin fully to labapi so all the small things that exiled has is jarring to me and sometimes i dont wanna trace the full thing that exiled wraps

upper vapor
#

impossible

teal junco
# hearty shard it works for me

a last year when i made one of my first plugins, an exiled wrapper that wrapped the same exact method caused the item to be deleted and ghost items

#

anyways

#

i will try what axwabo did

upper vapor
#

uuuuuhhhhhh

hearty shard
#

hmmm

#

i do see it destroys but

#

for me its working afaik

#

i havent had issues and i remember testing it

upper vapor
#

"afaik"

hearty shard
#

i mean

#

maybe it changed in last release

upper vapor
#

what were you testing

hearty shard
#

but it HAS worked

#

ON labapi

hearty shard
#

it gave me items

#

and ammo

#

and kept custom items

upper vapor
#

blink

hearty shard
#

its cuz i use this to give it

teal junco
#

also, does anyone know if serials are re-used within one round?

teal junco
hearty shard
#

which was for a temp fix

#

until nw added support

#

okay that explains it

#

but it does work

teal junco
hearty shard
#

so you need 65k itemsp

#

in a round

#

for overflow

teal junco
#

okay that makes it much easier for me

hearty shard
#

reset is never called anywhere else

upper vapor
#

_ai

#

who named that

hearty shard
#

_ai is private

#

idk