#plugins-dev-chat
1 messages · Page 187 of 1
yea I fixed UsedItem a while ago
so it's always called when you're using an item
i didint see on BugReports so i was thinking it was still broken
wasnt it OnUsingItemCompleted?
just checked its still not fixed
that event is really niche and specific
this one is the other i dont know the part of you using rn
yea because there's nothing to fix, whatever you're attempting shouldnt use that event
adrenaline e.g
^^^^^^^^
well what's even the problem then
I love naot 🔥
and what would happen if i updated my harmony to 2.4.2 and still use exiled it would break or smth or is there no breaking changes?
there shouldn't be any issues with harmony
ye just dont downgrade to 1.0
yaoi
Its not banned

i saw in another discord someone getting smited
so i wanted to see
here are the docs for the event, the adrenaline triggering is just because of how it's coded
/// <summary>
/// Invoked before a <see cref="API.Features.Player"/> finishes using a <see cref="API.Features.Items.Usable"/>. In other words, it is invoked after the animation finishes but before the <see cref="API.Features.Items.Usable"/> is actually used.
/// </summary>
if you want an event for when a player's receiving effects from a consumable and that doesnt exist already, then make a suggestion
isnt the adrenaline a consumable which is usable?
yea, but it's coded so you receive the AHP from it like 10% into the consumption animation
whereas for a medkit, you only get the HP once the consumable is forcibly removed from your inventory, which can be denied by UsingItemCompleted
they both use OnEffectsActivated
mhm
oh i see
can i use in exiled when making a pr codematcher or its a no no
codematcher doesnt support pooled lists so no
also each new instance of a codematcher literally copies the code instructions from the instructions provided
now if the codematcher was made a little smarter (with less fields and properties defaulting to new values and such) then I might've been able to set the private readonly fields for the instructions, but alas, it's all really inconvenient
it's also likely slower performance too
Someone fixed it it's kinda annoying lol
🔥

I use the latest Harmony
Why, do you not?
Oh you're an Exiled user nvm
Yeah I don't use Exiled personally
I keep my shit on lock and up-to-date
-# (whenever I remember to check for updates)
I updated it
Epic
I've been telling people not to cling to old dependencies
Use Harmony Patches on Harmony to make it support pooled lists 
Actually I wonder how possible that is
It would be very ironic
I like codematcher cause imo it's easier to read and to work with
It's not really that different from just changing the instructions yourself, and it's probably a bit less optimized, and it has some quirks, but it makes things easy
Maybe i should just make my own CodeMatcher 
I actually don't think it'd be incredibly difficult to make something for my use cases cause I absolutely do not use like 90% of the CodeMatcher library
Maybe i should just make my own CodeMatcher
perhaps
and waaaa the codematcher is slower by like 4 microseconds
like it matters upon startup
-# sucks to have a 100+ patches 
I read "let's create more people" 
Let's not do that
Damn
i would be down


You don't want children?
No
They're annoying
The world is underpopulated and overpopulated at the same time
Double it and give it to the next person lmao
implement isshooting in labapi 👏
😭
Pr it 
@slate flume 
I don't think they'd like my solution lmao
i still didnt see it so yeah
Generally LabAPI isn't going to implement complex mechanics that require things like coroutines or components
Especially for minor features
NAH 😭
One of my old classmate is pregnant 💀💀💀 (19 yrs old)
i am curious of how much patch people generally have
The median is maybe 2 (if we count patches per plugin)
I mean per server
like all plugin count
newInstructions[^1].labels.Add(returnLabel);
newInstructions[newInstructions.Count - 1].labels.Add(returnLabel);
what people prefere between this two line ?
i found ^1 or ..1 or 1.. pretty hard to get
when you reading code
Skill issue
I would rather do adócsalás then having a child
If somebody buys a plugin from me I will not tax it 
Just don't tell it to Nemzeti Adó és Vámhivatal
Mega troll
Probably less than 2 years
When a definitely non complicated pr gets merged
Glorp
its time to be evil
is there a way to get position of the third person model of players current item?
heyo plugin dudes
can i kill player with Particle Disruptor without it
like with command using
wat
simulate vaporization
oh
yes
not with a command afaik
but with a plugin you can make it without a disruptor i believe
disruptor damage handler
guh
nvm i lied you do need a disruptor for the damage handler
Kill(new DisruptorDamageHandler(new DisruptorShotEvent(Item.Create(ItemType.ParticleDisruptor, attacker).Base as InventorySystem.Items.Firearms.Firearm, DisruptorActionModule.FiringState.FiringSingle), Vector3.up, -1))
^EXILED
but yea its this
i will call to my disruptor
!csg
That looks like a mess to read
I do this
public static void Vaporize(this Player player, Player? attacker = null)
{
if (!InventoryItemLoader.TryGetItem(ItemType.ParticleDisruptor, out ParticleDisruptor disruptor))
return;
if (attacker != null)
disruptor.Owner = attacker.ReferenceHub;
DisruptorShotEvent shotEvent = new(disruptor, DisruptorActionModule.FiringState.FiringSingle);
DisruptorDamageHandler damageHandler = new(shotEvent, Vector3.up, -1);
player.ReferenceHub.playerStats.KillPlayer(damageHandler);
}
Bump
Wtf i do check this fucking channel and see this
curse
Welcome to plugins dev chat 
Curse you
nvm
School
damn ....
Tria.os (Roblox parkour game)
quit school
That’s about it
But then I stop learning…
Curious
see you around but never rly knew what you did
Apparently I do a lot of stupid stuff here 
no!
Real
This is blåhajphobia
YOU
No it’s just a car eeping a shark plushie
no!
Why can’t I be a car 🥺
blåhajphobia
No!
what
why did it
i did not see there was 2 images in that one
No!
Yes!
Awh :(
hehe
maro is getting some content for marketing meow editor
Damn
im feeling
Hateful
How does SL perform the check with SpeakerToy.MaxDistance to determine if a player can hear a SpeakerToy?
I'm having occasional issues where players are getting the AudioMessage in their ears because the SpeakerToy is out of range instead of hearing it from the Speaker
Wait hm
The problem is culling
If MaxDistance produces a volume and it's outside the range where the SpeakerToy is culled, it sends it right in the ears
How do I fix this
I don't want the client culling the SpeakerToy
I don't think client would ever cull a speaker toy unless it was the child of a culling toy
Then why is it that sending a message from SpeakerToys that are far away causes the audio to be played in the ears as if the SpeakerToy didn't exist
¯_(ツ)_/¯
The only explanation is culling afaik
@soft depot Called it
Okay well I know what I have to do now
Still don't know how to fix this though
Three steps to
Well clearly the client is supposed to handle culled speakers somehow, iirc I think the client will ignore sound messages of the speaker is out of range. I guess try to leverage that
It obviously doesn't lmao
You're seeing the result of a speaker being culled
The audio message still gets transmitted to the player
This is like the whole problem I've been outlining and documenting
Literally right here
I apologize for the bluntness but so far you have given me multiple comments that, to the best of my understanding, are entirely wrong, and I'm trying to find an earnest solution to this problem
I'm unsure if the culling is based on the MaxDistance of a SpeakerToy or a different factor
Would that mean there's a max MaxDistance?
I agree
It does, coz unity doesn't mute it after MaxDistance due to the logarithmic scale
You'd think the scale adjusts to max distance automatically
But don't expect anything meaningful from unity 
Could you send a video? I don't think I've experienced this before
I'll have to see if I can find the clip
I was sent this clip (warning: very loud)
The context is that I added an additional explosion sound to explosions spawning
Usually the volume is nowhere near this loud because it's all spatial, and I haven't been able to replicate this
Now I assumed that it was loud because the SpeakerToy is being culled and causing the audio to no longer be spatial
It only happened 1/2 times at a distance like that
I was thinking maybe the issue was my code having a mismatch with how the game determines whether or not to cull a SpeakerToy
I base it on player position, but maybe it has to do with a player's camera position?
Causing something like this
My hope is to learn what the game's criteria is for culling SpeakerToys, and if my code matches that, then the problem is something else to do with loudness
at what point does it become "not spatial"
or like
what
Literally no clue
You know about as much as I do atp
I just know this happened when it shouldn't
And it happens at a specific distance
so can you explain the issue in monke terms
cuz what i concluded that you can't heart the speaker beyond some point
SpeakerToy has MaxDistance
I check MaxDistance before sending AudioMessage to make sure player can actually hear the SpeakerToy and it isn't culled
I send AudioMessage, but for some reason, the SpeakerToy appears to have been culled by the client, and it causes the AudioMessage to play right in a person's ear
It only happens at a specific distance, seemingly barely out of range of the player
to make sure player can actually hear the SpeakerToy and it isn't culled
technically you don't need that but it does save decoding time
play right in a person's ear
this is crazy
I do because if the SpeakerToy is culled it plays in a person's ear
True story
At least afaik
do you have duplicate controller IDs per chance?
are you fake syncing positions or anything fancy like that?
Nope
-# i bet this wouldn't be an issue if you used SecretLabNAudio 
This is my best guess as to what happened
can you show your speaker setup code
Like what I do when I create the speaker?
I just assumed it un-spatialized because it's playing in a person's ear
It could just be the position the client thinks it at is a local 0,0,0 because the SpeakerToy is culled
you would just hear it fading out slowly
SL doesn't "enqueue" the samples if the speaker is past max distance
that would mean "pan" would be set to 1
like it doesn't make sense
Wdym
from a spatial perspective it's like it gets put to the right of the player
This is the video
It appears to me the sound eminates from the player's position, instead of where the explosion happened
what if you don't spawn it in Create, set network props and then spawn
it would probably not change anything but worth a try
This is the same phenomenon that happened before if I sent a player an AudioMessage with an out-of-range SpeakerToy
If a SpeakerToy is out of range, and you send an AudioMessage from it to the client, the sound comes from the player

Ong
i'll try to reproduce it on my own when i get home but could you make a minimal example
I experienced it when I first set up SCP Prox Chat
I assumed SpeakerToys being out of range would mean the client would automatically not hear the message but instead the audio was produced right in their ears
Just create a SpeakerToy, go to a different zone, play some audio, and send it to the player
the client would automatically not hear the message
yeah that should be what's happening
try not to kill SL challenge
Not sure what you use for playing audio but I have my own API so what I use for playing audio is gonna be slightly different than you
But it's a minor difference tbf
It's new shit every day
I'm constantly finding new problems that baffle people
And it's making me lose my mind slowly
I still didnt test ur api

sad
if you check <null>
oh wow
thanks github
https://youtu.be/6btaXm3BU8s
the surface speakers have the same controller id, and if you really listen, the outside speakers get a bit out of sync if you go past their maxdistance
but no spatial issues
can you elaborate?
i'll check if this happens with fully unique speaker controller Ids
^ could just be this
i can say with a 99.9% certainty that your code is not responsible for the issue\

it would be funny if you couldn't reproduce it 
unity 💞
also, whoever wrote this had an interesting approach to the problem
HOLY SHIT AM I RIGHT
NO FUCKING WAY
I'm a legend
client desync ig
Nah it's the difference between camera and player positions
right
When I check position I use the player's position, not the player's camera position
you usedt the player's gameobject's pos

They do
Crazy how that small of a difference makes a huge change
Ideally this bug wouldn't have been found if culled SpeakerToys didn't blast audio in people's ears lmao
even then, australian players will still face the issue 
The really interesting thing is every publicly available prox chat plugin I've seen (or similar plugins) don't use camera position for speakertoy validation
we are turning sl to the nextroblox
genuinely no clue how not playing it would have the audio source play in the right ear
It is playing
We have no plans for ImageToy as of now
I'm confused
Culling doesn't prevent a player from receiving AudioMessages from a SpeakerToy
They still get the messages and have to interpret it, and it interprets that from the local 0,0,0
Because the SpeakerToy is culled
damn i love kernel pannics
microslop edge on mobile
I'm almost certain Zer0two's suggestion here is written by AI
about /_\s?
yes
also love how decoding is duplicated
per speaker
Like lmao dude are we deadass
it's AI generated
i doubt bro even knows what the em dash is used for, so yeah
Also triangle primitive doesn't automatically mean things are fixed, we'd need to add vertex positioning to actually make arbitrary meshes
EXACTLY
If it's the same as all the other primitives then it's not gonna do anything
Really what we need is vertex positioning for the existing quads
and when i ask "how are you gonna make an arbitrary mesh"
the response is "you're just a hater" and "this argument is pointless"
someone bought to use 1000000000 triangle primitives to build smth and then complains that their server and game crashes on round start btw
lmfao
Based
That's how it should be
(It's really easy to convert meshes to arbitrary quads)
Free blender extensions exist for it
Can't have bugs if there's no players to find them 
yeah but you'd need to distort a uniform quad for that, which is either not possible or invonlves a shit ton of math
genius
just allow players import custom prefab
no.
boom all problem gone
It's not that simple
How do you relay that information to the clients?
roblox
ew
Exactly
SL is not adding steam workshop support
The experience they're looking for is not like GMod where you spend 5 years loading assets when joining a server, it's as plug-and-play as possible
i'll say this again
if you can import arbitrary meshes, that erases the art style of using primitives
arguably, making schematics with primitives is tedious and time consuming, but you (and others) will be much more proud of your work
move anticheat to server side and dont use il2cpp on client
XDD
so that we can mod client
That's not how il2cpp works big dog
Not using IL2CPP is not going to allow us to mod the client lmao
hmm
IL2CPP gets flack from modders because it's harder to work with after it's been built, it doesn't actually change what we have access to
Also some elements of the anticheat are server-sided
👍🏻
i mean
remove sl-ac.dll and allow us use harmony on client
ah yes
or fork off gmod breach and mod your own stuff
let's make it possible to do the actual impossible
"Allow us to use harmony on client" is not how that works dawg
You have a very large misunderstanding of what is possible and what platforms do to make their games moddable
there's a fixed up breach on the workshop that works just fine on latest gmod
😨
i like how SS14 does stuff
Peak was SL in Pavlov VR
Even games like Roblox don't allow you to modify whatever code you want arbitrarily, they send scripts to the client that work within the constraints of what Roblox allows
Every moddable game has a set of constraints you have to work within
you know the most shocking thing you can do when modding a game is...
plus if we allowed execution of code on the client... uh yeah that would be a fucking massive XSS nightmare and the game would get pulled from steam
soo we send lua code to client and client run it
we would add RCE as an actual feature
i dont think you know anything about security
(has happened in many many other projects)
We talked about it 500 times
so maybe let go of your dreams this time around
There is no way to differentiate mod and cheat
If it was on workshop
And malicious code
if it was anywhere tbh 😭
why 😭
This argument is poor
show sex image(just kidding)
One of the reasons why we are not considering it
Not the main one, but yea
ah yes let's give more work to our already overworked s&c specialists
The real reason SL doesn't have workshop support is because the way it was designed didn't have it in mind, and it'd be hard to add it retroactively
Claiming it's because there's no way to distinguish mods and cheats is wild and heavy hyperbole
I still remember when my gmod suddenly showed a 2d goatse overlay as soon as I loaded into a map 💀 💀 💀
I think it was Glue Library on gmod's workshop whose author had a change of heart
- quads
- text toy
and added this stuff in
1.stuck the games
2.low resolution
Is there a image converter to text toy
Which one is better optimized?
not that i'm aware of
no clue
Thinking I should remake the entire map out of primitives
I forget, was there a release date stated for DisplayKit stuff?
Is it whenever 15.0 drops?
15.0 is our target yes
UI Building with unity native components smth like that
No more complexe interface system
the first plugin to release using displaykit is to display video on the screen directly i swear
PMER is a LabAPI plugin, Northwood is not affiliated with it
i am aware yes
i was asking if it was something like that
letting plugin developers make things that isnt just code
Oh
Yeah not happening
Lmao
Quite outlandish
very sad
I want displaykit so all the hintmanagers become obsolete
Where is Scp1509DamageHandler?
are your references updated?
Yep
It is both .
Since it doesnt designed in mind that client should have mods it wouldn't be viable to do this. Even IF workshop support be added it would be server sided. But it would end up same as Oxygen Not Included or PlateUp! where they upload dlls and stuff, which would be much harder to manage what can and cant be uploaded.
And many security check would be required both place (upload & download) so you arent just gonna remove stuff or exfiliate someone's server data, or grt the verkey or whatever
InventorySystem.Items.Scp1509
Also while many server using their own plugins and they never gonna upload it in public, it is still would be less reason to have it imo.
security check could be leave to Steam
Well yea but even if steam checks my funny dll it could still can do damage
Visual studio users try to have proper autocomplete challenge
Works for me /shrug
Might be outdated references 
yeah that the point of any Mod
like Hoi4 modding
this is kinda average noise of an explosion at that distance
in real life
Guys somebody know why when it´s round ended the ff in the RA seems activate but when u try to shoot a teammate they can´t deal damage?
does the log appear at the right time?
Rats
Yeah
<3
Ehm there's a specific LayerMask for that
let me find it for you
I tried IgnoreRaycasts and InvisibleCollider
there's not one ig
I don't think we have layer for that


Thats crazy
i gonna test it.. its really funny
Wait why am i here
Yippe
Hey, is it possible to spawn a custom generator?
yes
Just spawn the prefab
@slate flume you seeing is? Is that… code that handles culled speaker toys and validates if you can receive an audio message based off if you’re in range of the speaker??? (In case you forgot, you said that the client “obviously doesnt handle culled speaker toys” but uhhhh ^^^^^^)
can i have it sir.
always has been @unique crane
I dont even remember where I have it anymore
oh
All available LayerMasks.
@cyan crown^ all layer
@vast canopy ^ if you want all layer
?
if i add custom component to pickup, then pick them and drop
will component stay?

every time im writing questions here i feel dumb
i dont believe so
^^^
@strong lagoon hiya, just an fyi, we do not allow posts regarding hires
guh?
Nope that why people generally use Serial for keeping track of item
more dictionaries with components...
The Item get destroyed when drop

And pickup get destroyed when pickedup
But there way to deal with it
With OnAddedItem
And OnRemovedItem
Who is the ReferenceHub? speaker or the listener?
just use the labapi event
i believe there is one
I just wanted to make it so that person "A" could hear person "B" and person "C" couldn't hear them
uh yeah
labapi event
okaaay
What event do I need?
My bad
i would like to hire eve as eve manager
thx :3
"i wanna speak to your manager"
"i am my manager"
yes :D
No worries!
noemi r u real
Does InventorySystem.InventoryExtensions.OnItemAdded include item pickups or not?
@upper vapor why r u a cheeseburger
Is there a list of all kick reasons I can find?
I noticed in the event args the reason is just a string
i mean a player can be kicked by staff for any reason
I mean like vanilla, built in reasons. I.e. AFK
ya my point was just thats why its a string
AFK just kicks for AFK unless defined differently
All I can tell and show you is my experience dude
I'm telling you that I've had situations where culling causes the audio to play in the person's ear
I even showed you a CLIP OF THIS ACTIVELY HAPPENING
Idk what your problem is or why you don't believe me but you're literally dismissing the fact that I have any kind of issue at all and you should get the stick out of your ass
I apologize for being blunt and confrontational but I don't know what you want me to say
I'm telling you and showing you I have an issue and you're taking every opportunity to dismiss it as if the issue doesn't exist and I don't get why you're doing that
Also all this shows is that culling is happening, it doesn't show how that culling is handled, idk why you're saying this proves your point
I already know SpeakerToy culling was happening, that's the damn problem in the first place
Guh
I'll interrupt the drama for a second cause I need to know which base-game object would be best suited for a CancelWIth statement in order to kill a coroutine should a round be restarted during its execution thanks
Round.IsStarted?
huh
Server.Host.GameObject
CancelWith needs a gameobject
On that gameobject dying -> stop the coroutine
i usually do the server host
Thanks 
CancelWith for a coroutine cancels when a boolean returns false
mmmm
that might be a different method
never used that one
It will run before the round starts, so it needs to react to the possibility of an admin initiated round restart
ik CancelWith has a gameobject parameter that you can have the coroutine stop with
host object will be fine
I've never passed a game object into cancel with I'll be real w/ you
Timing.RunCoroutine(UpdateStatusTimed(), Segment.RealtimeUpdate, Server.Host?.GameObject);
old code, but afaik it hasnt changed
What's the difference between checking that the host exists and checking NetworkServer.isActive
well the thing above is for a gameobject
So gameobject death = kill coroutine
Oh interesting
When I've used cancel with I've done
Timing.RunCoroutine(Routine().CancelWith(...))
tldr imagine on the Death event of a player, doing something
OR do a while loop and constantly check if player died every frame
Tbf this time i provided it directly to the coroutine run, and not as an added
Timing.RunCoroutine(DoExplosion(player).CancelWith(player.GameObject));
thats another example
Yeah but
Server.Host?.GameObject's implicit cast to boolean tells you if the host player exists
NetworkServer.isActive tells you if the server is online or something
Is there any difference between those? Or would they be functionally the same
I dont believe so?
I dont think it does so
Interesting so you could do
Timing.RunCoroutine(Routine().CancelWith(() => NetworkServer.isActive))
probably?
but thing is
Afaik
It literally just waits for the gameobject to die, it doesnt like
Cast it to bool
And you're showing an Predicate of bool
Idk
Oh interesting
I wanna look into this
Take this as an example
it's actually better to make it call to an event
Tbh i never used cancel with
in fact i didn't know that
until i check
rn
i thought it was tied to an event
You were quick to the draw
But im also realizing that unity stinks
but the game kinda use it
the KeycardScanner
it's probably the most heavy of all of them
So use () => NetworkServer.active because that's a simple check (one stored bool), instead of running a null check on the GameObject every frame @tulip kiln
I think NetworkServer.acitve stays true between round restarts though?
or am I tripping
also @hearty shard @slate flume this is probably only check when looping not like every single tick if you make it wait for 2seconds
Idk I was just basing it off of this
In my experience that's hasn't appeared to have been the case
the best
i will send it
Round.IsRunning ?
SceneManager.sceneUnloaded
or OnRestartingRound()
using event
and foreach kill all of them
Wait check this
Cancel when that returns true
Which happens in the initiation for a round restart
I think I'll just tank the performance hit from using CancelWith with a gameobject
lol
Let's be honest, one coroutine checking this will not kill the server
Why not put a check inside yo coroutine
^ this is what I do 99% of the time
The coroutine waits for 75 seconds, executes two methods and dies
Lmao wha
What is this coroutine
Peak
why 75seconds ?
^
Arbitrary number
What are you using this for I have to know
Y'know you can also cache the return and kill the coroutine when the round restarting even gets called
There is like 4 possible svhebetios
wish one do you prefer to use Slejm ?
svhebetios situation is crazy
Waddup @warped prairie
Good to see ya
Idk, whatever i feel that time lel
lel
Prob event since that more reliable ig
but
there also a things
what event
The OnSleepingOnTheJob event
I love these little guys
(kinda OnEnded is bad)
Pff idk
I just use OnServerRoundRestarted() from LabAPI
Yo to load a schematic do I have to drag the folder into schematics or just the json?
Tried explaining this but I wasn't even half done with over 10 lines of text. I'll just say it's a solution to a tricky problem.
This is a PMER problem #1339593773788958852

LMAO dude what!!
This makes me so much more curious I can't even lie
It's so based 🥹
where is that placed in SL code
why i see no call on it
Lol
lmao
The problem was really stupid
Like incredibly dumb
Made me look like a huge idiot
its ok, i do that to myself legit once an hour touching my codebase.
so your on a roll
The problem was also bricking my second server so it's nice I fixed it
loll
also, im like ultra hype for display kit. im gonna have to research a bit into it
mind you we dont know what will and wont be implemented exactly with it but it gon be hype
Display kit is gonna be dope
Hint managers suck
yee. I had my own type of "wrapper" around RueI because of templating and other things so now all i need to do is completly refactor it to be with DisplayKit instead of whatever else
you know of any good docs for displaykit
Literally none
It'll probably be like SSSS where we get some examples and just have to wing it

then we gonna get the release of ASD (Actually Simple DisplayKit) 
AAASD (Actually Actually Acceptably Simple DisplayKit)
SAD (Simply Applicable DisplayKit)
sad :(
Nah just pray they make it good the first time
Alternative option: use Awaitables with the host's cancellation token
I'm gonna smite whoever makes a wrapper for DisplayKit 
What difficulties are you facing?
v2 is still in alpha so I can still make breaking changes 
Just restriction from head dev. Thats all 
we're planning to make wrapper for it as soon as it drops
I will

I'd get if you made convenience extension members but a wrapper will be unnecessary
Full wrapper
Could someone tell me the value of team_respawn_queue?
Not exist
Well the config value doesn't do anything
Is team_respawn_queue not working anymore?
Since 13.x
noooooo
Good luck finding where the values are
Im trying c# 14
extension thingy
but it doesn't work lol
public static class TaskExtensions
{
extension(Task)
{
}
}
This throws a shit ton of errors
nvm i did a utils and just using that easier tbh
this works fine for me
this exact code
what's the error saying?
you sure that the lang version is set for the correct project? double check and everything
Yea
idk then lol
even if i go to proprietaries on C#
Idk fuck c#
then
removed your class
so it should be fine

or did i
(i did)
@serene vine
Nuke the mf
Copy thay
@regal lake nuke the mf too
UTF-8 with BOM 
i know
I WANNA DISABLE THAT MF
What
Settings -> encoding
Can you run dotnet --list-sdks
10.0.103 [C:\Program Files (x86)\dotnet\sdk]
For existing files you have to change the encoding on the bottom bar
And langversion latest?
14
Yeah that should work
Does dotnet build work?
nop
Try creating a new project and using extension members there
Though that should not make a diff
Installing Linux might just solve the issue 
Open the doors
As far as I remember, it used to be possible to display custom messages with UnitName using a Harmony patch. Is that no longer possible?
no
no
what
Is that no longer possible? -> No
That is a double negative
Is that no longer possible?
No.
That means it's not no longer possible, meaning it is possible
guh
I'm not good at English
Gotta love the ambiguity of ! in non-programming languages
Me when factorial
4! = 24
4!! = 8
(4!)! = 620,448,401,733,239,439,360,000
what the hell
True story
Eve uncovering basic math
ive never heard factorial described
i never searched the word
Do you want me to make an async method?
ya
News on this, do i miss a property or something ?
pickupRb = _followPickup.GameObject.GetComponent<Rigidbody>();
if (pickupRb != null)
{
pickupRb.useGravity = false;
}
wait
the translation is literally just faktoriel
😭
i suppose i fell asleep one day and never learnt it
You didn't lock it
Locking it cause no movement
valid
You need to set gravity before you create the pickup
ahh
Because SL fucked it up
skittles
At least last I checked
Also use IsKinematic or IsStatic or something instead of UseGravity
It broke last september
_followPickup = Pickup.Create(_followType, Vector3.zero);
_followRb = _followPickup.GameObject.GetComponent<Rigidbody>();
if (_followRb != null)
{
_followRb.isKinematic = true;
}
_followPickup.Spawn();
smth like this ?
Yeah something like that
the thing is i think i can only make it works with firearms
i dont think i can get the worldmodel of non firearm items
Also don't use GetComponent
var pickup = Pickup.Create(...)
pickup.PickupStandardPhysics?.Rb
Last I checked at least
well it worked
Yeah but it's inefficient
ahh
skittles
GetComponent calls are expensive
It's not even difficult
You just call it
Tey isKinematic = true
He already did
Scroll down
Hey did you guys ever fix the issues with isKinematic and stuff not syncing?
It broke last september
give them a skirt
The gun is the problem
Genius
Wasn't it fixed ?
No clue
shut up eve
whats eve SSID?
WifEvil
🧌
5 GHz
Just recreate every gun out of primitives 
Real
I fixed it and it should be in one of the changelog
Okay cool
cant we use client parenting tho i just realized
Thank you very cool 🙏🏻
No
ah
Fixed Pickup physics not updating when a plugin modifies the sync data.
14.2.3
ye even if you do networkserver.spawn it does NOT parent to anywhere
the suit is also not client parented and it updates faster than the pickup tho
there has to be a way
AdminToys have synced parenting
That includes Primitives
Do you have movement smoothing enabled?
And WHY DON'T YOU PARENT THEM 😭
i tried but bc the bones of the player is 0 0 0 it fcks up the scale
and i dont want to bother fixing it 
Me when
Create the schematic
Transform.parent = player
💀
Pickups prob just sync slower
What does this mean
Istg if MER worked
idk when i parent them to player bone all prims disappear
You can't
Bones don't have network identities
then thats why i update pos
So arguably it is simpler to move each one manually, yeah
yeah thats what i do
Is this an accurate statement?
i do think so
and prim move smoothing is 60 also
Yeah it's what i got told i just don't remind when
ye i posted when exactly




