#plugins-dev-chat

1 messages · Page 143 of 1

celest thorn
#

its impossible

#

nw adds rpc every day

royal mica
#

it would lag behind for sure

celest thorn
#

and new sync stuff

#

every day

#

instead of using stuff like normal mirror user

#

instead No RPCs, Packets

#

and only those

royal mica
#

I would steal the way how minecraft does it tbh, have the decompiled code, push it into branch see changes and then move from there

celest thorn
#

Interest manager could really benefit the ga,e

royal mica
#

atleast we can see the variable names

#

and not the obfuscated ones

celest thorn
#

who complains about SL has never seen minecraft

#

i would send them to work on minecraft 1.8

#

and then they would realize SL isn't that bad

royal mica
#

I'M coming from Minecraft modding

upper vapor
#

kill >>>> prefix

royal mica
#

creating an inventory was an ADVENTURE figuring out

celest thorn
#

im coming from minecraft modding & plugins

celest thorn
#

if you don't handle gui correctly

#

Duping

#

memory leak

upper vapor
royal mica
#

straight up crash

upper vapor
#

you can use bukkit

royal mica
#

or you wonder why the fuck does the player inventory gets cleared ICANT

celest thorn
#

for that

#

Normal uis

#

have it

royal mica
celest thorn
#

but custom ones are chest

celest thorn
#

and depending how you handle them you can cause dupes

upper vapor
celest thorn
#

as much as everyone wants to glaze mc

#

mc sucks

#

its just old code running on top of new one

#

with hopes and dreams

upper vapor
#

what

#

what is this if bukkit doesn't have a wrapper for them

celest thorn
bright vine
#

oh yeah

#

@upper vapor

celest thorn
#

you can cause dupes

bright vine
#

did you find anything about 939 visibility controller?

upper vapor
bright vine
#

i'm 99% sure it's possible to remove the blurring effect

bright vine
#

from 939's vision

#

hmmmm

upper vapor
#

david has said it, it's client side

bright vine
#

i must dive into this deeper

#

wait what

celest thorn
#

go check nw source code now that you have it

#

bruh

bright vine
#

939's vision is all clientsided? everything about it?

#

someone removed the blur before

#

like a few days ago but i can't find it 💔

celest thorn
upper vapor
bright vine
#

oh he pinged me

#

i did not get the ping for some reason

#

so that person went to game settings and removed the blur

upper vapor
royal mica
upper vapor
#

what quick stacking 😭

#

like

#

shift double click

#

?

royal mica
#

ye

upper vapor
#

it should because the item you click is what type gets transferred
you cancel it
the server handles the bulk move not the client

celest thorn
#

or prevent commands in the UI

upper vapor
royal mica
#

there are so many hidden inventory exploits

celest thorn
upper vapor
#

on 1.8? Kek

royal mica
#

I watch duping on P2W videos and the exploits are insane

celest thorn
#

latest versions

upper vapor
#

right

celest thorn
upper vapor
#

sucks to be you if you mod newer minecraft i guess

celest thorn
#

i just don't wanna tell you but this

#

for duping its op

upper vapor
celest thorn
#

or how flawed it is

#

example sending commands on guis, you think its impossible

#

instead it isn't

upper vapor
#

didn't say which developer toomuchtrolling

celest thorn
#

because

#

it closes for the server but not for the client

upper vapor
#

and the server just

#

lets you transfer items in an inventory that isn't even open

#

?

celest thorn
#

and stuff

upper vapor
#

that's diabolical

celest thorn
#

and it works fine

#

you see why i fucking hate minecraft

upper vapor
#

i wonder what view.getTopInventory() returns then

#

can it crash the server

restive turret
upper vapor
celest thorn
#

because for the server the client doesn't have nothing

upper vapor
#

but then the server just... wouldn't transfer the items
cuz there's nothing to transfer
at least that's what i imagine, i don't actually know how mc handles inventory internally

restive turret
#

Tbh if interest manager is actually be made would be goated

#

But I think interest thing is client sided (no?)

celest thorn
#

and stuff

#

Desync is useful for that

celest thorn
bright vine
#

guys

celest thorn
#

all at once

bright vine
#

is there a team that has no "faction"

#

or something like that

#

so the round doesnt just end when i like

upper vapor
#

Others

bright vine
#

set a specific scp's team to "chaos" for the global target counter but the round still en

#

Oh

#

is that what its called

upper vapor
#

just

bright vine
#

Others

upper vapor
#

check the enum members lol

bright vine
#

Im so

upper vapor
#

decompile GetFaction

bright vine
#

Thank You Axwabo

upper vapor
#

np

upper vapor
#

let's rewrite minecraft with mirror toomuchtrolling

bright vine
#

i thought you meant "Others" literally but i assume youre referring to OtherAlive?

upper vapor
#

that one probably

bright vine
#

that one does not count towards the target counter sadly

upper vapor
#

wait what are we doing

bright vine
#

Trying to make a custom scp count towards the scp target counter

#

i think i could just make OtherAlive count towards the target counter itself

upper vapor
#

don't

#

why can't you just check per player and add one if it's your custom scp

bright vine
#

oh okay then what should i be doing

upper vapor
#

with a patch

bright vine
#

thats the part im stuck on

#

the custom scp is still on the scp side

#

so im trying to make it a target with no faction

#

Lone scp basically

upper vapor
#

right

#

uh

#

you'll have to modify this lambda

bright vine
#

oh

#

thank you!

upper vapor
#

return true if the player matches

#

np

bright vine
#

how do you even find these? somehow i always manage to skip stuff like that

#

even if i triple chjecked

#

checked

celest thorn
#

@upper vapor i have a crazy idea

#

GUIs in SL

#

done with primitives Trolley

upper vapor
#

this is a nested class in roundsumamry

celest thorn
upper vapor
#

it doesn't work too well

#

since you have to fake sync the pitch

#

of the primitive parent

celest thorn
upper vapor
#

you wanna put the primitive in front of the player

#

but you can't parent it to the camera, only the player's game object

#

so either fake sync or normally set the pitch

celest thorn
#

i mean i would do it that its like minecraft

#

so it stops you from moving

upper vapor
#

you can't... stop the camera from moving

celest thorn
#

you sure?

upper vapor
#

or can you

royal mica
#

Or treat the GUIs as ingame objects and allow user to move freely

celest thorn
#

i can

upper vapor
#

do you use 3114

celest thorn
#

no

royal mica
#

I was actually thinking about the same, making a GUI with primitives

upper vapor
#

or override rotation every frame

celest thorn
upper vapor
#

so you don't actually prevent the camera from moving

celest thorn
#

but its funny

royal mica
#

I want it cause it would be dope

celest thorn
celest thorn
#

even tho with meow combined i could do some cool stuff

upper vapor
#

yeah but you don't prevent it, you just force the rotation to be x thing, still flickers

restive turret
#

Like in Minecraft if you do cutscene

celest thorn
#

thats the only thing you can do

restive turret
#

Or just don't do ui

upper vapor
cyan crown
upper vapor
#

what the helly

wanton turtle
#

I remember

dim slate
#

Does anyone know where StaticUnityMethods is actually created and attached to a gameobject?

dim slate
slate flume
#

Me when

cyan crown
#

These are in order

slate flume
# cyan crown

This is so much more ominous and spectacular than current SL imo

cyan crown
#

Thanks its not finished tho so it will look much more better

#

You might notice that door panels make lights as well seeing by the hands reflecting the lighting

teal junco
#

oml i was so braindead

slate flume
upper vapor
dim slate
#

Because I'm trying to make changes to how it calls its delegates

#

To deal with issues that occasionally occur with null refs not being handled

upper vapor
#

you can't guarantee event invocation order

#

best you can do is put a gameobject in the scene with your own component and call transform.SetAsFirstSibling() but that might not work still

dim slate
#

I found a solution so no matter.

celest thorn
#

I do have a question can you make a ragdoll sling shot with explosion effect?

royal mica
slender lynx
#

hi guys!

slender lynx
#

@celest thorn china or taiwan

#

🇨🇳

royal mica
static meteor
#

I made mine before waypoints ¯_(ツ)_/¯

slender lynx
#

its a fair question

#

why people so mean

celest thorn
slender lynx
#

peace and love

#

and all will be ok

stable shore
royal mica
#

Im just looking up, dont mind me

static meteor
#

Still have yet to use waypoints at all

slender lynx
#

i cant lie i forgot there was a chinese mod

#

it was a misinput general zao

stable shore
#

STOP TYPING UR HIGH AND DRUNK

royal mica
#

That sounds awesome

#

Though not at 8am mytime, that wouldnt go well

celest thorn
#

1v1 on fortnite

slender lynx
royal mica
static meteor
#

New idea

celest thorn
#

i could do

#

but idk how tf you would divide everything in a grid

royal mica
#

You see 49 and you just start building ICANT

upper vapor
celest thorn
upper vapor
#

Like

#

Make it go far

celest thorn
#

how?

#

like you can set it?

upper vapor
#

Yeah

celest thorn
upper vapor
#

Just set the velocity

#

Any damage handler, no?

#

At least StandardDamageHandler

dim slate
#

It's caused by one of the delegates in the First person movement modules active updates action

#

Just one null ref in this chain of methods can stop the whole chain

keen halo
dim slate
#

And that throws an exception up the chain to static unity methods, which kills anything that comes after FPMM

#

I patched and replaced these pieces of the game to use a more graceful solution that will ignore delegates that cause exceptions and allow the rest of the chain to continue

#

Cause otherwise player movement as well as many other things seise to work

royal mica
celest thorn
#

How can i parent a schematic (from mer) to a Player?

#

schematicObject.gameObject.transform.SetParent(player.GameObject!.transform);

#

this doesn't work at all but for no reason

spare zodiac
celest thorn
spare zodiac
#

yes

celest thorn
spare zodiac
celest thorn
#

because this doesn't

celest thorn
#

lol

#

like no schematic

#

is visible

spare zodiac
#

is it just not moving?

spare zodiac
celest thorn
#
        Vector3 behindPlayer = player.Position - (player.Camera.forward * -2.0f);
        SchematicObject schematicObject = ObjectSpawner.SpawnSchematic("Hotdog", behindPlayer);

        schematicObject.gameObject.transform.SetParent(player.GameObject!.transform);
celest thorn
#

it should be behind the player

spare zodiac
celest thorn
#

bruh

spare zodiac
obsidian wharf
spare zodiac
#

with localposition

celest thorn
spare zodiac
#

and make sure when you built the schematic in unity that it's in middle of the scene

spare zodiac
celest thorn
#

i know that

#

i mean world stay

#

should make it work

#

lol

#

idk i do this stuff automatic on meow

#

so its not really a problem for me on meow

#

but mer is totally different

#

so learned my lesson NEVER make your own stuff else you forget everyone else

spare zodiac
#

do you set the local position of the schematic?

celest thorn
#

world stay should set it for me

spare zodiac
#

bro

#

set the local position shatiwhdjakfjazxhskaj

celest thorn
#

WHY??

#

if world stay exist

#

bruh

#

schematicObject.gameObject.transform.SetParent(player.GameObject!.transform, true);

#

this true exist for a reason lol

royal mica
#

Cause parenting makes world origin to the parent

celest thorn
#

i hate SL

royal mica
#

Thats Unity

#

No?

celest thorn
#

Im sorry but World stay position should do that???

royal mica
#

Isnt it so the Parent is always the origin?

spare zodiac
#

¢=%}©{¢=¥×|∆£¥}?";#-#(_($

upper vapor
celest thorn
#

bro im geniunly 100% sure unity is not that stupid

royal mica
celest thorn
upper vapor
royal mica
#

Idk, it is still morning

celest thorn
#
        Vector3 behindPlayer = player.Position - (player.Camera.forward * -2.0f);
        SchematicObject schematicObject = ObjectSpawner.SpawnSchematic("Hotdog", behindPlayer);

        schematicObject.gameObject.transform.SetParent(player.GameObject!.transform, true);
celest thorn
#

im geniunly trying my best lol

spare zodiac
celest thorn
#

this shit seems to be so stupid

celest thorn
dim slate
royal mica
celest thorn
#

so how tf you parent this shitty ass fucking schematic

#

geniunly i now remember why i made everything myself

upper vapor
spare zodiac
celest thorn
#

and then set local position?

upper vapor
#

Problem solved

#

Can't you just specify the parent in which to spawn the schematic in?

upper vapor
spare zodiac
upper vapor
celest thorn
#
        SchematicObject schematicObject = ObjectSpawner.SpawnSchematic("Hotdog", new Vector3(0, 0, 0));

        schematicObject.gameObject.transform.SetParent(player.GameObject!.transform, false);
        schematicObject.gameObject.transform.localPosition = new Vector3(0, 0, 2f);
spare zodiac
#
        Vector3 behindPlayer = player.Position - (player.Camera.forward * -2.0f);
        SchematicObject schematicObject = ObjectSpawner.SpawnSchematic("Hotdog", behindPlayer);

        schematicObject.gameObject.transform.SetParent(player.GameObject!.transform, true);

//FUCKING LOCAL POSITION HERE ZERO
celest thorn
#

now if i use this it should work?

spare zodiac
#

try it and see

upper vapor
#

Shameless sloc plug

spare zodiac
upper vapor
#

(It lets you specify the parent when spawning)

spare zodiac
#

never used it only MER

upper vapor
celest thorn
#

I swear

#

i prefer meow

#

10 times

spare zodiac
celest thorn
#

i just need to do Create and specify it

#

thats it

upper vapor
upper vapor
upper vapor
#

Then

celest thorn
#

;(

spare zodiac
#

mer api is not good

celest thorn
upper vapor
#

Use another loader kek

celest thorn
royal mica
#

Create ome xdx

celest thorn
#

btw what the fuck is the permission of mer?

celest thorn
#

and easier lol

spare zodiac
upper vapor
#

I'm not very proud of the sloc API because i started it years ago but it's still pretty simple to load an object

spare zodiac
#

MER is very unreasonably hard to work with

upper vapor
#

Yet it's the most used...

celest thorn
upper vapor
royal mica
upper vapor
celest thorn
#

I swear im gonna break something

#

It doesn't work

#

and I CANNOT EVEN CHECK THE SCHEMATIC

spare zodiac
#

go to unity and check if it's in the middle of the scene

royal mica
#

I guess that was the most popularized loader?

celest thorn
#

BECAUSE FUCKING DAMMIT I DON'T HAVE THE PERMISSION EVEN THO IM FUCKING OWNER

royal mica
#

Check MER github for perms lol

celest thorn
#

I swear

celest thorn
#

nope

royal mica
#

I wish perms were accepting ** for all

spare zodiac
#

patch the command to not require permission trollface

celest thorn
#

i found out

#

the idiot who made this fucking schematic

#

made it spawn -100

spare zodiac
#

of course

royal mica
#

???

celest thorn
#

bro

royal mica
#

Why

spare zodiac
#

most common issue

celest thorn
#

im gonna break

#

a keyboard

#

why tf mer is so hard

#

how do you fucking deal with this everyday

spare zodiac
celest thorn
#

@slender lynx we did the best thing to switch off

#

god

upper vapor
celest thorn
#

OH MY gOD

#

now i can see it

upper vapor
#

Did you find the perms lol

celest thorn
#

mpr.create

#

doesn't work

#

i swear

#

you know what

#

who tf cares

#

it works now

magic gate
upper vapor
#

Okay

magic gate
#

That’s better

celest thorn
#

this is better

upper vapor
#

Private

celest thorn
#

i swear

#

adding a shit to this

#

is easier than anything i've ever done in my life

upper vapor
#

I'm not downplaying it's capabilities but nobody else can use it

celest thorn
#

than maro saw it

#

and said nuh uh

upper vapor
celest thorn
#

but now i kinda agree

royal mica
#

Time to use this loader xdx

celest thorn
#
default:
  inherited_groups: []
  permissions:
  - mpr.*
owner:
  inherited_groups: []
  permissions:
  - mpr.*
  - mpr.create
celest thorn
#

now its time to use your api

upper vapor
royal mica
#

Fuck no

#

Ew

upper vapor
#

Primitives at least are compatible for conversion MER -> sloc

slender lynx
#

why ping me zero

upper vapor
#

They should just work

celest thorn
slender lynx
#

i was sleeping

celest thorn
slender lynx
upper vapor
celest thorn
slender lynx
#

🇨🇳

upper vapor
celest thorn
slender lynx
#

i am so.happy

celest thorn
#

i swear

slender lynx
#

because of alcohol

celest thorn
slender lynx
#

so it is not sad life

celest thorn
#

btw this is better

celest thorn
upper vapor
#

Never heard of it

celest thorn
#

Plato

#

how tf you wanna name him

#

Plató

#

in hungarian

slender lynx
#

zero u look like plato

celest thorn
#

bro i don't look like plato

#

trust me

#

that guy was beautiful bro

magic gate
#

potato

slender lynx
#

aristotle

restive turret
celest thorn
upper vapor
celest thorn
#

i swear between plato and aristotle

#

i prefer aristotle

slender lynx
#

pythagoras

celest thorn
#

bruh

upper vapor
celest thorn
upper vapor
celest thorn
#

its complicated to explain but simply enough, we are so stupid and this guy made a theorem with just the use of rocks

#

i explained the entire logic of pythagoras math using rocks

#

like he did

restive turret
#

Rock and stone

celest thorn
#

btw funny enough

#

0 doesn't exist

#

because if you think hard enough

#

0 rocks means nothing

#

so 0 therefore cannot exist

upper vapor
#

Nothing exists

#

It's my brain

celest thorn
#

i forgot who it was

#

it was one of the recent one

upper vapor
celest thorn
#

i swear i forgot about him because it was schizo

#

everything was one

#

and we just see because we are one

#

or something like that

#

idk

upper vapor
celest thorn
#

fun fact some of the programming is based on philosophers like Aristotle

celest thorn
icy knoll
celest thorn
icy knoll
#

heyo

restive turret
#

Yep exactly this reaction I was getting too

celest thorn
icy knoll
restive turret
#

I watch the prof from my bed

upper vapor
celest thorn
#

fast question

upper vapor
#

Fast question

celest thorn
#

WaveStream to seconds?

#

is possible?

#

on your lib

icy knoll
upper vapor
#

WaveStream.TotalTime

restive turret
upper vapor
icy knoll
upper vapor
celest thorn
icy knoll
#

i was talking to ax smh

#

stop asking what 😭

upper vapor
celest thorn
#

lol

upper vapor
#

Nice

#

Keep in mind that for compressed files it can be slightly inaccurate

#

E.g. 2:48 mp3 file might show as 2:51

upper vapor
icy knoll
upper vapor
#

Joe

#

Joe Rogan

unique crane
#

What

upper vapor
#

Emoji name

#

Joe angey

celest thorn
#

wtf you cannot change death messages?

icy knoll
#

CustomReasonDamageHandler

celest thorn
#

only on that ig

icy knoll
#

you have to use that

celest thorn
#

ok

upper vapor
#

Yeah

icy knoll
#

there is also CustomFirearmReasonDamageHandler

#

or it may be CustomReasonFirearmDamageHandler

#

idk which

celest thorn
#

im testing with one

#

wtf its not working

#

i try to die from a dummy

#
ev.DamageHandler = new CustomReasonDamageHandler("Death");
#

and nope

icy knoll
#

yeah that doesnt work

celest thorn
#

why?

icy knoll
#

you need to deny the event and then spawn a new dummy

celest thorn
#

no?

#

im doing it on

#

PlayerDyingEventArgs

#

so it should be ok

icy knoll
#

well, it doesnt work like that for some weird reason

#

lol

#

even on the dummy spawning event

celest thorn
#

bruh

icy knoll
#

ragdoll*

celest thorn
#

ok so what should i do?

#

deny the event

#

and re do it?

icy knoll
#

deny the ragdoll spawning event

#

and spawn a ragdoll manually

#

that's what i did

celest thorn
#

bruh

#

i love nw

#

so i set the damage handler of the ragdoll ig

icy knoll
#

WHY DO I KEEP ON REFERRING TO RAGDOLLS AS DUMMIES 😭

upper vapor
#

ev.DamageHandler = new CrashServerDamageHandler()

upper vapor
restive turret
tawdry zephyr
#

G

upper vapor
#

What is happening

celest thorn
#

there wasn't an event to check for SSSS updates or am i going crazy?

upper vapor
#

ServerSpecificSettingsSync

#

That has two events iirc

celest thorn
#

I remember they did

upper vapor
#

I don't think that was a thing

fathom cairn
#

Now there are like 5 different libraries for it

royal mica
#

And all are incompatible with eachother

upper vapor
upper vapor
royal mica
#

Heck, even SSSS IS incompatible with itself

upper vapor
#

XDDD

royal mica
fathom cairn
royal mica
upper vapor
#

Yes

royal mica
#

Perfrct

royal mica
#

Even I have my own basic one

upper vapor
royal mica
#

Idk why, it just was not made with multiple plugins in mind is what I feel

fathom cairn
#

Yeah, I tried making one which gives me full control, I even have collapsable submenus and the possibility of having "tabs" because I needed them for a plugin

upper vapor
royal mica
upper vapor
#

All plugins will be compatible

royal mica
#

Useless if you just override the contents

#

And want to start with empty array

bright vine
#

does anyone know if theres a easy method to create escape zones

royal mica
#

MER or other libs have those no?
If you dont use any of those, I think you need to create a trigger primitive with a custom behaviour

hearty shard
bright vine
hearty shard
#

get the position you want it at

#

and spawn it the primitive there

#

has to be GameObject.CreatePrimitive (since it should be server side only)

royal mica
#

SMH using plugins for everything

bright vine
#

thank you! thats the only code i'd need to create a escape zone, and it would trigger events like OnPlayerEscaping right?

hearty shard
hearty shard
bright vine
#

wait so

royal mica
bright vine
#

You cant create a escape zone that can still be subscribed to labapi events?

hearty shard
#

i gave how to do it with code example :)

royal mica
hearty shard
#

yk?

#

you need to handle the event processing urself, but calling the event is just creating the args and calling the OnPlayerEscaping method with it

slate flume
#

If you create an escape zone that uses the base-game handling (specifically Escape::ServerHandlePlayer) then it'll call the LabAPI events

slate flume
hearty shard
#

that is too

#

is it not private?

#

tbf publicizing is recommended for this game

slate flume
hearty shard
#

but for a newbie

slate flume
#

It's easier to get a publicized assembly than it is to manually invoke LabAPI events and other shit

#

Especially because that would also entail handling the entire escape from scratch

hearty shard
#

yes.

royal mica
#

Just do reflection xdx

slate flume
bright vine
#

i did not know creating an escape zone was a bit this complicated 😭

#

i will do my best

slate flume
#

And unnecessary

slate flume
bright vine
#

what assembly

#

which dll

slate flume
#

The game assembly

#

Assembly-CSharp

hearty shard
#

Assembly-CSharp.dll

bright vine
#

yeah i have that

hearty shard
#

also

slate flume
#

You publicize the assembly

bright vine
#

i even have the publicized one

#

ys

#

yes

hearty shard
#

@slate flume that doesnt work

slate flume
#

There you go

#

Problem solved

slate flume
hearty shard
royal mica
hearty shard
#

add bounds to EscapeZones

slate flume
#

OHH wait

#

I see

hearty shard
slate flume
#

I thought you were pointed out the originalattributes as a problem

#

No I see

hearty shard
#

you will need to create bounds

#

thats it actually

#

if you do that game handles it

slate flume
#

Does the base-game automatically check all escape zones in the list

hearty shard
#

yes

slate flume
#

So it's just

hearty shard
slate flume
#

No not for that

hearty shard
#

@bright vine

slate flume
#

I mean

hearty shard
#

create one and Escape.EscapeZones.Add it

slate flume
hearty shard
slate flume
hearty shard
#

"Does the base-game automatically check all escape zones in the list"

#

what list

#

what escape zone list

#

EscapeZones ?

slate flume
#

Bruh

#

Stop for a second

#

And listen

hearty shard
#

the answer is yes there

bright vine
#

it checks for each bounds

slate flume
#

I KNOW

#

LISTEN

bright vine
#

and it passes if the said bound has a position

slate flume
#

LISTENNN

bright vine
#

just say it

bright vine
slate flume
#

I'm trying but people keep interjecting

hearty shard
#

you can just say it

#

us speaking does not mean you cannot

#

but ya

bright vine
#

But thats the thing u keep saying "listen litsennn listennn i keep trying to say it but ppl interrupting"

#

if u had that much energy u could have said it 😭

hearty shard
#

honestly

#

client side shouldnt even register the event

slate flume
hearty shard
slate flume
#

You misread my question

hearty shard
#

i mean the answer was yes

slate flume
#

No

#

The question is what the fuck calls ServerHandlePlayer

#

And does it handle the new bounds

hearty shard
slate flume
#

Then that's answered

hearty shard
#

my original answer was correct to your question

#

but yk

slate flume
#

And the other question was important to ask

hearty shard
#

it was same question until you changed your question to where it is called tbh

slate flume
hearty shard
#

okay ill rephrase

#

the question you gave me was very different until you changed it

hearty shard
#

yes

hearty shard
#

hence rephrase specifiying what you gave me and not your intent

slate flume
#

I'm not used to having to elaborate so much on the questions I have

#

It's only in this channel that people don't get my reasoning

hearty shard
#

surely

slate flume
#

Which is fine it's just new

#

To me these questions are logical follow-ups to make sure things actually work

bright vine
#

thank you so much for letting me know about the Add option @hearty shard

hearty shard
#

So was "does it automatically handle all the things in the list" yes it does

bright vine
#

this makes it so much more easier

hearty shard
slate flume
slate flume
#

This is a weird hill I know I'm gonna die on so I'm just gonna leave it at that and go back to finishing my NPCs

hearty shard
#

i didnt even have my rider open

#

and i havent checked escape code since i think i updated custom escapes

#

i do not remember ins and outs

#

like i barely could do good code back then

#

and i haven't really tried to keep it perfect

#

because i dont care enough to and thus i gave the answer i remembered, which i then corrected when i saw the better solution?

slate flume
# hearty shard i do not remember ins and outs

I only mentioned it because I hate that people overcomplicate shit all the time for newer devs, and even just for themselves
There are much cleaner implementations if you just scratch beneath the surface level
I don't mean it as a diss just when giving advice to people on implementations it's good to make sure you're not guiding them down a false path like you initially were until I threw in that comment

royal mica
hearty shard
#

i closed so no screenshots for you

#

but it handles the events and stuff

#

and setting role

slate flume
royal mica
#

aha, so you cannot define a custom escape, just an additional escape bound

#

that could be added to LabAPI functions

slate flume
#

Though

#

You can change the newRole in the Escaping event

hearty shard
#

ya

slate flume
#

Well before newrole in escaping event at least

royal mica
#

Oh the event even gives you the zone so you can specify if it is your zone or not

#

cool

#

Yeah then the custom primitive with collider is a gross overcomplication dogkek

royal mica
slate flume
#

It's part of why I try to stay active in these channels cause a lot of people don't double check the stuff they're saying

royal mica
#

I mean it is valid, as complicated solutions never helpful

slate flume
#

I just try to do my best to help out new devs

#

Everyone is there at some point and there aren't really any good resources for people to learn the skills they need to figure these things out

royal mica
#

I mean it would be helpful for having these in a community made faq

slate flume
royal mica
#

Like different levels of complexity

upper vapor
slate flume
#

Though the questions people have tend to get quite specific so it might be hard to get everything in one forum

royal mica
#

You can give generic enough solutions, like in this case, that you can point to the thread and give adjustments

slate flume
#

I think there's something to be said about letting people know that tools exist to explore the assembly themselves

#

Need to learn about escape zones? Check Escape

royal mica
#

Oh defo, reading sourcecode and exploring is a must have and not a lot of people want to dvelve into that sadly

slate flume
#

100%

royal mica
#

developing the instinct of "where should this be if I were to do it" is a very precious skill

slate flume
#

I used to have to come in here to ask questions all the time but now I only come in here when I ask questions that stump other devs too lmao

#

I finally got my Dummy NPCs working

#

I had a working iteration before but I handled everything in one coroutine

#

It was a mess

royal mica
#

I come here when I have a situation where I'M very stupid and I do not realise dogkek

royal mica
slate flume
#

Components exist

#

Now I use them

#

Big up

royal mica
#

Components as in the Behaviours?

slate flume
#

Yep

upper vapor
#

Yes

royal mica
#

Yeeeah

upper vapor
#

But me when awaitables exist

slate flume
#

I came into SL with 0 Unity knowledge

upper vapor
#

(I broke them)

slate flume
royal mica
#

I still reimplement the old nwpluginapi approach of iterating through a list of class ICANT

upper vapor
#

ArrayList<Class<?>>?

royal mica
#
{
StaticUnityMethods.OnUpdate += OnUpdate;
}

private void OnUpdate() {
  for (var obj in objs) {
    ...
  }
}
upper vapor
#

Ah hell nawh

#

It might be slightly faster actually

royal mica
#

This skips all the Unity component attach stuff

#

and just relies on the Player class

#

so I can do post disconnect /deletion and no need to worry my component getting YEETed

celest thorn
#
                   Dummy.ReferenceHub.authManager.InstanceMode = ClientInstanceMode.DedicatedServer;

Should this remove it from the Player List (the menu you press with N), because now it doesn't do it anymore?

slate flume
#

Though you might have to change the dummynetworkconnection instance used

#

Because I think the network connection it uses currently forces it to be a dummy and that can't change post-auth

#

So you'll have to instantiate the dummy with your own dummynetworkconnection

royal mica
royal mica
#

Hmm interesting

celest thorn
#

wait

#

doesn't

royal mica
#

How does that even work then?

celest thorn
#

spec only remove from spec

royal mica
#

Wait that does not hide from the playerlist?

celest thorn
#

no?

slate flume
#

Sometimes I hate not being a server owner for the server I dev on because I have to keep removing features

celest thorn
#

You know whats funny then they ask you to add them back

slate flume
#

I added a plugin that allowed cuffed militants to escape and they tried to make KOS rules more strict because of it

celest thorn
royal mica
#

bruh im stupid. I removed my vanish command cause I thought this completly removes you

slate flume
#

Like are we serious right now

celest thorn
#

why nw makes it soooo hard to hide players from the list

royal mica
slate flume
#

No offense

royal mica
#

Not if you are Official

slate flume
#

Oh yeah true

#

Official servers have a higher standard

#

But for community servers strict rules are a death sentence to growing your community

royal mica
#

yeah, especially KOS

slate flume
#

If people are leaving your server because your rules are too strict then you've done something wrong

#

And in this case that is exactly what was happening

#

I don't have the power to change the rules but I can just

#

You know

#

Remove the feature

#

Then there won't be any more rules about it

#

Just sucks that I have to do shit like this

#

I get so frustrated sometimes because with these things I feel like I'm shouting into the void

#

The only voice of reason in a crowd of dissent

#

The feature was cool when people weren't arguing about it all the time

#

It created some nice community building moments

celest thorn
#

btw just make the syncuserid null and works

celest thorn
royal mica
#

you make it null and it just disappears?!

celest thorn
#

yes...

#

Dummy.ReferenceHub.authManager.SyncedUserId = null;
Dummy.ReferenceHub.authManager.InstanceMode = ClientInstanceMode.DedicatedServer;

royal mica
#

Can you spectate them in the list?

celest thorn
#

no

#

you cannot do shit with them

royal mica
#

damn

#

That is a good to learn thing

#

cause I'll need it

#

Actually another important thing, I assume it does not count towards the player limit, right

celest thorn
#

idk

#

i just patched it myself

#

everything

#

to make sure

royal mica
#

ah

#

Will test that without the patches and see

#

Cause I will need that

celest thorn
#

idk i just hope it works fine

#

and it doesn't count

upper vapor
#

To null iirc

celest thorn
#

now

#

and it works

slate flume
upper vapor
#

i'm gonna kill this stupid piwece of shit app

upper vapor
upper vapor
slate flume
restive turret
restive turret
#

because custom roles supposed to either not escape or retain some stuff

#

like effects, item

#

and other roles to escape

royal mica
restive turret
#

even set new position

restive turret
royal mica
#

You cannot, it is handled as enum sadly

#

like you cannot create a new EscapeScenario enum and have your logic just applied on the update function is what I meant (related to the escape zone Bound creation)

restive turret
#

ah

#

isnt there an event in ServerGetScenerio?

royal mica
#

You can just use the OnPlayerEscaping event to handle this, what I meant is you cannot just define a scenario class and register it like with the Escape zone bounds

#

just a small observation

restive turret
#

ah ye

royal mica
#

The zones are dynamic but the escpae scenarios are baked in

restive turret
#

we using kinda the same thing as you wish i think

bright vine
#

i feel like thats very simple to do

restive turret
#

changing the role 2 time

#

ye def inefficient

bright vine
royal mica
#

It is not changing twice

bright vine
#

change the newrole yourself

#

Escaping event exists for that efficiency

restive turret
#

you said Escaped

bright vine
#

i meant Escapings

#

orry

royal mica
# slate flume

Look at the code, you can see the event args overriding the role you are giving the player

bright vine
#

Escaping*

royal mica
#

but I'm not saying you cannot do with the event, all I'M saying is, you cannot do the same as in with Bounds, where you can just do a new EscapeScenario(sourceClass, targetClass) and then add that to a list

restive turret
#

seems reasonable and easy to impl i guess

bright vine
#

the annoying part is, to check which zone it is, you have to check by center or size

bright vine
#

but at least its not complicated

hearty shard
#

the basegame zone is stored

bright vine
#

so im not complaining

hearty shard
#

you could just

#

zone == Escape.EscapeZone

#

no ?

#

for custom do the same but check your own

restive turret
#

Zone is sent by here

bright vine
#

how does the keybind system work