#plugins-dev-chat
1 messages Β· Page 171 of 1
tf are AnomalousTarget and AnomalousRegeneration
that's a double-edged sword
sometimes it's really good, somnetimes it's utter shit
Word up
thats why taj mod takes almost 3 years
that's why anything takes 3 years
Literally a typo in the description π
prpject
look at how exiled does it 
you're gonna need the subroutine, set IsSubmerged or something and then send the rpc
Prob like
Scp106StalkAbility ability;
ability._rpcType = Scp106StalkAbility.RpcType.StalkActive;
ability.ServerSendRpc(true);
I can't access to _rpcType
Or actually you could prob just
Scp106StalkAbility ability;
ability.StalkActive = true;
it is { get; private set; } so i can't change it
Then it's prob in a function
Scp106StalkAbility ability;
ability.ServerSetStalk(true);
Or some shit like that
hacky code lmao
Holy am I good or what
so
there's ServerSetSubmerged
it's literally that shrimple
yep
thatguy was faster than me
I'm shocked I called it π
So maybe submerged is better?
Exiled is an enigma
sorry but i can't understand what should i do.
ServerSetStalk is private
cassie was changed again and now my patch doesn't work 
ServerSetSubmerged
in Scp106SinkholeController
but you can always publicize 
Publicize the assembly
ServerSetSubmerged requires a secondary animTime
Do this
But instead of Test.dll do it on Assembly-Csharp.dll
Reference it in your project
Then enable Unsafe Code in your project
And after that you can access private members and methods
the top one?
its not working
I'd recommend the MSBuild version
Valid
Add these in your csproj
It'll publicize automatically
Poor guy is confused
Perhaps π
This is the latest publicized assembly
Yo question
Why does the Scp1509Resurrected effect even exist?
thats not a good idea to post it here
Are the ops gonna come after me
you should provide him on the explanation for the nuget
not post the publicized because it goes against terms of service of unity (if im not wrong)
No issue with that
i updated assembly and added this.
I guess it modified your health so thats why
technically it should
but my rider doesn't show me ServerSetSubmerged
It's just odd cause it could be replaced with one initialization and the SpawnProtected effect
yea but technically you should care 
Why
thats what im saying
I just did :3
Its free to download
That's in Scp106SinkholeController
still it goes against some terms
if i remember of use of unity
Which ones
i need to check because i remember they had a section for that
Yeah your not allowed to post their assemblies
so Unity*.dll
I don't think unity cares so long as their internals aren't exposed
Just use double shift to find it at this point
Now lets go back to my Doom The Dark Ages playthrough where I have to use AI frames to get decent framerate xd
I don't know
i mean
How is the new Doom?
you are using DLSS?
that game runs fine without it
in rtx
for me
Shit runs shitass
Bro what are you on

doom runs 100% fine lol
3060 mobile
3070 ti 8Gb
Word up
3080 
nah don't listen to this guy, good doom asf
really fun
i love destroying hell in a mecha
This guy?
Nah
He's that guy
that fucking sucks get a 3060 or 3070 ti
Lossless Scaling is a powerful tool that enhances your gaming experience by making games smoother with LSFG frame generation and optionally improving quality or performance with various scaling algorithms and machine learning models like LS1. It's compatible with most games, even those that don't have built-in frame generation or scaling, as wellβ¦
Price
$4.89
Recommendations
31523
this is the goatest software ever
wtf is this
Bruh
it says "you can't access to private method"
External upscaling and framegen
Yeah but the framegen isnt
i really never did need it
That's why you need to publicize
Try building the project
i already did it
Evidently you haven't
and its still runs on like 30 fps
Can you show your csproj
Wtf is the thing you are using to run it?
handeld????
a steam deck?
There is quality setting for that
steam deck has amd tho
Handled 
Why is the LabAPI nuget package out of date
Its below low
Because we can't publish nuget packages ourselves
like bruh
bruh
I put it at max settings
Oh you fucking idiot
obv its not running well
and we cant merge to master
I was like "Oh maybe I might not have to publicize LabAPI anymore, it's been a few updates" and as soon as I think that, the damn nuget isn't updated so I still won't get LabAPI docs
Well no
there are mod chips for that
Im on laptop
i tried building and it works
i don't know why
if u want can build and send docs for the current one
same thig
Available as blog post: https://techmodlab.com/xmg-apex-15/xmg-apex-15-max-2022/upgrading-a-soldered-laptop-gpu-part-2/
People keep saying "laptop GPUs can't be upgraded", which is true from a customer point of view. But technically those soldered laptop GPUs can be upgraded, with the proper tools and skills. Sure, it is super hard to learn, but...
That's why I said build the project
Cuz the publicizer needs it
Eh it's all good I've never used LabAPI docs before, no reason to start now if it's inconvenient
What the helly
error is still here but maybe problem is solved
thanks a lot!
Also, make sure to enable unsafe code if you haven't yet
unsafe code?
In the project settings under the build section
Waiting for labapi and the game to move to net standard 
Why do you un the safe
nothing changed
but thank you
It'll be apparent at runtime
Did you add AssemblyPublicizer.MSBuild to your project?
yes
If you don't set it, you'll get an exception when you access an otherwise inaccessible member
how to modify warhead detonation timeπ€
my code just modify time but cassie still broadcast 90s
Why are you accessing the field with some complicated ahh way
info.StartTime = 120;
public override void OnWarheadStarting(WarheadStartingEventArgs ev) => ev.WarheadState.StartTime = 120;
Bruh
It's still worth trying, I literally started in plugin development 2 weeks ago.
anyone know how i can make a custom keycard that spawns as a pickup?
In Assembly-CSharp, you can look at InventorySystem.Items.Keycards to find what you need for the card itself
idk much other than that
give it to the host then drop it
labapi has methods to create custom keycards
well how can i make a custom keycard and spawn it as a pickup cus i know how to make a pickup just not a custom card
No shame in starting by diving into the deep end
When I first started plugin dev work I remade an entire plugin from scratch for a server, and I've been improving on it and building off of it since
There are many ways to get into plugin development
It all depends on what is best for you
But I would say adopting mindsets that prevent you from doing something because you feel you're not capable or experienced enough to do it is generally going to hold you back from being the best you that you can be
I started with reading exiled events and literally guessing and starting to make silly events
Tuff
The first thing I made was coin gambling iirc
I knew c# prior
What'd you learn C# from?
Literally from reading DepotDownloader and other that like github source
i knew wpf beforehand 
Lol real
i knew how to breathe
It's crazy now thinking that there used to be a time where I didn't know C#
its crazy that you havent made my source generator for me
It's now like my primary programming language cause plugin dev work is the primary code work I do anymore
π£οΈπ£οΈπ£οΈπ£οΈ
There was a time where I was considering learning how to do compile-time reflection but then I realized that I mostly use harmony and that is already limiting me to run-time reflection
Don't know if I have a use case for it yet
I'm happy I got into transpilers tho cause once you get good at them it's so freeing
It's like any server-side code is now yours to manipulate
But it takes a bit to get used to working back and forth with IL and C# consistently
It is no longer voodoo magic
i meannn
secretapi pr...
@upper vapor do you have a link to any docs you used for what u did
I love weavers
do you though
i suppose valid
Andrew Lock | .NET Escapades
Hi, my name is Andrew, or βSockβ to most people. This blog is where I share my experiences as I journey into ASP.NET Core.
i also looked at some existing source generators
like avalonia's source gen
or even roslyn generators
Labapi src gen
im gonna cry doing this
trueing
Compile-time stuff is like 3 billion times easier in C++
is it
the what now
If you make a variable constexpr in C++ it evaluates during compile-time
thats some nice aim right there
I kind of love C++ as a language but it's a bitch to get used to
There's also like 50 billion ways to do one thing
Also I hate the casting
I'm so happy in most popular programming languages that the idea of static_cast<Type>() was fucking obliterated
I mean this sucks
I believe I asked this before but how do you set up weaving in a project? It doesn't seem very well documented, but I get the idea it's injecting code using IL at compile-time?
those two files might help u
yes it looks horrific but i wrote it like start of the year
What's the main advantage of doing it over source generation?
Is it simply that you inject IL instead of adding C# code?
for using it:
<ItemGroup>
<PackageReference Include="Fody" Version="6.9.2">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<WeaverFiles Include="$(SolutionDir)Weaver\EIV_Networking.Weaver.Fody.dll" />
</ItemGroup>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<EIV_Networking.Weaver />
</Weavers>
yes
I can change any stuff yes
since i already have the IL code
can even generate source stuff
sad back is that it doesnt show in IDE
i hate weavers as much as i hate python
you will see only after the dll get compiled
ILSpy/DnSpyEx/DotPeek usually help you with that
i think the Rider IL viewer will let you see the changes even
if you look at a specific source file
Β―_(γ)_/Β―
Assembly weavers seem like a lot of extra work over source generators for not a ton of benefit
You have control over your own application, why choose to do weaving instead of source gen?
Like if I have a bunch of C# code I determine at compile time I want to inject into the middle of a function, why not instead inject it into a separate function using source gen and then call that separate function in the main one?
Is it just so it's cleaner / slightly more optimized or am I missing something
This is coming from someone with very basic knowledge on both
with weaving you have full control over the IL
but it doesn't have any benefits if you're using C# 12
since C# 12 you can use interceptors
which let you rewrite the call to the method
though it's different from modifying the IL of the method
Well yeah I'm just a little confused as to why you'd want to go down to an IL level
some people find it easier
many stuff using Weavers and stuff, in source gen with you couldnt do what mirror did
adding attribute to something and changing the actual code
Until c#12?
idk
i never fw interceptors
yes you could, and you wouldn't need this hacky rename-method-replace-original-call-with-send-message
but yeah
not until unity supports c# 12
ajfsdifu htfsdf thats why i said until c#12
right
earlier you had no choice
i was very writing and not reading
hold on
So the reason is essentially that weaving is older which is why it's still used
People got comfortable with it and older frameworks still rely on it cause they haven't updated
So if you want to get into doing compile-time junk nowadays use source gens and interceptors?
same
π
I used to use it to make a bunch of a high level code to compute stuff, then turn it into source code I could paste into a project
Instead of doing it all by hand or calculating at run-time
Python allows you to very easily convert objects like lists to strings
So if I print a list, it formats it nicely, whereas if I do that in C# it'll like print the type
Makes it cool for doing that kind of stuff
I think people diss on python too much imo
It's great for writing quick code or doing really high-level analysis because of the abstractions
I need to time my plugin entry to see if I should do source gen
btw
you should totally
100%
use
CallOnLoad

no bias
I do run-time reflection over my plugin types to automatically instantiate CustomEventHandlers and otherwise
ah yea
My plugin is like 40 plugins wrapped in one, partially because some of them have overlapping features and other things so it's easier to handle conflicts, and it's private for just one server
i meannn
i do the same
well
DID
Imo it's better than 100 little plugins you have to sift through and update individually
Even if it means you have more to manage and things
Also true though you'd still have individual plugin entries and and dlls
yeah
It also makes it really fast to test features and implementations when you have automatic instantiation and stuff
I can define a new CustomEventsHandler anywhere and it automatically registers and works
My plugin loading takes a few seconds iirc but idk if most of that is Harmony or if most of that is me
Try not to reinvent and overengineer a game plugin (impossible)
i'd make a partial method that registers the handlers for you and call that in onenable
I've been deving for a while and if I was using plugins people already made them I'd be updating them myself atp anyways cause like 99% of devs stop doing it after a few months
Turns out updating open-source plugins for an indie game for an extensive period of time is not everyone's cup of tea
So true
Is Harmony's patching efficient? I have a bunch of patches I use and I wonder if my enable time is mostly that or mostly my reflection or some other third option
i did that and its so easy
and accurate

(im gonna give the code? no)
(Why? i would get fucked)
sad, #330 dont know it
not in the game files
we don't publicize for you
Thats exiled stuff
but... https://discord.com/channels/330432627649544202/1399842165974372394 import Assembly-CSharp-Publicized.dll
Or they used exiled one
except everything is public
tru
okay
@upper vapor i have looked at ava source gen and
what the actual fuck
hell nah
i am QUITTING
yyyeeeaaaaaaa
is that actually where u got it from
got what
so you just
nothing happenπ€
did the same thing but slightly different
did you add the nuget package too?
did you reference the bepinex publicizer?
not slightly, very
what is itππ
it's in the screenshot
ok
make sure to build the project after you've added it
oh also
enable unsafe code in the project settings
or <AllowUnsafeBlocks>true</AllowUnsafeBlocks> in a property group
hell nah
Hell ye
W
Show/send full csproj
oh it is fully an exiled plugin
exiled comes with assembly csharp already publicized if you use the nuget package
Your csproj is NOT new sdk style
It will never work
so the solution is
hmm
i just clone thisπ€
recreate it from scratch
its not a labapi plugin?
show
you're on the wrong branch probably
GitHub
Contribute to reversum/QueueSystem development by creating an account on GitHub.
cloning does not give you the selected branch π
Nope
doesnt even matter
the labapi branch references EXILED
ye
wow...
it uses labapi but it references exiled
well it references it in the csproj
also
theres is ..\packages im not even sure you have the exiled package installed and if its in the same spot
just
recreate it tbh
yeah can we remove every single csproj in existence that's framework-style
it apparently has cedmod versions




I support this.
Every new plugin should requires the new sdk style
π£οΈπ£οΈπ£οΈ
π΅βπ«
try to put classes in different files challenge (impossble)
no like those files have the most
they are seperated
its just a long prefix and a long main
with some extra sprinkles to it
because its using a publicized assembly
holy..
f
uhm
[2025-12-20 02:46:47.982 +08:00] [ERROR] [LabApi] 'FieldAccessException' occurred while invoking 'OnPlayerLeft' on 'QueueSystem.Main': 'Field `CentralAuth.PlayerAuthenticationManager:_hub' is inaccessible from method `QueueSystem.Main:IsInQueue (ReferenceHub)' ', stack trace: at QueueSystem.Main.OnPlayerLeft (LabApi.Events.Arguments.PlayerEvents.PlayerLeftEventArgs ev) [0x0000c] in <41181c2db0414462b9d010c844817ef6>:0 at LabApi.Events.EventManager.InvokeEvent[TEventArgs] (LabApi.Events.LabEventHandler`1[TEventArgs] eventHandler, TEventArgs args) [0x0001d] in <85aedfeadcdc4db5bc186ab9de73416f>:0
should i replace the Assembly-CSharp.dllοΌ
no
you need to enable a project setting
"Allow unsafe code" or whatever
Try waiting one frame
The biggest issue here is that this only happens the first time the code runs
just updated my server and cant do nothing with RA, only round & events
If you use cedmod, make sure it's updated.
no cedmod
AdminTools?
ahaha
skillissue
add some logging see if it even runs
R u using secretapi btw
I did
that's why I'm asking
because I'm unable to find it in my log
noup
I'm trying to make my own very epic API 
I see
Hi NW can we get the 079 ping ratelimit removed or give mods access to remove it
How can I check if a player has a permission?
Its client sided still
It hasn't been changed
I really want to change many stuff (msg => rpc) idk which one is smaller sadly
idk how Mirror works enough
I do know that a lot of RPCs should be syncvars
for networked properties
Yeah I know, that's why I'm asking to have it be server sided
How do you use CullingParents?
PLEASE NW I NEED THIS π
My 079 is kinda ratelimited
i dont think thats a good idea
?
that one 079 troll
Then give plugins the ability to change the ratelimit or remove it ig
It's annoying
Will try and play with it when i have time or smth
cough You're in a chat full of plugin devs.
I don't get it
why are you asking game devs instead of plugin devs?
I'd ask myself but that would go nowhere
It's clientside
Otherwise I wouldn't be asking NW :p
hmm
Surely Culling Toys can't be that bad
there's a pluginperms command
I meant with code
because modding the game isnt allowed on public servers, plugins are and dont have the functionality thus nw is needed
i don't
:c
is it allowed to create a post on labapi plugins that on works only exiled?
You have Exiled discord for those
But feel free to make LabAPI version of it
ok
ok
anyone know how to make a command?
Np
Yeah, documentation besides xml docs isn't very extensive, hopefully we'll be expanding on it at some point (no promises)
Copy/paste decompiled code from an SL command 
it does !
you need to reference CommandSystem tho
what's not working
it auto adds using system.windows.input
well
select the other one
π
thats not valid one
affter removing it its still not working
using CommandSystem;
then you haven't referenced it
[CommandHandler(typeof (RemoteAdminCommandHandler))]
public class Command : ICommand, IUsageProvider
{
public string Command { get; } = "command";
public string[] Aliases { get; } = [];
public string Description { get; } = "";
public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out string response)
{
response = "Not implemented yet.";
return false;
}
}
iusageprovider 
uh yeah dumahh vs deleted the reference
XXXDDDDDD
that's another reason not to use visual fosdio
It's important for most commands, I figured it'd be better to include it rather than omit
true
Though I don't have usage included so this would error
But it's like most of the work
also wich id should i use from the player class if i want to find one from all the players
what specifically do you need
like when i run a command the player inputs the id that is found in the remote admin yk the number which one is it
is it the NetworkID?
In a command?
Use RAUtils.ProcessPlayerIdOrNamesList
it's the player ID
-# not user id
but yeah use what ThatGuy sent
I got the Axwabo endorsement 
um
did you mean to prevent them from sprinting or have it not drain staimna
prevent them from sprinting
doesnt that damage you
no clue 
or the 2 things i said 
you said 3 things
well
the two things excluding basegame effect
cuz i dont know if thats actually a thing without other side effects
dunno havent checked in a while
how to create?
thanks
How to find a bullet's trajectory in PlayerShot event like on Exiled (ev.RaycastHit)
there's a base-game event for this
Why is Pickup list empty...
Pickups are spawned after that
Just do it OnRoundStart

Ok. But why ItemSpawning event doesnt work?
ItemSpawning => ev.IsAllowed = false
Item still spawned
https://github.com/northwood-studios/LabAPI/issues
If thats so then please report it here
Already
The marshmallow slayer
slaaaaaayyyyyyyy
@restive turret Do you have some idea?
He said he is gonna look into it soon
I'm in bed waiting for my energy burst after i ate
2h later
Okk
I have to fix and rebuild plugins so
I want to be able to do that before drops
Kilometer per seconds

you gotta binary search
0xDEADC0DE
I know exactly why this is happening
Tell me
ItemSpawning is being called in ServerRegisterPickup instead of ServerCreatePickup
Whoever did that needs to get their pay docked fr
Then i wait until they fix it
Which sadly can be months
I could make a transpiler and fix it
Like I always do
Do you have some repo where do upload these
No but I could send them to you
I've been procrastinating getting a github repo up
Repo would be greater so can send any new stuff into it and also knew what we fixed it
Make the repo!!!
But it's so easy to procrastinate
π£οΈπ£οΈπ£οΈπ£οΈ
Rider can create a gist for you
Rider can create a GitHub repo tooi
Yo that's dope
Intellij can do that so rider should be


Not synced
π π
not my fault
It's your fault
tell your isp
Tell discord
skittles
This should probably work cause it compiles and doesn't seem to be causing any errors
Give it a test and lmk
Just drop it into your plugin, make sure you have a Harmony reference in your dependencies, and use ItemSpawning and ItemSpawned like normal

Also if they ever fix it make sure to remove the patches or else you might get weird side effects
The shocking thing is that it compiled and threw no errors first try
That almost never happens
Player UsingItem event can't prevent the usage of the tape player it seems
guessing potentially because it doesn't have a wrapper? idk
Bro moment
huh it should have
nvm didnt got merged
OH tape not 021j
ye
ah ye
patch ServerProcessCmd

me when i forget how to set a players role without resetting their location but cba to figure it out:
Vector3 pos = player.Position;
player.Role = RoleTypeId.NewRoleIdk;
player.Position = pos;
Lumi
RoleSpawnFlags
silly
meow :3
is there a method to check if theres a specific event like halloween or xmas?
HolidayUtils
or smth
should be correct hopefully then...
player.Role = newrole```
SetRole
fair
nop
Lumi trolling smh
it somehow doesnt recognize HolidayUtils
i legit have never really looked into rolebase tbh π
MapGeneration.Holiday
oh yeah shit, that's a method huh
itll be in there
was so confused π
works for me
i dont even make sl plugins smh
cant believe u dont know π₯
also
guess what
what
chicken butt
Your execution is tomorrow btw
oh.
tbh i havent touched sl programming in legit so long because slejm took all the tasks
lol
first after christmas :3
hopefully everyone has a nice time off!! also happy new year!
RAAAHHH
mrow
Yapppyyy
FREEDOM
We're so back
fart
YOOOOOOOOOOO
welcome back plugins
sillies
God damn fucking finally
I once made this fake position patch a while back so a Dummy would always appear to touch the ground, no matter its scale (as Character Models scale from their Hip), but i now tried to use the code again, in a new project and it no longer works.
Does anyone have any idea or suggestions i could try?
something do prefix patch on it too? cedmod mayhaps or any admin tools?
^^
theres a decent chance something else is patching it
and its likely cedmod
afaik it does it, so if you use it then thats it
Remove it
Where website update
Hello plugin dev cha-
ou

Ah classic
Just use transpilers for the love of god π
I know it's beating a dead horse and I know the explanation
It's just funny
if you know how to use em, transpilers can be the better bool prefix (i.e. the method wont actually break if you try to bool prefix twice)
I love transpilers
Now that I'm good at them, they're fun
yes
I do still gotta learn how to use them without calling functions in so many cases
but ye
A good one is fixing Custom Keycard Collisions
I made a long one for that
that's not one I can say I have done lol
I'm so glad you used codematcher here otherwise this would look so bad lol
CodeMatcher is based and I love it
real
unfortunate they really had to shut down the discord but we back
hello John fallout
I wonder how many people were throwing dms between devs
I mean I welcome it, I just think it's interesting
I had at least three people reach out to me asking questions
I'm just glad I was able to help lol
i had like 3-4 reach outs
im still shocked they didnt leave critical channels open, but who am i to say
Yeah it was really odd
Tbh for the first few days I had no idea why the discord was locked down cause the only channels I check are in the LabAPI section lmao
I legit had no one
or people were too scared to message me
idk
Aura
legit one of my mods for my server told me that people come to them to contact me because they find me scary and I'm like "how the fuck am I scary"
I get a lot of messages cause I'm one of the few devs who's active here and has been in the dev community for a long time
I also welcome people messaging me cause I like helping people
Based
how is u scary?
How is she not?
same! just don't expect me to spoon feed you information that is as easy as a Google search away
ChatGPT 
Claude is better
I can't make endless alt accounts for Claude tho
AI slop
fair
I'm not paying for a generative AI
I only use AI when Google doesn't know the answer tbh
If it's not on the first page of google then generally I'm asking AI
Most of my questions are unimportant and dumb
I started with unity and it's much easier then I thought it would be
I hate Unity
-# I've never used it
like I was so confused today when making my auto updater for my plugin. for some reason the request URL was getting stripped of one part of the pathname and I was all confused. Google didn't tell me shit so I just went to claude and they said "trailing slash is required" for the specific thing that I was doing and I was like "bruh are we fr rn"
it's great to take board game you like and try to recreate it into videogame
Godot?
Real as hell
AI is my first line for diagnosing errors
When it hallucinates the problem that's when I figure it out myself
btw you should make your auto updater optional (not automatically on)
I've heard people don't enjoy plugin with auto updater that much
Every part of my code is optional
-# Just delete the code you don't want 
you can disable it instantly, I feel like people would prefer it to be on by default
I have no publicly-facing plugins and I'm the only dev for the server I dev for so suffice it to say I still don't know how to make a plugin config
solo dev is the hardest shit tbh
I love it
you have your freedom, but it feels like eternity to make things
Depends on the thing
true
Tbh I program just whenever I feel like it and I still churn out 2-3 updates a month
I think part of it is I've just worked with SL stuff for a long time so I don't need to find ways to do something
I get an idea and I know how to implement it
It's just a matter of like typing it out
it's such a shame not many devs work on public plugins
Most of the plugin work I do is specific to the server I dev for
yea
I don't really have anything to make public about it, no one would use the plugin
I think the public plugin market is a bit saturated with all the common items
tbh many people might find your plugin useful
There's like 4 different pink candy plugins
Maybe to use as code examples
also
im legit the exact opposite lmao. people will ping me if they took a shit 14 hours ago and wish to tell me. Definitly an experience
if people started doing that to me I'd definitely then have a reason to become scary
like i get told im reasonably intimidating but like in a chill way
so people get comfy
that was like answer to your statement before I just don't know what better word do I use for it
@warped prairie I fell 5 hours ago
OHH
Okay
Lmao
hope you are ok
I thought you were going to add something
I would like to make plugin like collaboration with few devs, but don't have time to start project like that
I have the time but like
It sounds like a lot of work
I get to work at my own pace
I overhauled Northwood's spawn mechanics in one night, but I also sometimes spend a couple weeks to change some values of random implementations
i got a shit ton of work so im usually out of time at the end of the day
It ebs and flows
Real
I'm still waiting to hear back from employers
So I like cook and shit
And program
guys you should totally try making smth in unity
if you've already worked with monobehaviours in SL
ughhhgghgjfjdkglhΓΆhlsjshdjfkgkgkdhdjg
But i neeeeed to patch that method, i have no clue how else to fake the y position of my dummy
:(
evil cedmod hogging MY patches
are you able to patch the cedmods patch?
that sounds so crazy it just might work
how do i do that >.>
like how could i patch a patch? o.O
i guess i first need to find the name of the patch
should be just patching the method as normally
Cedmod should have Patches folder
I just unpatched CedMod patches that were causing issues
unpatched is so W
Oh thank for reminding me, i never answered to the guy

Do something like
var targetMethod = MethodBase.GetCurrentMethod();
var patchInfo = Harmony.GetPatchInfo(targetMethod);
var patchesToUnpatch = patchInfo.Prefixes.Where(prefix => prefix.owner == "com.cedmod.patch");
foreach (var patch in patchesToUnpatch)
_harmony.Unpatch(targetMethod, patch.PatchMethod);
Or you could like
var targetMethod = MethodBase.GetCurrentMethod();
var patchInfo = Harmony.GetPatchInfo(targetMethod);
var patchesToUnpatch = patchInfo.Prefixes.Where(prefix => prefix.owner != _harmony.Id);
foreach (var patch in patchesToUnpatch)
_harmony.Unpatch(targetMethod, patch.PatchMethod);
Its 2am so not gonna answer it anyway at this time
Jarvis, break his plugin
that's a good one
I'm the breaker of the plugins
fastest way to crash server is to Console.Read()
u fuck up the unitys main thread
100%
"Sadly" now it just dc
Jarvis, do async in unity main thread
Awaitables exist for a reason!

I still have zero clue how to do async stuff despite I wrote some stuff actually so
Oh I gonna send you async code to just review
oh god
Pff no clue actually
you can change initial velocity on the server to give to clients
but that's it
ragdolls are different client to client actually lol
Well yeah, I just mean sometimes ragdolls end up in different places on the client vs the server
Okay so here's the follow-up
yeah the clients don't sync with server for ragdoll position
I only touched ragdoll and immediately made 2-3 breaking changes π₯
AdminToys have client-synced parenting
What happens if one is parented to a ragdoll
Does it obey server position or client position
Can you actually parent to a ragdoll?
Uh
Maybe?
Idk this situation is theoretical
I was hoping to be able to detect when a player shoots a ragdoll
I dont think it has netid
Zero clue about that one, might be server?
have you tried awaitables?
unfortunately
That would be like the deciding factor wouldn't it
Hm
what would you recomment when I were to try them?
Ye how usually the networking stuff set up
I'd say use tasks unless you really need to use the Awaitable static methods tbh
tasks are only usable when mscrolib is referenced right?
The 2am spagetti hits different
SlejmUr are you the "Cache your monobehaviour" guy?
all I know is that people should cache their Transform lol
to not use GetComponent
those too???
Getting the Transform is expensive



