#plugins-dev-chat
1 messages · Page 185 of 1
hub
wooow
for me, I just have the great memories of us losing sleep making this map 
life when 9 months of development for an editor show
https://medal.tv/games/scp-secret-laboratory/clips/lLlkI85MzcMhuJtjq?invite=cr-MSxOVm8sMjQ2MjU3MzQ4 i just made this work and it look really great
Watch RED LIGHT SFX by LilNesquuik and millions of other SCP Secret Laboratory videos on Medal. #scpsecretlaboratory
(we originally were planning on doing 3 tournaments for that decemember which was crazy

this is how big it is
https://i.e-z.host/🐀/mm7gi6b1.png
the one selected is a player by reference
had to delay one , but it worked out id say 
give me a spider scp
no
tinyytonyy parkour to the exiled tournament and then scpwyatt's CTF tournament
look really great
i have one bigger
I hope your interface is not that big for player
during events
its not.
I would do a tournament with unreal tournament weapons
i remember talking about it with you
I'm shit with map design
Plz make ctf_face
Oh okayy i misunderstood
i have a bigger map 5k x 5k
but idk if to even show it
Wtf
i could be taken down by nintendo 
LMAOOO
nah its fine
Tier list of worst moment with MER
- 2000 Primitives
- 5000 Primitives
- 8000 Primitives
- 8000 Primitives + Packed prefab
- 8000 Primitives + Packed prefab + Inside the prefab editor
i don't use MER
mer is for weaks
have you ever heard of the "a couple cubes" schematic?
No i dont think so 
its peak
Me when i spawn 100 * RoomCount * DoorCount coin
trust
hello guy i talk to every now and then
its totally not like over a million primitives shaped in a form of a cube
fake
Omg i have a pic
lmao
me when spawning 15000 primitives for making minecraft world
i tried benchmarking with that shape on meow
lets be honest
its not possible
POV : The computer model in the EZ
it shitted itself the algo for optimizing everything
on unity it took an hour to just compile and optimize it
wsp
Lmao
dont try
Catatttt
plugins-dev-cat
Anyway gn
Good day
Gn
Have fun with plugin dev cus I will break it
Horible
More alcohol ig
Jervos alcohol
1 vodka, 3 pálinka, 3 tatra tea, 6 jager
LabAPI 2.0.0 breaking changes :
Never
me when LabAPI breaking changes will look like an Exiled update lmao
I am not gonna keep Cassie obselete in labapi
Major update so make sense
Thatjust wasze of space
the lighting of that pic was just 1 light I made that was insanely bright to illuminate the entire room 
I'm sure if you actually took some time you could light up the room a lot better
That's one hell of a nightmare
Built in sprites would be nice... images, not very fun
How to check if a player has a body?
Speaking head emoji
I mean most players I know have a body of some kind.
Hard to play games without some sort of physical form 
Jokes aside, I think you try to check if their RoleBase has a iFpcRole (First Person Controlled role) interface
Something like if (player.RoleBase is IFpcRole)
public static void OnUsingItemCompleted(PlayerItemUsageEffectsApplyingEventArgs ev)
{
if (ev.UsableItem.Base is Scp330Bag bag)
{
CandyKindID candy = bag.Candies[bag.SelectedCandyId];
}
}
why this complicated lol
thanks nw
the thing is does it work with pink too?
because i don't think so
I think you can also use the Scp330Item wrapper instead of Scp330Bag to avoid needing the base class
But you still have to access the candy through its index which is annoying
ngl i will pr this shit lol
if it works
WAIT WHAT
pink candy doesn't trigger using too?
You're kidding
No im not
ngl if it doesn't and i need to transpail
to fix it
im gonna die
Music at the perfect time lol
The caretaker showing up on my playlist rn shows my nightmares
Is there another event for pink candy at least?
the event doesn't register wat
oh im stupid
i forgot to put a dependency
My bad
[2026-02-12 09:44:56.500 +01:00] [ERROR] [LabApi] 'ArgumentOutOfRangeException' occurred while invoking 'OnPlayerUsingItem' on 'PluginForTrueJudgment.EventsHandler.CandyEvents': 'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index', stack trace:
at System.Collections.Generic.List1[T].get_Item (System.Int32 index) [0x00009] in <13c0c460649d4ce49f991e2c222fa635>:0 at PluginForTrueJudgment.EventsHandler.CandyEvents.OnPlayerUsingItem (LabApi.Events.Arguments.PlayerEvents.PlayerUsingItemEventArgs ev) [0x00031] in <04eccae381134640901ae39ef8519589>:0 at LabApi.Events.EventManager.InvokeEvent[TEventArgs] (LabApi.Events.LabEventHandler1[TEventArgs] eventHandler, TEventArgs args) [0x0001d] in <9e8e00107de94d4f8ea9fc96c93d382f>:0
ig no
Yeah, SelectedIndex returns -1 if you access it at the wrong time
lovely
OnUsingItem the player didn't do the candy
lol
im gonna test the other one
else its time to transpile
Ok the other one works
GG nw
330 really needs to be rewritten
true
Assigning that to you
I can barely write code
Yeah, but I wouldn’t trust myself with writing any base game code
@restive turret i found a bug
Property (_Color) exceeds maximum allowed array size (2431014). Cap to (1048575).
ArgumentOutOfRangeException: Count must be in the range of 0 to 1048575.
Parameter name: count
at UnityEngine.Graphics.DrawMeshInstanced (UnityEngine.Mesh mesh, System.Int32 submeshIndex, UnityEngine.Material material, UnityEngine.Matrix4x4[] matrices, System.Int32 count, UnityEngine.MaterialPropertyBlock properties, UnityEngine.Rendering.ShadowCastingMode castShadows, System.Boolean receiveShadows, System.Int32 layer, UnityEngine.Camera camera, UnityEngine.Rendering.LightProbeUsage lightProbeUsage, UnityEngine.LightProbeProxyVolume lightProbeProxyVolume) [0x00000] in <00000000000000000000000000000000>:0
at DrawableLine.DrawableLinesManager.DrawMeshes () [0x00000] in <00000000000000000000000000000000>:0
The bug is I alive
if you spawn ONLY 1 million and 48 thousand and 576 line it's do not spawn them anymore and deleted all other
Bro what
let me spawn more line
That's unity
i want more
can someone help me in creating a private server in scp
i could have SPAWN MORE LINE
Create a line pool
the error is client sided
it's only some line @restive turret
bro i said you
it's restrict me to spawn only 1 million line
why can't i spawn more
Good
I aint see any restrictions in client side so it must be unity so 
it's an Array restiction
from NW
:3
Property (_Color) exceeds maximum allowed array size (2431014). Cap to (1048575).
it's cap to only 1048575
i need more line :3
InteractableToy toy = InteractableToy.Create(player.Position, Quaternion.identity);
toy.Scale = new Vector3(10, 10, 10);
toy.Base.InteractionDuration = 0.1f;
Why doesn't this work lol?
slime boy
Cant see any rest in the code , send it where you see it and not in unity asm
WHAT
Why everyone going here at the exact same time I have to go to uni
um
Idk
idk im just lurking
Not even an event
i do the command for spawning it
nothing happens when i click
i don't have exiled
i dont think they use exiled...
i tried 10 but nothing
buddy gave the same advice that was given 4 minutes ago lol
and be sure NetworkIsLocked false
ig that is the problem maybe?
Interacted is called only if the duration is 0
Search events are called when it's > 0
you can't interact from inside of it
idk it's said cap
@restive turret more seryously i don't mind for the line limit
but i got spam this message when sending an Vector3.NaN
Look rotation viewing vector is zero
Setting artificial line limit to 2
Ofc since none isnt a number
*NaN
yeah
Tbh I through it even DC you
actually not
Vector3.NaN
work really great to send only one message and having two line disconnected from a single message
Well there is a suggestion for it so
that the only Collider i was making line About
only that
oh no
that not only that
yeah
that the good one
Only 9208 Colliders
with all the line needed to show BoxCollider / SphereCollider / CapsuleCollider and the little MeshCollider
@unique crane do you know why all line disapear when max is hit ?
But I guess it throws exception so the instanced drawing isnt called?
YOU
You
slime....
can i have sl source code thanks bestie
Yes
hello!!!
That a part of it
No :3
ill ask hubert then :c
You one step closer
he'd surely never deny me my rights
Your what
Copyleft
No that only preinstance list
You can definitely have more than 550
I thinks what happen it's should prevent to add when array is at the limit
hes saying its not expected behaviour to go above it
I said expect
if (array.Count >= 1048575)
return;
not restrict
Yeah but can you restrict it to this value ?
Where did you even get that random number
@unique crane
If it's get above no more line are spawned
"The 2^20 array size is the limitation of the Unity-side internal buffer that’s used for storing the data."
But can we prevent to get above this value right ?
Yeah
Dont spawn 1 million lines
I need it to render every collision in the came
Then render only closest ones
Sorry thats not happening then
Also we can't know the one that are no more number that the one that are still render
Yknow what I limiting you to 550
Nooooooo
Lol
Also there is VisualizeColliders command?
It's only render box collider
Neither capsule or cylinder
Or mesh
Yeah but their no mesh primitive to show us
We need to fix Keycard collision
@unique crane what do you thinks :3
You forgot about client items interpolation
thats what cuases that
most likely
makes sense if it flies through space
It's spawned like that
Yeah I think thats close enough for player use
But item are precise to the quaternion when spawned
So are you sure it's not just the collision ?
You can pick-up through a wall
if you aim at the corners where collision "doesnt exists"
Remember that your drawing server collisions
that they are slightly off on server doesnt mean they are wrong on the client
Yeah
did you ever got told on how to do this ?
i know fade effect had a glitch and the weapon would still be visible but its patched
Unity moment number #842157845514
DoorPermissionFlags.All caused inspector to break as it had ushort.maxValue
guh
How to make a player invisible to the living and visible to spectators?
Like in Exiled. fpcRole.IsInvisibleFor.Add
check how exiled does it then
Fake role, I guess
it fakes the position iirc
you could fake their position with a patch
thats what exiled does
PlayerValidatedVisibilityEventArgs
np
@slender lynx lmao
what
is zero with you or all AM plp
its just me and friends
nobody from am
Here I’ll join
In the OnShot event how can I get the the Raycast which the gun used?
camt
Might be able to use PlacedBullethole or whatever its called
Ah
its in the backlog
Yeah I guess I need to wait until 15.0
or more

backlog doesnt mean it gets added it has to be approved by david / beryl
someone then we have to start working on it
Afaik not possible
Well hum how did the guy did it ?
so isn't LabAPI gonna change the Cassie wrapper to a different name cuz of the conflict w base game or something?
I'm just curious
Either using the glitch or the primitives were large enough to cover the original model
I assumed the former because it looks rather slim
It was changed to announcer cassie still exists for backwards compatibility
ye just double checking
I wonder if we can choose which materials are affected by fade effect to recreate the glitch
I mean I'd hope we could get something like that I hate that we can't do stuff like that now that the glitch is patched
I mean you can see there are no fingers on the gun in the model and that's what largely led me to believe they used a glitch to get it working, but now that the glitch is patched pretty sure we're cooked
annoying :(
im gonna try to look around the effect class
Go for it but I don't think you'll be able to replicate the glitch with base-game functionality
The only avenue I can think of is setting the player's fade to 255 and replicating item models, likely using actual pickups
Not sure it's possible to spawn in an item world model without a player
fade 255 make the weapon grip smaller for some reasons
so sadly messes up bone placement
Oh that's right the fade fucks with the actual size of items iirc
That's wild
Guh
my best advice for the items is to just spawn a locked pickup with 0 gravity and move it every tick or something
i tried and i got bad results
If a player is invisible, can you make them still able to be hit by bullets
Wait what am I saying they are by default
Ignore me
Just make the player invisible using ValidatedVisibility and recreate item models
That has the disadvantage of no player display info though
But it's probably the closest you'll get
unfortunately I dont know any method to hide a player while still keeping their item out because the item is parented to the player so anything that should make them invisible would just make them go to (0,0,0) client side, and fade shrinks items
This is a NW moment for sure
"recreate the item models" 💀
Yeah you spawn an item and put it where the model should be
They're not going to exist otherwise lmao
^
^
Yeah I saw that and ignored it because there are no other options

Either you deal with recreating the item models or you don't do it at all
@soft depot does exiled has ressources on material names ?
i doubt so but worth asking before i try logging
wdym by material names?
like the naming of materials in the game 
so as a heads up, you cant use custom textures or anything in game so that's just never gonna work
nah dw abt that
if you need the textures though you can probably find them in the MER discord as people asset rip SL pretty often to get models of stuff
You could do basic textures with TextToys but it's laggy
This thing
it would be funny as hell though to use textures for that
only issue is that the models have bends n stuff
2 days
Northwood hates us though so it's not gonna happen 
?
Valentines
you could probably get the textures though and render them with text toys, like I said, only problem is the non-cubic geometry
ohhh
Lmao
yea you can probably tell how excited I am 
Yes it renamed to Announcer instead of Cassie (cus I wanna expand on it)
Conflict with base game
I'm a happy girl
And ye basegame conflict , will be removed at some point
Of what

Being together w my gf

Oh Oki
Ya
Can we get some more steamhappy in the chat

(david doesn't understand it cuz he's one of us lonely nerds
)
No more steam happy, only 
damn...
Same 
just get a boyfriend instead
Who said I don't have anyone
me
Based
Be a gf then
Well you might be wrong
That was what I was intending
Me wrong?

never
If I had a strong relationship atm I wouldn't be trolling these forums and complaining about the whims of Northwood
On daily basis*
Lmao
Nono
I'd have better things to do with my time just full honesty
I'd have better things to do if I wasn't stoopid
Aha
But tbf in the future ill hopefully do more than just sit at my pc
Shrimp
Why else would I be so embroiled with the SL community I mean really, I'm not a sadist I'm just bored
You should become a shrimp
No you
Yes
Eeeepy david
That's you
Me?
Yes!
I would never
Is SpeakerToy reverb variable still planned?
@restive turret you're the slime man right, what's the deal w/ that
Wanna know if it's been tracked or not or if I should make a suggestion
Uh its imported so it will be looked into it
Sick
I remember seeing it
Well here is hoping
after trying like 20 patches ( 💀 ) we cannot prevent materials from fading$
we can get which are fading but it does even include the weapon model itself
RIP on this one
F
Called it
They had no reason to client-sync that
It's preventing the material from fading on the server but the client doesn't recognize it
Well the fading should work with weapons to if you think about it
Tho idk why shrinking it, probably cus doesn't have a fading stuff for it so it gets smaller
Fading used to leave weapons visible
Idk if thats intended or not so
It's not, that's why the shrinking was added
can i just run async function by this?```Task.Run(async () => await AsyncFunc()); private async Task AsyncFunc(){
MEC.Timing.CallDelayed(0,()=> {
Processing.player?.SendConsoleMessage($"something", "yellow");
Hub = DummyUtils.SpawnDummy();
});
}
Speaking head emoji
Toløo
No
You can't interact with unity from another thread
Actually because of the Coroutine it might work
But why are you doing it like this
Have a look at Awaitables
You're running a coroutine inside an async 😭
You're literally doing all the processing inside a coroutine
What's the point of the async if you're executing all the logic on the main thread anyways with MEC.Timing
^
Don't use a coroutine in an async function
use UnityWebRequest D:
also convent a audio to ogg
Yes
stuck thread too
You can use Awaitables with that
?
Probably downloading a file from the web, getting .ogg audio from it, and playing it
download a audio convent to sl playable
No need to convert to .ogg though
Exactly
48000khz
.ogg is not the only audio type SL supports
I use .mp3 myself
You can use any format, just gotta be able to read it
WHAT
This is because I'm lazy
unity only added mp3 in like 2021
48000 Hz = 48 kHz
after the patent expired
You have it wrong
I use an external library to process .mp3 files
There are external libraries to support everything
Worrying about file type is stupid
so i have to start a thread to process this
no it was aiff
Yes but don't run a coroutine in there
Again, use Awaitables
Unity has an AudioClipDownloadHandler that you can use to get an audio clip, though you might need to resample and downmix
but, unity converts flac and aiff to pcm or vorbis anyway
since they only support pcm/adpcm/vorbis/mp3 at runtime
i think run a coroutine can redirect codes to unity thread
Yes it can
But why would you do that
You're trying to run off of the main thread
Yes but in an async context, you might as well Awaitable.MaimThreadAsync
Create a task and use it to await a download, don't use a coroutine inside a task
start a thread->(thread) download convent->run coroutine ->(unity)play audio
I'm still so happy with the cleanup I did on HttpQuery
Correct me if I'm wrong here, but doesn't this work:
private async Task DoWork()
{
var result = await Task.Run(() =>
{
return HeavyProcessing();
});
// ... Other stuff below now runs on main thread
}
What the jelly
no
Idk I don't use tasks
well not 100% sure
but
unity does weird stuff to force tasks to run on main thread
Awaitable.BackgroundThreadAsync
Network request
Awaitable.MainThreadAsync
so they dont have to deal with people calling their apis from other places
Got it
the main reason is NeteaseAPI.ConvertToOggMono48kHz(p, pn); is sync
and takes a long time
So probably something like
private async Task ProcessSongAsync(long songId)
{
await Awaitable.BackgroundThreadAsync();
var data = DownloadSong(songId);
var processed = ConvertAudio(data);
await Awaitable.MainThreadAsync();
PlayAudio(processed);
}
If I'm not mistaken
yes
I'm saying don't use coroutines to run on main thread
Stop that
Also Timing.CallDelayed(0, action) causes a one-frame delay, it's not instant
What the helly
Yk atp why not use ffmpeg
MainThreadAsync also does that 
So it's not different in this manner
I wanted to point it out cause it appears they're trying to use it to run code instantly
No
Do this
I've literally never used tasks before it's cool my crude attempt actually makes sense
👌
Btw why do you delete songs
Wouldn't it make sense to cache them instead?
ConvertToOggMono48kHz(p, pn); makes a copy(p copy to pb)
Oh aight
What is song info about
It's a long
idk because it download from 网易云(like Spotify)
a song's identify
Right but how are you determining it
Is it that people get the Id from 网易云, then you query it
player input(command)
because i want to players know the song name(DummyHub.ReferenceHub.nicknameSync.Network_myNickSync =$"playing - {name}")
Oh cool that's an interesting way of doing it
I have one idea you might want to look into
You currently download and convert the whole file at once
E.g. download everything -> decode everything -> create clip -> play
You could download and convert the file in chunks
E.g. download first chunk -> decode first chunk -> add to buffer -> play while the process repeats
Would make your system much more responsive
hmm
diffcult for me
Run the playing on the main thread, using a buffer, and then handle downloading/processing in the async
Fair enough
I'll solve network audio once and for all
you should avoid task at all cost
unity doesn't like them lol
so how to start Awaitable
you try not to use them
or if you really need to use a class that then can bring it back on the main thread without risking everything to break
hmm
using System;
using System.Collections.Generic;
using UnityEngine;
using Logger = LabApi.Features.Console.Logger;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable SA1600
public class MainThreadDispatcher : MonoBehaviour
{
/// <summary>
/// Actions in queue.
/// </summary>
private static readonly Queue<Action> Actions = [];
/// <summary>
/// Gets instance of the Dispatcher.
/// </summary>
public static MainThreadDispatcher? Instance { get; private set; } = null;
public static void Initialize()
{
if (Instance != null)
{
return;
}
GameObject gameObject = new GameObject($"Twitch MainThreadDispatcher")
{
hideFlags = HideFlags.HideAndDontSave,
};
DontDestroyOnLoad(gameObject);
gameObject.AddComponent<MainThreadDispatcher>();
}
/// <summary>
/// Enqueues a new action.
/// </summary>
/// <param name="action">the action to do.</param>
public static void Enqueue(Action action)
{
lock (Actions)
{
Actions.Enqueue(action);
}
}
private void Awake()
{
if (Instance != null && Instance != this)
{
Destroy(gameObject);
return;
}
Instance = this;
Logger.Info($"Spawned \"{gameObject.name}\"");
}
private void Update()
{
lock (Actions)
{
while (Actions.Count > 0)
{
Actions.Dequeue()?.Invoke();
}
}
}
}
I've used something like this to do Twitch actions
When doing actions that required stuff from the main thread to be done outside of the thread of unity
No thats not what this does
like computer work with threads, and they usually can't communicate especially on unity they shit really fast if you try to do stuff like this so this exist
you can safely now do stuff like idk, but i would reccomend if you are doing audio stuff
to just use Axwabo library
to play the audio
@upper vapor what library lol
but for getting the music you need a stream / something to play it
.
maybe do a cache system
???
Just call the method
Task can kill the thread
Awaitables won't
btw this is the way to know id https://music.163.com/#/song?id=3342981041
What files do they serve? Mp3?
@upper vapor@celest thorn@slate flumeworking now
Nice
that is def not Korean my guy
m4a
i dont know because im chinese
im tired asf
Ah
What i mean is like the website is a chinese version of soundcloud?
Zero does not know how to distinguish between Asian languages
this website
Bro im sleepy asf
✅
hope its not as bad as soundcloud lol
thats crazy you use the microsoft edge
hmm
first encounter in my life ngl
my life depends on Microsoft
at least its not chrome
helium tho 👀
Tbf, I used to use Edge on my crappy 2008 PC because its actually one of the browser apps that use the least amount of RAM
i just use firefox
runs good
on a pc that sucks so much cannot even run anything aside from docker
I use edge :(
i use it for storage
Yeah, now I use Firefox because I have more than 4 GB of DDR2 RAM
Im sorry to hear your lost
"We will protect your privacy, and that's a promise!"
honestly idc about the entire privacy thing, its so a far fetched promise that i know its impossible they just need some small stuff on your browser request to make an identifier for you
so its impossible
and tbh i still do wonder why i receive cat videos and cat food when im allergic to cats and i hate those bastards
the only good advertisement i receive was for a small game that was actually really good
but thats it
They flat out removed the statement
How are you supposed to trust them
Yea brave did the same thing
so am i surprised?
no
and anywhere in the world you will have this problem
at this point its a concept so complex
im not surprised
It's time to switch to Ladybird
I mean you are not forced to 🙏
This guys are crazy
Real
There's another project like this, Servo iirc
i wouldn't even know where to start
By reconsidering your decisions in life
I have chrome and firefox installed but i dont use them
Why?
Microslop fanboy
Useless space ngl
You like copilot?
I dont use copilot
I like another AI agent that will spy on my data and anaylize it to use it for their next model
please give me some more waiter
WebMCP is coming
I also have chrome just to grab one dll
We're so cooked
Waiter waiter leak my api keys
btw funniest shit and i still do wonder the overlords of instagram reels (META) who they have my own bio data and shit because of my vr have thought it was a smart idea to advertise to me "FEET TRACKERS for VRCHAT" HELLO????? i don't play VRCHAT i have a VR BUT NOT VRCHAT
and even MY FRIEND GOT RECCOMENDED THAT
I got that exact thing but on youtube
like WHAT
lol
Who tf is buying feet trackers
like goddamit
🇬 🇦 🇾
Apparently you
IM NOT BUYING THAT SHIT
and they wouldn't even fit
lol
100%
i would need an american size
Saying that while you currently wearing it, insane
true im wearing 20 pairs rn
i do wonder who bought them
like i wanna interview them
and ask them what brings you so low in life, that you need a feet tracker in vr
probably the same road that makes you become a developer on a game called SCP: Secret laboratory
but that is the good ending compared to that
there is a new slime tracker with toe tracking tho
i think it was made by them
This is what i saw
yes it was that
Who says I'm gay
this community can be expressed with
Kids
and gay people
and 1% of people that just play for enjoy
:fearful:
tf2
game
DOOR STUCK
Hey so how do I actually check if a person is holding down the shoot button when holding a revolver
Good wuestion
doubleActionModule._triggerPull.IsPulling || !doubleActionModule._serverShotCooldown.Ready doesn't work because it registers as false before the player can shoot again
Which also means that doubleActionModule.TimeBetweenShots isn't a reliable metric
Because that's what _serverShotCooldown uses
What if the value is only synced when shootin
Wdym
The problem is that this returns false like .1 seconds before the player can shoot again
I'll have a look when this stupid class ends
oh yea that reminded me, any idea why 015 projectile refused to spawn in a coroutine?
This provides 0 context
Could be 15 billion different reasons
- Where are you running this coroutine?
- Do the LocalAdminLogs show any issues?
- Is this consistent behaviour or is it intermittent?
- Show code
015 
OH LMAO
took me a second to realize it was the wrong number
yea just lemmie spawn a fuck ton of pipes and throw it
Mundian to Bach Ke should have a metal pipe falling version
Is there a way to speed up console output
If I log something every frame, the console falls behind
Which is lame and stupid
Not really
You're pretty much confined to your terminals speed
Oh so it's a command prompt thing?
No :)
Might be LA though
Skill issue
Tell game studios to add better Linux support
Can't play games like R6 on Linux
True but
You can just pay games that don't have kernel-level AC

I'm sorry I want to play a game with friends
Sue me
^
Gay ming
Lame excuse, you could dual boot and have your Linux system be bricked by a windows update
anyways back to the point, I was running a Timing.CallDelayed which used TimedGrenadeProjectile.SpawnActive from a Thrown event if I remember correctly, I don't think I saw any errors but would have to check again

See the thing is the phenomenon you're describing isn't happening to any of us
You have to get into specifics, you can't be vague
Show logs, code, all that
Haha Ubisoft and support
Cucumber soft
could when I get home but not rn
commercial acs support Linux fine, devs refuse to tho
All I can think of when it comes to WebMCP is that stealer developers are just gonna find a way to use them to steal cookies and passwords
Puhauborka
Xd
We love prompot injection
Skill issue because of a html comment
Exactly
Not even prompt injection, the stealer can implement the MCP protocol, and make the browser use it
Again it's the game that's the issue
Devs & publishers usually
There's no kernel acs for Linux, all acs that work on Windows that are kernel, are userspace on Linux
then again no sane Linux user will taint their kernel with a kernel ac
✅
tainting it with ZFS modules is better
just one more module
My totally legit
Out of tree I run the v4l2loopback module and zfs
BallsAntiCheeseKernelModule
Because stupidly there is no way to register new v4l2 devices without modifying the kernel
oh boy I love having issues that none else is having
That's usually plugin development
AllIssues.RandomItem()
-# (More often than not, it's a skill issue)
very likely
can't say I know how slow it is, I use wezterm 
Even on some poor devices it doesn't open that slowly for me
Its not slow for me
It's not about it opening slowly
It's about the massive lag with outputs
If you output a variable every frame, it doesn't log fast enough to keep it up-to-date
It lags behind
Then you haven't abused it hard enough
That's probably a renderer thing
Also outputting something every frame is quite niche that most people will absolutely not need
It's not like you can read everything it outputs anyway
It's something I need
Like right now
I'm outputting a boolean value every frame
It's easy to read
If it was then the timestamps wouldn't have gaps, no?
Make your own window
Windows terminal doesn't have built in timestamps that's not even it's fault lmao
Would be funny if the timestamp was captured at the time of printing the line
It shows that it's taking considerable time to output
That's my point
Doesn't matter what the issue is, the issue is there
localadmin HATES this one trick, learn it today
the bottleneck is something else, openconsole (the thing that terminal is using in the background) is quite capable
Okay
Still slow
Idk what your point is
But it's not windows terminal
It is
I'm using Windows Terminal and it's being slow
Diagnosis: Windows Terminal = slow
Idgaf what part of it is being slow, it's being slow
Windows terminal isn't gonna block the console output for that long
Congrats on your sample size of 1
Except I see similar complaints when I look up similar issues
I found a bunch of forums talking about these kinds of issues in my search
The stack overflow post seems to talk about the windows standard library printf blocking the thread lmao
That's not a windows terminal thing that's just windows itself
As you should
I'm saying what I'm using is currently incredibly slow and what I'm using is windows
I'm complaining that windows is being slow
openconsole is capable of handling that amount of output which is displayed by wsl2 being fast
I was gonna say use WSL but
okay man I know nothing about it
Idk what point you want to make here
I'll take your word for it
Why do you feel the need to nitpick my complaints about Windows being slow
I never claimed to be an expert, I'm just an unhappy consumer
Funny innit
Bri'ish
Also that the terminal app itself is capable and it's just windows being shit
Idek what WSL2 is, I just write code
I've never had to concern myself this much with terminal shenanigans
WSL2 is a type 1 hypervisor
It just allows you to run Linux on windows
With like gpu access and somewhat direct hardware access
Sick
You're still suffering the terminal output of windows
Even if the Linux vm is running blazingly fast
WSL2 bypasses the slow printf function according to that stackoverflow post
Hmm
Ig it's worth doing that then
@slate flume you could make a script that copies the plugin into the WSL config when you build your project
Interesting
Hey look an email I can't read
It's literally like 3-4 frames but that's not acceptable
Doing similar things with AutomaticActionModule doesn't have this issue
@hearty shard
Is this a bug or am I missing something?
wtf did you order
I bought an avatar a few weeks ago, they were doing some sort of promotion and I earned some reward points or something
wait wdym by avatar but still nice
Booth's an online marketplace that sells avatars or cosmetics for games like vrchat or vtuber software
I knew about some other things you can buy there, didn't know about that stuff
Idk
3-4 frame seems valid to can't shoot
It's not about "can't shoot"
It's the server saying the client can shoot while it can't
If you hold down M1 with AutomaticActionModule or DisruptorActionModule, it registers true while you do so (except if you're dry firing)
This is because you're sending a shoot command to the server every frame you hold M1 when it's valid
I got to DoubleActionModule (revolvers) and noticed that if you hold M1, there's a short period of time where the game says the trigger isn't pulling, and the cooldown isn't triggered, but the client still doesn't send a shoot packet until 3-4+ frames (I've seen it up to like 6-7 too), which means there's a period of time where for around .1 seconds, the server is able to accept a shooting packet, but the client doesn't send it
Why is this happening
I can only assume it's a bug with the game
My guess is that _basePostShotCooldown is improperly serialized, and that the actual revolver animation takes longer than that cooldown
Which would be a bug, no?
Idk?
can you check if the trigger pull is visible while you're spectatinng someonne>?
ServerProcessCmd should handle StartPulling properly
check _serverPullTokenUsed
I'll log that and the IsPulling + Ready
What if you log both? And not with OR
Log IsPulling and Ready separately?
Sure
[2026-02-13 03:21:28.179 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.194 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.210 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.226 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.242 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.261 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.275 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.290 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.320 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.335 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.350 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.368 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.381 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.396 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.413 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.429 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.444 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.480 -06:00] [INFO] [SodaPlugin] False | False | True
[2026-02-13 03:21:28.491 -06:00] [INFO] [SodaPlugin] False | False | True
[2026-02-13 03:21:28.506 -06:00] [INFO] [SodaPlugin] False | False | True
[2026-02-13 03:21:28.521 -06:00] [INFO] [SodaPlugin] False | False | True
[2026-02-13 03:21:28.536 -06:00] [INFO] [SodaPlugin] False | False | True
[2026-02-13 03:21:28.552 -06:00] [INFO] [SodaPlugin] False | True | False
[2026-02-13 03:21:28.568 -06:00] [INFO] [SodaPlugin] False | True | False
Huh interesting
When i pull from git
And then there's that short delay between pulling the trigger and firing if the gun's not cocked beforehand
I cut out some of the LabAPI stuff to log faster and notice that occasionally, in between shots it's 3 False
[2026-02-13 03:29:24.943 -06:00] False | True | False
[2026-02-13 03:29:24.958 -06:00] False | True | False
[2026-02-13 03:29:24.977 -06:00] False | True | False
[2026-02-13 03:29:24.993 -06:00] False | True | False
[2026-02-13 03:29:25.006 -06:00] False | True | False
[2026-02-13 03:29:25.024 -06:00] False | True | False
[2026-02-13 03:29:25.038 -06:00] False | True | False
[2026-02-13 03:29:25.068 -06:00] False | True | False
[2026-02-13 03:29:25.087 -06:00] False | True | False
[2026-02-13 03:29:25.114 -06:00] False | True | False
[2026-02-13 03:29:25.130 -06:00] False | True | False
[2026-02-13 03:29:25.145 -06:00] False | True | False
[2026-02-13 03:29:25.162 -06:00] False | False | False
[2026-02-13 03:29:25.176 -06:00] False | False | True
[2026-02-13 03:29:25.195 -06:00] False | False | True
[2026-02-13 03:29:25.209 -06:00] False | False | True
[2026-02-13 03:29:25.225 -06:00] False | False | True
[2026-02-13 03:29:25.239 -06:00] False | False | True
[2026-02-13 03:29:25.255 -06:00] False | True | False
IsPulled is always false, no way that's not fully client-sided
But _serverPullTokenUsed is of importantance
Makes much more sense now
Can I say that I hate the way Revolver is coded
It sucks
PlayerSpawningEventArgs
How can i change the role they are gonna be?
because if i do use the Set it throws an error
[2026-02-13 10:37:41.411 +01:00] [ERROR] [LabApi] 'NullReferenceException' occurred while invoking 'OnRoleSetCoupon' on 'plugin.Handlers.ServerHandler': 'Object reference not set to an instance of an object', stack trace:
at InventorySystem.Searching.SearchCoordinator.RoleChanged (ReferenceHub userHub, PlayerRoles.PlayerRoleBase prevRole, PlayerRoles.PlayerRoleBase newRole) [0x00024] in <332b3633824a437197df9bab18f671d8>:0
at (wrapper delegate-invoke) <Module>.invoke_void_ReferenceHub_PlayerRoleBase_PlayerRoleBase(ReferenceHub,PlayerRoles.PlayerRoleBase,PlayerRoles.PlayerRoleBase)
at (wrapper dynamic-method) PlayerRoles.PlayerRoleManager.PlayerRoles.PlayerRoleManager.InitializeNewRole_Patch0(PlayerRoles.PlayerRoleManager,PlayerRoles.RoleTypeId,PlayerRoles.RoleChangeReason,PlayerRoles.RoleSpawnFlags,Mirror.NetworkReader)
at PlayerRoles.PlayerRoleManager.ServerSetRole (PlayerRoles.RoleTypeId newRole, PlayerRoles.RoleChangeReason reason, PlayerRoles.RoleSpawnFlags spawnFlags, System.Action`1[T] beforeSendAction) [0x00075] in <332b3633824a437197df9bab18f671d8>:0
Use PlayerChangingRole and check for UseSpawnpoint flag
Spawning/Spawned is just PlayerChanging/Changed except a little later and it only happens if UseSpawnpoint flag is active
This is evidenced by a couple facts
- Instead of giving you RoleTypeId, they give you PlayerRoleBase, meaning the player's role has already been determined
so its a bit complicated
but i can do that
It happens in SetPosition, meaning all that happens is that you stop a player from being teleported, not from changing role
What can I do to make sure this 3 False case doesn't happen?
It's not an issue with any other firearm
My only thought is delaying everything by one frame and adding manual revolver handling, but that's lame



