#plugins-dev-chat
1 messages Β· Page 122 of 1
Yeah, but like, if someone tested it out, it wouldn't be "broken" right now
had to be as it relied on client only stuff to be able to fix it
is items disappearing/dropping from inventorys a northwood thing or plugin?
nw thing, should be fixed in 14.1.4
Yipey
actually, i think i misunderstood your question. idk about that
i was thinking of the 914 bug for some reason
hmmm, i dont remember hearing about that. so im not sure if its a nw bug or plugin one
all good just thought i would ask before redoing some
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
Merge conflict broke it
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
I can ask but doubtful unfortunately
In worst case you can just use the base game code
Sorry
When we have to test everything it just slips through
Especially after you merge in latest branches several times
can't complain anyway, we finally can hide players from the list and it's cool
Yey
It is breaking
Because the compiler emits the numeric value
β Git tree
β
Git rainforest
It's not breaking because it's wasn't valid
And nobody could use it
Git jungle
Jiggle
Autocorrect
But yes probably the end looks like some rainforest bc of like too many branches for fixes
Already compiled builds that used the old value will have their behavior broken
They might have used a value that now maps to a new value
Jiggle physics
Git amazon
π
How could they used this value when it's was wrong ?
Like doing (GeneratorState)((int)GenratorState.None)-1)
In this case yeah it's does break
Oldvalue was wrong so nope they will not be broken
The most of time when this value was used it's to remove all other flag enum
And that will still work perfectly fine
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
labapi and the game have different versions smh
Ye but i rarely see update on labapi itself only to be pushed
I would even defend the logic breaking actually
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
Indeed for 15.0 we will release a breaking update
We will most probably also move from .net framework to standard
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
tbh unity going into netcore is like 2+ years
1 because they wait for stable net10
another 1 bc impl take time
Too optimistic I would say
unity unity...
more because its unity and not really a priority
you prob could, could somehow mod unity to be .net9 ready
i gues
dead
so sad
no
;(
everyone on earth has died you're the only one left
so sad
so wait
if you are talking to me
that means you are an AI
no im a hallucination
So what am i thinking rn
no
thoughts
crazy
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)
spawn first then start
F
try with
StructurePositionSync.Network_position = myposiwant
let me try with this
and then i will try with that one
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;
Ok the locker spawns in the location but still throws the error
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
Lockers decided to break when i spawn them
again
but this time just when i spawn them with code
that is outside of meow
Position.
the model spawns
but still doesn't work because it screams no room found
im in surface
Let me check if the server gives me something using the same code
No it doesn't
if(position.TryGetRoom(out RoomIdentifier identifier))
Logger.Info(identifier.Name);
Doesn't reply
so it means thta
doesn't exist for some reason
show your spawning code
Here
But network spawn is after everything
show the code
Im rn not at my pc
bru
But i use it for alot of other stuff in meow and works fine
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
Is it possible to modify the time it takes to cuff someone?
Here is what the awaiting PR does
There are some base game changes tho
so idk
Probably for out of bounds
100%
rn im trying to trick the game
into spawning it into a room
and then move it there
but its spawning inside
yea
Your kinda 9,75K off there
Outside like
Like its so strange
On top of surface
That might be out of bounds
(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
how about
you make it assign the values on serializeserver
none of this duplication would be required
can you vc?
though it is better for immediate use
because im looooooooooosing my mind
nope sorry
or just a SetPositionRotation(Vector3, sbyte) method 
CreateNewInstance is just clone it and put it inside a transform
does it spawn without items or not at all
it spawns
but cannot be opened or anything
Tell that to riptide
its his PR
I dont want to touch it
@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
Scary
kek
david!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
eve
hi
so anyone?
hi
check how sloc does it
i really don't know what to say to this
I hate this game
maybe you have some patches
also the locker has to be world-space (i assume the null there means no parent)
it works fine
yea
axe go fix it
nameless fix it :3
No, Ill wait until you get hired
And then you fix it
Make it random in range where it works
the problem
they work if i spawn it in the editor
when i spawn them dynamically with this code
I believe that no structure work if you spawn it after you fully joined?
i think it does
they do work
ive done it w generator
because i do that
okay
The mystery gang
Yea SL is a mystery
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
i would rather redo the entier system then make a small change for structures that doesnt change the final behaviour
I swear i hate this lockers

Don't parent it
i don't
and still happens
i swear im loosing it
this is what i do
but still error
after error
after error
Show the method that creates the locker
also wheres the error
Client
public static T CreateNewInstance<T>(this T instance, Transform parent) where T : MonoBehaviour
{
T newInstance = Object.Instantiate<T>(instance);
//just setting up stuff like identity etc...
return newInstance;
}
ahh i dont have embeds enabled
XDDDDD
// "just setting up stuff"
What's that stuff
Cuz this code has negative issues
does this error stop it from working?
It can't be opened
yes
weird
hmmm
only the one i spawn with this code don't
this isnt related to waypoints is it?
if your to far outside the map you cant interact with anything anyway
Waypoints are all around it
Works with sloc 
and i can move
no i can move
with noclip or walking around?
walking around
Oh right I haven't tested without noclip
i have the waypoint toy
around
but it wouldn't explain why other lockers do work
but not this one
Drop an item and see if you can pick it up
i can
i have this ones
around the map
and they work
that i added from the editor
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
the one spawned via code don't
your issue is likely related to something causing the interaction not to go through on the client or the server blocking the interaction
let me do something
wait
if they don't get interacted
wait
i probably know why?
i have been spawning lockers outside the map for awhile and its been working fine for me
Funny enough i spawn the loot
and it works
but
still throws the error
honestly idc
@celest thorn
Yeah zero's gotta be doing something funky
Btw it works now
just throwing that error
i honestly idc
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
Bruh
Guys my plugin is not working
-# I forgot to enable it after disabling it
Lighting adjustments
guh
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
I need to make it respawn tho
I already have a patch that replaces the loot
i patch fill chamber to
john webdev when download
Upload your plugins
NOW
No youβre not
yes i am
i will tomorrow
but just for now im trying to fix alot of stuff
I just wanna really know why why yyyyy????? THE LOCKER DON'T want to respawn the loot
i swear
Is there any way to get player.DisplayName without the <color=#123456> prefix and * suffix?
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
huh
NicknameSync
what about it
nick.Substring(0, nick.IndexOf('<'))
if it's only timing out at 500ms then we might have ome issues 
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
what's the loot
the loot is just random items i took from the list
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
it gets reset everytime
don't see it being reset here
[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;
}
}
did you know that this is a class
therefore if you modify the remaining uses
it impacts every other call
What???
you need to clone the loot instances too, not just the array
public LockerLoot ToLockerLoot()
{
return new LockerLoot()
{
MaxPerChamber = MaxPerChamber,
MinPerChamber = MinPerChamber,
ProbabilityPoints = ProbabilityPoints,
RemainingUses = RemainingUses,
TargetItem = TargetItem,
};
}
to locker loot does this
ah
that's rough
can you log out the original loot list from the config
this should really work π
Fun fact it works
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
show the members too
so it doesn't
wdym=
im logging Remaining uses
and target item
nope
its always the same
doesn't change at all
it just refuses to spawn them
No
they work fine
if the first time they spawn
normally
why the second shouldn't
if they use same logic
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?
No
Thats so sad
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
What is the default max radius for a grenade?
And what is it measured in? 10 is quite small
Its ingame meters
You might wanna just check the animation curve urself and log it
Unless a nw dev whoops in and gives it
Wink wink
And how can I force the radius to be the max?
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
Oh
Change the animation curve
_playerDamageDistance or smth
= new AnimationCurve and input your keyframes
Key is distance
Value is damage
Afaik
Yeah that's what I did
also how basegame did it 
Yeah that's what SL did
@wide thunder Yo i seen you thing, do you want your template to be added as a dotnet template?
Shh
Shh
what template
4.8.1 is not developable on linux
4.8 is
gotta make an issue myself smh
this is NOT a const
If I parent a primitive or LightSourceToy to a player will that sync with the client or will it be lagging a bit
yes, it should stay
correct
Dope so I could
it works with any netidentity
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?
pretty much
That's hype
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...
Just don't <Reference /> a .dll and add it normally
Bozo
No
You right click references
And you click add reference
And then you select your .dll
And then it works

uh you realise that adds a <Reference /> to ur csproj right?
because env vars
If adding manually isn't working do manually
rider wont acknowledge your env vars
Idk what you're talking about for environmental variables cause I've never had to worry about it
Why do you need these things
i only do env vars manually just incase i wanna upload my plugin
but otherwise i just leave it
so other people can use your code
because then people can maintain ur work without needing to change ur imports to the same place as their stuff?
π
Idk I've never used them cause I've never had to collaborate with anyone
And I don't have any public plugins
wait til you do, that'll be fun
skill issue
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
It's more of a skill issue that you have to collaborate with people lmao
I've never collaborated before, but I have been asked about it once.
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.
I can just make everything myself
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
Huh?
Well, i do also have access to a repo, but i havent added anything to it yet.
I've never used environment variables
I have no idea what they are, what they do, or how to use them
HintPath="../../../../../Downloads/slref/Assembly-CSharp.dll"
do you wanna see this in a public repo
What else am I supposed to do
for example
Environment variables are variables you set in your system that are replaced with another string automatically
thats how you can do PY from anywhere on your machine
OH wait I understand now
Basically, a variable called SL_REFERENCES (i think?) is set to your dll folder
Cause I've changed the PATH before
Oh yeah i think its called path as well.
yeah that's an env var too
Eh I mean that's cool and all but you still have to publicize assemblies anyways
<Reference Include="Assembly-CSharp" Publicize="true" />
-# publicizer nuget package required
i still wonder will my locker work?
Sounds about right
How does serverfillchambers work
Did you ever check the source code for that
yes
and there's NO bool
or anything
nowhere
Show the source code sister
of what?
at least you don't have every single dll in SL existence referenced, right?
no they don't get modified the Min and Max
I just Ctrl + A, add
And then I safely remove assembly references to remove the ones I don't use
What does FillChamber do
you had me in the first half
[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;
}
}
Oh you patched it
Lovely
That totally doesn't make things more complicated
that makes thing easier
instead
FillChamber is called
correctly and works
just not spawning item
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
my code is the exact same copy as nw one
just with some value changed
thats it
That is objectively worse
Ever heard of a transpiler?
Idc
its not public
its not gonna be used for long
so who cares
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
let me do that then
Please do
Base game does the exact same thing
Then it's a NW issue
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
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
no
and same issue happens if i disable the patch
so
Yeah but my point is base-game the issue could've been that the Loot variable didn't reset, so the uses was never reset or something to that effect, causing no items to spawn
But in your case you get the Loot variable from your config
Have you tried adding copious amounts of logging
Is the problem that the item isn't spawning or that the loot isn't registering on the list
the item isn't spawning
the loot works fine
Then you should check the SpawnItem code
you know whats funny?
Wha
neither there is the issue
Oh it might just be the SpawnOnFirstChamberOpening
If the chamber has already been opened it can't open for the first time
I tried making it true
or false
So the item doesn't spawn
nope
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?
Patch it and log what happens
Then what is happening why doesn't it call .SpawnPickup
Idk
thats the same im wondering
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
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();
}
Fucking told you
I love being right
It's so gratifying
Zzzzzz
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?
I think it can be pretty subtle on keycards but its much more obvious on the base facility cards like janitors or scientists
Its more obv in ntf cards
I believe they only go from like 0-3
(its done for ntf so yea)
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?
AssemblyPublicizer is stupid
Use BepinEx.AssemblyPublicizer.MSBuild (NuGet and csproj integration)
what is it with you and fuckin around with audio in this game π
I'm the audio guy
fair
when source code leak 
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
wdym?
It's super simple if you're running on windows 
Streams are segmented, meaning the video may be made up of multiple "sources"
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
Make the plugin spin up windows VM

What's like the most lightweight windows VM you can get
Any Windows LTSC probably
those include all the functionality you need
Just don't use YouTube 
you can only download audio streams from youtube, soundcloud or deezer
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
Oh you're talking about just popular audio platforms
Nah I'm saying use something obscure
hm
Not every library is compatible with both Linux and Windows
Drake laptop
I don't want to download the whole thing before starting playback though
it really is that simple (very few people use a windows vm to host their server)
you just have to get the url to the media stream :3
first time ive ever seen await using and do ... while ... in the same piece of code
Noobie question, but does LabApi include harmony?
no
nope
what is that username
π
AHahahahah
So i need to put the harmony dll into the dependencies folder?
yes
Thank you

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
So you're only downloading part of it currently and downloading the next part concurrently? So why is it such a problem that YouTube uses multiple links for multiple parts, doesn't that make your job easier?
Currently I'm not downloading anything
You spawn a waypoint toy, and continuously move it
Oh dope
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
But that does bring me back to my point
What about like
The YouTubeExplode library
Drake laptop
I'll see what I can do
But for now I'm gonna try to improve the approach I have
Is a Waypoint toy an empty game object? That i need to attach primitives to?
How do players become attached to the waypoint toy?
Any player in a WaypointToy is automatically attached to it
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
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?
Bounds are just the size of the waypointtoy afaik
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

Actually, this isn't a bad question
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
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
Scaling requires children to be readjusted, as well as pickups breaking
iirc parenting stuff to a scaled parents is messy
You can set the parent using unity (.parent = transform) and resync the local transform if it's static
Though it is kinda unnecessary for children to be rescaled
You can delete TC-01 and another room I think
Yamato would know for sure
That was my guess
Prevent map generation and build it all yourself 
Still gotta fix the ton of issues it causes behind the scenes π
That too
but
some else
Like exceptions being thrown
and such
But easier solution is most likely here to just...
No spoilers π
My seconds
Cause it cries
I will know if map generation suddenly takes significantly less amount of time
So you're implying that... no client = no issues?
yes
hello everyone
goodbye everyone
gn
you remind me of inzi
that guy loves cats
Nooooo dont leave me
oh gn
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
uhh good luck
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
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
All three dont have anything network related? networkserver.destroy also wouldnt work ig then
yeah you can't do what you're trying to do afaik
most of them just light control or some like 079 cam stuff
so no
@unique crane Deleting entire containment zones/entire map + Spawning in the NetworkClient.prefabs Rooms actually working, when? 14.1.5? please? :3
That is something that first requires approval
literally was faster you sent this msg i typed the same
xD
slejm u suck
TWO approvals already, like, how much more does he need
i disapprove
@marble cobalt hi bestie
:O
beryl the pizza
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
Ill rather start with something (maybe) simpler




Like making the not facility generating properly
the second one
stroke me have
Then perhaps send custom layouts?
This already exists
Does not work 100% of the time
Properly*
MapGenerating -> ev.IsAllowed = false:
It still spawns in doors and shit though
The rooms themselves are gone

π
You said it doesn't work 100% of the time
That's not true
It works all the time, it just doesn't work fully
No, sometimes it still generates it
In my experience, it always still generates it
Hence my original point
The problem isn't that the code is sometimes failing
It's always failing
You get what I mean?
Drinking unknown fluid from a teacup?
tea?
what can you drink from a teacup???
How would i know?
A lot
because its a TEAcup
I drink only from cups
I dont see the tea rendering in it
Ig its obv???
I hate glasses
A lot of things
And you can put more in it
Why should you put anything else in there?
Bro you are an alcoholic
thats on you
Hey
Valid
Bro you aren't even 18 so stop drinking
Dont care?
Crazy another alcoholic
More things are bad for you tbh
Im not an alcoholic
Even living kills your cells
i know
However
thats still acohol
I am old enough to make my own decisions
Ob I have a perfect joke for you
I didnt deny that
Alot for me like smoking could kill me from even fucking simple dust
Im saying its low %
Oh then ig its fine
Yea sure keep dreaming
ngl none here is the main character
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
i just don't drink in general
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.
AHAHAHHAAHA
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?
idk makes no sense
glass do exist in the game tho
its not even like they need to create an assets just for that
teacup are reused too
Nice :3
this is such a slejm meme
he postes only cats meme
so
i will push a dog meme
You made me sneeze
You're welcome
A LOT
Awww
you should be allergic to yourself ngl
Atleast like idk.
500 pic?
crazy
Why do you have that...
I have another collection of cats/animals that is ~100gb from vxug
100gb??????
You want the zip?
no??
Why??
because where tf do i put it
i have just 255



this does not fully work yet