#plugins-dev-chat

1 messages · Page 203 of 1

tulip kiln
#

depending on the holder

restive turret
#

oh i didnt even think about that

#

spawn a dummy hidden and can be changed who you want to resurrect

#

and even if you can

#

there is a Next something something it will sync

tulip kiln
#

I actually use ragdolls instead of spectators for respawning. It's a bit too detailed to explain now, but I'll probably just patch all (2) instances of IsAnyEligibleSpectators and introduce a local method instead.

strong lagoon
#

Is it possible to mod the knife to where it can’t resurrect people or give hume?

#

or is it still broken to where modding it is hard?

grand flower
#

With patches sure

#

done that before

#

made a custom event that lets me change the class of the resurrected player, or just disallow it

restive turret
strong lagoon
restive turret
#

what ?

#

like the revived player or the current knife user?

strong lagoon
#

say I wanted to make it to where the knife only doesn’t resurrect or give Hume shield when used by a tutorial

#

But works normally for the other classes

restive turret
#

you can code when eqipped change the hs value stuff and the NextRessurectionTime or something

#

and when you drop/uneqpid it set back to default

upper vapor
#

why are you blue

restive turret
#

cloudfare

soft depot
#

sorry for the ping but will that be fixed this upcoming update or no?

upper vapor
#

most likely not

wheat flower
#

me when im trying to join my own test server but Incoming connection from endpoint rejected due to exceeding the rate limit.

restive turret
#

QA testing it but i dont think it will be today

soft depot
wheat flower
#

(i literally cannot find out why this is happening)

upper vapor
#

disable rate limit

#

did you manage to hang the preauth thread?

soft depot
#

uh

#

might be us

#

lemme check something 😭

wheat flower
#

L

upper vapor
#

exiled strikes again

soft depot
#

its' on twilight hosting right?

wheat flower
#

not exiled

#

yes

upper vapor
#

bruh

soft depot
#

alr

#

the tunnel for one node got cooked last night for 0 reason

#

so lemme check the other node ur on

restive turret
soft depot
#

do you have an idea of a %?

#

and if it does happen, plz ping me

#

I'm gonna put that patch in Exiled and if it gets fixed I'd rather just leave it out

restive turret
#

ye we fix it in our side too

upper vapor
soft depot
#

ya I'm working on it

harsh thorn
#

if cedmod is installed ensure cedmod is updated

upper vapor
#

imagine if this happened on 192.168.0.100

#

(ip leak)

soft depot
wheat flower
#

:)

warped prairie
#

Chill out man

upper vapor
#

IP hijacking

warped prairie
unique crane
restive turret
spring swan
wheat flower
#

thats mine

celest thorn
wheat flower
#

here is my ip: 8.8.8.8

#

(im google)

celest thorn
wheat flower
#

"ball knowledge"

#

as one would say

upper vapor
restive turret
#

that tracks

upper vapor
royal mica
#

here is my pee, wait..

wheat flower
restive turret
spring swan
terse bone
#

is there a way to check if a joining player has been redirected from different server (by using RejectRedirect(int port) in preauth)?

upper vapor
#

you'll need to keep track of that yourself

terse bone
restive turret
#

nope nothing indicates redirection

worn gull
#

How can I set this button?

static meteor
#

Im pretty sure cedmod has it on its repo

upper vapor
worn gull
icy knoll
#

then patch

#

yeah

#

or

#

set the config urself

#

and save it

#

causing the server to reload

thin shuttle
#

When will it be changed before the update in 10 min right ?

#

Would release be delayed

upper vapor
#

i doubt they will delay the release

thin shuttle
upper vapor
#

hopefully yeah, but no promises

thin shuttle
#

Likely destroy all plugin

#

Both labapi and exiled

icy knoll
#

exiled doesn't matter TrollDespair

restive turret
#

Already compiled one won't change

restive turret
#

Is that the proud versioning

thin shuttle
#

We both have the problem

worn gull
tulip kiln
#

Steam is downloading the new server build at 10kbps and I have 7 minutes left am I cooked

restive turret
#

Yes

#

I'm still eating

tulip kiln
upper vapor
#

justin time

tulip kiln
#

JIT SL server infrastructure

soft turtle
#

Player from endpoint x.x.x.x:xxxx failed to preauthenticate: Method not found: void LiteNetLib.Utils.NetDataWriter.Put(string)

#

Does anyone have this problem?

upper vapor
#

ermmmmmmmm

icy knoll
worn gull
#

ah okay thanks

soft turtle
#

I don't have Cedmod on the server

soft depot
#

well that's apprently what trouble experienced

#

¯_(ツ)_/¯

tulip kiln
#

did something happen to doors

#

like door prefabs

soft depot
#

can you provide a list of all the plugins you use then?

soft depot
tulip kiln
#

I meant like their location

#

uh

soft depot
#

idk

harsh thorn
#

its outdated, but i added its stuff directly into the game

soft depot
#

I hope you have an update for cedmod prepared extra early for everyone 💀

#

would hate for every cedmod user to not be able to join their server

harsh thorn
soft depot
#

noice

harsh thorn
thin shuttle
#

and no worry ced for version missmatch people will still be able to use it (on Exiled)

soft depot
harsh thorn
#

oh

#

well, obviously the plugin wont care, im just talking about exiled itself loading on sl

thin shuttle
#

not same version number that what you put

#

yeah

frank mica
#

compiled a plugin and added it to a dedicated server but it doesnt seem to recognize it

upper vapor
#

where did you put it

frank mica
#

plugins folder

#

SCPSL_Data/Plugins/x86_64

upper vapor
#

that's not where it goes

frank mica
soft turtle
#

Why is ConnectionToClient already destroyed in PlayerLeftEventArgs?

[25.03.2026 23:30:20.665 +03:00] [ERROR] [LabApi] 'KeyNotFoundException' occurred while invoking 'OnPlayerLeft' on 'AntiCheat.EventHandlers.PlayerEvents': 'The given key '1' was not present in the dictionary.', stack trace:
                                   at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].ThrowKeyNotFoundException (System.Object key) [0x00010] in <069d7b80a3914a08b6825aa362b07f5e>:0
                                   at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].get_Item (TKey key) [0x0000b] in <069d7b80a3914a08b6825aa362b07f5e>:0
                                   at Mirror.LiteNetLib4Mirror.LiteNetLib4MirrorServer.GetClientAddress (System.Int32 connectionId) [0x00000] in <abb0b962a9324d2da3e1b9fb34ddcfe4>:0
                                   at Mirror.LiteNetLib4Mirror.LiteNetLib4MirrorTransport.ServerGetClientAddress (System.Int32 connectionId) [0x00000] in <abb0b962a9324d2da3e1b9fb34ddcfe4>:0
                                   at Mirror.NetworkConnectionToClient.get_OriginalIpAddress () [0x00000] in <9580c2adc24144439c56c5a55d603bd3>:0
                                   at Mirror.NetworkConnectionToClient.get_address () [0x0000a] in <9580c2adc24144439c56c5a55d603bd3>:0
                                   at PranikUtils.Handlers.PlayerEvent.OnLeft (LabApi.Events.Arguments.PlayerEvents.PlayerLeftEventArgs ev) [0x00047] in <c4b5e8cca12449e1a96bd8a06de6272e>:0
                                   at LabApi.Events.EventManager.InvokeEvent[TEventArgs] (LabApi.Events.LabEventHandler`1[TEventArgs] eventHandler, TEventArgs args) [0x0001d] in <dcdabc4611d241c3b74aec95f620a184>:0
static meteor
#

Its fired after a player has left

soft turtle
#

Bruh

static meteor
frank mica
#
                                 File name: 'System.Console, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
                                   at LabApi.Loader.PluginLoader.EnablePlugin (LabApi.Loader.Features.Plugins.Plugin plugin) [0x00012] in <dcdabc4611d241c3b74aec95f620a184>:0
#

hmm

static meteor
#

Don't use System.Console

frank mica
#

figured

#

removed and rebuilding without it

upper vapor
#

are you targeting .NET 10

#

😭

thin shuttle
#

they swap Negative and positive

restive turret
#

?

upper vapor
#

the colors i assume

#

well less is better

#

so

unique crane
#

Minus moves the timer ahead

icy knoll
#

yeah same here

unique crane
#

Plus adds time

icy knoll
#

wait

#

the colours are the issue

#

yeah

#

lol

thin shuttle
#

and +10 give -10

icy knoll
#

wait

unique crane
#

um no

icy knoll
#

what

thin shuttle
#

it's does

icy knoll
#

does the timer actually account to that

#

ok

#

hm

unique crane
thin shuttle
icy knoll
#

yeah

#

david

#

you're proving his point

#

the top one says -

#

not +

unique crane
#

Well because its removing time?

thin shuttle
#

at least now i have a video

#

proving it

unique crane
#

There is nothing wrong with it lol

icy knoll
#

you click -10

#

it says +10

thin shuttle
#

-10 saying +10

unique crane
#

-10s removes time from the timer

icy knoll
#

click +10

icy knoll
#

says -10

#

that's not right

#

😭

unique crane
#

Oh yea that cmd result

#

Well

#

P99 issue

#

command works fine

icy knoll
#

yeah

#

RA UI bugs P99 issue :3

#

/j

#

idk

upper vapor
#

bruh

thin shuttle
#

since if you type the command

#

in console

#

you need to make +10 to remove 10 sec

unique crane
#

oh lol its switched

#

well it works fine

icy knoll
#

yeah

#

lol

unique crane
#

will fix sometime later

icy knoll
#

but im with yamato here a tiny bit

#

does seem confusing

#

add time = closer to spawn

#

seems a little weird

thin shuttle
#

yeah

icy knoll
#

add time for me would make me think that it would take longer to spawn

#

but hey, atleast we have actual wave pausing now huh

thin shuttle
#

true

icy knoll
#

thanks to me

#

:3

unique crane
#

should be other way around

thin shuttle
#

yeah

icy knoll
thin shuttle
#

that make more sense

#

lol

icy knoll
#

surprised QA didn't go crazy with this one

thin shuttle
#

also why box arent closed ? (P999999 bug report)

icy knoll
#

closed for me

#

so it's an issue with your modified RA panel

thin shuttle
#

RA panel can't be size modified

icy knoll
#

well

#

fine for me

thin shuttle
#

with default

upper vapor
#

we'll blame it on QA toomuchtrolling

restive turret
#

i blame text mesh pro

unique crane
#

¯_(ツ)_/¯

#

Double negation fixed it

#

XD

icy knoll
icy knoll
#

/j

restive turret
icy knoll
restive turret
#

720p vs 1080p

unique crane
#

Just have a normal 1920x1080 resolution

#

and it will work fine

icy knoll
#

1440p here

#

works fine

thin shuttle
#

but would still be a bug

#

even if you have square resolution

unique crane
#

well

#

unity old UI

thin shuttle
#

let people play on that screen

unique crane
#

Maybe if we ever switch to UI Toolkit

frank mica
#

i'm building on linux and 4.8 doesnt exist for linux

#

so i have to resort to using backwards compatibility and it kinda just works??

static meteor
#

If you use anything that's in .net10 and not in .net48 it will not work

restive turret
#

net47 or netnstandard should wopkr

frank mica
#

i use .net 10 because it actually has a working linux build

#

and it seems to build fine

#

works as a plugin

static meteor
#

I have 4.8 on arch its not hard to install

frank mica
#

how?

upper vapor
static meteor
#

I just installed .net10 and it was also installed Kek

upper vapor
#

yes

frank mica
#

me when i use .net10 lol

#

compiled with net10

#

works perfectly fine

upper vapor
#

it's not that easy

#

there's a lot of stuff in .net 10 that doesn't exist in .net frameowrk

frank mica
#

wrong forward

upper vapor
#

install .net 10 != target .net 10

gilded thicket
#

bro imagine if they made an announcement of labapi that gave me and @frank mica in every server admin

#

that would be so cool

tulip kiln
#

You'll get moderation perms on every server if you join S&C

frank mica
#

new labapi backdoor ClassDTroll

solar monolith
frank mica
warped prairie
hearty shard
#

HELLO IT IS I

hearty shard
warped prairie
hearty shard
#

Giving everyone admin fr

warped prairie
#

You get it

upper pike
#

Not even any parameters
Just God()

dusk tangle
#

Do I need to apply a harmony patch to use the Movement Penalty Module?

static meteor
upper pike
#

Slideshow of death

static meteor
#

I may have had a minor memory leak in a javascript project Kek

#

it was like 7.8 gb

unique crane
#

Use movement boost effect get rid of it

dusk tangle
soft turtle
#

How do I disable the automatic door opening feature in SCP-173?

restive turret
#

Good luck

#

I want to get rid of it

unique crane
#

Patch the door extension for it?

upper pike
#

PT bug is still a thing?

restive turret
#

Yes

dusk tangle
restive turret
#

Can we just get rid of pt 173 door opener

icy knoll
#

wait what is this issue

#

lol

sinful bronze
#

Yeah

#

And u cant close this gate after

icy knoll
#

no like

#

ive never heard of it

#

😭

sinful bronze
#

Cuz it's not a bug in core

#

It's a thing for 173 that help ppl not die in first seconds of round

soft turtle
#

How to remove the Tesla charging effect if PlayerTriggeringTeslaEventArgs::IsAllowed = false?

restive turret
#

thats client sided i assume

icy knoll
#

just

#

turn off the tesla instead

#

should disable the effect

#

(make sure to have a coroutine to turn it back on when the player is out of reach or smth)

#

@restive turret being cleanup crew

restive turret
#

this should be all

dusk tangle
#

I want to disable the UI completely Is this also a client-side setting?

restive turret
#

client side

celest thorn
#

just a stupid thing, is it possible to know where the player will land as a peanut so like have a raycast of where they are and if there's a const of how distant it should be or like any place with the validation done server side?

restive turret
#

what

celest thorn
#

i wanna see before the player moves there as scp-173 on the break neck

restive turret
#

Scp173TeleportAbility

celest thorn
restive turret
#

Scp173TeleportingEventArgs

celest thorn
#

ok i see where it is

restive turret
#

sadly nope

#

ServerProcessCmd maybe but it doesnt have anywhere what you hit

celest thorn
#

it does

restive turret
#

I meant as an event

celest thorn
#

yea im probably writing it myself

restive turret
#

there is one for snapping

#

but not for TP kill

celest thorn
#

yea no i cared about tp kill

restive turret
#

if you want create an issue in labapi

celest thorn
#

because i wanted to check if the player was gonna hit someone

#

and prevent it

celest thorn
restive turret
#

use ReferenceHub target = reader.ReadReferenceHub();

#

and check if null

celest thorn
#

yea no shit, but i mean can i use that one too?

restive turret
#

I guess? nothing stops you

#

you just do linecast again and more calc instead of reading it

celest thorn
#

yea i know

#

but idc

#

there's something i wanna do

restive turret
#

blow up the nut

celest thorn
#

nah

upper vapor
#

blud made it a gif

restive turret
#

well since nullable not enabled in the project because UNITY SUCKS

#

its much harder to know these stuff

upper vapor
#

#nullable enable

thin shuttle
#

Since Ntf and Ci arent in FlamingoTeam

thin shuttle
upper vapor
#

yeah ik

#

it's ass

#

it would be more optimal if we had nullable on by default and we'd disable it on serialized fields

thin shuttle
#

I prefer it being disabled

#

And choosing my self to put them null if i want

hearty shard
#

what if

#

just enable it

upper vapor
#

then the compiler will yell for every single component reference

icy knoll
hearty shard
#

i thought yall had it on tbh

upper vapor
icy knoll
#

the fact you used the real name for dj is crazy

upper vapor
#

the abbreviation would've looked weird imo

#

DJBoard

icy knoll
#

BoardDJ

upper vapor
#

😭

icy knoll
#

:3

#

or

upper vapor
#

please stop boarding

icy knoll
#

if you wanna go the C method

#

DJ_Board

upper vapor
#

ah hell nawh

#

i hate snake case

icy knoll
#

but ye

#

smth like that for nullable is better than null!

upper vapor
restive turret
restive turret
hearty shard
#

i mean tbf

#

if you think smth can be null just make it nullable

icy knoll
#

nah you do null! in the case of a special constructor method that c# doesnt know about

#

like Enable or Register

upper vapor
#

you know that comes with a shit ton of behavioral breaking changes and insane amounts of work to get right

hearty shard
#

um

#

git gud

upper vapor
#

you do it then

hearty shard
#

nuh uh

#

hubert aint paying me enough

#

and i already use nullable in my own thing kek

#

if ill have a null issue its on me

upper vapor
#

behaviour

hearty shard
#

yes.

#

ok unity can you shhh

restive turret
#

no

icy knoll
hearty shard
#

but i wont

#

also iirc there was more code originally

#

which got removed hence why its still like that

celest thorn
#
[HarmonyPatch(typeof(Scp173TeleportAbility), nameof(Scp173TeleportAbility.ServerProcessCmd))]
public class Teleport173
{
    private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> codeInstructions,
        ILGenerator generator)
    {
        List<CodeInstruction> newInstructions = ListPool<CodeInstruction>.Shared.Rent(codeInstructions);

        MethodInfo writerMethod = Method(typeof(ReferenceHubReaderWriter), nameof(ReferenceHubReaderWriter.ReadReferenceHub));
        int offset = 2;
        int index = newInstructions.FindIndex(instruction => instruction.opcode == OpCodes.Call && instruction.operand is MethodInfo method && method == writerMethod) + offset;


        newInstructions.InsertRange(index, new CodeInstruction[]
        {
            // Backtracking173.CallingMethod(this, reader)
            new(OpCodes.Ldarg_0),
            new(OpCodes.Ldarg_1),
            new(OpCodes.Call, Method(typeof(Teleport173), nameof(CallingMethod))),
        });

        foreach (CodeInstruction newcode in newInstructions)
            yield return newcode;

        ListPool<CodeInstruction>.Shared.Return(newInstructions);
    }

    public static void CallingMethod(Scp173TeleportAbility ability, NetworkReader reader)
    {
        ReferenceHub referenceHub = reader.ReadReferenceHub();

        if (referenceHub == null)
            return;

        Logger.Info("WORKS :3");
    }
}

Im confused on how tf the method gets called but cannot read a byte even tho i check if it is null so how should i check that??

thin shuttle
celest thorn
#

I added + 2

thin shuttle
#

ReadReferenceHub remove it from the reader

#

So if basegame already did

#

You can't call it again

celest thorn
#

so should i do + 1 and then use that call?

#

or ldloc_5

thin shuttle
#

Just use ldloc5

#

Best to do

#

If you want to ReadReferenceHub you need to remove it from basegame

#

You can't just add a new read method

#

If you haven't removed the one that nw calls

celest thorn
#

ig like this it should be fine

thin shuttle
#

Yup

celest thorn
#

i forgot tbh how to use transpilers

#

its been ages since i did one

thin shuttle
#

That wasn't transpiller issue

#

Only Reader issue

#

Like to explain when nw send a package it's just a bunch of bytes when you call ReadSomething it's will read byte and removed them

celest thorn
#

i didn't know mirror removes them

#

when deserializing

#

or maybe i forgot

#

idk

thin shuttle
#

I was thinking you would have known

celest thorn
#

i forgot mostlikely

#

lol

restive turret
#

you can make the reader go back so it can be read again

#

but since you already read the thing it just advanced to the next bytes

celest thorn
#

Yea now im having issues because i didn't think about rotation

hearty shard
upper vapor
#

the crash reporter crashes

unique crane
#

(crashes at the end due to stack overflow)

hearty shard
#

me when i dont read the unity docs to find out itll return null 💔

upper vapor
#

you better be reading the docs

#

cuz everything is cooked

hearty shard
#

i mean tbf i read the docs for the method just not the class

#

whoopsies

upper vapor
#

bruh

#

why are you uniting anyway

hearty shard
#

why not

#

lowk when i actually have income i might pay someone to help on secretapi lmao

hearty shard
#

love running out of ram 💔

restive turret
#

Skill issue

hearty shard
#

ill one day have more than 16gb ram lmao

#

one day

restive turret
#

I have 40 tab open, SL, labapi vs solution and sl unity

hearty shard
#

why do you have 40 tabs

restive turret
#

Why not

hearty shard
#

true

#

how much ram

#

32?

restive turret
#

39 tabs of your issue

#

32

hearty shard
#

i see

restive turret
#

How

#

You aren't in my room

hearty shard
#

shh

upper vapor
#

@wheat flower i heard you like unsafe toomuchtrolling

hearty shard
#

what.

upper vapor
restive turret
#

Y'all and your foot stuff

upper vapor
#

my footguns

wheat flower
#

its so peak

wheat flower
upper vapor
#

footprint but

restive turret
#

Axs custom role

upper vapor
#

no hub

#

nuh uh

restive turret
#

What huh

upper vapor
#

i'm using this outside of unity

wheat flower
#

i must know

restive turret
#

Huh

#

Same

upper vapor
#

check my activity

restive turret
#

Az

#

Ah

wheat flower
#

i still dont get it

#

(thar)

upper vapor
#

super easy testing

#
  • debugging
wheat flower
#

what is bro testing tho

upper vapor
#

the thing i'm writing TrollDespair

restive turret
#

I should have my project named as "TriangleProject"

#

Kappa

upper vapor
#

XDDDD

#

that would be so peak

wheat flower
#

can we make mesh primitive

#

(yes but no)

restive turret
#

I had a poc

wheat flower
#

tf is poc

restive turret
#

Proof of concept

#

Basically prototyping

wheat flower
#

i see HmmNoted

restive turret
wary gust
#

Is it no longer possible to access the IP of the player that is leaving in OnLeft?

restive turret
#

No

wary gust
restive turret
#

Not possible

wary gust
#

sad. this could have been mentioned

wary gust
restive turret
wary gust
restive turret
#

Check someones suggestion where to add patch

wheat flower
unique crane
#

Known

restive turret
#

Had same error lmao

#

Just reszart

#

Restart

royal mica
#

Why are the NTF gun locker in 079 and the 3x3 locker in GateA/B are the same locker tyype?!

upper vapor
royal mica
#

Yes are

upper vapor
#

or someone at GD or LD or whatever fucked up

royal mica
#

They are both LargeGunLocker

upper vapor
#

yes that's excepted

#

okay who made it return null!

restive turret
royal mica
#

Technically it shouldn't though 😭

royal mica
#

wtf is that

restive turret
#

Checkpoint

royal mica
#

ye

#

checkpoint, brain pls

#

anyway this is fun to solve now

upper vapor
#

brain not farting?

#

just

#

check the chamber array length

restive turret
#

Always fart

unique crane
#

Isnt ! like "undo nullable"?

upper vapor
#

pretty much

#

it's the null-forgiving operator

unique crane
#

mega troll

royal mica
#

I fucking hate english

upper vapor
#

also um

royal mica
#

One is Large as in the gun is large
the other is Large as in the locker size is large

upper vapor
#

maybe it should be >=

royal mica
unique crane
#

Well large locker has 10 chambers

upper vapor
#

huh

#

Right

#

the uh

royal mica
#

bottom coin drawer

upper vapor
#

ummmm

#

medkit

#

yesd

royal mica
#

the soup drawer

unique crane
#

the one where no one looks

royal mica
#

or the pee drawer for the kinky generation

upper vapor
upper vapor
unique crane
#

🤨

royal mica
royal mica
#

well that was easy fix

#

thanks for the chamber idea

upper vapor
#

np

#

chamberlain

wheat flower
restive turret
upper vapor
restive turret
#

Stuck inside the kiosk

worn gull
worn gull
restive turret
#

Not mine

worn gull
#

Ah I thought it was somewhere in Hungary xd

restive turret
#

Wish

warped prairie
thin shuttle
unique crane
#

Thank you Mr Yeast

#

@serene vine

serene vine
#

already on it

upper vapor
#

xdd

serene vine
#

he makes bread for you

unique crane
#

I imprisoned 100 PEOPLE in secret laboratory

upper vapor
#

average day at the foundation tbf

unique crane
#

whoever stays alive last gets 1 tesla and helldive to wayside room

serene vine
#

back to shadow realm (report and presentation making) I go

upper vapor
#

byeee

celest thorn
#

Is CentralAuthPreauthToken ever used like how tf i can get the country of a player from preauth?

unique crane
celest thorn
#

but i need it to PlayerJoinedEventArgs

unique crane
#

Store the data in preauth and then reuse in joined event?

upper vapor
harsh thorn
#

from server youll need to look at whats available to you in the event

soft turtle
#

Why am I no longer allowed into the server on the first try after the update? The game crashes on the first three attempts

upper pike
turbid spoke
#

Does anyone know of a way you can have a player have the fade effect with intensity 255 and still have the gun appear normal size? Basically so the player is invisible but the gun is not.

carmine prawn
carmine prawn
carmine prawn
carmine prawn
# soft turtle What does it do?

Client offline mode, can avoid the latency caused by authentication with the central server by joining the local test server

#

Simply, unplug the network cable HahaClassD

carmine prawn
loud schooner
dusk tangle
#

Is it possible to have sinkholes spawn in hcz as well?

unique crane
#

Plugin

#

They are spawnable prefabs

dusk tangle
thin shuttle
sinful bronze
thin shuttle
#

and before only way to have it

#

was to MoveNetworkIdentity

#

of one spawning inside room

sinful bronze
#

7 months ago

sinful bronze
thin shuttle
#

so yeah

sinful bronze
#

i use MoveNetworkIdentity to spawn holes in EZ

thin shuttle
#

it's wasn't before lol

#

:3

#

i was right :3

sinful bronze
#

idk what u mean under "before"

#

i think its already a big amount of time

thin shuttle
#

before means anywere between when Sinkhole was added and now

sinful bronze
#

yeah

#

okay

#

u right

sinful bronze
unique crane
thin shuttle
#

:3

devout terrace
#

before:
PluginLoader.LoadPlugins(new DirectoryInfo(text3).GetFiles(".dll"));
after:
PluginLoader.LoadPlugins(new DirectoryInfo(text3).GetFiles("
.dll", SearchOption.AllDirectories));

this is the most awful change in labapi
it ruined my CLR

#

🤬

icy knoll
#

what

upper vapor
#

Common language runtime?

devout terrace
#

yes

icy knoll
#

why are you loading plugins from a seperate directory anyway like

devout terrace
#

cuz i made a plugin loader for some reason

upper vapor
#

Sobbing

devout terrace
#

i put my sub plugins in sub directories

icy knoll
#

well

#

all folders inside global and your port

devout terrace
#

labapi used not to read them

#

now it does

restive turret
#

ye, it is included in the patch log

tulip kiln
#

jk I love all LabAPI maintainers

restive turret
#

name it as ".balls"

#

and it will not load

#

yknow

hearty shard
#

guh

devout terrace
cyan crown
devout terrace
#

but not ".balls"

restive turret
#

sad

upper vapor
#

That's actually not a bad idea

fathom charm
#

Does anyone know if netstandard2.1 breaks Harmony patches?

hearty shard
#

you can use it fine

fathom charm
hearty shard
#

same goes there

upper vapor
#

Everything should work the same regardless of whether you target net48 or netstandard

hearty shard
#

ax

#

get to work

#

release 15.0 in the next 5 minutes

upper vapor
upper vapor
#

I'm KISSing atm

#

So that would be a bit difficult

upper vapor
#

Np

hearty shard
upper vapor
hearty shard
#

get out

upper vapor
#

Yes let me just open the door between two stations on a Stadler train

#

Genius

hearty shard
#

yes

upper vapor
#

(It won't work)

hearty shard
#

shhh

#

ur not trying hard enough clearly

upper vapor
#

Sorry I'm not the sun-kissed guy who broke like 3 monitors on a KISS bc he felt like that was the right thing to do

hearty shard
#

ur a goblin

upper vapor
#

👺

hearty shard
#

seems about right

restive turret
hearty shard
#

you...

upper vapor
restive turret
#

In the train? Ye

sinful bronze
#

im love trains

restive turret
hearty shard
#

become train

carmine prawn
thin shuttle
upper vapor
obtuse spruce
#

Player IpAddress are null on PlayerLeft ?

#

i mean i already have my answer but kinda weird

pulsar locust
hearty shard
#

what

pulsar locust
#

idk honestly

#

I wanna do stuff so badly rn but I cannot

#

So I'm on discord

hearty shard
#

honestly im prob gonna replace this

#

theoretically better

#

@unique crane oi nerd

#

question

#

what the fuck is covariant

#

in interface with a type parameter

unique crane
#

Covariant?

hearty shard
#

making it out T instead of just T

unique crane
#

0 clue

hearty shard
#

oh

#

damn...

#

i thought youd know and the docs make me feel stupid

grand flower
#

Just set its level to hint

hearty shard
#

its more about what its for

grand flower
#

I tend to do that with changes I won't do a majority of the time

hearty shard
#

oh

#

i see

#

wait a minutee

#

okayso

#

if you make it out, you can only return it, you cant insert it into smth like a method param

#

if you make it in, its the opposite

#

i dont see why this is a thing tbh

unique crane
#

So it specified it has to be a getter basically?

hearty shard
#

or a getter

#

or whatever

#

but

#

you cant throw it into a method param

#

You can declare generic type parameters in interfaces as covariant or contravariant. Covariance allows interface methods to have more derived return types than that defined by the generic type parameters. Contravariance allows interface methods to have argument types that are less derived than that specified by the generic parameters. A generic interface that has covariant or contravariant generic type parameters is called variant.

#

i dont understand it tbh

upper vapor
#

Yeah these two words are mysterious

hearty shard
#

like when has anyone actually cared to specify if the type is only as an input/output 😭

upper vapor
#

Contravariance can be useful

#

Like

celest thorn
upper vapor
#

ISomething<out T> where T : Item

#

You can cast ISomething<UsableItem> to ISomething<Item> and back

#

Don't think I've ever used covariance tbh

hearty shard
#

oh exiled uses it

hearty shard
#

cant you do that anyway without the yk

#

out keyword

upper vapor
#

No

hearty shard
#

oh

#

ur lowk right

#

damn....

#

yeah i still dont get it lmao

restive turret
#

If i see another issue about TryGetRoom I will gatekeep the client build for it

hearty shard
#

lmao

worn gull
#

How can I make a Jailbird's life infinity?

grand flower
#

Reset the charges

#

don't remember the name but it's a field on the jailbird

worn gull
#

Ah got it thanks

upper vapor
#

ye

#

it's in the deterioration tracker iirc

grand flower
#

Opened my game's codebase and I'm just staring blankly at it because I forgot what I was working on before I left for GDC & vacations

restive turret
#

Lel

#

Happens

restive turret
worn gull
#

We'll see if it works

upper vapor
#

i mean

#

you can always just change it to 0 every time the player attacks

grand flower
#

That's what we do and it works

grand flower
restive turret
#

TotalChargesPerformed = -100_000;

upper vapor
unique crane
unique crane
#

nvm

icy knoll
#

god damn I need bleach

grand flower
#

it's perfectly readable

#

just uses the current type held by the variant, and grabs a static field on that type called k_iCallback

restive turret
#

I used C++ and steam stuff enough thats its readable

grand flower
#

Aight I remember what I was doing

#

need to write a packet handler that automatically auths clients when they connect

#

since Steam tells you to let them play while authentication is ongoing

#

They'll just be untrusted

hearty shard
grand flower
#

Tbh it's probably the weirdest part of my plugin

#

It just goes through all possible types in the variant, picks the current one, and does TheType::k_iCallback

#

iirc the compiler just simplifies it a lot so it doesn't loop

#

picks the current type and returns the field directly

hearty shard
#

im just a C++ hater

#

because i tried to learn it and i gave up before i started

#

if you could explain it more in specific i might bother trying to use it at some point but

#

it also feels like a lot effort for smth i can do in C# lel

grand flower
#

fair

hearty shard
#

but yea like

#

if i had someone actually explain to me some of it itd be nice lmao

#

clearly i need chatgpt

grand flower
#

What part do you need explaining

#

Sorry im sick af trying to muster the braincells to read properly @hearty shard DogKek

hearty shard
grand flower
#

The Visit function takes a predicate

hearty shard
#

ive never rly looked much into it other than just "oh... what the fuck"

grand flower
#

Think C#'s lambdas

#

It's templated (think C#'s generics but way more powerful)

hearty shard
#

they call them templates?

#

what

#

😭

grand flower
#

yeah

#

But they're just like generics, but a lot more flexible/powerful

restive turret
#

C++ has some quirks

grand flower
#

Sec making coffee with honey so I stop coughing my lungs out

restive turret
#

Ouf

grand flower
#

Aight so Visit() goes through all the allowed types of a TVariant

#
/**
 * A type-safe union based loosely on std::variant. This flavor of variant requires that all the types in the declaring template parameter pack be unique.
 * Attempting to use the value of a Get() when the underlying type is different leads to undefined behavior.
 */

That'sa variant ^

#

It's a type that can hold one value of any of the types you give it

#

So it'll only take as much space in memory as the biggest type you give it

#

in my case it goes through these types:

using FSteamCallbackVariant = TVariant<SteamServersConnected_t, SteamServerConnectFailure_t, SteamServersDisconnected_t,
    GetAuthSessionTicketResponse_t, GetTicketForWebApiResponse_t, ValidateAuthTicketResponse_t>;
#

until it finds the one that is currently held by the variant

#

then it accesses the static field k_iCallback of that type

#

the compiler (afaik) optimizes the visit function to a single call

#

so no looping

#

you just get the type of the currently held value and you access the callback id

hearty shard
#

ok im alive

#

i was with mom

hearty shard
#

interesting

#

maybe ill bother learning C++

#

maybe

grand flower
#

Do it if you need it

hearty shard
#

i still dont understand it at all, but ig neither did i with C# originally

restive turret
#

Learn C first

hearty shard
#

no

grand flower
#

I use it for work so that's why I generally also use it for my side projects

hearty shard
#

slime boy get out

#

ur fired

grand flower
#

You defo don't need to learn C first though DogKek

hearty shard
#

im mostly considering C++ as a faster option over C#

restive turret
#

Atleast some stuff would be nice to know

hearty shard
#

since well

#

id like to not be on C# always for everything, C++ id assume is better in general for it, other than more complex ofc

restive turret
#

Well if you can write it faster

grand flower
#

Generally it doesn't matter enough

hearty shard
#

true

grand flower
#

There's plenty of other bottlenecks on top of the language

hearty shard
#

besides

grand flower
#

I learned it because it's technically still the principal language used for game dev

hearty shard
#

why not learn smth interesting for fun :D

restive turret
#

A humble 5365 dependency

hearty shard
#

is-even agony

#

me when num % 2 == 0

#

i think?

#

am i dumb

restive turret
#

You have to compile by yourself bc they don't ship lib or dll/dylib/so file

hearty shard
#

dont answer that

#

what

#

ALSO

#

@grand flower what the fuck is .h

#

i swear thats a c++ thing

restive turret
#

Most thing i seen does have an already prebuilt dll / lib you can use in your project many cases you have to rebuild the whole project

restive turret
hearty shard
#

or im schizo idek anymore

#

ok but

#

what for

#

why not just .cpp

#

i nono understand

restive turret
#

For declaring stuff you want to use & other can use

grand flower
hearty shard
#

oh

restive turret
#

Yeah

grand flower
#

Technically you can declare and implement inline in header files

restive turret
#

If you miss something you will be screamed

grand flower
#

there are some language quirks to doing this, which may be good or bad depending

#

Generally means the implementation will be inlined if it can be (aka no function call, the function body itself is copied into where you "called" the function)

hearty shard
#

ok so
.h is just for explaining what it contains and .cpp does the implementation of that

#

is that

#

a required thing

grand flower
#

no, just better to do in most cases

hearty shard
#

what is cpp even about anymore

hearty shard
#

how come

grand flower
grand flower
hearty shard
#

wha

grand flower
#

And avoiding duplicated code in the binary

hearty shard
#

also wha

restive turret
#

Also headers help other functions to what you can use there

grand flower
#

I'm too sick to explain right now but pretty much you'll reduce compilation times by using cpp files because the implementations will generally include more files

#

So if you put everything in a header file, you'll include tons of header files in that header file

hearty shard
#

can i just friend you and you can do it whenever ur not sick 😭

grand flower
#

Meaning if you use that one header file, you'll increase your compilation time because it'll need to compile a lot more

#

Yeah sure

hearty shard
#

ok u were faster

grand flower
#

It's uh complicated

hearty shard
#

i see

grand flower
#

you get into translation unit territory

#

and while I somewhat understand how that works, explaining it is a little harder

hearty shard
#

i fear cpp

restive turret
#

test1.h :
class Balls { int F ; void E(); }

test2.h:
import "test1.h";

And you can use the balls class

grand flower
#

#include

#

not import

restive turret
#

Ah yes

hearty shard
#

me when

#

using

grand flower