#plugins-dev-chat
1 messages Β· Page 197 of 1
fair
I love The referenced script on this Behaviour (Game Object '') is missing!
just strip every code that related to server, getting rid of cst now!!!
lmao
I hope you realise thats not per frame xd
with ~40 dummies on random classes - one imagine with/without the patches
I love you too Zero
Are you using some program or plugin?
Im telling you
the hotspot is the relative position ctor
Well
sort them by self time
not calls
put 100 players in the same room all alive
while moving
then tell me how your "optimization" goes

DIAUHUYGDAUGYDAYUGDGYA
what was tps before
I think your profiler is kinda sketchy
@wheat flower
cause this isnt possible xd
oh i see
ye I see getting AllRoles call but
can we all work together to make a 100 player event
i think you have different unit there
(would be peak)
IsLoaded set after LoadRoles
than calls
we've done it on skillz a few times
what
"the incident"
15.0 patreon play with 255 player lobby
"Checking on this, will follow up as soon as we have more info" - Youtube
17 days ago lmao
Give us an official one
π
ofc

who even using cedmod on testing servers

krill issue 
I had to disable it cus it spammed my console
while i was making rebuilds and plugin tests
what im wondering is how exactly you getting 300tps with 40 players at all
TPS is just server FPS
who wrote this
client has a ratelimit on the Fpc Distribution ? i mean the actual system cap at 60/s but if i override it what happen ?
So the client will limit it to 60/s too ?
mega troll
Btw is that normal that the synced bool "HideForPlayerList" on ServerRoles didnt work on player ? why it was only for dummy
yeah it's for dummies only
feature
No idea
is there a reason why a large amount of primitives can tank your frames?
use the culling parent
and what might this be
i see
!pinghubert
fuck...
oh
dont primitives already do this? my frames drop more if i look at the whole map or a detailed part of it, and it gets better if i look away
Termination notice
the whole map in question is 3 rooms in 1
Split them into chunks and parent them to the culling parent
With bounds assigned
this will help
alright thanks
why does bro have a dm from sapphire
idk
lmao
fork slop sl
spoiler: it wasnt smart
could you suggest to dev team to add an other confirmation button on it ?
that honnestly happen too often
bru
why
or dm
Bruh
ahbahaha
ok P99 issue creator
that only required one dev to click the matrix collision
Ragdoll fall in void
with elevator
that not P99
ok its P98
ragdolls are mostly client sided to seen
yeah ?
especially flying over objects and shit
they could still not going through door
or smth, you can ask server where the body should be
Trello URL: https://trello.com/c/PQhZzBcw/5969-collision-dead-bodies-can-pass-through-doors-gates-and-elevator-doors Version: 13.3.1 Branch: Release (stable) branch Timestamp: 2024/01/18 15:28:15Z Server...
sadge
@serene vine
@idle depot
another one
double the trouble
blud's whole family got hacked
okay but genuinely
how smartn't does one have to be to fall for these scams
like
it takes so much effort to conceive what's on the pictures and what to do
@celest thorn Filters are there for a reason, please do not bypass them x)
what
we got confused (and him self too)
You got automodded once today so it shouldn't be that hard to figure out
Rat police
Does anyone have the rotating waypoint cube gif with all the dead bodies?
this?
thank you
SL gameobject name
is there a reason why item.Base.ThirdpersonModel._tr == null?
I would never expect to hear that request from you π
Glad my gif (that Yamato and Ms contributed to) is that funny lol
and im trying to get the global pos of the players current item model
Someone asked me what does waypoint toy do and I quickly needed some visual example
XDDDDD
ahhahah
Imagine if we got that gif as an animated emoji 
Known bug its been report it the gitlab issues iirc
can you send the issue on gitlab?
man
also prob the item hasnt been initalized?
no 3rd person made since not holding?
Wdym?
no i not going into that rabbithole again
public bool Execute(ArraySegment<string> arguments, ICommandSender sender, [UnscopedRef] out string response)
{
Player player = Player.Get(sender)!;
Item? item = player.CurrentItem;
if (item == null)
{
response = "Nothing selected";
return false;
}
response = item.Base.ThirdpersonModel._tr.position.ToString();
return true;
}
ok go where that shit initialized
and go tru million of stuff to find what the actual issue
go tru
PoolManager.singleton._poolLookup
funny thing that its working when using fade effect it changes its scale
and find if the prefab exists there
also its never getting set
so
InventorySubcontroller.OnSwapThirdpersonItem
or _lastThirdpersonInstance
same class
@unique crane why deadPit in HczArmory is LayerMask.Water ?
why frame door (the one with keycard or the one for Elevator) is Layer.CCTV ?
Dunno
Warhead Button :3
so meshy
Might have been experimenting with more water rooms during development of 14.0
i had to change to this its working thanks
was there ever a text summary of the lap api display kit announcement, I can't seem to find one
ah nice
I still have to watch it
Stage event recorded at 2026.01.31
Times:
0:00 - Start
0:50 - Recap of 2025
1:55 - 2:40 - Builds for host early
2:55 - 4:05 - Polaris update
4:25 - 15.0 started in development
4:55 - DisplayKit!
6:42 - DiplayKit example code.
8:55 - DisplayKit available time (Soon)
9:10 - Clickable UI talk
10:10 - Questions from the Stage
11:32 - "Get Sopfie'd...
thank you
What was accomplished in 2025
In 2025 alone, we:
- Made our first public release of the LabAPI, as well as consistently updating throughout the year.
- Expanded our modding capabilities by:
- Implemented highly-requested features such as customizable server-side keycards, and the removal of the Hints' ratelimit.
- The ability to interact with the players' sizes, rotation, gravity, jumping mechanics, and so on.
- New spawnable admin toys, such as Interactables, Waypoints, Cameras, Culling Parents, and, as you can probably guess, our magnum opus: Capybara Toys.
- We've also incorporated procedures for releasing both client and server builds during more beta deployments.
Polaris Updates
- Polaris no longer utilizes webhooks for feedback on user reports.
- When reporting a player via the main SCP:SL Discord server, the reporter will now receive report feedback in their DMs from the bot.
- The Polaris bot can now accept multiple reports on one player, so you will no longer receive "The user you are trying to report has been already reported.β
Display Kit
Display Kit is a new Modded UI Framework coming in 15.0
What is this solving?
Modders currently resort to hijacking systems like the in-game hint and broadcast functionality to simulate persistent UI elements. These workarounds have several significant drawbacks:
- Inconsistent UI behavior across mods.
- Flickering or overriding messages due to plugin conflicts.
- Abuse potential, including permanent hints which end up overriding vanilla hints.
- Poor scalability and lack of modularity.
- Squeezing the absolute limits out of TextMeshPro in order to display a single string as multiple UI components.
- Wasting system resources for both server and client with often large string concatenations and GC times.
- Plugins are limited by the string size limit you can send over the network. Limiting the visual quality they could have.
Is DisplayKit replacing Hints?
This will not immediately replace Hints. However, DisplayKit allows for a lot more control than the current Hints system is able to, so we may eventually retire it.
When can I access it?
We will be providing more information on when you will have the opportunity to access this over the upcoming months as we continue development of 15.0, so keep an eye on announcements!
Buttons? Clickable Elements?
Clickable UI is not something we are planning on shipping for DisplayKit's initial release as we'd like to review the impact of the new displayable elements first, and ensure DisplayKit's initial features are as polished as they can be.
With such a huge creative tool, it is very difficult to test every possible use-case, as well as understanding what limits you'd like us to explore.
We'll be taking an extra close look at feedback on this once you've gotten your hands on it.
ah ty
If we ever get clickable buttons I hope someone makes chess in sl
Will it support images?
Sorry, I fixed my sleep schedule now so I wont be up like I used to :(
images β οΈ
I know a guy who made it 3D with the interactable toys π£οΈ π₯
Not officially from what I know (but you can always use colored text squares
)
rip
BRO WHAT IS THIS 
lmfao
Will look if the water room have water tag
"squeezing the absolute limits out of textmeshpro in order to display a single string as multiple ui components"
gulp
Thanks LucidGPT
Better than my resurrrect typo
π π
i am finding funny name
i am curious of what these out of map box collider are needed for ?
these box have the layer of camera CCTV
these too
the funniest is none of the Camera
have the CCTV layer
(on surface)
uhm
okay no may be good for camera
because the collider under it have the CCTV layer
the blue one CCTV layer
but purple are Default layer
I know
Trello URL: https://trello.com/c/YOnx6xp1/6060-collision-grenade-is-not-blocked-from-being-thrown-out-of-bounds-and-directly-into-gate-b-elevator\ Version: 13.4.2 (current) Branch: Release (stable) branch Timestamp: 2024/02/15 20:58:28Z Server Name:...
i hope ntf unit name font
That do not say for the one i show
This is where helicopter is
And I don't get why they need collider near helicopter
when
Hi
you just haaaad to use HEVC so i couldn't play this video
Does anyone know what causes this error?
You sent a message to the dedicated server player
PlayerRoles.RoleAssign.RoleAssigner
You're probably doing something wrong
maybe you created a dummy right before round start?
No, I don't have bots on my server
SpawnScps_Patch1
This patch does not affect the player list
well choosenplayer could contain server
epic
PlayerRoles.RoleAssign.ScpPlayerPicker.ChoosePlayers
Real?
ye
Β―_(γ)_/Β―
I remember going through that on a surface model, huge boxes and weird things that are invisible.
@serene vine you know who it is
!softban 1232875408152723527 compromised account, change your password
thank you discord for marking it as spam, the only time that's ever happened 
Done. Enough chaos.
still a shitty platform but ye
@soft depot
Why is it so distorted π
your biggest op
Well my version is clearly better 
i said that to him
"you've doomed us all!"
*mario jump sound effect*
Spend years pouring your heart and soul into a plugin.
Write a plugin in an afternoon


Bro why do you have this patch
For some reason, when there are 60 players online, several identical SCPs spawn
yea
it does that
Correct me if I'm wrong but does that not make sense?
With player counts that high you're going to run out of valid spawnable SCPs with the spawn logic and it'll spawn extras
If you're preventing the game from doing that then you're probably causing issues which is why your patch is erroring
@sweet flax @slate flume I potentially have a fix for this issue now
Yo?
I tried to remove the patch, but the error still appears
What is the error you get when the patch is removed
I meant i fixed it, was dirty how i did it but works
Yeah I know I'm just curious about how you did it and what the problem was
I'm in the forest right now. I'll send it as soon as I get home
Sick
Removed wasEverSetup and moved set after if
Idk why it didn't worked when i tried that time
use StringBuilderPool for string builders fyi
btw @soft turtle if you want to disable that behaviour
allow_scp_overflow is a config part
^ W eve
Saving this
Also you can patch something that has a switch case and return false when is a host
Thx
Nice
Can you send the fix so i could test it? Or is it very private nw property
are you joking or you dont know that sick also means "cool" or smth close to that
Haii chat
hai
how you doing :3
good :3
Got a working prototype now
hm
ποΈποΈ
did you guys know first release of official NWAPI framework was a copy of Exiled
and i would have love Exiled just being official
instead of remaking a framework from grounf everytime
:3
@grand flower i can show you
what could be done to be able to move room
They're map generated, unless they network the rooms you wouldn't be able to
you see FlickerableLightController ?
if you do the room like this
you would be able to move everything
that why we actually can move Lcz330 and HczTestRoom
but they arent done very correctly so a lot of asset are not getting moved like effect and some light
I'm not saying it's impossible it's just not setup this way right now heh
(its more that you are doing something that it wasnt intended for)
that why my suggestion is a Task ?
i know but it's still nice to do
and doesn't have any security concern
and give people possibility to add more Custom Room
also this cost nothing for performance
to get changed
depends
you cant have nested netids inside some circumstances
so in certain rooms stuff may need to be changed to account for that
though iirc that might only be if network spawned, mirror doesnt like it
and it costs someones time to actually do so, so it depends on what programming/api management decides that team members need to do
yeah
i do get the part that it's get time
to modify heirarchie
on all ROOM and even more complicated for Conflict change between different people
i just make a Task request
for it to be considered
also what the things about nested netids ?
mirror does not support nested networkidentities
what nested means
an object inside of an object which both have a netid
but Lcz330 have that ?
"some circumstances"
room
-> some object (has netid)
-> another object (also has netid)
ok
i believe it may work when the object is spawned manually, and has the ids assigned by our code, which is what mapgen does
but mirror still doesnt support it, so it can break at any time when we update mirror, which would be a fun problem when that occurs
could just let us script mapgen
thatd be something beryl/dev management would need to decide on
that would be cool but i never expect that being a possibility to NW
well, adding/moving netids to every room would have the same effect 
but with less effort
not same effect
as it's woudln't be able to spawn more Room
also required less work yeah
server side generation 
well, the server does generate the map
obv
but its serialized as a seed and given to the client
SeedMessage
cuz thats like a lot less heavier on the game/network 
I feel like SL's maps would be lightweight enough to network
though if rooms are actually network spawned the whole "cant have nested netids" starts being a problem
Always have been
Don't have to have netids
Just send the data to the client so they spawn them on their side
name, room type, transform should be enough
- room connections I suppose
.
iirc room connections are handled differently
technically just sending the rooms identifier that matches whats on the server (it does this rn already anyway), position, rotation + prefabid could work
They will send Steam drone squad watch out
but if that (or the netid shenanigans) were to happen is up to beryl + the other higher managers in development
It's how I'm doing it (in theory) for mine. Just the data clients need, sent to them before they connect to the server in my case though.
yeah it's funny to modifed these :3
Should be pretty easy to compress and send
honnestly it's fine for me
It would be probably easier to just send you something like custom layout
Regarding custom maps
it might fit into a single netmessage (the list of rooms)
It absolutely would
how would you send custom layout ?
You wouldn't want to do that though
custom map layout sounds weird, cuz the layout is a bitmap
youd need to transmit a bitmap over the network to the clients 
I guess it would need reworking how SL does map gen fully heh
atp the easiest solution is just sending the list of rooms in a equivelant of the seedmessage (eg server gens, then sends that list)
but that is just an idea
My plan is to just expose map gen to scripts, that way I can just write some default map generation logic and let modders modify it as much as they want
And then the game will just run that, package the data, send it to clients that want to connect
vector3, quaternion, prefabid
yeah that's the minimum
No we dont talk about the line
the worm
Best Layout SL ever done
In my case I plan to let modders add their own rooms so I can't send a simple id, it'll be a path to the room asset
that would complicate things yes 
But I'll have a package map at the start of the data to map asset paths to a unique int id
That way if a room is placed multiple times I don't have a huge asset path every time heh
imagine the Line but longer with more Tesla and Scp079Containment Chamber at the end of it
Then I'll chunk the data, slice it more and spam the slices through unreliable messages until the client acks them all
Since more reasonable it would be a grid it can be sent easily what would be
"we have this layout plz place as:"
zoneId, (roomid, gridid)
Or smth
Would be easier the most I guess
less flexible though
Wdym
SL is already gened as grid but isnt actually use this system for some reason
Tbh the other idea would be giving all room netid properly and movable transform but prob baked light or light stuff would be some issues with it ig
Grid system stays but it just spawn the room anyway
Oh wait when you join you will get million "yo spawn this obj here"
And ofc parenting doesnt work as should be
Since spawning even with parent on something doesnt transfer it's parent to client
Because why would you do that anyway mirror
That's why I don't make my rooms replicate for my project
Instead I'll just package the map into a compressed format and send it to clients before they connect
better
You still spawning them on your server, having networked shit no?
Yes, they'll still exist on the server, but they won't be spawned by networking for clients
Client still receive the "netobject live here"
Yes and no
I'm gonna force the engine to hallucinate thinking the map data received by clients and spawned locally has always been there
So networking stuff within rooms for example will "just work"
I heard this just works many times
Bit complex and I have to force the engine to do something it generally doesn't like, but it'll work
By todd howard and nvidia
I'm pretty much gonna trick the engine into thinking the rooms were loaded from a map asset
that way they're stable and as long as the name on the client & server matches, the engine doesn't care
Tbh I still dont understand why would I send the transform there
The bonus is that rooms won't be destroyed if they're network irrelevant
They'll just stop networking data and I can just stop them from rendering
It's just me being modder friendly, if SL uses a grid system that works for you, yeah just do that
I get the position but what else would you need other than position and rotation, you really wanna scale?
I mean I honestly dont care if I send 1 byte or somehow compress 3x3 float
Nvm -1 float since the y should be determined by grid anyway
I wouldn't overthink it bandwidth wise
You have other ways to compress the data
Scale I suppose isn't super useful but again, I don't wanna stop modders from being creative if they want to heh
No I meant I genuinely want to hear what people would do if I send like
(RoomId, Transform)?
that's fine IMO
Tbh I will create some prototype on my sl clone, if you wanna see will send and tag you
Obv it will just spawn cubes rn
sure
I'll show mine when it's ready
Kinda slowed down by my PC dying and lots of trips this month
Is there someone in S&C I can bribe to get my shit taken care of
Call it "strategic diplomacy" or something
I'm not above making ethically ambiguous moves
What about the culling system?
^^^^
Haiii
That means we have to add a RoomType enum 
(Finally)
After all these years
Idk nw and RoomType is like a disease
NwApi didnβt have it
Labapi doesnβt either
RoomName is so W trust
90% unknown except like a few
what makes hcz testroom and lcz candy room the only removable rooms?
Maybe this
Tbh there is no support for that so
oh
@celest thorn From earlier discussion on making nav meshes in heavy.
So you raycast?
Nah that was getting crazy to maintain
So what did you do at the end?
In the end I rest
Gn
Using the base game meshes. Auto-building on map generation. Since they aren't on the CPU and there's no GPU on a headless build the only place to get them from was disk... And it worked.
So you baked them and then imported them?
That's probably the sane way to do it... I'm taking the raw mesh asset off disk and replacing the Mesh on the colliders in the rooms. Then building navmesh.
Bro is writing a porm
Thats smart
mf's and their unreadable meshes
It's A way of doing it, works, but now I have all the meshes loaded on CPU
To be optimized, until then my RAM was looking a little lonely
you know what
im gonna spend time on the vc for hangout lol
i just bought an SSD 2Tb (I REALLY needed it)
Don't you already have one?
Also you'd just have a prefab id
so shove it in a dictionary or something
Nope
We have RoomName
There are a lot of rooms that are just Unknown
Ye that's one way to do it
I personally will just use the asset path cause why not, or a primary asset id actually
probs better now that I think about it
the asset manager can find the path for me
Asset path as key 
Probs gonna go with an asset id
the asset manager can just find the path for it that way
Nothing changed the room het culled ?
I mean if you move the culling bounds too, then yeah
You don't move the culligns bounds ? In base game
And peformance cost if room get moved it's a plugin dev problem
Since they arrent intended to be moved
Wait just modify RoomName ?? Why add an other enum
That would just be simpler
A lot of stuff in the game use RoomName and it's would be good to have them containing data of the room of where they are instead of unknown
NW

when you don't know the answer neither they will give it to you
its like a dogma
it was made like this
That just create a duplicate enum with one being useless
so lets keep it like that
π€·ββοΈ
If there no big reason
I guess if they ever decided to make moddable maps they could just have a dictionary of RoomName to prefab
if they update it fully
maybe one day
Tbh many stuff are in my to-do list but have to discuss with David, beryl and upper management
This probably one but that would be way beyond this or next year i guess
I'll have mine done by then 
Then everyone will have to check their code

I wanna make an in-game level editor for mine too
That lets you upload to the Steam Workshop
Or just save to a file
Make a poll and see people would prefer RoomName containing all instead of surcharging with a new enum
Okay so when nw add a room i will create a new RoomType everytime
:(
The advantage of the new enum is that we'll be forced to update all our code bc it won't compile
It's probably not a priority though but I can ask
No the best is to Use RoomName ??
And deal with bugs bc someone forgot to update a file?
You already have everything nothing will be different
There would be no problem ?
I don't get your position on that
Unknown annoyed everyone
What kind of bugs are we talking about
- someone forgets to check a room in the editor
- game code that relies on RoomName might need to be updated
- we can simplify some stuff
- your problem
- your problem
- how?
Like room name and shape combinations can be refactored to use RoomType
1 & 2. Exactly what we want to avoid π
We don't want bugs in the base game
Should've just set room names for all rooms in the first place
Yeah that's true
I wish modding was a first class citizen in SL
- Easy fix just verify if there any RoomName.Unknown return warn
- There nothing using RoomName that would make a problem as i did seen
- No you overcomplicate it by adding an other enum on top of an already exist enum
"Return warn" huh
True
And honestly i have seen the code for MapGeneration it's wouldn't cause problem as Unknown is never used as functionality
Okay yeah it does make more sense to update RoomName instead
Thanks β€οΈ
Missing destroy ?
or it could mean destroy if not server
Idk
probably
i love unity error
@celest thorn do u remember the allternative for raycastroom
We were thinking about making it with math
because it is a grid system
thats what the PositionToCoords do already
You just need to incorporate larger rooms somehow
Have rooms specify how many cells they occupy
That works too
ye it has Bounds but that just nyeh
How to spawn doors?
It's so inconvenient π
bounds would not for work for Hcz049173 and HczNuke
or you need to make them less priority
is there a command to check where am i
same for Lcz173
request your data
π
if you use exiled there is a PrefabHelper
or you can use that PrefabHelper for your code
does it tell you what room are you in?
oh nope
im gonna do several crimes
you can use the LightBulb
and see where light goes out
or register to ChangingRoomEvent and send Broadcast or Hint
or just sent to qa to ensure it works 
You mean lines of code?
Several πβπ©πβπ©πβπ©
Bruh
Why door wont spawn?
GameObject doorPrefub = Object.Instantiate(NetworkClient.prefabs.Where(x => x.Value.name.Contains("HCZ BreakableDoor")).FirstOrDefault().Value, _schematicObject.transform);
doorPrefub.transform.localScale = Vector3.one;
doorPrefub.transform.localPosition = doorLocalPos;
NetworkServer.Spawn(doorPrefub);
prefub
AssetId for the EZ breakable door: 1883254029
I'm trying to find HCZ Door
I will try
Nothing again. The door didn't spawn in the correct positions
ye
XD
How to spawn only door without wall?

Ok
this door from tool gun?
You can't parent doors
Ok
There is a component for it
Somewhere on the prefab
πΈ
from nico nico douga http://www.nicovideo.jp/watch/sm17275419
author γγ¨γͺγ©P
http://www.voiceblog.jp/scarabee/
https://twitter.com/#!/scarabee
Siri Sings "Bad Apple"
this is the AI i love
Cinema
I like C#13's field keyword
Is there a reason people don't use latest/14?
You also like block-scoped namespaces for some reason
lazy to swap
Visual studio users
I just use visual studio to change config files and correct some nonsense every now and then.
yo is it a monobehavior?
No
@upper vapor i might start to crack down on fucking making it more optimized
im worrying
Me when MERToolbox where I somehow allow it to spawn without the wall although there's primitives around it
How to add immunity to the warhead at the doors so that the warhead does not affect them
Peak
very noice
It makes the code actually so much cleaner
You mean make it so doors aren't locked by warhead?
Yes
But i found BreakablrDoor::_isInteractable
DoorEventOpenerExtension::Trigger
This won't work?
That's not what handles door locking
DoorVariants store locks and have some wrappers and shit around it
the field keyword js so peak
It would be if i ever able to use it
its going to be public?
maybe idk yet Β―_(γ)_/Β―
Got primitives mostly working now except collision not being moved when changing its position
now the question is how performant is it
no acess 
I want to add a converter to convert PMER schematics/maps to my format if I do this
do you plan on using culling parent?
I plan on looking into it and implementing my own culling
you can spawn it at 0 0 0 and move the Door to where you want
or wait that not the right things uhm
i need to know how client get remove of these
get the WallableSmallNodeRoomConnector component
change the spawn data and set the ConnectorType to None
hello java
helo lumi
I looked. Do I need to patch it?
meow
@ alex clip this
Yeah that's the idea

what do you want exactly since you looking for adding door / removing them
you can but you need to firstly spawn them near a Wall
on both side
oh no even better
it's sync Network_syncBitmask
GameObject doorPrefub = Object.Instantiate(NetworkClient.prefabs.Where(x => x.Value.name.Contains("HCZ BreakableDoor")).FirstOrDefault().Value, _schematicObject.transform);
doorPrefub.transform.localScale = Vector3.one;
doorPrefub.transform.localPosition = doorLocalPos;
doorPrefub.GetComponent<WallableSmallNodeRoomConnector>().Network_syncBitmask = 3;
NetworkServer.Spawn(doorPrefub);
@soft turtle try that
try with 0 instead of 3 if it's not working
Thanks for the help, but I've already used the LCZ door. I'm sorry you wasted your time on this
it's not wasted
now i learn something more on SL

thanks to you
it's was a great question
But still, thank you for deciding to help
Does the xonnectir exist in all doros?
let me check Unity
LCZ Door
i do
that kinda all the script
LCZ
HCZ
This is wild
I wanna make sure I've got this correct
So in order to spawn an HCZ Door without the wall around it, you need to GetComponent and change the bitmask of the connector?
Also what's the difference between the LCZ doors and HCZ doors
HczDoor have wall
That's the only difference?
Ah interesting
and EZ have a glass
Right I knew that part
Can I replace every HCZ door with LCZ door
The red button is ugly
144p
360p
720p
you can do that by a single patch
we did event on Exiled to simplify that
but yeah
@restive turret i have big question to you what return these two Prefab because they seems to spawn nothing and i don't see anything about it in Unity ?
i did test and that work fine
how did you import or make Hcz asset readable ?
I dont think they did that, see how the navmesh just goes straight through the HID room table? I dont think it's supposed to do that π
70 active dummies (after round start)
before custom FpcServerPositionDistributor: ~75 TPS
after: ~105 TPS
i love me a 40% increase in performance
~65 TPS with all in same room
(running this on my local machine, not a dedicated server so numbers are lower)
It extracts all meshes from the SCPSL_Data Assets files, then replaces the sharedMesh on all colliders attached to the rooms.
The tables either didn't match a mesh correctly, use a different LayerMask, or aren't parented to the room somehow.
Or they are just doing it to spite me
Generating the mesh in-editor and importing that would be more sane, but this has the advantage of automatically updating to game changes
whatcha do
custom FpcServerPositionDistributor
well i moved some (basically all) of the functions into one method, using a static networkwriter, 1D array for FpcSyncData
some other things
micro optimizing
Well if that micro was 40% thatβs huge
Epic even
We gonna get a βSL code optimizerβ plugin soon 
its not exactly a conventional change kekw
i also did caching of the ValidatingVisibility event args
ref
lots of locals

in my profiling i noticed that FpcMouseLook.GetSyncValues is the highest contender for cpu usage in there after all my changes, and its due to quaternion internal unity calls
(otjer methods take more cpu time, but must remain, such as ValidateVisibility)
That turned out to be a skill issue, fixed now
Just be aware if you publish it that CedMod does some major overhauling of that class and may have conflicts with custom logic. https://github.com/CedModV2/CedMod/blob/master/CedMod/Addons/Sentinal/Patches/FpcServerPositionDistributorPatch.cs I've learned that a lot of people use CedMod after this patch broke one of my plugins.
Sounds like cool stuff though
Does SL have a system that lowers other players scripts,animations or audio based on their distance?
Would be so cool to move to interestnmanager
Because i do remember each player spawns a clone of PlayerController even with their animator being culled they still count as a gameobject in the scene, the idea was to basically delete their gameobject but have their other information stored as data when they get close to you.
That CedMod patch above does something like that, tells every client that players that shouldn't be visible are at 0,0,0 to prevent people using wall hacks. From what I know there needs to be gameobjects for the server to be able to update client info through Mirror. Would need new way to send data to clients. Also, i could be corrected but voice data is always sent to clients because 939's mimic records voices on the client side.
If I understood the question
Interesting
You can either swap the player model with a capscule or something very cheap for the server.
It looks like most player models are flagged to not be accessed by the CPU (The problem we were trying to get around for building nav meshes in HCZ). So the only thing the game knows about for them is their collider which should be a pill, all GPU data should ignored on a headless build. Some older SCP models are still be loaded, but not doing much.
Interesting.
Granted, I'm going off decompiled data, it's not 100% accurate
Yea but its some info even if its not 100% accurate :'D
XDDD
Axwabo do you know what are values of Normal Bias of a spot light in SL?
what are you yappin about
I keep noticing issues with spot lights specificly causing the shadow of any object to appear as hovering on top of a object
Its a tiny thing in unity causing me to go crazy
I took this from a forum but the issue with shadows Normal Bias value being to high causing the issue of hovering shadows instead of being projected correctly
Anyways
π¦
no clueΕ±
Are you just trying to go 1:1 with SL?
Kinda, i already did get closer to basically looking like SL before with original version of legacy.
Im just trying to figure out if this spot light bug is caused by normal bias so that one day it can be fixed by some developer
I'll dm some info, spare the chat
Thanks sorry if i annoye you guys to much i just get this late 6 am questions
labapi
api of lab?
Labapu
plugin api
tbf, ideally i'd add the optimizations into cedmod 
possibly basegame
cuz free tps
well interestmanager doesnt manage positions, or does it?
It doesnt send position data if your out of site
cuz fpcdistributor does 2 things
it checks if player A can see player B
and it actually tells player A where player B is if they are allowd to see them
if it cant see them it sends them into the void
but its not just "distance check"
InterestManagement can do that
it does a bit more than just checking for distance
You can code your own interest nanager
its possible, but i dont think itd benefit performance much more than just making fpcpositiondistributor more optimized
Yea
If you use the fact your game is room based to your advantage
it probably does the same thing either way
It wull benefit more than fpc pos and other ac related things
You can make a stupidly fast interest manager
thats what i did for cedmods anti esp
i filter out everyone based on their rooms
and do the close people with the more heavy stuff with some position checks + raycasting for the scenarios that fit everything
RelativePositioning is tanking position distribution a lot... unfortunely
well relativepositioning isnt nessecarily the issue
cuz thats just math
I already gave y'all solutions for waypoints/relative positioning so
but yeah until you get rid of it you're gonna be bottlenecked
it's useless and pretty much slow math
well its there for moving parts of the map 
I love calling the engine for unnecessary stuff
Which you don't need relative positioning/waypoints for
Its linear iterating waypoints to find out in which one you are
well, what else would you use then
for each player
sounds like something that can be optimized
lemme find the wall of text again
ye
Some quad tree or similar would be useful
- checking if they moved away from previous waypoint at all
Anyways back to c++
hmm
could work i guess
so, if im understanding it right
its basically replacing the dedicated waypoints with an already existing object (eg the elevator itself)?
that would be used as "reference"
similair to what waypoints do (where they are the reference)
hmm
ced what are you saying????
what im saying is i doubt that moving fpcpositiondistributor to use the mirror interest management
has any significant performance benefit from simply optimizing fpcpositiondistributor
it does
(you still need to itterate the player per player twice)
and it prevents even cheaters from being able to see shit from walls
no because mirror just does a distance check
no???
which, we already do on players
Y'know you can write your own
what i mean is interest manger is useful for items
for player its like less but for items and other stuff
structures
like i said
moving the whole thing to an interest manager will have zero benefit to just making the syncronizer that already exists more optmized
So technically you can do something like show 939 when close, others see more , etc
^
it will not work
trust me
i tried
SL isn't done for that
You only had server
true
mfw all the things you'd want to hide with a interest manager already have a position syncer
and thats why they could be removed 
or just optimize said position syncers
cuz the concept is LITTERALLY the same
foreach ()
foreach ()
and then sending a net message for those that can or cant see
No it just remove from the observer list
well mirror will send those messageds under the hood
already on it o7
and 100% increases fps lol
gimme a few months once my pc's back on and i'll target 64 players per server 
i dont see how its any different from fpcpositiondistributor in essence
It handles it for you
Well if you just remove the observer and sending messages to all observers , you not gonna see/rcv the message if you are not the observer
And you can apply it to other things like items etc
It's just a better architecture
it doesnt because 95% of the logic in there is not covered by mirror and needs a custom manager
That's what im saying
Okay scrap the handles it for you but it's still a better architecture
p much what Unreal does
the problem with anything mirror is, they LOVE making breaking changes constantly
Man we havent updated to latest yet
when it is last time you guys updated?
like ages???
And these guys haven't uploaded to unity store for years now
i update mirror periodically
every year or so, or when i feel like it
you dont need the store
they litterally have a unitypackage on their git release
Ye i know you can manually download the package