#plugins-dev-chat
1 messages · Page 182 of 1
psure the bug is if you lose it twice at the same frame it dupes
eg dying same time you drop it or smth
idk
Idk never experienced it
idk
Like cuffed when die? Mayhaps
@thin shuttle^
Yeah
But need to happen same tick
So kinda impossible to reproduced
But you can easily reproduced with plugin
By ServerDropEverything
Multiple time
I can send you the fix
I would be grateful
https://github.com/ExMod-Team/EXILED/pull/721
Just if it's public you need to do credit
Description
Describe the changes
Changed the fix for the 1344 dupe to make more sense rather than a band-aid fix to just try and stop the bug
What is the current behavior? (You can also link to an ...
(if you keep the headers comment there no more need)
For areas like LCZ Checkpoints, how can I distinguish between the room light controller for the checkpoint doors, and the room light controller for the elevators?

Would position be the most apt way to do it or are there alternatives?
Simple you can't
Elevator do not have lightcontroler as i know ?
I mean like HczCheckpoint hallway vs checkpoint doors
This part
Vs this part
Oh that easy
Could you enlighten me!
The Name of the room isn't the same
:)
Let me get you the name with GetDoorType
?
When I get the room instance from the light controller it says both are HczCheckpointToEntranceZone
Both are part of the same room, they just have different light controllers for the hallway section vs the actual checkpoint area
it's 2 different room
as you can see
Hcz_Ez
Ez_Hcz
OH shit I see now
I had done some adjustments when I logged positions so I hadn't noted the difference
W thank you bro
this position check
are for differentiate the two Checkpoint
not between Hallway and Checkpoint
Check this
The difference between hallway and checkpoint 1000% exists
Is it possible to view the default color of a RoomLightController?
Like what light it uses by default
just use the name difference from RoomIdentifier ?
it's less likely to break with update
Nah I don't mean for this purpose this is a separate thing
position is bad as it's would break for any NW change
Oh you mean that
There is none
It's in the same room
nope as RoomLightControler default is the red of warhead
^
like i said again no
it's 2 Room
it's even 2 zone
what type is Name ?
RoomName
yeah
you will see not being the same
similar but not the same
as one Start by HCZ_EZ
and the other by EZ_HCZ
This is going to be so fucking stupid if you're right because that means they gave the same roomname enum to both
Fuck you're right
i mean
What is going on at NW HQ
i did code GetDoorType
GetRoomType
GetWindowType
i can tell you
GetCameraType too
string naming it's too choose
they probably have very good reason
I hate NW
RoomName isn't good at using a specific Room
but good for their MapGeneration stuff
MapGeneration stuff is a lame excuse because developers have to actually work with ts
Mad confusing when you label to separate rooms under one name
Pmo
i am not at NW so idk
See that's upsetting and dumb
I hate that I have to do this manually
i am waiting for this fix
you want to know the Gameobject name of the Door inside ServerRoom ?
Dawg why
The crazy thing is labelling it specifically for LCZ as if you'll never use it anywhere else
The sucky part is I have to use position for some light controllers
Glass glass or GLASS
Honestly that's just based
B272sa idk why
there probably lore behind it
because that probably from CB naming
that can be differentiate with gameobject name
What you see in the first like is gameobject.name
Wait
with GameObject there no Room being the same
You mean for the individual light controllers?
Last I checked each one returns All
"EZ_CollapsedTunnel" => RoomType.EzCollapsedTunnel,
"EZ_Shelter" => RoomType.EzShelter,
"EZ_Endoof" => RoomType.EzVent,
there no two different Ez_EndOof
Yes
you sure?
let me give a check
I'm changing how I determine rooms to use strings and positioning for the ones that have multiple
okay
but i don't see what the difference between the two
one is useless ?
can you try to put two color ?
I'm checking that
is talking about EzEndOof
Oof
I believe like for airlock one is for the main area and the other is the hallway part
Lel
I aint gonna rename stuff in enigne
Im scared
RedRoom is a fluke because multiple can spawn in a round, which is what caused multiple
LczAirlock is the more relevant one
PLEASE Rename the ArmoryGlass for GateA
give a name to Scp173NewGate
Ehats the name of it lol
and Scp049Gate
BallsGate & TouchGate
Oh that glass
GLASS (5)
Somebody cloned objects ig
And not renaming it? Ye that checks oit
Lcz330 got the same name of the glass inside LczGlassBox
Tbh half the time I navigating tru rooms just when I fixed some stuff for xmas and I was , uhhh
Soo many objects wow
@restive turret do you know where is the value for MTF / Chaos spawnpoint ?
Amazing.
Is this the place to ask for tech support?
@static osprey do you have perms to edit channels? some people can't stream in labapu hangout
nop
@next trench or @tacit oak
thx
im gay
oh the gay boy is back
me too!
yall r smth else bro 😭

why do you care
just ignore it if u dont like it
smh
triangles r next
lol
Next update we are adding Alyx shape
DAMN
you mean which one
hl2 or hla
hla would be a pair of hands 
no they dont want to
btw how many bottles?
they are just horny fucks
for a triangle
what if we banned them
the horny fucks
what would happen
what the fuck did i tab into
tab out eve
add triangle when half life 3 comes out
All spawnspoints is set inside the role
Role.SpawnpointHandler
i know that
but
i finally got my reponse by @upper vapor
you want the exact coord / settings?
ah ok, i just got into pc since I had a bad morning
lol
oh i meant the name are capusles
please fix Scp096 collider
change Scp096 Model Collider
Give him 0.01x0.01 box colliders for the arms

also why Scp3114 do not have foot collider
same for 106
we can't shoot their feet
idk cus of IK?
Do those two have IK?
idk
Let me check
@upper vapor Everyone here should be able to stream in the API Hangout VC now
If it doesn’t work, give me another ping
Aight thx
if only you did see guard one
idk if i have take a picture of it

Its hitbox is very large and not as detailed as the others, except the SCP49, but it fits into the SCP49. Scp96 hitbox almost twice the size of its body.
i had this idea for my game since i wanna add light switches but i bake lighting so i'm going to some how make a tool that bakes lighting only for a specific area that i select by using a box collider
its possible to do light switches just bake a whole scene 2 times but in my case i don't wanna bake whole scene 20 times over and over so i'll just figure out to only bake a specific area
@upper vapor sorry for ping but what do you think about this idea ^
thanks
i think you'll still have to bake lighting 
yeah but you didn't get what i mean :'D
i have 2 rooms for example i have to bake 2 sets of ON and OFF for each room
instead of baking whole scene over and over
yeah i have to use this box collider thingy in order to bake each room with its own lightmapes
L
its image that david sent 2 days ago where unity gave him no text for the error
Hm, using @restive turret's fake role syncing code, i have stumbled upon an unknown:
If i tell Client A, who is currently Class-D, that they are now Tutorial, their HUD does not seem to update. So colors, F1, etc stay as Class-D.
Only Client B can see the updated player model.
Question now is, did i fuck up my fake role sync code or is this just how the game works?

Maybe the way the fake role sync works doesnt actually tell the client what they are, just others what to see
did you subscribe to FpcServerPositionDistributor.RoleSyncEvent?
it was a horrible design choice to add but maybe it'll help
or
Yeah the fake role stuff works via that
was the role update not sent to the client themsellves
soo
do they see the "you are tutorial" screen?
never tested faking himself
only other to myself
Hm, maybe because i add myself to the fake role dictionary in the same tick as i set my game role.
I will try delaying the fake role stuff, brb
perhaps
valid
nop, i think the fake role system just never accounted for what im trying to do
x3c
I believe in FakeRoleManager line 50 method "AddFakeRoleViewer", we need to add a check if player == viewer, to then send a RoleSyncInfo to them
which event is called when the the heli/car arrival is happening?
WaveRespawn events are called after that
WaveMessageSomething i think
alr
youi can also use WaveManager.OnWaveTrigger
oh dear how do i make a spoofedData network writer
look at how fpcserverpositiondistributor does it
i have tried taking a look and my head is now hurting
im this far
In the WriteAll method where the rolesyncevent gets invoked, that pool seems to just be from NetworkWriterPool.Get();
i have no clue about any of this x.x
same as what I and exiled writes
i sadly cant understand any of it, too much new stuff all at once
In the files i have from you Slejmur, i cannot find any mentiond of "RoleSyncInfo" so idk
if this isnt it, then i dont know what to do x3
ya
:o
and maybe pooledWriter.Return or something
idk if SyncInfo returns or not
but better safe than allocating mroe and more
i dont kniw the exact paramater and stuff
check how its done in the rolesyncevent
:D
IT WORKS YAY
So in the RA i see myself as a the seemingly faked role, Tutorial :o
i wouldve guessed the RA roles to go off of the server's role, bummer
I guess i now need to test how others would see it
RA use server side role
So if you are tutorial on ra
It's mean your role isn't fake tut it is tutorial
i'm gonna go schizo over this system so thinking about it i have to bake and rebake multiple areas with other rooms when lights bleed out to other rooms
all of this just to have light switches
heck....
how sure are you x3
100% RA information are 100% from server side
you can still request your info
to see
or you also fake it to server
i finished my schizo reading about the system it turns out unity has something called light scenarios so stupid was going to make a whole system where i can bake selective areas but i find this system to be useful for my use and i'll just need to bake a lot of scenarios in order to achieve what i want with light switching
Hey does anyone here know anyone who I could potentially hire to make a coin based store in game as well as making pink candy stack damage? I am willing to pay 100$ so if anyone is available please reach out.
i fyo uwant hit my dms
i think ur keyboard is fucked bro
The server sees me as ClassD, got via direct Player.Role
But in my RA i am Tutorial
And request info on player
it always has been?
its not
server
decides
t
LMAO
the RA playerlist has always been client side, request data is serverside
But isn't request data to fill the ra player list ?
so what?
So how does color get decided by client ?
the server decides it
Oh
yea i just send it
server just sends RA_ClassColor
We don't have access
oh what?
I see fair
i have acces
client will do this
idk
true i forgot
so, color is decided by the client
I just never know it's was convert on client
although you could override it on serverside if you really wanted to
Also why?
probably because the client already has the info anyway
Yeah but server too ?
why should we make the server send it again when the client we are sending it to already has the info
It's prevent a .Replace ?
and?
/ code check
I see fair
Yea
if you have some kind of fake class sync you could always just use the event thats called when its adding items to replace the class color with the real color
Yeah
PlayerRaPlayerListAddingPlayerEventArgs
you can change that line
But just got disturbed
(but be mindful of the gameplaydata permission, it is the perm that decides if you get to see classes or not)
by doing rpe,ace
as far as i remember its never been server side
it has been since i've started modding
like that
that the server sent the list
server sends the list with just a static color tag, and the client just replaces it locally
thats how ive always remembered it
yeah you can just replace the color on the server instead if you want to change it
cool update
So how much is possible with player connections without needing an additional layer like with the defunct XProxy or SiteLink
Do you need to have that additional layer to do stuff with connections outside of like the base preauth rejecting and redirect or is it possible to do those after the preauth completed
Cinema
Looks like Rudy Ayoub
Me when it does it every .5s
Labapi has events for handling preauth, and you can send a redirect to a different port (not to a different IP)
If you wanted to connect different IPs then you'd have to use an external proxy
So if I wanted to redirect a player to a different port mid-round I'd also need an external proxy
no
you can do that anytime
Btw cool stuff if you have a proxy you can intercept packets
Sent by the server
Or client
is there a diffrence between OnChangedRole and OnSpawned?
like one is not called when the second one is?
OnSpawned is only called on round start and when a wave spawns
OnChangedRole is called every time (e.g. RA, resurrect, death)
Did you guys remove the enable_proxy_ip_passthrough?
because im testing some stuff but i cannot find it
i dont think thats the case
i have chaged it and also in the code its called when game is selecting spawnpoint for player
so for e.g for spectator it wont be called
but any human role it will
good to know, I thought it was always called
def simplifies stuff for me

So pretty much anytime a player changes role with the Spawnpoint flag
am i going insane or did it exist before the enable_proxy_ip_passthrough but now it doesn't?
it's still in use
i cannot find it?
whether it's in the config file is a different question 
ConfigFile.ReloadGameConfigs
yea but its not in there
so how tf do i access it lol
i don't wanna code a plugin
its so stupid
you just gotta write it in the config
cin'tema
Quick, someone, how do I get the custom permissions of a user group (the permissions in the permissions.yml)?
player.GetPermissions()
like in the pluginperms command
Yes
I want to get the pluginperms of a user group, is that possible?
Ah
Look at DefaultPermissionsProvider
You're gonna have to publicize labapi
Theft?
I kinda managed to spawn it but it's not in the correct position cuz every item falls/glitches through the locker 🙁
are you spawning them with transform inside it?
do you even get the spawn position to spawn
how could i differentiate between the two different hcz corner rooms?
position?
Or coordinate position
thats easier to compare by Vector3Int
or by their gameobject
Unless you wanna hardcode and do something with specific corner on the mal
in which case
Room::Base::MainCoords will help
That wont be the same across games.. no?
no
no
Room.Name is shit
the Enum RoomName is shit
use the GameObject Name
RoomName is only good to get some specific Room
not all of them
so use
yeah
that
if you need to know the name of a Room you can check this list https://github.com/ExMod-Team/EXILED/blob/master/EXILED%2FExiled.API%2FFeatures%2FRoom.cs#L461
.StartWith("HCZ_Crossing")
.StartWith("HCZ_Corner_Deep")
the one you need
that would break with any SL update no ?
i would never trust that
^^'
GetInstanceId is unity
it's always unique
does the deep corner really not have a RoomName?
why would it ?
41 RoomName count (some room)
66 RoomType count (all Room)
well in this case the room name is nicer x3c
25 Room are missing in RoomName
why ?
ObjName work for all Room
RoomName work for some Room
Guess ill just make my own obj name to nicer-sounding-room-name converter
Exiled does it if you want
GameObject::name.Replace("(Clone)", string.Empty);
even better
thankies
.
public static string RemoveBracketsOnEndOfName(this string name)
{
int bracketStart = name.IndexOf('(');
if (bracketStart > 0)
name = name.Remove(bracketStart, name.Length - bracketStart).TrimEnd();
return name;
}
?
NW devs have forgotten about room.Name consistency and discarded all the basic corridor rooms smh
bad devs
evil
it's wasn't made for API purpose
you know rooms are spawned from prefabs soo (clone) or anything its just yeah...
Killers when HczEzCheckpointB will get fix ?
depends what you mean
also it's GameObject are the same
if they could be renamed to be different like it's was before the bug appears :3
ohh yeah these doors are actual 2 doors
this button controls both A and B checkpoint doors at the same time lol
and they both have same DoorName
yeah
they have same name
before i 14.0
they was different door
yeah
and nametag is only CHECKPOINT_EZ_HCZ_A
cus both was the same one?
right now without 2nd prefab its kinda uhm pain to difference which one is what
check if a static bool exists, if yes it is a B otherwise A
both Checkpoints' Room.Name is
HczCheckpointToEntranceZone
and Gameobject name is
HCZ_EZ_Checkpoint Part
same Shape, same Zone, same amount of Doors, connected rooms, adjacent rooms, rotation and scale
angry unicorn
yeah, z axis x.x
95 is important value
because in function of layout
the z value will not be the same
will their location in the world always be the same across seeds?
oh no
in terms of coordinate
300 ?
the exact cord
i know its at 300
but i need to know x, y and z
i just hopped off
0 300 0
😭
fr?
try and see
but ye i think that would be
because of float precision
40 314.080 -32.600 is the tower
for that just get Tutorial spawn position
0 300 0 is here
this is what happens when you're too far out
yy
whyyy ?
it was recent update?
nope
if Im sure it was after moving to prefabs instead of having rooms in scene
ok
map gen refactor was idk in october 2024 yeah or something
when spawning Room with prefab on both client and server
when all Room being NetIdentity
(trolling)
uh oh
yy
theres one problem with it kinda
when root of prefab is network identity, mirror not supports having other network identities in them just it would be sync mess
not sure about anything else other than ohh creating system for spawning idk doors after room as network identity is spawned
"doorspawnpoint"
i can succefully move 330 room without problem ?
(i mean other than the things that arent correctly parent to it)
"All" should only contain light controller mostly thats all
void SerializeSyncVars(NetworkWriter writer, bool forceAll)
{
if (forceAll)
{
writer.WriteVector3(Object.Position);
writer.WriteQuaternion(Object.Rotation);
writer.WriteVector3(Object.Scale);
writer.WriteByte(_movementSmoothing);
writer.WriteBool(_isStatic);
writer.WriteFloat(_lightIntensity);
writer.WriteFloat(_lightRange);
writer.WriteColor(_lightColor);
writer.WriteInt((int)_shadowType);
writer.WriteFloat(_shadowStrength);
writer.WriteInt((int)_lightType);
writer.WriteInt((int)_lightShape);
writer.WriteFloat(_spotAngle);
writer.WriteFloat(_innerSpotAngle);
return;
}
if ((SyncVarDirtyBits & 1U) != 0)
{
writer.WriteVector3(_position);
}
if ((SyncVarDirtyBits & 2U) != 0)
{
writer.WriteQuaternion(_rotation);
}
if ((SyncVarDirtyBits & 4U) != 0)
{
writer.WriteVector3(_scale);
}
if ((SyncVarDirtyBits & 8U) != 0)
{
writer.WriteByte(_movementSmoothing);
}
if ((SyncVarDirtyBits & 16U) != 0)
{
writer.WriteBool(_isStatic);
}
if ((SyncVarDirtyBits & 32U) != 0)
{
writer.WriteFloat(_lightIntensity);
}
if ((SyncVarDirtyBits & 64U) != 0)
{
writer.WriteFloat(_lightRange);
}
if ((SyncVarDirtyBits & 128U) != 0)
{
writer.WriteColor(_lightColor);
}
if ((SyncVarDirtyBits & 256U) != 0)
{
writer.WriteInt((int)_shadowType);
}
if ((SyncVarDirtyBits & 512U) != 0)
{
writer.WriteFloat(_shadowStrength);
}
if ((SyncVarDirtyBits & 1024U) != 0)
{
writer.WriteInt((int)_lightType);
}
if ((SyncVarDirtyBits & 2048U) != 0)
{
writer.WriteInt((int)_lightShape);
}
if ((SyncVarDirtyBits & 4096U) != 0)
{
writer.WriteFloat(_spotAngle);
}
if ((SyncVarDirtyBits & 8192U) != 0)
{
writer.WriteFloat(_innerSpotAngle);
}
}
void BeforeSerialize(NetworkWriter writer, bool initial)
{
if (!initial)
{
writer.WriteULong(SyncVarDirtyBits);
}
}
void AdditionalSerialize(NetworkWriter writer, bool initial)
{
if (initial)
{
writer.WriteUInt(0);
}
}
Why is the light spawning and then disappearing im getting so confused by this lol
why All is not named LightController ?
is there any reason for it ?
is All a default value for name ?
Endoof
Endoof
The naming consistency o.o
x3c
Ah yes, Cafeteria
Wait wtf
EZ_Cafeteria, EZ_Straight and EZ_StraightColumn are all the same room whyyy
but i want to questionnnn
look this
aint no way there are three different, distinguishable glass types all named Glass with different capitalisations
i refuse to believe thats real
not my problem (yet) 
How do effect work and how can i give an effect to a player?
skittles
effectmanager
or controller
but its a network msg
there's no effect manager
but the thing is how do i know the index
do i need to try all of them until i hit the good one 
player.EnableEffect<Type>() 
guh?
i need to do it on the proxy thing im doing

like i just need fogcontrol
i swear there is a HCZ Straight without a Fan in the ceiling but i cant find a seed with one omg
the 50000000 Lumen bright incinerator pit in noclip isnt helping
lmao
trust me it is
check Awake
its getting from a game object so
do you also like Ragdoll naming ?
life number
i seen that and still have zero clue why
this name come from first release of SL
so yeah
just never got changed
all locker have mostly good naming
What?
no idea why Scp127 have underscore
The room in the picture can be found three times in Entrance zone under these different names
Because the designers don't have consistent naming conventions
Some use spaces, some use underscores, some don't do either
40 competing standards? Lets make one to unify them all!
41 competing standards
omw to create a standard and rename all 
please rename Glass
im labapi maintainer not a engine guy 
you can still modify them
stop lying
I love that image
hi tech
Hi eve :)
simple don't create standard but make gouvernment to chose one of these standard
UE did that in the great way
all phone forced to use USB Type C
That would be great if I trusted my goverment in any way shape or form
lmao
what gov are you ?
i believe its US
US that a joke :3
gov don't make law
money make law
i mean in UE too but not at the same expense
guh
Yes
And now you see why I don't trust my government to do stuff like that
lel
yo does anyone know why when i do insert the client says "nuh uh out of range kiss kiss"
complicated object
foreach (SyncObject syncListObject in PlayerEffectsController.SyncObjects)
{
if (syncListObject is not SyncListObject<byte> list)
continue;
list.Insert((int)type, (byte)intensity);
}
I do this
yea synclist
I guess you send out of bounds index data?
like
what else do you think it is
did you prefill the list
wit hthe types
that might be it too
xd
foreach?
idk the client exist there
but
the default count i use for the effects is 200
because idk how many there are
lol
🧠
or yknow
check the real server first!!
no obj
packets
he creating his own
yeah but how tf do you resolve collisions and shit
he doesnt
i did my own collision system
mono
skull
and everything
let me send a video
and it runs with 26MB

so i count it as a win
yes i love overcomplicating
copy pasting skill?
public SyncListObject()
{
Count = 0;
Initialize();
}
public void Initialize()
{
_objects.Clear();
for (int i = 0; i < Count; i++)
{
_objects.Add(default(T));
}
}
but nope it doens't still sending that amazing message
yes i do
are you sure
public void SendEffect(EffectType type, sbyte intensity)
{
bool found = false;
foreach (SyncObject syncListObject in PlayerEffectsController.SyncObjects)
{
if (syncListObject is not SyncListObject<byte> list)
continue;
list.Insert((int)type, (byte)intensity);
}
Object.SendUpdate();
}
idk im loosing my mind
I have bunch of stuff in my proxy for spawning things for client etc
you have anything for SyncList
because ngl
im loosing my mind
for effects lol
what I do for player effects to stop client spamming its that lol
yea but i wanna set an effect
if i do it before the
Spawn
it doens't do anythign
if you do it before spawn it should serialize all when player is spawned
like how I do it but its just yes default value
then you serialize delta mostly
idk
that would change effect in list at index 0 to byte with value 0
first writeUint its just amount of changes
but yes its not that hard to make scp sl server in .net
true
the problem is collisions of meshes
its not that complex much
ngl
boxes
mirror is full of surprises
(and so is litenetlib)
Yeah
hi eve
public override void OnSerializeDelta(NetworkWriter writer)
{
writer.WriteUInt(1);
uint index = 42;
writer.WriteByte(2);
writer.WriteUInt(index);
writer.WriteSByte(1);
}
hmmm
I dig deep sometimes and I still have no clue why zero do sometimes completely different thing
no
i uh, remember at some point i tried to do something with cedmod and hiding pickup positions
it had something to do with a synclist
it was interesting
for my proxy I added way to intercept packets which server or client sends and I can set values of them how I want lol
Check how my fakesync do
iirc i figured it out, just the way i did it absolutely murdered server performance
would need to redo item syncing to not go for each item for each player
but rather maybe do something based on players/their currentroom
There is event(?) when someone goes to other room so
well i made it calculatebased on the players position, cuz rooms have doors and can have items behind them
so it does it realtime (with a cooldown ofcourse), which is probably part of the problem
:)
what are you even trying to do (i didnt read)
Sending player effect & some light spawning b4 that
hmm
Sending an effect
so i can see light

but why you cant see it lol
but, why not just enable the effect normally
does it need to be fakesynced?
cuz its per player anyway
theyre doing custom sl
He wrote a custom server
server side in .net

xd
Outside of the map
I spawn stuff mostly like this
if its outside of the map might it not just be culling?
i dont remember if culling does stuff with lights
peak
would imagine itd have something to do with mapgen or something
evil ced
if we mean normal lights
not toys
not too well versed in the effects/light stuff
i just remember synclists being an experience to work with
public override void OnSerializeDelta(NetworkWriter writer)
{
if (Count != 200)
{
writer.WriteUInt(0);
return;
}
writer.WriteUInt(1);
uint index = 42;
writer.WriteByte(2);
writer.WriteUInt(index);
writer.WriteSByte(1);
}
I love delta not deltaing 
Ye, i managed to make fakesync work so you can do the same
Might be zero skill issues
sbyte?




