#plugins-dev-chat

1 messages ยท Page 64 of 1

restive turret
#

Well I dont

teal junco
#

make patreon portal break on april fools

upper vapor
restive turret
teal junco
#

let us all through and get unwatermarked images and videos

upper vapor
#

fake cloudflare confirmation

teal junco
#

and instead of april fools itll be on the day of 15.0 beta posts

grave eagle
#

No way Fear

restive turret
upper vapor
#

lmao

random scaffold
#

this bro is alive

#

โ˜ ๏ธ

celest thorn
#

Its funny to see it like this, but i think you are making a system similar to GTA suicide?

grave eagle
#

Iโ€™m just copy it lol

celest thorn
#

automod flagged me

grave eagle
#

๐Ÿ’€

idle depot
#

Pay 2 Lose will always be funnier than pay 2 win ClassDTrollHD

celest thorn
#

if i remember correctly in gta you pay 500 bucks

#

and then you die

#

lol

#

its so stupid

#

yep i remembered correctly

grave eagle
#

Hahahah

celest thorn
#

in sl you pay with a keycard O5

grave eagle
#

I think there are enough things in the game to kill yuself

restive turret
#

Zero

celest thorn
restive turret
#

Can you make a map like "The Jewelry store" from pd2?

celest thorn
restive turret
#

Then who

#

Meow?

celest thorn
#

idk in our staff maro does them

restive turret
#

*maro

#

F

celest thorn
#

i just do maps really simple one

#

like for tourneys etc...

restive turret
#

I dont wanna touch unity

celest thorn
#

or cosmetics

#

and btw it would be in meow's format

#

so you cannot even use it

restive turret
#

Sadge

celest thorn
#

and because i don't wanna redownload unity 2021

#

(meow uses unity 6k)

restive turret
#

Wdym 2021

celest thorn
restive turret
#

Oh

celest thorn
#

mer is still stuck in that version

#

i updated as soon as SL did

restive turret
#

Time to uh

celest thorn
#

Learn

celest thorn
restive turret
#

Suck with unity

celest thorn
#

the client would lag alot

#

thats why i made meow

restive turret
#

Ye i know how meow works

celest thorn
#

maps are limited alot on SL

restive turret
#

You showed it and I even helped you Fear

celest thorn
#

like clustering

#

etc...

restive turret
#

Cluster these bombs

celest thorn
#

that is done in the editor directly

#

there's alot of game technices applied on meow

#

and thats why it runs so well

#

(done in the editor when compiling)

restive turret
#

Game doesn't even runs at 60 fps fro me

celest thorn
#

but i join my own server and i do 200 fps

#

and peaks 400 fps

restive turret
#

Wtf

celest thorn
#

with no rider or nothing open

restive turret
#

How do u

celest thorn
restive turret
#

Even achieve that

celest thorn
#

QA's on AM can confirm that

#

its full of people amazed by that

#

and wait

restive turret
celest thorn
restive turret
#

Removing the whole map

celest thorn
restive turret
#

No Access

celest thorn
#

and i think i can still do better but i need to find other ways to optimize

restive turret
#

Soon you can do it better by directly using the toy

#

I guess

celest thorn
#

what the toy has done i already did it alot of time ago

#

but its really unstable

restive turret
#

I need to try and see how much fps I have on your server

celest thorn
restive turret
#

Would be cool so can just jump around and see the fps

celest thorn
#

give me your steam id

restive turret
#

76

celest thorn
#

obv in private

celest thorn
restive turret
#

Its public

#

Steamid is a public information

#

You can literally search my steamid

celest thorn
restive turret
#

Ye

#

Also wouldn't join like right now

#

Prob can do like 8-10h from now

#

(i just got into work :sob)

celest thorn
restive turret
# celest thorn crazy

Ye and I waiting others to start up the server so I can scan for web vulnerability (xss, etc)

restive turret
#

No way

#

I fucking can't do anything and the scan takes 4-6-8 hour

celest thorn
#

even more

#

lol

restive turret
#

Ye

celest thorn
#

you're hating on yourself

restive turret
#

No, thats what job they given me for an intern for my University class

covert flame
#

Possible to blackout someones view?

upper vapor
celest thorn
restive turret
upper vapor
restive turret
#

Oh

#

Ye blindness

covert flame
#

Ohhhhh, bro I am so stupid

celest thorn
#

don't worry :3

covert flame
#

I forgot that existed lol

restive turret
#

Hi so stupid, I'm SlejmUr

covert flame
#

so stupid is here already? I thought he was coming tomorrow

restive turret
#

@celest thorn I would show what I did yesterday but phone scrolling is ass

upper vapor
#

do you have the pull tab?

#

you can open that and close that, it fixes the scroll bug

restive turret
#

No its for other project of mine since I don't think im allowed to share the work doc

#

(might not be continuous)

#

Im thankful for the GitHub Actions

#

That shit helps me so much when I'm not able to compile

celest thorn
restive turret
#

That's not related to SL lol

#

Since it usually requires to test plugins on sl

covert flame
upper vapor
#

although they might not be able to hear voice chat

covert flame
#

That's the plan :]

restive turret
covert flame
#

Funny thing here, without setting the role to none :]

#

Guys?

#

Where did everyone go, I'm all alone.

restive turret
celest thorn
#

im just the crazy side of your brain

#

don't worry

restive turret
celest thorn
# restive turret Crazy?

Crazy? I was crazy once, They locked me in a room, a rubber room, a rubber room with rats, and rats make me crazy.

restive turret
#

This guy is crazy

celest thorn
restive turret
celest thorn
#

this is rizz for me?

restive turret
#

Ma lawyer advise me not to answer without his presence

celest thorn
#

;(

restive turret
upper vapor
covert flame
upper vapor
#

Fake the blindness effect

restive turret
#

Or just blind then

celest thorn
upper vapor
#

With a bit of magic, probably

#

Let's make serverless SL toomuchtrolling

restive turret
#

So tru

celest thorn
#

but

#

its too crazy

#

even for me

#

but i've managed to make it

#

the player was connecting and was using 10mb

#

lol

restive turret
celest thorn
restive turret
#

I mean you can actually do it

#

Because player has GO of those stuff

restive turret
celest thorn
#

that was what i meant

#

btw what game could i play

restive turret
#

Idk

#

I making a game

celest thorn
#

imma be honest

restive turret
#

Yes

celest thorn
#

im thinking why not remaking the source engine physics

#

with primitives

#

it would be cool asf

restive turret
#

Wait is LabApi and ACS has a circular dependency?

restive turret
#

Labapi req acs, acs requires labapi

#

Because ACS calls LabApi and labapi depends on ACS

#

How did you guys managed to make that

celest thorn
#

what is ACS?

restive turret
#

Assembly

#

CSharp

#

acs

#

Easier to say

covert flame
#

Okay so actually now how do I blind a player without changing their role?

covert flame
#

Their role is a spectator

celest thorn
#

i think even the client has it

restive turret
#

Ok but

celest thorn
restive turret
#

How did they make it as a circular dependency

celest thorn
#

from killing demons to creating houses

covert flame
restive turret
covert flame
#

It's been 2 hours since I asked a question, still no answer, my rations are almost depleted, I dont know how much longer I'll be able to hold on, someone, please, someone out there, send help

upper vapor
#

idk how to do that tbh

covert flame
#

Same..

royal mica
#

Fake spawn a PrimitiveObject in front of the camera dogkek

grand flower
#

What are you trying to do exactly

covert flame
#

Fake spawn?

covert flame
royal mica
#

Yeah, client side only Primitive

covert flame
#

ahhh

grand flower
#

Check how effects are networked

royal mica
#

But why EnableEffect doesn't work

grand flower
#

Add blindness to the player they're observing

covert flame
#

I dunno, I did EnableEffect and it did not do it

royal mica
#

I actually do not see anything that is preventing from it happening

grand flower
#

Effects dont work on spectators

royal mica
#

It does though? Flashbang works

grand flower
#

You see the effects of the player you're observing

royal mica
#

So there is a way to display effects

grand flower
#

Obviously manually via an rpc

#

So the actual player doesn't get blinded

#

Or well, you should really give it to all live players

#

That way if the spectator changes target, they'll stay blinded

#

At least in theory

covert flame
#

So umm, you might have to dumb that down for me :]

grand flower
#

I'm in bed, it's 2 am, the others can take over

covert flame
#

O.o

#

Fair enough, get sleep

spare zodiac
#

yo does someone know how is the gameObject counting players before round starts called?

royal mica
#

Is it possible that the Client receives the list of Effects the user has and displays it locally?

#

Cause all I'm seeing is RefHub syncing statuses and not effects

covert flame
#

Okay, well is there a way to set which player a spectator is spectating?

royal mica
#

I can see Hitmarker and Decont syncing

royal mica
covert flame
#

Setting

#

Let me guess, you cant

spare zodiac
#

you should be able to

#

is there a setter for it?

grand flower
#

No, it's clientside afaik

#

You'll know who they're spectating but you cant set it

covert flame
#

Called it

upper vapor
royal mica
#

I see a setter in PlayerRoles.Spectating.SpectatorNetworking but I suspect this is a ServerSide syncing and not a two way check

spare zodiac
royal mica
#

despite it being called SyncedSpectatedNetId it is not a syncvar lol

upper vapor
spare zodiac
#

@unique crane would you be that epic and look in unity please?

royal mica
royal mica
#

use ILSpy / DNSpy / Dotpeek

covert flame
royal mica
#

when you do : Plugin it's over

#

Speedrunning SCP:SL cursed plugin dev any%
0:01, has a single change : Plugin

covert flame
#

Crazy work

spare zodiac
celest thorn
#

if i can ask does someone know if colors get sanitized by unity because in the docs its written

"This structure is used throughout Unity to pass colors around. Each color component is a floating point value with a range from 0 to 1."

If i use a number higher than 1 will it still work or get Clamped to 1

royal mica
royal mica
#

minus values work as well

#

you can spawn a primitive light with 100000 100000 100000

celest thorn
#

wait

upper vapor
celest thorn
#

i always thought it was clamp

#

automatically

#

this is crazy

covert flame
#

I wish I could just like, move the palyer's camera into the void

celest thorn
upper vapor
#

move the spectated player to the void

upper vapor
#

PlayerValidatedVisiblity

covert flame
royal mica
#

player.Position = new Vector(-500, -500, -500) xdx

upper vapor
#

there's a vector for this

#

up * 6000

spare zodiac
#

I might need to go through each gameobject again

royal mica
# upper vapor

No fucking way. I was using CTRL+SHIFT+F this whole time, SHIFTx3 works searching in files cryJAM

spare zodiac
#

information I got for now is me maybe creating my own framework Trolley

royal mica
spare zodiac
grand flower
#

Whenever you wanna blind the spectator just make them unable to see anyone

#

Might work

#

Although I have no idea if it works for specs

spare zodiac
#

just put a mark over their screen with padding and choose colour to black

covert flame
#

Okay well if I cant give blindness efect to a spectator, can I give a different role the attachments UI thingy

grand flower
#

What exactly are you trying to do

spare zodiac
#

^^

restive turret
#

โ†“โ†“

spare zodiac
#

โ†“โ†“

covert flame
#

I want people to be abnle to cahgent heir attachments on guns but I dontw ant them to be able to spectate other players

upper vapor
#

just make them tutorial

#

or NoneRole

spare zodiac
#

and put workstation there

spare zodiac
upper vapor
#

right

covert flame
#

Then I ahve to give them every gun in the game, so they can actually change their attachments, which I dont wanna do

grand flower
#

Try the player visibility thing

grand flower
upper vapor
#

also disable receiving voice messages

covert flame
#

Already hgave

upper vapor
#

or is that covered by

#

nvm

spare zodiac
#

the mark tag would be a solution, but you wouldn't be able to see the guns

restive turret
#

Disable onchangingspectator

#

Or smth

#

Spawn a dummy and set to spec that dummy

covert flame
#

You cant set what player they spec

restive turret
#

Are you sure

icy knoll
#

idk if it's possible but like send a msg to the client to say everyone is dead except a dummy and then they will move to them when they click or smth

restive turret
#

Or just labapi doesn't have that exposed

upper vapor
#

ye

#

make everyone spectator

royal mica
#

Spectated Player is 1 way sync

#

I do not know if you force set the NetID it changes it

#

Try changing PlayerRoles.Spectating.SpectatorNetworking init method

#

It has a currentRole2.SyncedSpectatedNetId = msg.NetId;

celest thorn
#

This game is my call

restive turret
#

Show me the decomp

celest thorn
#

i don't wanna do the dev

#

i wanna clean houses

restive turret
#

I wanna do dev instead of fucking waiting

celest thorn
#

and work on that

#

honestly it got boring

covert flame
#

Is there something in SpectatorRole?

celest thorn
#

i don't wanna install only fucking radiators

royal mica
covert flame
#

Ooo, actually, would be able to give the player the attachmentsmenu gameobject?

royal mica
#

No

#

That is clientside only

covert flame
#

I am going to die

royal mica
#

Anything that is to do with GUI are clientside only

covert flame
#

There is CurrentTarget in SpectatorRole

#

It has a setter

#
if (!(_curTracked == value))
{
    if (_curTracked != null)
    {
        _curTracked.OnStoppedSpectating();
    }

    _curTracked = value;
    MainCameraController.ForceUpdatePosition();
    if (value != null)
    {
        LastTrackedPlayer = (value.MainRole.TryGetOwner(out var hub) ? hub : null);
        value.OnBeganSpectating();
    }

    SpectatorTargetTracker.OnTargetChanged?.Invoke();
}```Does that look like it changes the player it spectates
royal mica
#

I think that is clientside code

#

SpectatorTargetTracker is Static

#

and a Singleton, so most probably this does not work at all

covert flame
#

Yeah I saee that now

royal mica
#

Yeah it has GUI option changing code, this is ClientSide sadly

restive turret
#

Tag NW and ask for changeability

spare zodiac
#

so why don't you disable changing spectator?

covert flame
#

Yeah right

#

You're having a laugh

royal mica
spare zodiac
royal mica
#

Spectating is handled ClientSide

celest thorn
royal mica
celest thorn
#

there's some stuff that isn't

#

what you need?

spare zodiac
#

if they change spectator spawn them and turn them spactor again resetting the spectating playerTrolley

royal mica
#

90% of spectating is clientside

#

Switching, Effects

celest thorn
covert flame
#

Okay well if I cant change the palyer that they are spectating then what are some other ways??

celest thorn
#

they changed it

#

like a month ago you could've changed the player spectating

covert flame
#

Oh btw, the whole point of this is to make the spectator see a black screen

royal mica
#

Or have a Dummy that is spectated somewhere else

covert flame
#

player.Monitor.Delete();

#

Done

#

All good now

royal mica
#

Also, are you sure you want the spectators to not have anything to watch?

restive turret
royal mica
#

idk the reason, but without much context it sounds painful

#

but RN I can only think of FakeSyncing roles to None for spectators tbh

upper vapor
celest thorn
covert flame
#

Player.DeleteUniverse();

celest thorn
#

player.ExplodeBalls()

#

player.TesticularTorsion()

covert flame
#

Player.EnlargePenis();

celest thorn
#

WHAT

#

NHA BRO

royal mica
#

player.Player()

restive turret
#

player.Kill

celest thorn
#

player.GetAJob()

restive turret
celest thorn
#

player.GetAJob(found: false)

spare zodiac
celest thorn
covert flame
celest thorn
#
if (player.Sex == Sexes.Male)
    player.Sex = Sexes.Female
celest thorn
celest thorn
#

Why tf its so well done

#

this is crazy

celest thorn
royal mica
upper vapor
upper vapor
upper vapor
#

reference mscorlib

celest thorn
covert flame
#

Okay seriously, can I please have help blacking out a spectators screen

celest thorn
#

if you want

#

yes you can... via fogcontrol

upper vapor
upper vapor
covert flame
#

I'd prefer black but if purple is all I can get that is nice quick and easy then yeah I will go with purple

covert flame
#

fake sync?

celest thorn
#

better than the purple

upper vapor
#

RoleSyncInfo

#

DISCORD

#

HELLO)

celest thorn
#

RoleSyncInfoRoleSyncInfoRoleSyn

upper vapor
#

i did ctrl+aลฑ

#

guess what

restive turret
upper vapor
#

NOTHING HAPPENED

celest thorn
#

WHAT

#

its not control+c control+v

royal mica
upper vapor
royal mica
#

That is the best solution right now

upper vapor
#

yep

covert flame
#

Crazy thing, what if I said I had no idea how to do that?

upper vapor
#

send a RoleSyncInfo

restive turret
#

Skill issue

covert flame
celest thorn
#

We have fist??

#

Oh

#

i got the joke just now

restive turret
#

My ass

restive turret
royal mica
covert flame
#

I'm gonna replicate my FistSyncInfo and send it your way isntead

royal mica
#

I needed to render stuff for specific players as well ||and created a fucking abomination||

covert flame
#

Nah im kidding lol

royal mica
covert flame
royal mica
covert flame
#

I'll get it eventually lol

spare zodiac
#

how do I know method in SL is handled on server and not on client?

#

and when patching how can I reference class from the assembly csharp itself?

celest thorn
#

i will leave people here decide what is crazier

Remaking gmod with complete assets and everything (physics included) in SL
or
Playing some random game

spare zodiac
#

I wanted to implement car into SL

celest thorn
#

??

spare zodiac
#

if you're planning to

celest thorn
#

i'm flattered (in a good way)

spare zodiac
#

and is there any physics engines already or would that have to be recreated?

celest thorn
#

I have meow that can handle base physics of Unity

#

im planning to integrate that

#

a better system

spare zodiac
#

PhysX into SL trust

#

oh wait that's just thing in GPU I'm dumbass

celest thorn
#

I prefer

#

SOURCE ENGINE

#

best engine ever

#

idc

#

valve made it and they are amazing

spare zodiac
#

crashing servers will be so easy

celest thorn
#

it will not

#

everything is client side

#

so

#

it will be hard to crash something that doesn't exist in the server

covert flame
#

Wait a minute, when a player dies they dont immediately spectate a player do they, because if they dont then I can just make it so they cant change to a player

icy knoll
#

their camera stays in the same spot

covert flame
#

Player.Audio.Destroy();

royal mica
covert flame
#

Oh yeah true, the event doesnt allow it

icy knoll
#

lol

covert flame
#

Yeah back to doing that

royal mica
#

Cause Spectator would result in VoiceChatting

covert flame
#

I still dont know how to do that lmao

icy knoll
#

IsAllowed = false

#

:3

covert flame
#

I think I found it, I dunno

celest thorn
#

hii lumi

icy knoll
#

hey zero!

celest thorn
#

how are you doing?

royal mica
#

like talking to other spectators

icy knoll
celest thorn
icy knoll
icy knoll
covert flame
#

Dead ass, how the hell you do fake a sync, with anything

spare zodiac
upper vapor
spare zodiac
#

is the screen when player spawns with role info client side or server side?

hearty shard
#

iirc someone said server can deny it

celest thorn
hearty shard
#

but i dont remember if thats correct

celest thorn
hearty shard
#

hi....

celest thorn
covert flame
#

Yeah okay I've tried I've got no idea

past rune
#

Anyone know if we're ever gonna get an enum for LockerType and an up to date DoorName enum?

covert flame
#

Nah, NW doesn't take suggestions lol

spare zodiac
#

why are people creating transpilers?

random scaffold
spare zodiac
royal mica
spare zodiac
#

but it's possible to put the main method content into prefix change it and then return false so the base method is not called

covert flame
#

Can someone tell me how to faekly sync something?

royal mica
spare zodiac
royal mica
#

Why didn't those work

spare zodiac
covert flame
upper vapor
royal mica
#

So you want someone to tell you 1:1 with code how to do it?

covert flame
#

I mean, I wouldn't be saying no lol

royal mica
spare zodiac
upper vapor
spare zodiac
#

is it public static?? SteamHappy

royal mica
#

That is a HORRIBLE function name

#

it just kills all AHP processes

upper vapor
royal mica
#

so you do not get more AHP

upper vapor
#

AhpStat

#

so

royal mica
#

IMO it should have the AHP so ServerKillAllAhpPorcesses

#

but you are correct

upper vapor
#

not really necessary yeah

royal mica
#

it just gives a heartattack when you glance over it lol

royal mica
upper vapor
#

just send a RoleSyncInfo message to the client's connection ๐Ÿ˜ญ๐Ÿ˜ญ

spare zodiac
royal mica
royal mica
#

peak plugin

covert flame
upper vapor
#

create a role sync info with role spectator

#

do this for every alive player

#

and send each to spectators

hearty shard
#

WHAT

covert flame
#

Forget it

covert flame
upper vapor
#

yep

covert flame
#

I've actually got no idea, and that's kind of embarrassing lmao

royal mica
covert flame
#

No, what about it?

royal mica
#

Look at that code and you'll see

covert flame
#

Okay, I've either coded this wrongor Im testing it wrong

#

I give up lol, Plan P

#

I've been working on this for like 4 hours, I think it's time for the massive amounts of spoonfeeding please

restive turret
#

Nah

covert flame
#

Plan Q, delete the project

restive turret
#

Real

upper vapor
#

who should i reach out to about labapi loader related questions?
i don't wanna make the PR with shit changes ๐Ÿ˜ญ

icy knoll
#

do a git blame and see who did the majority of the loader

#

and then ping them here

upper vapor
#

jesus

icy knoll
#

then ping them

#

lol

upper vapor
#

i'm not braining

#

yep

#

@limber silo i plan to PR some changes to the loader to better accomodate embedded DLLs, is it fine if i change the behavior of some methods in AssemblyUtils? namely ResolveEmbeddedResources via LoadEmbeddedDll and LoadCompressedEmbeddedDll
i doubt anyone would use those methods other than the loader, just making sure if that's fine

#

i mean if i make the PR and it gets rejected i'll defiinitely find out toomuchtrolling

restive turret
#

Just make a pr

#

Jesus will see it

upper vapor
#

yea

restive turret
#

And req changes

limber silo
upper vapor
#

gotcha

limber silo
#

if we have issues ill later note it in the pr

upper vapor
#

yep, idk why i didn't think of that

restive turret
#

Man I wanna do the Pooling stuff but dont have a pc rn to build

upper vapor
#

which pooling

restive turret
#

Jesus, can you make your thing can use inside GitHub actions

upper vapor
#

that would be poggies

restive turret
upper vapor
#

๐Ÿ˜ญ

restive turret
#

The one with Cyn (i think) wanted

upper vapor
#

but

#

what are you pooling

upper vapor
restive turret
upper vapor
#

ye

#

very simple

restive turret
#

The Pr is there

#

Just couldn't build it yet

covert flame
upper vapor
#

Np

spare zodiac
#

Is it possible to create the best method in SL:

Public static void Crash(bool shouldCrash)
{
    if (!shouldCrash) return;
    SubCrash();
}

public static void SubCrash()
{
    Crash(true);
}
#

stack overflow exception my favorite

upper vapor
#

that won't crash the server

spare zodiac
upper vapor
#

i can do better

#

for (;;);

spare zodiac
#

can we get this pinned please?

unique crane
#

If you wanna be cooler

#

create a new thread each cycle

#

to take all system resources

icy knoll
#

for a faster crash

limpid perch
#

Quick question

hearty shard
#

oh its you

limpid perch
#

Would this be valid and, more importantly, would this block the main thread? It's not supposed to... right?

public override async void OnPlayerPreAuthenticating(PlayerPreAuthenticatingEventArgs ev)
{
    try
    {
        var result = await PlayerHasReservedSlot(ev.UserId, ev.CanJoin);
        ev.CanJoin = result;
    }
    catch(Exception ex)
    {
        Logger.Error(ex.ToString());
    }
}

public async Awaitable<bool> PlayerHasReservedSlot(string userId, bool canJoin)
{
    await Awaitable.BackgroundThreadAsync();
    
    if (!canJoin)
        return await CheckUserApi();
    
    return true;
}

public async Awaitable<bool> CheckUserApi()
{
    // Emulated waiting
    await Awaitable.WaitForSecondsAsync(1);
    return true;
}
limpid perch
hearty shard
#

i think by the time your waiting is over the pre auth event will have ended

upper vapor
#

Yes

#

It won't work

limpid perch
#

that's what I thought

hearty shard
#

you can check cedmod

#

pretty sure it does it there and then denies on join

unique crane
#

making it sync

#

or just kicking the user after the api request is returned

limpid perch
#

kick was my option when I was building it with action dispatcher, but wanted to go easier

#

and making it sync would block the main thread

hearty shard
#

david im feeling evil

upper vapor
unique crane
#

Well

#

what do you connect it to?

#

If its some db on the same machine

#

there isnt gonna be an issue

limpid perch
#

gRPC internal network

#

it should be <5ms

#

but scary blocking main thread

unique crane
#

breh I would make that sync

#

Just try it and see

#

if its gonna be noticable

#

make it async and wait for result from db

#

and then kick if not permitted

true cedar
#

idk why you wouldn't

hearty shard
#

kick pai

limber silo
#

the issue with this is

#

when you make it async

hearty shard
#

jesus being late as always smh

limber silo
#

you let the main thread continue

#

which will use the arguments without being modified by your code

#

once your code is ready it will modify the argument

#

but it wont be used anywhere

#

making it innefective

limber silo
#

oh nvm they did say it wont work

hearty shard
#

Im 99% sure i did

limber silo
#

anyways what you can do is either delay the preauth or wait till they join and you have the info to kick them

limber silo
hearty shard
limber silo
#

expected...

hearty shard
limpid perch
#

that was the 1%

celest thorn
#

Stupid question how is it even possible that parenting on the server doesn't break anything but parenting on the client destroys everything?

upper vapor
#

Just send the local transform if you're parenting

celest thorn
#

but nope

#

still looks like shit

#

i think i need to create a primitive static for each empty gameobject

#

or just for the root

celest thorn
#

im going to cry in my sleep

upper vapor
#

Set the flags to none and you're good

celest thorn
#

idk if really do it it could be useful to limit network calls

#

but at the same time its so much work because i need to find all of the empty gameobjects

#

and parent all of them (which is easy)

celest thorn
#

if i make it like that

#

in theory i can just update the single transform

#

and not all of them?

upper vapor
upper vapor
upper vapor
celest thorn
#

every schematic is a prefab

#

so i would need to find all of the empty ones

upper vapor
#

Yeah

#

Recursively iterate through the transforms and do this

#

Or

#

root.GetComponentsInChildren<Transform>()

celest thorn
#

so double primitive

#

so i should do a foreach excluding the one with a specific component

#

this will be the best morning

#

ever

upper vapor
#

is [Transform] checks if the only component returned by GetComponents is a transform

#

Pattern matching go brrr

#

Can't join vc rn, maybe in a few hours

celest thorn
#

waiting for someone lol

restive turret
celest thorn
#

ok yea i think parenting is out of the window

#

it breaks EVERYTHING

#

im gonna be honest i cannot even explain why or how

#

but it does that

restive turret
#

Check log

humble haven
#

How i can spawn some props?
such as box, pipes ecc....

hearty shard
#

NetworkClient.prefabs

#

or smth

humble haven
icy knoll
#

they just said

#

use NetworkClient.prefabs, save the prefab and ye

hearty shard
#

and then find ur prefab

#

you can log and see every prefab

frosty mesa
#

Anybody know how to introduce a "KeycardLevels" variable, im making a custom keycard.

frosty mesa
restive turret
#

On mobile

frosty mesa
#

KeycardItem.CreateCustomKeycardMetal(target, "Lead Gaurd Keycard", target.Nickname, "Lead Gaurd Card", permissions:[Needs a variable of type "Keycard levels" that I cant find the constructor for] )

upper vapor
#

Is it an enum

restive turret
#

Its a struct

#

Or depends idk

#

Your IDE can help use it

hearty shard
#

from SL

restive turret
#

Oh ye that

upper vapor
true cedar
#

eve...

hearty shard
#

nuh uh

upper vapor
restive turret
#

Still issue

upper vapor
#

Still issue

#

Still

#

Steel

restive turret
#

Still your issue

upper vapor
#

Steal

restive turret
#

I just copy my dll

unique crane
#

I have it

#

but for VS

#

not sure if it works for rider

frosty mesa
upper vapor
true cedar
#

how often do u make plugins where u need a template

restive turret
unique crane
#

If your remaking all of your plugins to LabAPI?

#

yea

#

its handy

restive turret
#

Or still like 2003

upper vapor
unique crane
hearty shard
#

or smth

true cedar
#

ah

unique crane
frosty mesa
upper vapor
unique crane
#

But I had to make LTSL_REFS instead of SL_REFS cause sl refs is used by labapi and I change the dlls there a lot

restive turret
unique crane
#

no

#

But if we make plugin templates on github

#

we can add it there

#

its like that one nuget no?

#

Or whatever

restive turret
upper vapor
unique crane
#

I copied labapi csproj

restive turret
#

<PropertyGroup/><PropertyGroup> lel

upper vapor
restive turret
#

Also would be cool to make labapi auto compile

#

In gh

unique crane
upper vapor
#

You can keep the properties and env var

restive turret
upper vapor
#

Probably better to set AssemblySearchPaths though

upper vapor
unique crane
#

I would also like to do item templates

#

Cause why not

#

like for command classes

upper vapor
restive turret
#

Using ENV if dont have the user file

upper vapor
unique crane
upper vapor
unique crane
#

like the syntax for a command

restive turret
#

Can edit it

upper vapor
#

A source generator is lightweight and would make it much simpler to avoid having to implement every prop yourself
I like the attribute approach more
Also things like player-only checks and min arguments and argument parsing overall

#

You gotta have the same shi over and over

humble haven
#

I did it, but how can I keep a prop in a specific room? I used the position, but the position always changes...

humble haven
upper vapor
#

Also rotate it by the room's rotation

upper vapor
#

Just an example

true cedar
#

oh thats what u mean

unique crane
#

Ohhhhhhhh

#

I get it

true cedar
#

that would be neat but like

unique crane
#

Yeah that would be cool

true cedar
#

i feel like u could do the same thing without a source generator

#

i mean

upper vapor
#

Reflection though

#

Ugh

unique crane
#

Ofc if you do it via reflection or something

upper vapor
#

I did some diabolical things
I wanted to make a reflection-based parser
Decided not to

true cedar
#

reflection or have a Command<T>, Command<T1, T2>, Command<T1, T2, T3>

upper vapor
unique crane
#

skull

upper vapor
#

And how do you test for those at runtime

#

Reflection?

true cedar
#

wdym

upper vapor
#

Like you gotta pass arguments to it

#

How do you check what it needs

true cedar
#

u have an Execute(T), Execute(T1, T2)

#

then similar to how mirror has Writer<T> you could do like Parser<T>

upper vapor
#

But you need to call that method

true cedar
#

what about it

restive turret
true cedar
#

im not saying this is a good approach

upper vapor
#

Am I stupid

true cedar
#

im just saying its an approach

#

i might be bad at explaining it

upper vapor
#

So yeah then you have to re-declare the parsing from arraysegment and calling every time

#

Also I would use Spans :3

true cedar
restive turret
#

Who's you spanning

true cedar
#

if thats what u mean

hearty shard
#

do i add to secret api a command parser trolling

true cedar
#

reflection is prob the best approach tho ngl

spare zodiac
#

can you disable certain props not to be spawned?

true cedar
hearty shard
#

this is gonna be annoying to figure out

#

@upper vapor mind if i steal parts of ur code

unique crane
#

POV: Ax's code

restive turret
#

PD2

true cedar
#

holy shit that was fast

hearty shard
#

because therees fuck all

true cedar
#

still

restive turret
#

Thanks for inspiration gif

upper vapor
#

i don't even have a parser really

hearty shard
#

i havent figured out yet !

#

but theres probably useful stuff

upper vapor
#

also yeah

#

bool & out string response

#

horrible

hearty shard
#

what do you even use instead

upper vapor
#

tuple or struct

hearty shard
#

GU H

#

tuple moment

upper vapor
#

i can just say return "Success"; or return "!Failure";

hearty shard
#

idk tf im doing

#

tbh

#

@true cedar i dont understand bitwise, can u explain :3

true cedar
#

u know how integers are just

#

bits

#

000100

#

1100010

hearty shard
#

mhmm

true cedar
#

shit like that

#

okay well

#

if you do

#

bitwise operators

#

it just performs operations on corresponding bits

#

so if you do
101 & 100 = 100
111 & 000 = 000
111 & 111 = 111

#

since flags are represented by just setting a bit to true

#

we basically do:
101 & 001 = 001

#

but if it was 100, 100 & 001 = 000 (doesn't equal 001)

#

does that make sense

hearty shard
#

not at all

#

๐Ÿ˜ญ

true cedar
#

um

#

well

upper vapor
true cedar
#

1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

#

it just does taht for every bit

upper vapor
hearty shard
#

idk if that makes sense

#

like just switches the stuff u dont want to check off and then checks the ==

restive turret
#

There

restive turret
#

Or whatever the name

upper vapor
#

bitwise and, bitwise or

restive turret
#

Bitwise ye

upper vapor
#

"bitwise and bitwise, okay, or what?"

upper vapor
hearty shard
#

oki doki

upper vapor
true cedar
# hearty shard oki doki
List<bool> BitwiseAnd(List<bool> firstInt, List<bool> secondInt)
{
    List<bool> result = new(32);

    for (int i = 0; i < 32; i++)
    {
        bool f = firstInt[i];
        bool s = secondInt[i];

        result.Add(f && s);
    }
}
#

obviously its a lot faster than this but

#

if u think of an int as a list of bools

#

for bitwise or replace && with ||

upper vapor
#

almost

hearty shard
#

&= ~

upper vapor
#

i mean you can just check NW code toomuchtrolling

hearty shard
#

i checked my own code

upper vapor
#

oh lmao

hearty shard
#

|=

#

anyway it wasnt about "how to do this"

#

it was "how does this actually work"

upper vapor
# hearty shard |=

the premise is basically the same
you take each bit that either of the values have as 1
0010 | 0100 = 0110
for removing you flip the flag bits and & it

hearty shard
#

when cola nerf

upper vapor
#

nerf it yourself

#

also why tf would you nerf cola

#

it's been nerfed already

hearty shard
#

nerf it

#

make it 5% speed instead of 15%

upper vapor
#

the humble Slowness effect:

hearty shard
#

im making it official to ruin 207 forever

upper vapor
#

dw, NW has already tried nerfing the speed

#

they got severe backlash from the community

hearty shard
#

worth

#

nerf it

carmine prawn
#

๐Ÿ’€

#

any event like OnPlayerDamagingDoorcan i isAllow = false ?

icy knoll
#

go ahead and see

#

or just use the destroying door event and see if it has a player or smth

carmine prawn
#

LabAPI doesn't seem to have such an event

#

but they have OnPlayerDamagingWindow

upper vapor
#

patch damageabledoor

#

*breakabledoor

carmine prawn
upper vapor
#

ye

carmine prawn
#

not bad

#

LabAPI please add this event

upper vapor
#

issues tab: haiiiii

icy knoll
upper vapor
#

at david :3

icy knoll
carmine prawn
celest thorn
#

Is it possible to trigger an aniamtion of the item using without causing the item to give you the effect?