#plugins-dev-chat

1 messages Β· Page 122 of 1

grand flower
#

do you not test features 😐

hearty shard
#

i think its just bad naming

#

It works...

#

Just reversed

grand flower
#

Yeah, but like, if someone tested it out, it wouldn't be "broken" right now

worthy rune
#

had to be as it relied on client only stuff to be able to fix it

slow pond
#

is items disappearing/dropping from inventorys a northwood thing or plugin?

worthy rune
#

nw thing, should be fixed in 14.1.4

slow pond
worthy rune
#

actually, i think i misunderstood your question. idk about that

#

i was thinking of the 914 bug for some reason

slow pond
#

nah just randomly loosing items from inventory

#

anywhere in facility

worthy rune
#

hmmm, i dont remember hearing about that. so im not sure if its a nw bug or plugin one

slow pond
unique crane
#

Hm

#

Well fuck

spare zodiac
#

yo question about networking

I've sent spawn message only to one client for items to spawn and then sent destroy message to that singular client, which caused the client not seeing items, but other clients suddenly could

unique crane
#

Merge conflict broke it

grand flower
#

ah lmao

#

well i mean it works, just kinda awkward

#

is it gonna be fixed before release? just so I know to invert my stuff again later

unique crane
#

I can ask but doubtful unfortunately

unique crane
#

Sorry

grand flower
#

true

#

no worries, happens

unique crane
#

When we have to test everything it just slips through

#

Especially after you merge in latest branches several times

grand flower
#

can't complain anyway, we finally can hide players from the list and it's cool

unique crane
#

Yey

upper vapor
#

It is breaking
Because the compiler emits the numeric value

upper vapor
thin shuttle
#

And nobody could use it

unique crane
restive turret
#

Jiggle

unique crane
#

Autocorrect

restive turret
#

But yes probably the end looks like some rainforest bc of like too many branches for fixes

upper vapor
celest thorn
pulsar locust
upper vapor
#

😭

thin shuttle
#

Like doing (GeneratorState)((int)GenratorState.None)-1)

#

In this case yeah it's does break

thin shuttle
#

The most of time when this value was used it's to remove all other flag enum

#

And that will still work perfectly fine

limber silo
#

It is not a breaking change, since we define breaking changes as changes that need plugins to recompile

#

which is why yamato is defending that

#

on the other side, yeah. It is a logic breaking change

#

but you are talking about a different concept

restive turret
#

Can't wait to 15.0 break everything

#

Atleast there you can make breaking changes

icy knoll
restive turret
thin shuttle
#

For this case

#

Modifying other value would be a breaking logic but not for the None state since it's actually wrong and can't be used

#

Correctly

limber silo
#

We will most probably also move from .net framework to standard

restive turret
#

i dont know if its a good thing or not

#

oh i remmeber linux support?

limber silo
#

well .net standard is multiplatform, has more libraries and it will be compatible when unity moves to .net core, also is being updated not line .net framework which was archived and it is only on mainteinance mode

restive turret
#

tbh unity going into netcore is like 2+ years

#

1 because they wait for stable net10

#

another 1 bc impl take time

limber silo
#

unity unity...

restive turret
#

more because its unity and not really a priority

#

you prob could, could somehow mod unity to be .net9 ready

#

i gues

tepid sluice
#

well

#

so the migrate would be ez ig

restive turret
#

i guess

#

good luck on that

tepid sluice
#

for Class Library

#

i think so

celest thorn
#

hello

#

anyone alive?

tepid sluice
#

dead

celest thorn
true cedar
celest thorn
true cedar
#

everyone on earth has died you're the only one left

celest thorn
#

so wait

#

if you are talking to me

#

that means you are an AI

true cedar
#

no im a hallucination

celest thorn
upper vapor
upper vapor
celest thorn
#
                MapGeneration.Distributors.Locker lockerInstance = Locker.SpawnMeow(transform: null);
                lockerInstance.transform.position = position;
lockerInstance.GetComponent<StructurePositionSync>().Start();
NetworkServer.Spawn(lockerInstance.gameObject);

WHY its outside of a room when its on top of surface

#

just for the client btw

#

and its the same logic im using for my editor

#

but here it doesn't

#

Position: (-0.05, 356.20, -81.65)

restive turret
#

spawn first then start

celest thorn
#

still nothing

restive turret
#

F

celest thorn
#

but the other spawn fine ;(((((

#

whyy??? sl are you doing this to me

restive turret
#

try with
StructurePositionSync.Network_position = myposiwant

celest thorn
#

and then i will try with that one

restive turret
#
MapGeneration.Distributors.Locker lockerInstance = Locker.SpawnMeow(transform: null);
NetworkServer.Spawn(lockerInstance.gameObject);
lockerInstance.transform.position = position;
StructurePositionSync sps = lockerInstance.GetComponent<StructurePositionSync>();
sps.Start();
sps.Network_position = position;
celest thorn
#

amazing game

#

ngl im about to make it a schematic

#

and throw it in the map

#

and not dynamically spawn it

#

like the position isn't the problem

upper vapor
#

what

#

is happening

celest thorn
#

again

#

but this time just when i spawn them with code

#

that is outside of meow

celest thorn
#

the model spawns

#

but still doesn't work because it screams no room found

restive turret
#

did you spawned into the room?

#

into a room

celest thorn
restive turret
celest thorn
#

Let me check if the server gives me something using the same code

upper vapor
#

what type of locker are you spawning

#

idk man seems like a skill issue again

celest thorn
#
            if(position.TryGetRoom(out RoomIdentifier identifier))
                Logger.Info(identifier.Name);

Doesn't reply

#

so it means thta

#

doesn't exist for some reason

upper vapor
#

why do structures complain about that

#

besides, it still spawns

celest thorn
#

it does

#

but no loot

upper vapor
#

mine has loot

#

when are you spawning it

celest thorn
#

After a while

#

And randomly

upper vapor
#

show your spawning code

celest thorn
#

But network spawn is after everything

upper vapor
#

Locker.SpawnMeow

#

what does that do

celest thorn
#

It does spawn the locker

#

From the cached

#

And clones it

upper vapor
#

show the code

celest thorn
#

Im rn not at my pc

upper vapor
#

bru

celest thorn
#

But i use it for alot of other stuff in meow and works fine

upper vapor
#

in that case i have no idea

celest thorn
#

Ig i have an idea

#

On how to fix it

celest thorn
# upper vapor in that case i have no idea
                MapGeneration.Distributors.Locker lockerInstance = PluginInitializer._objects.GetLockerFromType(SpawnableLockerType.Standard).CreateNewInstance(null);
                lockerInstance.transform.position = position;
                lockerInstance.Loot = Loot;
                StructurePositionSync positionSync = lockerInstance.GetComponent<StructurePositionSync>();
                positionSync.Network_position = position;
                positionSync.Start();
                NetworkServer.Spawn(lockerInstance.gameObject);

This is the code

#

Position: (5.64, 326.20, -51.90)

#

and still not replying with the room

#

ok the room is null from that function

#

hmmmm

plain gazelle
#

Is it possible to modify the time it takes to cuff someone?

unique crane
#

There are some base game changes tho

#

so idk

celest thorn
#

100%

#

rn im trying to trick the game

#

into spawning it into a room

#

and then move it there

unique crane
#

Well it needs a waypoint

#

yknow

#

And it might be dying because of the no room yea

celest thorn
#

not really 10k

unique crane
#

Very doubtful

#

limit is 255

celest thorn
#

but its spawning inside

celest thorn
unique crane
#

Your kinda 9,75K off there

celest thorn
#

why tf if i spawn them with meow they work

#

but outside

#

they don't

unique crane
#

Outside like

celest thorn
#

Like its so strange

unique crane
#

where

#

surface?

celest thorn
#

On top of surface

unique crane
#

That might be out of bounds

celest thorn
#

(3.42, 326.20, -59.73)

#

this is the position

#

but checking the position of the room

#

it returns null

#

im trying to think of a solution

#

but i don't have any

icy knoll
upper vapor
upper vapor
# unique crane

how about
you make it assign the values on serializeserver
none of this duplication would be required

celest thorn
#

can you vc?

upper vapor
#

though it is better for immediate use

celest thorn
#

because im looooooooooosing my mind

upper vapor
celest thorn
#

i do this

hearty shard
celest thorn
#

CreateNewInstance is just clone it and put it inside a transform

upper vapor
celest thorn
#

but cannot be opened or anything

unique crane
#

its his PR

#

I dont want to touch it

upper vapor
# unique crane

@worthy rune why not call the start method there :3
-# or make a publiic method that assigns the values and is also called on serializeserver

unique crane
#

Scary

upper vapor
hearty shard
#

david!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

unique crane
#

eve

hearty shard
#

hi

celest thorn
#

so anyone?

unique crane
#

hi

celest thorn
#

knows a reason

#

god

#

i hate this game

upper vapor
#

check how sloc does it
i really don't know what to say to this

celest thorn
upper vapor
#

maybe you have some patches

celest thorn
#

I spawn it on meow

upper vapor
#

also the locker has to be world-space (i assume the null there means no parent)

celest thorn
#

it works fine

hearty shard
celest thorn
#

the position works

#

its the same for both server and client

upper vapor
#

gl i guess

#

david go fix it for zero

hearty shard
#

axe go fix it

celest thorn
unique crane
#

And then you fix it

celest thorn
#

You wanna know something funny

#

i DO THE EXACT SAME THING

unique crane
#

Well maybe just

#

spawn it closer

celest thorn
#

i don't decide it

unique crane
#

Make it random in range where it works

celest thorn
#

they work if i spawn it in the editor

unique crane
#

and

#

When they dont?

celest thorn
unique crane
#

I believe that no structure work if you spawn it after you fully joined?

hearty shard
#

ive done it w generator

celest thorn
#

because i do that

unique crane
#

okay

restive turret
#

The mystery gang

celest thorn
#

i do sometimes wonder if sl is in reality scp-079

#

this GUY IS HERE

#

I hate this game

#

wait i know what i can try

#

lets see

worthy rune
celest thorn
#

I swear i hate this lockers

upper vapor
celest thorn
#

and still happens

#

i swear im loosing it

#

this is what i do

#

but still error

#

after error

#

after error

upper vapor
#

Show the method that creates the locker

worthy rune
#

also wheres the error

celest thorn
worthy rune
#

have you posted it i skimed over the chat

#

didnt see it

celest thorn
celest thorn
#

Get LockerFromType is just a simple enum check

#

and thats it

worthy rune
#

ahh i dont have embeds enabled

upper vapor
upper vapor
worthy rune
upper vapor
celest thorn
worthy rune
#

weird

celest thorn
#

it can't be opened or anything

#

other lockers do work

#

on the same position

worthy rune
#

hmmm

celest thorn
#

only the one i spawn with this code don't

worthy rune
#

this isnt related to waypoints is it?

#

if your to far outside the map you cant interact with anything anyway

celest thorn
celest thorn
#

and i can move

upper vapor
#

Oh no

#

You can move

#

Nvm

celest thorn
#

no i can move

worthy rune
celest thorn
#

walking around

upper vapor
#

Oh right I haven't tested without noclip

celest thorn
#

i have the waypoint toy

#

around

#

but it wouldn't explain why other lockers do work

#

but not this one

upper vapor
#

Drop an item and see if you can pick it up

celest thorn
#

i can

#

i have this ones

#

around the map

#

and they work

#

that i added from the editor

worthy rune
#

the thing is, that log for the locker spawning outside of a room doesn't actually do anything. its only used by generators in HCZ

celest thorn
#

the one spawned via code don't

worthy rune
#

your issue is likely related to something causing the interaction not to go through on the client or the server blocking the interaction

celest thorn
#

if they don't get interacted

#

wait

#

i probably know why?

worthy rune
#

i have been spawning lockers outside the map for awhile and its been working fine for me

celest thorn
#

and it works

#

but

#

still throws the error

#

honestly idc

upper vapor
celest thorn
#

just throwing that error

#

i honestly idc

upper vapor
#

Well then

#

To remove the error you must remove the client Smart

celest thorn
#

Btw it fixed itself

#

randomly

#

OH i know why

#

...

#

im stupid

#

the locker didn't have any loot

#

and so the server was despawning it

upper vapor
#

Bruh

restive turret
#

πŸ’€

#

congrats i guess for fixing it

upper vapor
#

Guys my plugin is not working
-# I forgot to enable it after disabling it

#

Lighting adjustments

hearty shard
#

guh

celest thorn
#
                foreach (LockerChamber chamber in locker.Chambers)
                {
                    foreach (ItemPickupBase pickupBase in chamber.Content)
                    {
                        pickupBase.DestroySelf();
                    }

                    chamber.Content.Clear();
                    chamber.ToBeSpawned.Clear();
                    chamber.IsOpen = false;
                    locker.FillChamber(chamber);
                }

Btw does someone know why tf it doesn't nor close nor respawn the loot inside

upper vapor
#

Cuz it's already spawned the loot so there's nothing to spawn anymore

#

(?)

celest thorn
upper vapor
#

Save the loot into a new array

#

Or get it from the prefab

#

And clone

celest thorn
upper vapor
#

Well

#

Set the loot before FillChambers

celest thorn
#

i patch fill chamber to

restive turret
#

john webdev when download

celest thorn
#

Im busy

#

alot

magic gate
#

No you’re not

celest thorn
#

i will tomorrow

#

but just for now im trying to fix alot of stuff

celest thorn
#

I just wanna really know why why yyyyy????? THE LOCKER DON'T want to respawn the loot

#

i swear

plain gazelle
#

Is there any way to get player.DisplayName without the <color=#123456> prefix and * suffix?

upper vapor
#

check if they're nicked
if yes, remove last x chars

#

wait, doesn't that already return the clean string
nevermind

#

who put that there

hearty shard
upper vapor
#

NicknameSync

hearty shard
#

what about it

upper vapor
upper vapor
celest thorn
#

I just really need to know

#

why

#

if i do a second time

#
            foreach (MapGeneration.Distributors.Locker locker in ChambersOverride.Lockers)
            {
                if (locker == null)
                    continue;

                foreach (LockerChamber chamber in locker.Chambers)
                {
                    foreach (ItemPickupBase pickupBase in chamber.Content)
                    {
                        pickupBase.DestroySelf();
                    }

                    chamber.Content.Clear();
                    chamber.ToBeSpawned.Clear();
                    locker.FillChamber(chamber);
                }
            }
#

it just refuses to do it

#

even tho loot does exist

#

and does work

upper vapor
#

what's the loot

celest thorn
#

and it works at first spawn

#

once i want to respawn the loot

#

it doesn't

#

i tried eveyrthing

#

but always empty

#

tried closing

#

tried resetting the values nothing

#

just no loot

upper vapor
celest thorn
upper vapor
celest thorn
#
[HarmonyPatch(typeof(Locker), nameof(Locker.FillChamber))]
public class ChambersOverride
{
    public static HashSet<Locker> Lockers = new();
    
    public static bool Prefix(Locker __instance, LockerChamber ch)
    {
        if (!Mode.Instance.Config.Loot.TryGetValue(__instance.StructureType, out List<ConfigLockerLoot> loots))
            return true;
        
        LockerLoot[] Loot = loots.Select(x => x.ToLockerLoot()).ToArray();
        
        List<int> list = ListPool<int>.Shared.Rent();
        for (int i = 0; i < Loot.Length; i++)
        {
            LockerLoot lockerLoot = Loot[i];
            if (lockerLoot.RemainingUses > 0)
            {
                for (int j = 0; j <= lockerLoot.ProbabilityPoints; j++)
                {
                    list.Add(i);
                }
            }
        }
        if (list.Count > 0)
        {
            int num = list[Random.Range(0, list.Count)];
            LockerLoot lockerLoot2 = Loot[num];

            int MinChamber = Mode.Instance.Config.OverrideMinChambersToFill <= -1
                ? lockerLoot2.MinPerChamber
                : Mode.Instance.Config.OverrideMinChambersToFill;
            
            int MaxPerChamber = Mode.Instance.Config.OverrideMaxChambersToFill <= -1
                ? lockerLoot2.MaxPerChamber
                : Mode.Instance.Config.OverrideMaxChambersToFill;
            
            ch.SpawnItem(lockerLoot2.TargetItem, Random.Range(MinChamber, MaxPerChamber + 1));
            lockerLoot2.RemainingUses--;
        }
        
        Lockers.Add(__instance);
        ListPool<int>.Shared.Return(list);
        return false;
    }
}
upper vapor
#

did you know that this is a class

#

therefore if you modify the remaining uses
it impacts every other call

upper vapor
#

you need to clone the loot instances too, not just the array

celest thorn
#

public LockerLoot ToLockerLoot()
{
return new LockerLoot()
{
MaxPerChamber = MaxPerChamber,
MinPerChamber = MinPerChamber,
ProbabilityPoints = ProbabilityPoints,
RemainingUses = RemainingUses,
TargetItem = TargetItem,
};
}

to locker loot does this

upper vapor
#

ah

#

that's rough

#

can you log out the original loot list from the config

#

this should really work 😭

celest thorn
#

but there's no loot

#

System.Collections.Generic.List`1[Gamemode.API.Features.Locker.ConfigLockerLoot]
MapGeneration.Distributors.LockerLoot[]

#

it replies with this

#

so yea

#

it does call and work fine

upper vapor
#

show the members too

upper vapor
celest thorn
#

wdym=

upper vapor
#

"it works but there's no loot"
so it's not really working, is it

#

ugh

#

lovely sl

celest thorn
#

im logging Remaining uses

#

and target item

#

nope

#

its always the same

#

doesn't change at all

#

it just refuses to spawn them

celest thorn
#

but no loot spawning

upper vapor
#

log out MinChamber MaxPerChamber

#

i'm guessing there's some tomfoolery there?

celest thorn
#

No

#

they work fine

#

if the first time they spawn

#

normally

#

why the second shouldn't

#

if they use same logic

upper vapor
#

right

#

any exceptions maybe?

celest thorn
#

Like WHY?

upper vapor
#

how about

#

you destroy the locker

#

and respawn the locker

celest thorn
#

It looks UGLY

#

asf

#

let me try the last of the last

#

@unique crane you know why the lockers cannot respawn loot a second time?

celest thorn
#
            foreach (MapGeneration.Distributors.Locker locker in ChambersOverride.Lockers)
            {
                if (locker == null)
                    continue;
                
                foreach (LockerChamber chamber in locker.Chambers)
                {
                    foreach (ItemPickupBase pickupBase in chamber.Content)
                    {
                        pickupBase.DestroySelf();
                    }

                    chamber.Content.Clear();
                    chamber.ToBeSpawned.Clear();
                }
                
                locker.ServerFillChambers();
            }

Im doing this

worn gull
#

What is the default max radius for a grenade?

#

And what is it measured in? 10 is quite small

hearty shard
#

You might wanna just check the animation curve urself and log it

#

Unless a nw dev whoops in and gives it

#

Wink wink

worn gull
hearty shard
worn gull
# hearty shard wdym

If I spawn a grenade and set the maxradius value for example to 50 then I will only get damage when I'm standing very very close to the grenade

hearty shard
#

Oh

#

Change the animation curve

#

_playerDamageDistance or smth

#

= new AnimationCurve and input your keyframes

#

Key is distance
Value is damage

#

Afaik

worn gull
#

Thanks I will try it

#

Working thanks

slate flume
hearty shard
slate flume
restive turret
#

@wide thunder Yo i seen you thing, do you want your template to be added as a dotnet template?

hearty shard
alpine glade
restive turret
upper vapor
#

this is not exactly minimal though

#

also targets 4.8.1

#

(can't compile on linux)

restive turret
#

didnt we made this statement false?

#

i could compile it

#

or was net47

#

idk

upper vapor
#

4.8.1 is not developable on linux
4.8 is

#

gotta make an issue myself smh

#

this is NOT a const

slate flume
#

If I parent a primitive or LightSourceToy to a player will that sync with the client or will it be lagging a bit

upper vapor
#

it will be instant

#

if you parent to anything

slate flume
#

I mean when the player moves

#

Will it lag behind the player

#

Or stay on the player

upper vapor
#

yes, it should stay

slate flume
#

So there won't be any delay?

#

The client recognizes that the object is parented?

upper vapor
#

correct

slate flume
#

Dope so I could

upper vapor
#

it works with any netidentity

slate flume
#

Theoretically

#

Make a player model out of primitives that is larger than the pre-existing player model, attach it to a player's bones, and have a custom skin?

upper vapor
#

pretty much

slate flume
#

That's hype

icy knoll
#

does anyone know why when I <Reference /> a .dll, why everything inside of it becomes internal... if i use an assembly explorer it is public...

slate flume
#

Bozo

icy knoll
#

uh you add it normally by using Reference?

#

😭

slate flume
#

No

#

You right click references

#

And you click add reference

#

And then you select your .dll

#

And then it works

icy knoll
#

uh you realise that adds a <Reference /> to ur csproj right?

slate flume
#

Why do it manually

#

When you can do it automatically

icy knoll
#

because env vars

slate flume
#

If adding manually isn't working do manually

icy knoll
#

rider wont acknowledge your env vars

slate flume
#

Idk what you're talking about for environmental variables cause I've never had to worry about it

#

Why do you need these things

teal junco
#

i only do env vars manually just incase i wanna upload my plugin

#

but otherwise i just leave it

teal junco
icy knoll
#

because then people can maintain ur work without needing to change ur imports to the same place as their stuff?

#

😭

slate flume
#

And I don't have any public plugins

icy knoll
#

wait til you do, that'll be fun

slate flume
#

No

#

It won't

slate flume
#

Waiting on someone to add my pull request, having them ignore it, then having to re-explain why it's important is not what I foresee for my future

slate flume
teal junco
slate flume
#

^

#

This guy is based

#

Why rely on other people

#

Other people are unreliable

teal junco
#

I would like to collaborate at least once on an SL project. But I don't think I could be the reliable force I would want to be.

slate flume
#

I can just make everything myself

upper vapor
#

it's not just about collaborating with others, it's also to make people cloning your repo for any reason be able to build without random ass paths in your csproj

teal junco
slate flume
#

I've never used environment variables
I have no idea what they are, what they do, or how to use them

upper vapor
#

HintPath="../../../../../Downloads/slref/Assembly-CSharp.dll"

#

do you wanna see this in a public repo

slate flume
#

What else am I supposed to do

teal junco
#

thats how you can do PY from anywhere on your machine

slate flume
#

OH wait I understand now

teal junco
#

Basically, a variable called SL_REFERENCES (i think?) is set to your dll folder

slate flume
#

Cause I've changed the PATH before

teal junco
upper vapor
#

yeah that's an env var too

slate flume
#

Eh I mean that's cool and all but you still have to publicize assemblies anyways

upper vapor
#

-# publicizer nuget package required

celest thorn
#

i still wonder will my locker work?

slate flume
slate flume
#

Did you ever check the source code for that

celest thorn
#

and there's NO bool

#

or anything

#

nowhere

slate flume
#

Show

#

Maybe

celest thorn
#

what?

#

there's nothing more

slate flume
#

Show the source code sister

celest thorn
slate flume
#

ServerFillChambers lmao

#

I'm in Italy I can't just pull it up

#

I wanna see

celest thorn
#

and if you do wonder

upper vapor
celest thorn
#

no they don't get modified the Min and Max

slate flume
slate flume
celest thorn
# slate flume What does FillChamber do
[HarmonyPatch(typeof(Locker), nameof(Locker.FillChamber))]
public class ChambersOverride
{
    public static HashSet<Locker> Lockers = new();
    
    public static bool Prefix(Locker __instance, LockerChamber ch)
    {
        if (!Game.Instance.Config.Loot.TryGetValue(__instance.StructureType, out List<ConfigLockerLoot> loots))
            return true;

        LockerLoot[] Loot = loots.Select(x => x.ToLockerLoot()).ToArray();
        
        List<int> list = ListPool<int>.Shared.Rent();
        for (int i = 0; i < Loot.Length; i++)
        {
            LockerLoot lockerLoot = Loot[i];
            if (lockerLoot.RemainingUses > 0)
            {
                for (int j = 0; j <= lockerLoot.ProbabilityPoints; j++)
                {
                    list.Add(i);
                }
            }
        }
        if (list.Count > 0)
        {
            int num = list[Random.Range(0, list.Count)];
            LockerLoot lockerLoot2 = Loot[num];

            int MinChamber = Game.Instance.Config.OverrideMinChambersToFill <= -1
                ? lockerLoot2.MinPerChamber
                : Game.Instance.Config.OverrideMinChambersToFill;
            
            int MaxPerChamber = HungerGamesMain.Instance.Config.OverrideMaxChambersToFill <= -1
                ? lockerLoot2.MaxPerChamber
                : Game.Instance.Config.OverrideMaxChambersToFill;
            
            ch.SpawnItem(lockerLoot2.TargetItem, Random.Range(MinChamber, MaxPerChamber + 1));
            lockerLoot2.RemainingUses--;
        }
        
        Lockers.Add(__instance);
        ListPool<int>.Shared.Return(list);
        return false;
    }
}
slate flume
#

Lovely

#

That totally doesn't make things more complicated

celest thorn
#

instead

#

FillChamber is called

#

correctly and works

#

just not spawning item

slate flume
#

If chambers aren't being populated the second go around then the problem is likely with your code and not NW code

#

And you asked David for help πŸ’€

#

You literally patched FillChamber

celest thorn
#

just with some value changed

#

thats it

slate flume
#

Ever heard of a transpiler?

celest thorn
#

its not public

#

its not gonna be used for long

#

so who cares

slate flume
#

If you patched FillChamber and now code isn't working, then you can't say that it's a NW bug until you test it without your patches

#

This is like Day 1 troubleshooting

celest thorn
#

let me do that then

slate flume
#

Please do

celest thorn
slate flume
celest thorn
#

i love

#

when this happens

slate flume
#

Can I see a screenshot of the base-game code so I can get a sense of what it looks like

#

I don't really know what part in your patch is you and what part is NW

celest thorn
slate flume
#

So given that your patch doesn't work it's unlikely that the problem is that Loot isn't resetting

#

Because I assume your patch isn't modifying the base config instance

celest thorn
#

and same issue happens if i disable the patch

#

so

slate flume
#

But in your case you get the Loot variable from your config

#

Have you tried adding copious amounts of logging

celest thorn
#

yes

#

and the code should work

slate flume
#

Is the problem that the item isn't spawning or that the loot isn't registering on the list

celest thorn
#

the loot works fine

slate flume
#

Then you should check the SpawnItem code

celest thorn
#

you know whats funny?

slate flume
#

Wha

celest thorn
#

neither there is the issue

slate flume
#

So the pickup is being spawned

#

Just it's not spawning?

celest thorn
celest thorn
#

it just doesn0t

slate flume
#

Oh it might just be the SpawnOnFirstChamberOpening

#

If the chamber has already been opened it can't open for the first time

celest thorn
#

or false

slate flume
#

So the item doesn't spawn

celest thorn
#

nope

slate flume
#

So it calls .SpawnPickup?

#

And nothing is spawning?

celest thorn
#

no because the item doesn't spawn

#

even if closed

#

or open

slate flume
#

So it's not calling .SpawnPickup and you're wrong that the problem isn't SpawnItem

#

Did you add any logging at all to it?

celest thorn
#

yes

#

i did

slate flume
#

Patch it and log what happens

#

Then what is happening why doesn't it call .SpawnPickup

celest thorn
#

thats the same im wondering

slate flume
#

If you added logging you should know where it fails dude

#

That's the point of logging

#

Where is the code going if it's not calling .SpawnPickup

celest thorn
#

I finally did understand it

#

its complicated asf

#

but finally did

slate flume
celest thorn
# slate flume What was the problem

Ok so

When it was regenerating the code was Oh this is the first time im sure the locker exist so lets do in ToBeSpawned
So after generating i need to loop again and do

                foreach (LockerChamber chamber in locker.Chambers)
                {
                    chamber.SpawnOnFirstChamberOpening = true;
                    chamber.OnFirstTimeOpen();
                }
slate flume
#

I love being right

#

It's so gratifying

celest thorn
#

you know what else is

#

going to bed

static meteor
restive turret
dreamy yoke
#

Been trying to play around with the "Wear Level" of Custom Keycards but i dont see a change if i enter random values. Any ideas?

upper pike
#

I think it can be pretty subtle on keycards but its much more obvious on the base facility cards like janitors or scientists

upper pike
celest thorn
upper pike
#

So I publicised Assembly C-Sharp but now certain actions events in classes have ambiguous calls and I can't use them at all
Is this just something I'll have to work around or is there a fix?

unique crane
#

Use other publicizer

#

You used the exact one that causes this

upper vapor
#

Use BepinEx.AssemblyPublicizer.MSBuild (NuGet and csproj integration)

upper vapor
#

alert this does not fully work yet

icy knoll
# upper vapor

what is it with you and fuckin around with audio in this game 😭

upper vapor
#

I'm the audio guy

icy knoll
#

fair

celest thorn
upper vapor
#

In a few weeks maybe

#

YouTube has some funny things it does to keep you from directly streaming so I need to work around that

upper vapor
upper vapor
#

It might also just terminate the current stream at some point

#

Just cuz

#

Then you need to get the next stream and continue playback where it left off

unique crane
unique crane
#

What's like the most lightweight windows VM you can get

icy knoll
#

those include all the functionality you need

icy knoll
icy knoll
#

because spotify, apple music, and the rest don't have ways to do it properly

#

even if you reverse engineer, it's more hassle then it's worth

slate flume
#

Oh you're talking about just popular audio platforms

#

Nah I'm saying use something obscure

icy knoll
#

hm

slate flume
#

Quick question

#

Don't C# libraries already exist to download YouTube audio streams?

unique crane
#

Not every library is compatible with both Linux and Windows

icy knoll
#

yeah

#

some dependencies only work on windows

#

because that's the dotnet life for you

upper vapor
upper vapor
upper vapor
#

you just have to get the url to the media stream :3

icy knoll
#

first time ive ever seen await using and do ... while ... in the same piece of code

viral root
#

Noobie question, but does LabApi include harmony?

icy knoll
#

no

hearty shard
#

what is that username

#

πŸ’€

viral root
#

AHahahahah

viral root
icy knoll
#

yes

viral root
#

Thank you

plain gazelle
#

Does anyone have any good starting points in learning the Waypoint stuff?
To get started i basically just want a quad to stand on which moves a bit back and forth

I dont remember who made that one elevator platform that moves between surface elevator B and A

slate flume
upper vapor
#

Currently I'm not downloading anything

slate flume
slate flume
upper vapor
#

Well, concatenation them is not so easy
Idk how these segments can be found so I'll have to work on that
The first url works for some time

slate flume
#

But that does bring me back to my point

#

What about like

#

The YouTubeExplode library

upper vapor
#

Drake laptop

#

I'll see what I can do

#

But for now I'm gonna try to improve the approach I have

plain gazelle
slate flume
#

You can attach primitives to it by parenting them to the object

#

Add some movement smoothing to the waypoint toy and you can smoothly move players and pickups and things

plain gazelle
#

Ooooo thank you!
I heard before that scaling a wpt leads to pickup scaling issues. Now with the new labapi something called bounds got introduced.
So i need to manually configure the bounds?

slate flume
#

I haven't tested it myself but I'm unsure why exactly they would use bounds when scale already existed for WaypointToys

#

For now I'd say just set Bounds equal to the Scale

plain gazelle
slate flume
#

Why is WaypointToy bounds important and how is it different from just setting the scale of the toy?
Also does visualize bounds use scale or the new bounds

plain gazelle
#

Do some rooms really have a netId? Are they deletable? Even if its only some rooms, opening up map tiles for custom rooms instead of cramming them into existing ones would be so awesome

upper vapor
plain gazelle
upper vapor
#

Though it is kinda unnecessary for children to be rescaled

upper vapor
#

Yamato would know for sure

hearty shard
#

old dog room

upper vapor
#

That was my guess

hearty shard
#

idk if its still networked

#

but that was what was said a while ago

#

13.x

upper vapor
#

Prevent map generation and build it all yourself Smart

unique crane
#

914 too

#

I think

#

or at least scale it

unique crane
upper vapor
#

What issues

#

Like

#

Vanilla map still generating?

unique crane
#

That too

#

but

#

some else

#

Like exceptions being thrown

#

and such

#

But easier solution is most likely here to just...

upper vapor
unique crane
#

generate it and then delete them all

#

XD

#

Let mirror do its mirror ids

upper vapor
unique crane
#

Cause it cries

unique crane
#

Problem solved

upper vapor
#

I will know if map generation suddenly takes significantly less amount of time

unique crane
#

I mean its fine on the server

#

no issues there

#

but client

upper vapor
#

So you're implying that... no client = no issues?

celest thorn
#

hello everyone

tepid sluice
#

goodbye everyone

tepid sluice
#

sleep

celest thorn
celest thorn
#

that guy loves cats

restive turret
restive turret
plain gazelle
#

Sooooo, LCZ TC01, LCZ 914 and HCZ Testroom can be deleted and/or scaled and it will network those for clients? o.O

Does anyone have any pointers to get me started in attempting to do those three?

#

Building custom rooms that actually connect to the map instead of teleporters would be SO epic

restive turret
#

uhh good luck

grand flower
#

Don't think they're networked

#

since it's seeded map gen

#

the server and client just generate the map individually from what I was told

restive turret
#

ye it is based on seed.
you might able to remove some stuff that has networking but dont think any has

#

or i can check i guess

#

ye the room itself does not have any "NetworkTransform" or something to move around

plain gazelle
#

All three dont have anything network related? networkserver.destroy also wouldnt work ig then

grand flower
#

yeah you can't do what you're trying to do afaik

restive turret
#

so no

plain gazelle
#

@unique crane Deleting entire containment zones/entire map + Spawning in the NetworkClient.prefabs Rooms actually working, when? 14.1.5? please? :3

unique crane
#

That is something that first requires approval

plain gazelle
#

i approve it

#

πŸ‘

restive turret
plain gazelle
#

xD

hearty shard
#

slejm u suck

plain gazelle
#

TWO approvals already, like, how much more does he need

slate flume
#

I approve

#

Make it three

hearty shard
#

i disapprove

unique crane
#

from Beryl

plain gazelle
#

which one do i have to ping

#

jk jk

hearty shard
#

@marble cobalt hi bestie

plain gazelle
#

:O

hearty shard
#

beryl the pizza

plain gazelle
#

Beryl you NEED to approve davids awesome idea of making it possible to stop a facility from spawning and letting us spawn in rooms individually with the NetworkClients.prefabs rooms

unique crane
#

Ill rather start with something (maybe) simpler

plain gazelle
unique crane
#

Like making the not facility generating properly

magic gate
plain gazelle
#

stroke me have

unique crane
#

Then perhaps send custom layouts?

slate flume
unique crane
#

Does not work 100% of the time

hearty shard
slate flume
#

MapGenerating -> ev.IsAllowed = false:

#

It still spawns in doors and shit though

#

The rooms themselves are gone

plain gazelle
unique crane
#

Thats what I said

#

properly

hearty shard
#

πŸ’€

slate flume
#

That's not true

#

It works all the time, it just doesn't work fully

unique crane
#

No, sometimes it still generates it

hearty shard
#

Wpa

#

Woa

slate flume
#

Hence my original point

#

The problem isn't that the code is sometimes failing

#

It's always failing

#

You get what I mean?

restive turret
#

Drinking unknown fluid from a teacup?

celest thorn
#

what can you drink from a teacup???

restive turret
#

How would i know?

hearty shard
celest thorn
unique crane
#

I drink only from cups

restive turret
#

I dont see the tea rendering in it

celest thorn
unique crane
#

I hate glasses

restive turret
hearty shard
celest thorn
#

Why should you put anything else in there?

restive turret
#

Personally i would love to drink some alcohol in them

#

Quite comfy

celest thorn
#

thats on you

restive turret
#

Hey

restive turret
#

I am not

#

I drink on occasions

#

Not every day

celest thorn
celest thorn
#

but still drinking is bad

hearty shard
hearty shard
#

sjelm keep drinking

celest thorn
restive turret
hearty shard
#

Im not an alcoholic

restive turret
#

Even living kills your cells

hearty shard
#

I drink once every half year

#

And its like wine

celest thorn
hearty shard
#

However

celest thorn
hearty shard
#

I am old enough to make my own decisions

restive turret
#

Ob I have a perfect joke for you

hearty shard
celest thorn
hearty shard
#

Im saying its low %

celest thorn
hearty shard
#

Besides we all know im the main character, the main character never dids

#

Dies

celest thorn
#

ngl none here is the main character

hearty shard
#

that being said, a slight bit of alcohol for a birthday isnt really gonna kill you unless you have a condition

#

I'd lowk be fine

celest thorn
#

i just don't drink in general

restive turret
# restive turret Ob I have a perfect joke for you

At a university biology lecture, the professor is demonstrating the harmful effects of alcohol. He takes a glass, fills it with water, and another with whiskey. Then he takes two earthworms from a matchbox, puts one in the water, and the other in the whiskey. The first earthworm squirms merrily in the water, while the one in the alcohol squirms for a few seconds and sinks to the bottom of the glass. - Do you see? - the professor turns to the audience. - The earthworm in the alcohol is dead, while the other one seems to be fine. What do you think this proves? - A voice from the back row says, - that if you drink whiskey, you won't get worms.

celest thorn
#

ok ngl thats actually fine

#

btw from the original scene is presumable thats tea

#

but idk

#

idk if they have tea there, i think so?

#

else why would you use a teacup and not a glass?

restive turret
#

To draw less?

#

To not draw the glass

celest thorn
celest thorn
#

its not even like they need to create an assets just for that

#

teacup are reused too

restive turret
celest thorn
icy knoll
restive turret
#

You got me

hearty shard
restive turret
celest thorn
#

out of curiosity

restive turret
#

A LOT

hearty shard
#

You

restive turret
celest thorn
restive turret
#

Atleast like idk.
500 pic?

celest thorn
#

crazy

hearty shard
celest thorn
restive turret
#

I have another collection of cats/animals that is ~100gb from vxug

restive turret
#

You want the zip?

celest thorn
#

no??

restive turret
#

Why??

celest thorn
restive turret
#

On yo

#

Hdd?

celest thorn