#plugins-dev-chat

1 messages · Page 131 of 1

celest thorn
#

please

royal mica
#

/kill @celest thorn

restive turret
#

You Don’t Have Permission to Use this Command

#

@upper vapor

upper vapor
#

:'3

glad pagoda
#

@unique cranebtw you getting payday SaaS? kek

unique crane
#

n o p

#

When they said Payday 2 update

#

I didnt expect to be another inverse payday

icy knoll
royal mica
#

I mean they have 200$ worth of DLCs

#

it's 3.99$ a month no?

unique crane
#

Inverse payday

glad pagoda
unique crane
#

I just have the dlcs I need

#

and the heists

glad pagoda
#

i got a humblebundle and a few more iirc

#

you can see the cutoff lol

unique crane
#

And we do usual rotation of
No Mercy, Big Oil, Normal Bank, Big Bank and others

#

Safe House

glad pagoda
#

afair the new DLCs are not great other than heists too

restive turret
#

Maybe the heists are good

#

Others no

glad pagoda
#

and heists you technically can get for free if you have a friend with all unlocked kek

restive turret
glad pagoda
#

@unique cranelike a week ago I did stealth of FWB

#

i did the whole heist

restive turret
#

Alone?

glad pagoda
#

was waiting on the npc to open the escape door

#

and

#

i got 2 guards cornering me from both sides

unique crane
#

Gustavo cooking the most fire soundtrack btw

#

Extracted from game files. Flint & Steel

Channel Members shoutout for the supporting channel
@Mikacakey

Phases
0:00 Stealth 1 Intro
0:06 Stealth 1
2:03 Stealth 2 Intro
2:06 Stealth 2
3:38 Stealth 3 Intro
3:41 Stealth 3
5:35 Stealth 4 Intro
5:39 Stealth 4
7:56 Stealth 5 Intro
8:00 Stealth 5
10:46 Control
11:42 Anticipation
12:17 Assault Intro
...

▶ Play video
glad pagoda
restive turret
#

Nice

glad pagoda
#

the NPC there is so annoyingly slow

#

she takes like

#

half a minute to open the door

unique crane
#

PD3 FWB is kinda good ngl

restive turret
#

Oh fwb ye

#

Not big bank

unique crane
#

Like it a bit more than PD2 one

glad pagoda
#

they did fwb again in 3?

unique crane
#

Ye

restive turret
#

Ye

glad pagoda
restive turret
#

ThirdWorldBank

glad pagoda
#

on stealth

unique crane
glad pagoda
#

I always died past the first phase after getting through the lasers

unique crane
#

First world bank

#

Second world bank

#

Third world bank

#

Big bank is only doable on loud with the bus escape

#

Other escapes sucks

restive turret
#

We had a team long ago, we had fun there, stealth and loud

restive turret
glad pagoda
#

oh i was once doing it loud

#

with bus escape

#

and

#

i got killed through a wall there xD

#

that stage has a lof of broken floors and walls

unique crane
#

Petris did NOT expect that one

glad pagoda
#

that enemies can see and shoot through

#

a few stealth attempts I had failed cause guards saw me on the roof

unique crane
#

oh I though you got hit by the bus XD

glad pagoda
#

not the windows

unique crane
#

The humblous snipers on big bank roof

restive turret
#

Oh the auction house was bad to do loud

#

Dozers everywhere

glad pagoda
#

action house is super chill stealth

glad pagoda
#

ladders

#

FUCK LADDERS

#

i always fall off of them in solo stealth

#

i need to get a mod for bots reviving in stealth or sth

restive turret
#

We usually restarted until we had the light switch up

#

And the blowtorch too

#

My ass not gonna go down in stairs

glad pagoda
#

light switch and blowtorch are fine downstairs

#

the camera thingies are wayyy worse there

#

uhh not camera

#

code

#

when they are in the main room

#

where you have npc everywhere

#

I always just killed 3 guards upstairs and camera guy

#

to have free roam

restive turret
#

One time we moved all bags out

#

Took like 1.5h

glad pagoda
#

i always do all bags there

#

in stealth

celest thorn
#

the spaces god if im hating it

restive turret
#

Add one more space before players

celest thorn
#

idk why it does this like scale

#

but as soon as i get this fixed i can go and finally die

#

i just hope paws answers or idk i get the illumination from god

restive turret
#

🔥

celest thorn
#

just hope and prayers

royal mica
#

if we could have positional hint system ReallyInnocent

celest thorn
#

God i pray that day

#

like hints are a pain

grand flower
#

If we could just make UI on the client

royal mica
#

imagine parallax UI system where you can have borderlands style or other style of UI elements

#

replacing the health UI with custom one Kreygasm

grand flower
#

make your own game atp

celest thorn
#

please :3

upper vapor
royal mica
grand flower
#

¯_(ツ)_/¯

mild walrus
#

what is the event for ground processed items in 914?

restive turret
#

914 Pickup process

true cedar
#

again

#

the way i push things to the left/right edge is super finicky

celest thorn
#

ngl

#

too hard

true cedar
#

oh

safe robin
restive turret
#

@unique crane

safe robin
#

sea of thieves best game

restive turret
#

It's a good game

safe robin
#

deep rock galactic is a good game

warped prairie
restive turret
#

Lel

#

I like that game too

true cedar
#

meow

hearty shard
true cedar
pine parcel
#

can I overlay images as graphics like when players customize weapon loadouts as spectator?

grand flower
#

not really no

celest thorn
#

Hello chat

magic gate
#

Bye

restive turret
#

No

#

You will be forced to be here

restive turret
celest thorn
#

gm

restive turret
#

I'm in class rn

#

Do you wanna see what i study

upper vapor
storm bridge
celest thorn
#

i do wonder something with the new system can you like check if a player is spectating with an event or something

upper vapor
#

What

#

SyncedSpectatedNetIdMessage or smth has been a thing for ages
SpectatorRole.SyncSpectatedNetId prop

upper vapor
#

If that's what you mean

celest thorn
#

if a player can spectate

#

a player or another

upper vapor
#

Ok nvm

celest thorn
#

there's an event

#

because i need to do it dynamic for a player

upper vapor
#

Check every frame Smart

#

Or replace the handler for the network message

celest thorn
#

check every frame for what

#

and what i can do?

#

after i for example know thta

upper vapor
celest thorn
#

like i don't want a player to spectate another

upper vapor
#

Remove them from the spectatable list

celest thorn
upper vapor
#

Decompile and see how it works

celest thorn
upper vapor
#

Np

restive turret
storm bridge
restive turret
#

You don't believe i go to classes in uni

celest thorn
restive turret
celest thorn
#

idk if in other countires you say this but some people say here "you found your degree in a pack of potato chips"

agile tartan
#

How to make a Grenade explode instantly?

icy knoll
unique crane
#

ye

#

@celest thorn

#

Do you like real time strategies

celest thorn
unique crane
#

played this game called

celest thorn
#

i have civ

unique crane
#

Beyond all reason

#

its for free

#

yesterday with friends

#

and its absolute fire

celest thorn
#

let me check it out

#

my friend loves playing Real strategy games

unique crane
#

and its not that brain fucky

agile tartan
unique crane
#

like heart of iron or someting

unique crane
#

or to type checking

celest thorn
#

i cannot find it

#

on steam

unique crane
#

if(item is GrenadeItem grenade)

unique crane
celest thorn
unique crane
#

Beyond All Reason is the ultimate epic-scale RTS game for Windows and Linux. Command colossal armies in battles with thousands of units in fully simulated environments. Wage war across land, sea, and air with 2 factions and 400 unique units. Enjoy skirmishes, scenarios, co-op, and multiplayer matches. Play for FREE now!

celest thorn
#

Oh wait

#

its those games

#

nah

#

I thought like civ

unique crane
#

naw

celest thorn
#

because if it was like civ 100% hit

unique crane
#

its bomb them style game

agile tartan
upper vapor
agile tartan
upper vapor
#

also the item is not what you need

#

you need the thrown projectile

unique crane
#

Oh wait right

#

Yeah your checking item

#

You need the projectile

agile tartan
#

oh wait, i found TriggerTime in ProjectileSettings

#

thank you

royal mica
#
[2025-09-25 08:50:02.507 +00:00] [ERROR] [LabApi] [LOADER] Missing dependencies:
                                 -       LabApi v1.1.0.0

Thats a new one

royal mica
#

turns out accessing the plugin config during plugin constructor is not a good idea

#

woohoo time to refactor everything

royal mica
#

braindamage

upper vapor
#

did you just

#

Config!

royal mica
#

but /uj, I wanted to init the handlers based on config values

#

yes

upper vapor
upper vapor
royal mica
#

I mean I got the bug faster this way instead of slamming the deks WHY HANDLER HANDLERN'TING

unique crane
#

the last word sounds like something german

upper vapor
#

XDD

upper vapor
unique crane
#

HANDLERN'TING

grand flower
#

Hey david

unique crane
#

hai

upper vapor
#

-# when waypoint removal

grand flower
#

can northwood make it so unregistered network message ids on the client are just ignored

#

instead of disconnecting

unique crane
#

Thats mirror thingy

unique crane
grand flower
#

You can modify mirror mmLul

unique crane
#

we can

grand flower
#

yeah but also no idea whats sending the message

unique crane
#

but then we have to take care of it

upper vapor
#

with that NW might as well display a screen if the client gets soft disconnected

grand flower
#

I looked for network message types that match the id and found none

unique crane
#

whats the ID

#

we have tool for that

grand flower
upper vapor
grand flower
#

Player had this in Player.log

#

probably yeah

#

well

#

no

#

idk

#

mirror's just braindead for disconnecting the client for that

#

hate that piece of crap

upper vapor
#

you don't happen to send fake network messages before the client is authed, right?

grand flower
#

no

unique crane
upper vapor
#

bruh

grand flower
#

huh

upper vapor
#

BRUH

grand flower
#

why didnt it show up on my end

#

also the player is getting that message and disconnecting mid round and we never send that message

upper vapor
#

northwood make the round restart message not send to unauthed clients

grand flower
#

so like wtf

royal mica
grand flower
#

I know

#

Mirror could just log and ignore

royal mica
#

Oh and also happens when a client is force disconnected due to exploit prevention

grand flower
#

I get for exceptions

#

there was no exception this time

royal mica
#

I mean, it is a serious issue when you just loose random network clients

upper vapor
#

also who in the british land decided to add an o to the word diarrhea

royal mica
#

But I wholeheartadly agree that it is bullshit that the whole game just shit themself

grand flower
#

Sane engines (cough cough Unreal) just warn in logs and drop the message if it's an unknown packet type

#

But yeah idk why this one player has this issue

#

nobody else does

upper vapor
royal mica
#

Custom SCPSL client implementation dogkek

grand flower
#

yeah it's called making a new game from scratch

upper vapor
unique crane
#

and the round restart message gets to him in 2 minutes

#

XDD

#

mid round

grand flower
#

Well shit

#

still

unique crane
#

idk

#

it should dc you

grand flower
#

the network handler should be registered at that time so idk

unique crane
#

The round restart message should be normally handled yea

grand flower
#

Oh well, Mirror jank

#

Every day I thank my past self for switching from Unity

unique crane
#

does it happen on other servers for that player

grand flower
#

I'll ask later

#

i was supposed to sleep 4 hours ago but my job called me in for an emergency

upper vapor
grand flower
#

Still find it stupid that mirror drops for that

#

exception in handler fine, whatever

#

unknown message just warn and ignore ffs

royal mica
#
[2025-09-25 09:04:59.406 +00:00] [ERROR] [LabApi] System.MissingMethodException: Method not found: void UserSettings.ServerSpecific.SSKeybindSetting..ctor(System.Nullable`1<int>,string,UnityEngine.KeyCode,bool,bool,string)

bruh

#

then wtf is this

grand flower
#

okay nvm unreal nukes you if you send an unknown net control message

#

but that's not an RPC

#

thats lower level

#

ill check RPCs later

grand flower
#

and recompile your plugin

royal mica
#

I should have latest Thonk

unique crane
grand flower
#

^

#

another reason im going with Lua for my project

#

makes it way easier to keep stuff compatible during updates

upper vapor
celest thorn
#

for along time

#

and i just saw it

upper vapor
celest thorn
#

when i tried adding waypoint toys

upper vapor
#

labapi 0.5.0

celest thorn
#

i had labapi 1.0.2

upper vapor
royal mica
#

Ah, CollectionId was introduced

upper vapor
#

when your code doesn't work even after multiple tries
-# you commented it out a bit ago

upper vapor
#

also just use SecretAPI :3

royal mica
#

What is it used for*

royal mica
grand flower
#

Based

royal mica
#

I ain't waiting for updates, figuring out how other libraries work. I have enough time figuring out how SL does things dogkek

upper vapor
#

on the same account id

upper vapor
royal mica
#

Oh so if I have same setting on multiple servers, it uses the same?

royal mica
upper vapor
#

figured out how SSSS works but didn't have time to check out a super easy to use lib

#

:(

royal mica
#

oh role change jumpscare

upper vapor
#

yes

#

applies to the same account id only

royal mica
#

noice

upper vapor
#

wtf did i press to bring this up

upper vapor
restive turret
#

Cinema

upper vapor
#

yeah i had a bit of an exception spam

#

(didn't have a gameobject enabled)

restive turret
celest thorn
#

Anyone knows how can i skip the player itself for a raycast?

        if (!Physics.Raycast(cameraTransform.position, cameraTransform.forward, out RaycastHit hit, PinpointRaycastDistance))
            return;
unique crane
#

cameraTransform.position + cameraTransform.forward * 0.1f

celest thorn
unique crane
#

ye

celest thorn
#

ok

restive turret
unique crane
#

Yea well ofc

#

but your gonna move the raycast a bit too forward

celest thorn
#

btw

#

do you know if DrawableLineMessage are visible through walls?

restive turret
#

1 unit ye

celest thorn
#

or something that could be visible through walls that i can trigger

celest thorn
#

Sadly

#

anything that could be?

restive turret
#

Please don't make esp with that

unique crane
#

nop

celest thorn
#

which is 100% legit

#

and a game mechanic

restive turret
#

Legi

celest thorn
#

ig we can stick with that

restive turret
#

What would you want to do anyway

celest thorn
#

you mark a point

#

ig i will make it taller

#

so everyone can see it

restive turret
#

Give a goggle orb into it

#

Idk

celest thorn
#

so no

restive turret
#

I meant the actual orb to it

#

Idk if you could do that

#

Never tested it

celest thorn
#

I don't think it does

#

only david could answer us

#

but i don't think it will

upper vapor
celest thorn
restive turret
#

Disable the player

worn gull
#

if I spawn a waypoint and set position, rotation, scale and parent why does this happen?

#

In older versions it was working

teal junco
#

use bounds

royal mica
#

parent and position?

celest thorn
#

Anyone knows how can i check if a CustomHandlersManager.RegisterEventsHandler is being registered?

#

and unregister

worn gull
plain gazelle
#

Any easy/accurate way of getting the floor position of the player?
Since .Position returns the center of the capsule and because it is a capsule collider, having different scales changes the distance to the floor so just taking half of the vertical scale as an offset isnt quite accurate

plain gazelle
#

Or maybe instead, how can i get the players capsule collider?

teal junco
pulsar locust
upper vapor
celest thorn
#

i had a custom event

upper vapor
celest thorn
#

and just coded it inside the abstract

soft turtle
#

If I sent an ObjectHideMessage to a player, how can I then spawn the object back to the player?

upper vapor
upper vapor
celest thorn
upper vapor
#

Use some central mechanism to register them

celest thorn
upper vapor
#

Probably some plugin exists that modifies starting inventories

celest thorn
#

hmm you know any?

upper vapor
#

It's really not that hard to code though

upper vapor
celest thorn
#

nah i don't have any idea on how to code some stuff for it

#

you know what i will code it myself ig

#

i just need a simple api but the fact is i just wanted to see how they coded it some people

upper vapor
#

Loadout event

#

Or role changed event

celest thorn
#

No i mean more the how you add items

#

like idk how to explain it

upper vapor
#

There's a TryGetLoadout method somewhere in the inventory system

celest thorn
#

Nah i meant more you know like config wise

upper vapor
#

Well look through existing plugins

royal mica
#

Probably config are plugin made and not hand crafted

#

Have items in your inventory and serialize that

celest thorn
#

you are read now

#

gg

royal mica
#

gg

soft turtle
upper vapor
#

You don't need to create the spawn message yourself

soft turtle
upper vapor
#

No

#

SendSpawnMessage requires a connection

restive turret
#

You mean Spawn() or SendSpawnMessage

#

Spawning a r6s operator in sl

#

(sens)

upper vapor
#

Me when you can publicize mirror

restive turret
#

Me when you not publicize every assembly

upper vapor
restive turret
#

Cant

celest thorn
restive turret
#

Maybe idk

#

Would rename it to GiveTo

celest thorn
#

make sense

#

i don't think i made any mistakes ngl

#

i didn't forget anything

#

oh wait to check if the player inventory is full

hearty shard
#

slime!!!

restive turret
#

Idk if the givecandy makes another bag if the other is full

restive turret
true cedar
#

shame on YOU eve

restive turret
#

Yes

true cedar
#

oh you said slime

hearty shard
hearty shard
true cedar
#

shame

hearty shard
#

...

#

paws

#

do you need glasses

restive turret
#

I need better ones prob

true cedar
#

yea

restive turret
hearty shard
#

when r u fixing ruei

restive turret
#

They have like 5 days

#

Or 6

true cedar
#

they *

true cedar
hearty shard
#

t

true cedar
#

fuck you

hearty shard
#

ur meant to fix it without my tests

restive turret
hearty shard
#

actually

#

did u fix size yet

true cedar
#

what size

#

oh

#

yea

hearty shard
#

proof

restive turret
#

Size of T

hearty shard
#

romeo

restive turret
#

??

hearty shard
#

we love

restive turret
#

player.Hints.Destroy()

hearty shard
#

i just realized

true cedar
hearty shard
#

yes

hearty shard
#

fuck reference hub

true cedar
#

it would be neat to let you use them in ruei but

restive turret
hearty shard
#

i need string return

#

anyway

#

wait

#

paws

#

ur a C# nerd

#

how does it handle this

#

the last part, where i get string from player

#

i mean

#

this is a basic not dynamic

true cedar
#

what do u mean how would it handle it

#

it calls the method

hearty shard
#

how does C# handle the player storing

#

for the future

true cedar
#

?

#

im so confused wdym

hearty shard
#

ok so

#

dynamic element right

restive turret
hearty shard
upper vapor
restive turret
#

And keyboard too

true cedar
#

i see

hearty shard
true cedar
#

you know how delegates are classes

hearty shard
#

how does C# handle that

#

NO!

true cedar
#

a delegate is a class

#

Func is a class for example

#

it creates a new class that inherits from Func and stores the player

#

so like

hearty shard
#

oh okay

#

cool

#

!!!

#

would that be better than a dictionary call

#

yk Player.Get(hub)

true cedar
#

class Method : Func {
Player player;
}

upper vapor
#

Yeah the compiler does some magic and puts the player in a field of that magic

#

Eve

#

You have rider

hearty shard
#

im asking rue anyway

upper vapor
#

Just check the IL viewer

hearty shard
#

id rather learn from a human

true cedar
#

who says im a human

hearty shard
#

also ruei 3 does it care if element is different

upper vapor
hearty shard
#

does it need to be different for each player

upper vapor
#

Eve you are a horrible dev get your c# skills up...

hearty shard
#

shush!!

hearty shard
upper vapor
#

Years of academy training wasted

hearty shard
#

i assume no

#

but

#

if i create a element

#

and give it to every player

#

rather than new per player

#

thats fine righttt

true cedar
#

yea

hearty shard
#

cool

#

horray!

true cedar
#

thats why elements are read only

hearty shard
#

oh i thought it was cuz u were mean

true cedar
#

no

#

i also didnt want people changing the text of elements and going O_O why isn't it UPDATING!!!

upper vapor
true cedar
#

huh

upper vapor
#

TRueIng

hearty shard
#

banned

upper vapor
#

Immutable design is goated (not always)

true cedar
#

i somewhat regret it

#

bc i have to like

#

create a bunch of copies of classes and shit just to be readonly but the alternative is having every element store the displays its in and every property updating those displays when changed

upper vapor
#

Now I'm gonna make a new hint framework with that approach PepeEvil

true cedar
#

glhf

#

i thought about it but its like

#

shit like lists

#

unless you wanna have a notify collection changed thingamajig

upper vapor
#

(I'm not going to]

upper vapor
true cedar
#

yea that

upper vapor
#

Great and shit at the same time

true cedar
#

it will be a cold day in hell before i ever use that

true cedar
#

way too verbose

true cedar
#

what

hearty shard
#

chicken butt

#

btw

#

when release fix for size tag

#

!!!

#

or yk slide me the dll

true cedar
#

fuck u

hearty shard
#

gr

upper vapor
#

me when github actions

hearty shard
#

d

#

but i wont

#

honestly swapping wasnt that bad

worn gull
#

is it possible to use steam:// to join to a server

grand flower
#

You can since 14.1.4

worn gull
#

How?

upper vapor
#

check the release notes toomuchtrolling

worn gull
#

Alr

soft turtle
upper vapor
#

you didn't enable unsafe code

hearty shard
#

enable unsafe code

upper vapor
hearty shard
soft turtle
restive turret
#

did you enable unsafe code? ClassDTroll1

unique crane
#

Disable safe code

hearty shard
#

with the fact theres over 1k sl servers

#

it might be worth it to quit

upper vapor
upper vapor
#

are there so many

hearty shard
#

so like

restive turret
#

how many of it is vanilla?

hearty shard
#

but

#

yea theres alot

#

ok well ok well i check that server list and theres

#

same server, just one is a private dev one

hearty shard
#

or at least without modded flag according to that sites data

#

32 vanilla servers with ff on lol

upper vapor
#

why the actual fuck do you have a dev server on the list

#

blud forgot !private

#

😭

hearty shard
#

theres just a lot of communites with 2 servers

#

or more

#

even if only 1 is actually ever used

icy knoll
#

i just didnt verify my test server

#

lol

hearty shard
#

hiding empty servers gives a server count of 261

celest thorn
#

@unique crane
I think i found an issue

InvalidOperationException: SpectatableModuleBase of name 'ScientistRole(Clone)' does not have an owner!
  at PlayerRoles.Spectating.SpectatableModuleBase.get_TargetHub () [0x00000] in <00000000000000000000000000000000>:0 
  at PlayerRoles.Spectating.SpectatableListManager.TryGetNextTargetId (System.Boolean prevKeyDown, System.Boolean nextKeyDown, System.Int32& nextId) [0x00000] in <00000000000000000000000000000000>:0 
  at PlayerRoles.Spectating.SpectatableListManager.NextTarget () [0x00000] in <00000000000000000000000000000000>:0 
  at PlayerRoles.Spectating.SpectatorRole.Update () [0x00000] in <00000000000000000000000000000000>:0 

(Base game && Client)

unique crane
#

Old issue

#

already reported

celest thorn
#

yea but why tf its happening

#

there's a fix for next update

hearty shard
unique crane
#

Im 20

hearty shard
restive turret
hearty shard
restive turret
hearty shard
restive turret
#

im older than him

hearty shard
#

oh...

true cedar
#

im older than all of u :3

hearty shard
teal junco
#

you guys are all ultra old

grand flower
#

what

restive turret
teal junco
swift nexus
swift nexus
#

seems to be related to something happening at the end of a round

#

and then it just spams the null ref

celest thorn
#

from a grenade

#

i repdrouced it 2 times

#

while i was testing

swift nexus
#

ooo very nice

#

alrighty I'll give that a shot ty

celest thorn
#

wait let me send you

swift nexus
#

makes sense in such a short timeframe

celest thorn
#

with none flags

#

sadly i cannot show the code because its from a tourney which could give off what it is

#

(and i don't wanna get shot by maro)

#

do you want me to do a report?

celest thorn
swift nexus
celest thorn
#

with same logic

celest thorn
restive turret
#

!bugreport

regal lakeBOT
restive turret
warped prairie
#

because im evil

restive turret
#

u r not a bug

slender depot
#

What is a door nametag?

worn gull
#

Hi! Is it possible to change a player's team, example: a D-Class is in the SCPs team

grand flower
#

Through patching yes

worn gull
grand flower
#

Don't remember off the top of my head but realistically any team accessor, whether property or method

restive turret
#

PlayerRoles.PlayerRoleBase.get_Team()
this

warped prairie
worn gull
hearty shard
#

you could also use GetMethods() to find what to patch

#

and patch all of them with reflection

worn gull
#

Aaand that's what is over my knowlage xd

hearty shard
#

well

#

you could just

#

[HarmonyPatch(typeof()] and put all of them in

#
public static MethodBase TargetMethod()
    {
        // use normal reflection or helper methods in <AccessTools> to find the method/constructor
        // you want to patch and return its MethodInfo/ConstructorInfo
        //
        var type = AccessTools.FirstInner(typeof(TheClass), t => t.Name.Contains("Stuff"));
        return AccessTools.FirstMethod(type, method => method.Name.Contains("SomeMethod"));
    }
#

its this

#

but

#

IEnumerable<MethodBase> and TargetMethods

#

afaik

restive turret
#

Aint you can just do this?

[HarmonyPatch(typeof(PlayerRoleBase), nameof(PlayerRoleBase.Team), MethodType.Getter)]
internal static class PlayerRoleBase_Team
{
    public static bool Prefix(PlayerRoleBase __instance, ref Team __result)
    {
        if (__instance.TryGetOwner(out var owner))
            return true;
        Player player = Player.Get(owner);
        if (!CustomRoleHelpers.TryGetCustomRole(player, out var customRoleInfo))
            return true;
        if (customRoleInfo.OverrideTeam != Team.Dead)
        {
            __result = customRoleInfo.OverrideTeam;
            return false;
        }
        return true;
    }
}
#

i check it anyway

restive turret
#

i check

#

HarmonyLib.HarmonyException: Patching exception in method abstract virtual PlayerRoles.Team PlayerRoles.PlayerRoleBase::get_Team() ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Label #2 is not marked in method `PlayerRoles.PlayerRoleBase.get_Team_Patch
ah ye

grand flower
#

You need transpilers

#

That's how we do it on Bright's

hearty shard
#

couldnt you patch yk HumanRole method

grand flower
#

Easier to write one transpiler and have target methods

hearty shard
grand flower
#

shrug idk

#

it's just how we do it and it works

hearty shard
restive turret
#
    public static IEnumerable<MethodBase> TargetMethods()
    {
        string TeamGetter = AccessTools.PropertyGetter(typeof(PlayerRoleBase), nameof(PlayerRoleBase.Team)).Name;
        return AccessTools.AllTypes().Where(type =>
            typeof(PlayerRoleBase).IsAssignableFrom(type) && 
            type.GetMethods(AccessTools.allDeclared).Any(method => method.Name.Contains(TeamGetter) && method.HasMethodBody())
        ).Select(type => type.GetMethods(AccessTools.allDeclared).FirstOrDefault(method => method.Name.Contains(TeamGetter) && method.HasMethodBody()));
    }

    public static bool Prefix(PlayerRoleBase __instance, ref Team __result)
    {
        __result = Team.SCPs;
        return true;
    }
celest thorn
#

Oh wait i forgot to say it should be done when the player is dying

#

on that event

#

fuck

#

can you change it?

glad pagoda
#

getproperty("team").getmethod

restive turret
#

i dont think the string ever chaning

#

and also it doing useless calculation for just getting that string

grand flower
#

AccessTools.PropertyGetter exists

#

fyi

glad pagoda
#

well unlikely but no point hardcoding impl details when you can just not

#

and make it cleaner

grand flower
#

iirc AccessTools.PropertyGetter(typeof(PlayerRoleBase), nameof(PlayerRoleBase.Team))

plain gazelle
#

Accidentally parented a primitive with collider to me

true cedar
#

@hearty shard how'd you install the new c# version

hearty shard
#

then update rider

true cedar
#

r*der

hearty shard
#

shush

true cedar
#

i thought vs would install it for me

#

but it doesn't seem to work

hearty shard
true cedar
#

stfu

hearty shard
#

no!

true cedar
#

i swear to god

worn gull
restive turret
#

i still testing if works

plain gazelle
#

Is there a better way to delay something by two frames xD

swift nexus
#

tell me which parts of the text I should change, and I will!

hearty shard
#

CallDelayed acts as just a coroutine, so youd do the same

restive turret
#

Timing.WaitOneFrame

#

Or something

#

But should be inside a coroutine

hearty shard
#

Ya

restive turret
#

Like
IE<float> MyCor()
{
yield return T.WOF;
yield return T.WOF;
//My thing here
}

hearty shard
#

And do it like that

celest thorn
true cedar
#

@hearty shard guess what

hearty shard
true cedar
#

ruei will have support for extension members

hearty shard
grand flower
# plain gazelle Is there a better way to delay something by two frames xD
public static class ActionExtensions
{
    public static CoroutineHandle CallInXFrames(this Action action, int frames)
    {
        return Timing.RunCoroutine(DelayByXFrames(action, frames));
    }

    private static IEnumerator<float> DelayByXFrames(Action action, int frames)
    {
        var framesLeft = frames;
        while (framesLeft > 0)
        {
            --framesLeft;
            yield return Timing.WaitForOneFrame;
        }

        action();
    }
plain gazelle
#

thanks ^^

grand flower
#
new Action(() =>
{
  Logger.Info("Hello 2 frames later");
}).CallInXFrames(2);
worn gull
restive turret
#

nah

#

idk how it even do it

#

right

#
using HarmonyLib;
using LabApi.Features.Wrappers;
using PlayerRoles;
using SimpleCustomRoles.Helpers;
using System.Reflection;

namespace SimpleCustomRoles.Patches;

[HarmonyPatch]
internal static class PlayerRoleBase_Team
{
    public static IEnumerable<MethodBase> TargetMethods()
    {
        string TeamGetter = AccessTools.PropertyGetter(typeof(PlayerRoleBase), nameof(PlayerRoleBase.Team)).Name;
        return AccessTools.AllTypes().Where(type =>
            typeof(PlayerRoleBase).IsAssignableFrom(type) && 
            type.GetMethods(AccessTools.allDeclared).Any(method => method.Name.Contains(TeamGetter) && method.HasMethodBody())
        ).Select(type => type.GetMethods(AccessTools.allDeclared).FirstOrDefault(method => method.Name.Contains(TeamGetter) && method.HasMethodBody()));
    }

    public static bool Prefix(PlayerRoleBase __instance, ref Team __result)
    {
        if (!__instance.TryGetOwner(out var owner))
            return true;
        Player player = Player.Get(owner);
        if (!CustomRoleHelpers.TryGetCustomRole(player, out var customRoleInfo))
            return true;
        if (customRoleInfo.OverrideTeam != Team.Dead)
        {
            __result = customRoleInfo.OverrideTeam;
            return false;
        }
        return true;
    }
}

I set myself as CI, OverrideTeam to SCPs but nah still not visible via 079

#

and still can hurt the other scps

#

so nah

restive turret
#

ŰFŰUCK MEEE

#

and hurting too or what

hearty shard
restive turret
#

then my shit is either busted or idk

hearty shard
#

Logger!

restive turret
#

atleast the SCP count works

restive turret
#

still busted af but anyway

#

some things works

restive turret
slate flume
#

I was able to do that and vice-versa

#

But it takes a lot of patching

#

Well

#

Not a lot but you get the idea

#

I patched the hitreg instead of the team getter

slate flume
slate flume
#

At least doing my method

restive turret
#

Ye many need patching

slate flume
#

The end result on the client is more clean

#

But it's more work

#

So it's a trade-off

restive turret
#

Sadly can't add in 079 :(

slate flume
#

Yeah that was something I found out a while back

#

.

grand flower
#

Shouldn't be anymore

#

didn't an update make it server sided

#

like recently

hearty shard
#

Not 079

grand flower
#

oh

hearty shard
#

Idk about 079 specifically

grand flower
#

that one didn't get updated? rip

hearty shard
#

I have no clue rn

#

It might have

#

But 079 might just get all the info

slate flume
slate flume
#

It's why I linked the chain

hearty shard
#

Ez

#

I was right

shy karma
#

do you know of any other solutions or just hopefully wait for a fix... (or @swift nexus )

swift nexus
#

we're working on some changes that should help gun fights feel better

gilded plover
#

it just made them wors- i mean reworked them for no reason lmao

swift nexus
hearty shard
gilded plover
slate flume
#

I keep trying to tell people the problem isn't exclusive to dummies

#

But no one fucking believes me it's insane

swift nexus
#

especially if the server is on low end hardware

gilded plover
slate flume
#

The problem is for players too

#

That's my whole point

gilded plover
#

ofc

#

they just notice it less cuz the average player is bad at pvp

slate flume
#

Maybe there is player backtracking and not dummy backtracking, idk, but that sounds improbable, and either way the hitreg sucks ass for both

gilded plover
#

its a dummy issue

#

on that server

#

but yeah hitreg in general is rly laggy due to weird hitboxes

swift nexus
#

Patreon info

burnt hearth
glad pagoda
gilded plover
#

our bad for not funding huberts coke addiction or wherever else the money is disappearing to

restive turret
worthy rune
grand flower
#

Make the hit validation more lenient

#

This isn't Valorant/CS you don't need to check which bone was hit, cheaters are already going to laser your head off anyway

worthy rune
#

isnt really up to me, but checking which bone(or hitbox type) is kinda important especially if your trying to make it harder for cheaters as they would have to "lock on" if they want to be effective rather than just claiming they hit the head(even if they didnt) to get a free damage multiplier which imo is harder to spot if your a spectator(as you dont get any feedback about what hitbox is hit)

#

now the above kinda gets ruined by the fact that silent aim is a thing, which is why i think they should move in the opposite direction. i.e. do it properly instead of the mid mess we have now

grand flower
#

You're realistically not going to be able to get rid of silent aim, which is why I'm more of a "make it feel good for players, do some validation to prevent cheaters from killing you through walls" kind of person for games like these

#

And due to how the movement is networked spectators already get desync between what they see and what the player was doing when shooting

#

and they already call hacks because of that, so it's really not gonna do much for specs

#
  • there's the cost
#

I get NW doesn't care about servers over 30 players but they exist heh

worthy rune
grand flower
#

IIRC QA rejects bugs that happen on servers over that amount or something

#

but yeah fair

worthy rune
worthy rune
grand flower
#

that's one of them

worthy rune
#

i do remember something about that and player count

grand flower
#

the whole can't hear people bug over X amount of players on the server

#

But yeah, cheaters are gonna cheat, they already do, I'd focus on making it less crappy hitreg wise for regular players

worthy rune
#

the stance could have changed, since i remember the VSR talking about 60 player caps, and the CSG doenst have a cap anymore

#

CC @swift nexus ^

grand flower
#

The game wont run well at that high of a player count anyway heh

#

hopefully NW focused on performance fixes soon

worthy rune
#

yeah

grand flower
#

I'm giving myself the target of 64 players stable, 100 players at 30FPS (server FPS)

#

on my project

#

Mostly as a bit of training so I don't get rusty

slate flume
grand flower
#

nah

#

I'd need access to the client

#

and I'm already working a full time job + some clients on the weekend, I don't really wanna apply to NW heh

#

Technically I wanna push it to 128 players

#

And I know I can do so

slate flume
#

That's fire

grand flower
#

Just that it's a lot of work and I'd rather get 64 players @ 60 FPS working

#

then I can push it more once I have an actual game lol

slate flume
#

Yeah priorities and shit

#

Make the networking for 2 years before you make the game troll

grand flower
#

I mean Unreal has a pretty good networking framework and the new one is even better

#

Considering it's my specialty it's not gonna take me 2 years heh

grand flower
#

im good

#

I want to make a game not rip my hair out

slate flume
#

No wonder Hubert's bald

grand flower
#

right now im focusing on the modding framework

#

since I want to build parts of the game as a mod

glad pagoda
#

but

#

in C++ that's a bit crazy kek

grand flower
#

Modding framework is Lua

#

Not C++

glad pagoda
#

Lua

#

ugh we have no harold emote here

grand flower
#

I want clientside mods

#

Lua is easy to sandbox

#

Meaning servers can send clients mods

#

And have client & server side mods communicate with each other

glad pagoda
#

sandboxing is never fully secure

grand flower
#

I can get rid of most dangerous functions the Lua libs offer

#

Provide my own alternatives

#

Garry's Mod can do it fine

#

That's the kind of sandboxing I'm talking about, without access to OS stuff they can't do much damage

#

Crash the game for the player sure, but that's fine

#

And by making parts of the game mods, I'll know what the modding framework needs

true cedar
#

and without the game's source

grand flower
#

Talking about my project

#

not SL

#

I can expose whatever I want on my project

true cedar
#

ic

upper vapor
#

GATE_A, 106_PRIMARY, etc

upper vapor
#

Visual studio sucks

upper vapor
upper vapor
upper vapor
upper vapor
pulsar locust
#

I wish they hadn't tho

#

I also wish it had JIT

#

Since most of the stuff they add are actually really good extensions to the lua language

#

With enums and stricter typing

upper vapor
upper pike
#

Can Light toys stop 173?

upper vapor
upper pike
#

Yeah I forgot dummies were a thing and just tested it now

#

Nope

unique crane
pulsar locust
upper vapor
#

Crazy

upper pike
# unique crane No

Is there any alternative or should I just go make a suggestion on the GitHub

upper vapor
#

Check how the observers tracker works