#plugins-dev-chat

1 messages ยท Page 162 of 1

restive turret
#

I only have 2 tb and it's halfway filled

grand flower
#

one day i'll replace G: with another 8TB one

pulsar locust
#

Anything that doesn't work with C# needs a glue layer made in GDScript for it to be accessible in C#

#

Mostly because extensions have to go out of their way to implement C# support

restive turret
#

That's why it sucks

upper vapor
#

โŒ built-in, optimized collections
โœ… GDCollection

grand flower
#

also I tried the new windows "dev drive" feature for my W: drive

#

and it does seem to speed up compilation times

unique crane
#

Watch out

#

it might be yet another vibe coded feature that will corrupt your drive

upper vapor
#

I thought you were gonna say it's gonna crash into you

pulsar locust
#

Dev drives have been a feature in windows 11 for like a year now I think

#

I can't say I've used them because I don't have the storage space to put a drive image on a drive

#

Since dev drives are vhd/vhdx files lmao

royal mica
#

are they literally advertising a different format as a while ass feature?

#

wtf

unique crane
upper vapor
#

XDD

plush glade
#

How can I get the current vigor of a 106 player? And how can I force a 106 player to teleport? Both of these were pretty trivial with exiled so maybe I'm missing something obvious but I've been diving through assemblies and can't work it out

hearty shard
#

if (player.RoleBase is not Scp106Role scp106)
return;

and then uhhh scp106 youll have to get the vigor

#

there'll be role wrappers at some point

plush glade
#

Not sure how to get the vigor from this.

hearty shard
#
if (Server.Host!.RoleBase is Scp106Role scp106 &&
                scp106.SubroutineModule.TryGetSubroutine(out Scp106VigorAbilityBase vigorAbilityBase))
                vigorAbilityBase.VigorAmount = 0;
plush glade
#

VigorAmount is protected

#

I can't access from my assembly

royal mica
#

You can use Reflection to change it

#

or Publicize

teal junco
restive turret
#

Adding task "The BIG publicization" or smth

ashen hound
#

if anyone interested I did add audio api on nuget in case of any plugin devs

upper vapor
#

As for teleporting, you gotta use the subroutines

#

If you know how to it in exiled, you can just look at their code

hearty shard
#

its a stat

#

oki

alpine glade
grand flower
#

shaving off minutes compiling the engine/game projects

#

it's just a new file system that apparently has been a thing since Windows Server 2012 or 2017 and is supposed to replace NTFS

ashen hound
royal mica
#

That is awesome

ashen hound
#

yeah

royal mica
#

Does the hub have communication or just client only?

ashen hound
#

hub is client only mostly its not a real server

royal mica
#

My brain is ticking and like a procedurally generated parkour course in a lobby, you can talk to others while you wait for joining a server

fathom charm
#

How to get Scp127Pedestal to use in plugin?

spare zodiac
hearty shard
#

saskyc....

#

Why...

#

PedestalLocker.List should work

#

Idk the exact way you'll get special 127

#

Im not on pc

spare zodiac
slate flume
#

Anyone know what might be causing nuke to not kill people and not lock elevators?

restive turret
#

Closing doors event?
Elevator locking event?

restive turret
slate flume
slate flume
#

The only thing that changes after nuke goes off is that the lights turn red

#

People don't die, elevators don't lock

#

And I have no idea why

restive turret
#

Idk what can be

slate flume
#

It's odd

restive turret
#

It works in our places, and then i guess in vanilla too

slate flume
#

I don't think it's happening every round?

#

I've gotten like two reports about it

#

I'll have to test on a private server later

restive turret
#

Wierd

#

Blowing up 3 trillion dummies

true cedar
#

if you have any harmony patches check them

plush glade
#

I can't get BepinEx to work, installed through nuget and added to my csproj

    <Reference Include="Assembly-CSharp">
      <HintPath>..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory Dedicated Server\SCPSL_Data\Managed\Assembly-CSharp.dll</HintPath>
    </Reference>
    <Publicize Include="Assembly-CSharp" />
``` I still can't access private members
#

The krafs one worked but then I ran into the issue with ambiguous references

static meteor
plush glade
#

I tried that too

static meteor
#

Works for me ยฏ_(ใƒ„)_/ยฏ

upper vapor
#

you also need <PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.3" PrivateAssets="all" />

plush glade
#

Got that

#

I'll try again when I'm back at my laptop

spare zodiac
#

I spoke with le great chatgpt and must try this

plush glade
#

Gonna uninstall and try again

#

Can someone pls ELI5 installing and using bepinex because apparently i'm not smart enough

upper vapor
upper vapor
#

You'll need to convert it

#

Example

#

Notice the first line which has Sdk=...

#

Make sure you have the .NET SDK 8 or above installed

teal junco
#

anyone know how i can wipe a keycard of its permissions

upper vapor
#

.NET 10 comes out today

teal junco
# upper vapor What

Im making a custom keycard item for a plugin but i dont want it to actually have any permissions

#

i think i have to work with the details?

upper vapor
#

So you wanna change a regular Keycard, right?

teal junco
#

yeah

upper vapor
#

PresetPermissionDetail

#

Or something simklar

#

I don't remember the name exactly

restive turret
upper vapor
#

Yes

restive turret
#

Oh i read it at it was already out

upper vapor
#

.net conf starts <t:1762876800:R>

plush glade
#

And installed the sdk

upper vapor
#

Can you show your full csproj

plush glade
static meteor
#

This is what the SDK format looks like

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net48</TargetFramework>
    <LangVersion>12</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <AssemblyName>SubZone</AssemblyName>
    <RootNamespace>SubZone</RootNamespace>
    <PlatformTarget>x64</PlatformTarget>
    <Platform Condition=" '$(Platform)' == '' ">x64</Platform>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DebugType>embedded</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <DebugType>embedded</DebugType>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>

    <PackageReference Include="Northwood.LabAPI" Version="1.1.3" />

    <Reference Include="ProjectMER" Publicize="true">
      <HintPath>C:\Users\Superuser\Downloads\ProjectMER.dll</HintPath>
      <Private>False</Private>
    </Reference>
  </ItemGroup>
</Project>
plush glade
#

I tried adapting what axwobo sent

#

This is why I said ELI5

#

The other one worked without any trouble just installing the nuget package

#

But that had issues with the ambigious references

upper vapor
#

i'd suggest you delete the contents of your existing project's csproj and recreate it from a new project

plush glade
#

Yeah I'm creating a new project

restive turret
#

You can prob rem many unnecessary lines

plush glade
upper vapor
plush glade
#

And this is supposed to say .net 8, correct?

upper vapor
#

so you don't have the .NET 8 SDK

#

yea

restive turret
#

Update youd VS to VS22

upper vapor
#

update your VS to Rider

restive turret
#

Thanks no

#

I decline this offer

waxen kayak
#

a simple question, does Animator.GetBoneTransform get effect on sl s human model?

plush glade
#

Regardless its a problem I'll have to solve tonight

#

Thanks for trying

restive turret
upper vapor
#

well

#

try it and see

icy knoll
#

we should add a super secret toggle that turns all animations for a specific player into gmod animations /j

waxen kayak
#

how to know is a character under the light?

spare zodiac
upper vapor
#

cuz you can't check for "regular" lighting on a dedicated server

#

RoomLightController.IsInDarkenedRoom

#

or

#

look at VisionInformation

waxen kayak
#

thanks

upper vapor
#

np

wispy dirge
#

how do you usee the mutefacilitysoundtracks effect

#

since it does fuckall in RA

upper vapor
#

"effect mute 1 0 2"

wispy dirge
#

ah

#

thanks

upper vapor
#

you don't need to type the full effect name in the command

#

also it's named diferently than the type

#

np

static meteor
#

@thorn escarp ^

thorn escarp
#

Dealt with

waxen kayak
#

what is the weaved function

upper vapor
restive turret
#

It is the result of Mirror's assembly weaving for certain type of classes

unique crane
#

^

restive turret
upper vapor
#

SDHITT
T

#

AAAAAAAAAAA

#

fuz

restive turret
#

tehy talking about github copilot stuff

#

so just rollback into the first hour

restive turret
#

well now its been released, when unity will use it

upper vapor
#

1000000000 years later

restive turret
#

nah

#

jsut 10 years later

celest thorn
#

Honestly you guys donโ€™t know how to code trolling

unique crane
restive turret
#

I just create PoC most of the times

celest thorn
#

:3

#

Im talking to the guy who doesnโ€™t know what a triangle is

celest thorn
restive turret
mild ice
restive turret
celest thorn
celest thorn
upper vapor
celest thorn
upper vapor
unique crane
#

AI Overview

#

๐Ÿ˜

celest thorn
#

Bruh

upper vapor
#

i don't make the rules

celest thorn
#

Im pretty sure an arrow isnโ€™t a shape

faint sparrow
#

When, thanks

celest thorn
faint sparrow
unique crane
#

Idc

celest thorn
#

I see squares

unique crane
#

It goes to the square hole

upper vapor
upper vapor
celest thorn
#

Learning shapes with nw

#

Triangle is missing

unique crane
#

@spookcid now ban for real

celest thorn
#

At hubert give them a piece of rice for the entire month

unique crane
#

per what

celest thorn
#

?

unique crane
#

You said what and until when

#

but not at what intervals

#

You forg the i++ part

celest thorn
#

What?

#

I never said that

unique crane
celest thorn
#

It seems fine

unique crane
#

Piece of rice

#

per what

#

day<

#

hour?

#

second

celest thorn
#

For the entire month

#

So one now

#

For the entire month?

#

Isnโ€™t that obvious?

unique crane
#

oh

#

silly

celest thorn
#

Thats what nw hq looks like

faint sparrow
#

Lol

restive turret
#

@upper vapor so tld for the last hour:

  • net10 alive
  • dotnet run file.cs exists (cool one-file-only feature)
  • you can make the file.cs into a project.
  • bunch of AI that I just skipped
  • VS26 (U aint gonna use it so that doesnt really interested)
upper vapor
#

i know about dotnet run Kek

restive turret
#

me 2

#

I used for 1 file

#

๐Ÿ’€

upper vapor
restive turret
#

but thanks

upper vapor
#

np

restive turret
#

i laughed at my own joke

upper vapor
restive turret
#

:bleeeeeeeeeeeeee:

#

well atleast it loads

unique crane
#

thats 4 more visual studios

upper vapor
restive turret
#

2 actually

upper vapor
#

i hate my life

unique crane
restive turret
#

how long this conference

unique crane
#

๐Ÿ˜

upper vapor
restive turret
upper vapor
#

3 am gmt+1

#

that's the end for "today"

restive turret
#

currently its 1:23:-- time

upper vapor
#

10h

#

for

#

.NET 10

restive turret
#

and atleast 10 hour will be AI

upper vapor
#

25h conf every day in 15 years

upper vapor
#

"copilot, copilot, github copilot, vs ai, ai, copilot, ai"

#

-# -real quotes from ms employees

restive turret
#

you wouldnt vibecode an IDE

#

๐Ÿ’€

upper vapor
#

vibesurf

#

vibing it rn

restive turret
#

why MS pushing AI

#

i dont like it

upper vapor
#

erm actually

#

you don't get a say for it

#

suckstobeyouxdxd

restive turret
#

I stay on VS22

#

or update to 26 but disable AI

upper vapor
#

then you can't use .net 10

#

ahahaaaaaaa

restive turret
#

i can use .net in vs22

unique crane
#

Ill use notepad++ and cmd

restive turret
#

real

celest thorn
unique crane
#

Same

restive turret
#

I use notepad

#

in win10

#

not the AI note shit

unique crane
#

g++ -Wall -pedantic && ./a.out

celest thorn
#

I started with notepad++

static osprey
#

i use notepads irl

celest thorn
#

But then switched to sublime

static osprey
#

sometimes concrete slabs

restive turret
#

premake --file:.\premake.lua build-all --os windows vs-2022

unique crane
#

whar

restive turret
#

i dont know

#

i watching this but soo much ai stuff that i just ignore

#

lool

upper vapor
#

completely

restive turret
#

ah yes, I will surely go into more AI talk

cyan crown
#

Plugins devs cat

#

Chat dev plugins

royal mica
#

I love getting NullRef for UnityEngine.Transform.get_rotation ()

#

Anyone any clue why would IdlePoseRetainerSubcontroller.Update () and LookatSubcontroller.OnAnimatorIK cause this?
The root cause is get_rotation throwing NRE of course

#

just it is VERY weird

unique crane
royal mica
#

Basegame

#

I'm pretty sure hidden cause it plugin related, but without any pointers, literally impossible to start off

#

since the stacktrace does not contain any usable info what so ever

icy wraith
#

Is there an existing function to spawn a skeleton?
(a ragdoll)

restive turret
#

I think someone from here made some script or somthing

hearty shard
icy wraith
hearty shard
#

Oh you mean 3114 ragdoll

#

Theres a class for it

#

in sl

#

afaik

#

Forgot its name

static meteor
teal junco
slate flume
#
ReferenceHub dummy = DummyUtils.SpawnDummy("Bones");
Timing.CallDelayed(Timing.WaitForOneFrame, () => NetworkServer.Destroy(dummy.gameObject));
PlayerRoleManager roleManager = dummy.roleManager;
roleManager.ServerSetRole(RoleTypeId.Scp3114, RoleChangeReason.None, RoleSpawnFlags.None);
var role = (Scp3114Role)roleManager.CurrentRole;
DamageHandlerBase handler = ragdoll.NetworkInfo.Handler;
Scp3114RagdollToBonesConverter.ServerConvertNew(role, ragdoll);
halcyon folio
#

var

#

matter of preference, I like using class names where possible

upper vapor
teal junco
#

oh i see

upper vapor
#

Ya

royal mica
restive turret
#

Because gameobject/transform is null

#

Yes, somehow the Model transform are null

royal mica
#

Yes, but how

restive turret
#

Do you know how

royal mica
#

and why

restive turret
#

How would I know, you get the exception

#

What you did to get it

royal mica
#

That is a question I would very much would like to know as well

restive turret
#

Well the model doesnt have an owner

#

*subcontroller

royal mica
#

Literally 0 clue how can that happen

#

I'm not doing anything with owner setting, let alone creating such things

restive turret
#

Ye i have no clue either

royal mica
#

It is so weird cause all of these NREs happening at the start of the round

restive turret
#

Like how, after server restart or some fast round restart

#

Because none of the roles that are early exist should have any fpc stuff

#

None, Destroyed, Spectator

#

Those doesn't have model or anything like that so those cannot throw nre

upper vapor
#

Player joins and leaves in the same frame perhaps?

royal mica
restive turret
restive turret
royal mica
#

The problem that this happens maybe once a week or two weeks

upper vapor
#

@restive turret what are the performance improvement benchmarks looking like (VS22 vs VS26)

#

Vsvsvsvsvs

restive turret
#

Had to readd VS as sln, slnx, .cs files to open with the new one (since defaulted to older one)

#

Y'know what funny?

#

When they said "look how good is the loading time!" It was literally no project just an empty solution open

restive turret
#

I will try on big projects and stuff, Nuget packages showing/loading doesnt have any impact

#

Atleast new ui for changing preference settings , this includes the new nuget package sources

#

New icons and shit but not really interested about that

wraith glen
#

I'm trying to build a .name / .cinfo plugin for my RP server, and every which way I go, its giving me

[2025-11-12 07:26:24.497 -05:00] [WARN] [JFDCustomNameInfo] [JFDCustomNameInfo] No Player events found to subscribe to. Will retry in background a few times.

woven quiver
#

how can i get scp sl 14.2.2 rooms models for unity

static meteor
woven quiver
#

models come broken

static meteor
#

idk then ยฏ_(ใƒ„)_/ยฏ

restive turret
#

ยฏ_(ใƒ„)_/ยฏ

woven quiver
#

:(

spare zodiac
#

can I rotate the player camera?

restive turret
#

I dont think that's synced

#

And which way?

worn gull
#

player.Rotation?

restive turret
#

(I dont think so)

spare zodiac
restive turret
#

Pff no idea where to evn look ag

#

Check the 3114 strangle

hearty shard
#

camera itself cant be done afaik

spare zodiac
spare zodiac
restive turret
#

Not effect the subroutine

spare zodiac
#

I mean rotation of the player what @EVE said should work

#

if only Y wouldn't change

#

X Z stays 1 iirc

upper vapor
#

though it'll still be jittery, since you can't prevent players from moving their camera

upper vapor
spare zodiac
upper vapor
#

yep

spare zodiac
#

alrighty

woven quiver
upper vapor
#

i don't understand

wraith glen
woven quiver
upper vapor
#

that's a side-effect of ripping assets

#

click on the objects that are purple, scroll down to see the material list and search for the "Standard" shader

woven quiver
#

ok

halcyon folio
upper vapor
#

nope

halcyon folio
#

There was some plugin that converted them to .fbx's or smth

#

Back then

#

Ah good, that's finally gone

wraith glen
#

So I finally got it working, but now I am running into another issue. its also telling me though the command is working, "Command Not Found"

upper vapor
#

did you use the event for handling commands?

unique crane
#

Maybe show us the code?

upper vapor
#

this is how you make commands

#

more info on the wiki

wraith glen
#

Thank you! ๐Ÿ™‚

upper vapor
#

np

burnt lion
#

I dont see the new client beta option? The current one that says early access is for 14.2.0

static meteor
#

Restart steam

burnt lion
teal junco
wispy dirge
#

still no 1509 labapi pickup wrapper

teal junco
#

does it have any special properties?

#

actually curious

restive turret
burnt lion
spare zodiac
wispy dirge
#

I already made my own wrapper anyways

wispy dirge
#

i do NOT remember writing this in my code

restive turret
#

nah this is YOUR code

#

you did write that

wispy dirge
#

It's just disaabling the effect and wearable of 1344

#

Why

#

I do not understand my ass code

restive turret
#

me neither

halcyon folio
burnt lion
#

actually tho, why dont i have the client build avalible?

#

the server version is correct, but client is still 14.2.0

marble cobalt
burnt lion
#

yes

#

unless i somehow did that wrong

halcyon folio
#

Let me check

unique crane
#

Ill check real quick

#

one minute

marble cobalt
#

Are you on early-access? Or labapi-beta

#

The updated branch is early-access

burnt lion
#

early-access

muted shoal
#

early access seems to still be on 14.2

burnt lion
#

i checked labapi-beta and that was 14.1

marble cobalt
#

๐Ÿค” Build ID is correct on Steamworks wth

halcyon folio
#

It's fine on my end

static meteor
#

Steam moment

halcyon folio
#

Verify game files

marble cobalt
#

๐Ÿ˜… Phew

unique crane
#

Uhhh

halcyon folio
#

You never skill issue Beryl, don't worry about it

marble cobalt
#

I personally have to press this, open it again, and build gets updated

burnt lion
#

interesting

halcyon folio
#

@unique crane

unique crane
#

Is this Steam moment 3

halcyon folio
#

It is a Steam moment.

unique crane
#

like we had on labapi beta 1

halcyon folio
#

All is good on my end

marble cobalt
#

Steam has an issue in particular with public branches, from my experience

#

Private branches it does the same, but updates quicker

#

But public branches? Shit takes its time to properly update

burnt lion
#

is there some conflict with the name of the 14.2.1 beta being the same as this one?

halcyon folio
#

Was there any earlier betas?

#

Cause I jumped from stable to early-access.

marble cobalt
#

Shouldn't be

burnt lion
#

there was one a week before 14.2.1 no?

halcyon folio
#

But it should update to 14.2.2 should it not?

burnt lion
#

i have no idea

halcyon folio
#

I'd just think it's Steam caching something

#

dunno

unique crane
#

Restart Steam

#

verify files

burnt lion
#

i did

unique crane
#

If still nothing

#

clean reinstall

burnt lion
#

again

halcyon folio
#

including verify files?

#

gotcha

burnt lion
#

oh, it worked now

#

i just uninstalled the game, and reinstalled

static meteor
restive turret
glad pagoda
warped prairie
#

what are the big diffrences going to be in LABAPI 2.0?

restive turret
#

Breaking every single plugin ๐Ÿ”ฅ

halcyon folio
warped prairie
plush glade
#

Is there a way to show goggle orbs to players if they're not wearing goggles

wispy dirge
#

give them the 1344 effect and disablewearable of 1344

static meteor
#

Client side afaik

snow pulsar
teal junco
#

there will 100% be breaking changes

#

idk the extent

#

so it may break every plugin significantly or be almost unnoticable

upper vapor
upper vapor
plush glade
#

How can I spawn a firearm pickup with random attachments ?

upper vapor
#

Set its attachments code

#

Spawn

plush glade
#

Is there a good way to generate a valid attachments code ?

upper vapor
#

Firearm.Base.ApplyRandomAttachmentsCode

#

Iirc

plush glade
#

Okay will take a look when I'm back

#

Idk how I missed that

upper vapor
celest thorn
#

I need to check if a player disconnected fr or just for the round restart how can i check that?

celest thorn
static meteor
#

peak scene

celest thorn
#

fr

#

TOTALLY unexpected

upper vapor
celest thorn
celest thorn
#

at dexter's work

plush glade
static meteor
# plush glade Is there a good way to generate a valid attachments code ?
        public static bool TryApplyAttachment(this Firearm firearm, AttachmentName name)
        {
            Attachment targetAttachment = firearm.GetAttachmentByName(name);
            if (targetAttachment == null)
                return false;

            uint newCode = firearm.GetCurrentAttachmentsCode();

            for (int i = 0; i < firearm.Attachments.Length; i++)
            {
                Attachment attachment = firearm.Attachments[i];
                if (attachment.Slot == targetAttachment.Slot)
                {
                    uint bitToRemove = 1u << i;
                    newCode &= ~bitToRemove;
                }
            }

            for (int i = 0; i < firearm.Attachments.Length; i++)
            {
                if (firearm.Attachments[i] == targetAttachment)
                {
                    uint bitToAdd = 1u << i;
                    newCode |= bitToAdd;
                    break;
                }
            }

            firearm.ApplyAttachmentsCode(newCode, true);
            firearm.ServerResendAttachmentCode();

            return true;
        }

        public static bool TryApplyAttachment(this FirearmPickup firearmPickup, AttachmentName name)
        {
            firearmPickup.Info.ItemId.TryGetTemplate<Firearm>(out var firearm);
            if (firearm == null)
                return false;

            AttachmentCodeSync.ServerSetCode(firearmPickup.Info.Serial, AttachmentsUtils.GetRandomAttachmentsCode(firearmPickup.Info.ItemId));
            if (TryApplyAttachment(firearm, name) && firearm.WorldModel != null)
            {
                firearm.WorldModel.Setup(firearm.ItemId, firearm.WorldModel.WorldmodelType, firearm.GetCurrentAttachmentsCode());
                return true;
            }
            else
                return false;
        }
celest thorn
#

I WAS ABOUT TO SEND IT

#

;(

#

;(

static meteor
#
        public static Attachment GetAttachmentByName(this Firearm firearm, AttachmentName name)
        {
            foreach (Attachment attachment in firearm.Attachments)
            {
                if (attachment.Name == name)
                    return attachment;
            }

            return null;
        }
celest thorn
#
    public override void OnPlayerLeft(PlayerLeftEventArgs ev)
    {
        if (Round.IsRoundEnded)
            return;
     }

Does this work or nah?

static meteor
#

I think thats set when the round ends but before the round resets

celest thorn
plush glade
static meteor
#

yes

plush glade
#

Whereas I want to set a random valid attachment

#

In all slots

static meteor
#

oh thats

#
AttachmentsUtils.GetRandomAttachmentsCode(firearmPickup.Info.ItemId));
#

InventorySystem.Items.Firearms.Attachments.AttachmentsUtils.GetRandomAttachmentsCode(ItemType)

plush glade
#

๐Ÿ™

static meteor
#

Then you just do

            Firearm::ApplyAttachmentsCode(newCode, true);
            Firearm::ServerResendAttachmentCode();
plush glade
#

How can I modify the ammo of a firearm pickup?

static meteor
#

This should work i think

            firearmPickup.Base.Info.ItemId.TryGetTemplate<Firearm>(out var firearm);
            firearm.ItemSerial = firearmPickup.Serial;
            FirearmItem labFirearm = FirearmItem.Get(firearm);
            labFirearm.StoredAmmo = 100;
#

If it dosent then this should

            firearmPickup.Base.Info.ItemId.TryGetTemplate<Firearm>(out var firearm);
            firearm.ItemSerial = firearmPickup.Serial;
            firearm.TryGetModule<MagazineModule>(out var mag);
            mag.StoredAmmo = 100;
            mag.ServerResyncData();
plush glade
#

Alright I'll give that a shot thanks

plush glade
#

Yeah I used lab for that lol

upper vapor
#

getting the wrapper for the template is diabolical

plush glade
#

And I tried the seond one it also doesn't work

static meteor
plush glade
#

I think it's to do with the weapons spawning without a magazine controller

#

I've tried LabFirearm.Reload() but that causes some exception somewhere

#

Any insight is appreciated

upper vapor
plush glade
#

Will try this

celest thorn
upper vapor
#

Are you trolling or not

celest thorn
#

check it rn

upper vapor
#

Okay

#

genuinely wtf is your problem

teal junco
#

๐Ÿ’€

upper vapor
#

Wrong ping

#

Thanks discord

#

I love pressing on the correct profile and then getting a wrong user inserted

upper vapor
teal junco
#

did you ping the wrong zero two

celest thorn
#

Never seen this issue

upper vapor
#

Harmony shit

celest thorn
upper vapor
#

Probably cuz cedmod now has transpilers (thanks)
I'm gonna have to update my patch

upper vapor
upper vapor
#

Harmony -> CLR

#

It's just

#

Mono

#

Is stupid

#

Ugh I have to install cedmod

icy knoll
upper vapor
#

@celest thorn where did your transpilers go ๐Ÿ˜ญ

#

i don't see them on master

#

either i'm blind or github is messing with me

celest thorn
#

wtf

upper vapor
upper vapor
#

np

waxen kayak
#

waypoint fast will cause player cant move with it

hearty shard
#

!bugreport

regal lakeBOT
upper vapor
waxen kayak
#

positionoverriding time

tulip kiln
#

Did anyone try the new version?

#

I can't join my server due to difference in game versions ๐Ÿ˜ญ

restive turret
#

Backwards compatible: False

burnt lion
#

thats what worked for me

upper vapor
alpine glade
harsh thorn
#

but i think that patch might be obsolete now

#

actually, not it isnt its supposed to ignore -1 and -2 from the RA list as those are the custom entries

upper vapor
#

i've seen maybe one transpiler on master

harsh thorn
#

theres a few now

upper vapor
#

there's not a single transpiler on master

harsh thorn
#

theres 4 of them

#

most things that were patches could use labapi events as the labapi had those events so the patches themselves were gone

upper vapor
#

none of the files in Patches have a transpiler on master

harsh thorn
#

there are other places

harsh thorn
upper vapor
#

yeah

#

fair

harsh thorn
#

most patches that cm has nowadays are small prefixes

#

that dont return false unless its something like an exploit for or the ban method/mute commands

fathom charm
#

Can i call a cassie message when player left from server?

sweet flax
#

yes

fathom charm
#

How?

sweet flax
#

some event OnLeft and Cassie.Message

fathom charm
#

Hm, no work

sweet flax
#

wdym

fathom charm
#
        public override void OnPlayerLeft(PlayerLeftEventArgs ev)
        {
            switch (ev.Player.Role)
            {
                case RoleTypeId.Scp939:
                     Logger.Error("1");
                     Cassie.Message("alpha", false, false, true);
                     break;
            }
#

I use this code, and is not sending log in console

static meteor
restive turret
teal junco
#

SlejmUr does your custom item class' ItemBase field mean that each instance of a custom item has its own copy of the class?

restive turret
#

No

#

Class only created once, then when a new item made / spawned with that it using the parse to do stuff with it

#

I checked for it if would be great to create each class for owned itembase (similarly how wrapper work) and i found out it's not really good and it fucks up performance

celest thorn
#

Just make it

#

and btw what a bio

#

ussr has fallen 34 years ago

#

almost 35

hidden horizon
#

Im pretty sure discord WILL ban you for that kind of stuff

upper vapor
#

Blud has evaporated xd

hearty shard
upper vapor
#

Get this person a

#

๐Ÿ…

true cedar
#

what happened

restive turret
#

ban

languid temple
upper vapor
#

smarty farty

#

malom

languid temple
upper vapor
#

mill

royal mica
upper vapor
#

xdddd

languid temple
#

ez kritikรกn aluli volt

upper vapor
royal mica
#

ezek az idegรถrlล‘ viccek

wispy dirge
#

6 horus till i have to spam dm the guy who owns the server to update it

#

๐Ÿค‘

languid temple
#

sounds fun

warped prairie
#

Gg

celest thorn
#

idk that was a weird encounter

#

ngl

teal junco
#

im a new soul

celest thorn
#

to just put it in a way harder way to figure it out what he had

true cedar
warped prairie
#

Understood. Lost at the context but understood

celest thorn
teal junco
warped prairie
#

I just mean what happened

celest thorn
celest thorn
#

and he was doing 1991 - 1 russian propaganda

warped prairie
#

Ah. I see

celest thorn
#

quite strange doing it here

teal junco
#

yeah if it ws me i would first build a reputation for at least a year

celest thorn
upper vapor
celest thorn
#

i know your country loves it so much the 1991 - 1 russia

#

lol

upper vapor
upper vapor
#

do something? crash

#

do nothing? crash

spare zodiac
#

Crash? I was crash once

royal mica
worn gull
#

Why PlayerUsingRadio always getting called? Doesn't it should be called when the player speaks on the radio?

upper vapor
#

i think it's for battery draining

#

cuz it still drains even if it's not being "used" (spoken through) but isn't disabled

warped prairie
#

Like whenever itโ€™s on and any voice comes through or just existing?

waxen kayak
#

?

#

just have a event like PlayerSaying and check the VoiceChannel

#

or patch it

upper vapor
#

That's my idea at least, can't check rn

warped prairie
#

Ye no worries. Iโ€™m in spectator mode

waxen kayak
#

did IItemNametag is server side๏ผŸ

static meteor
#

No its client side

#

Only custom keycards can have custom names

bright vine
#

is night vision still not in labapi's customeffects thing yet

#

is this still the case

restive turret
#

i think it got fixed in some patch between that and now

bright vine
#

but i dont see it

unique crane
#

We readded NV effect as it was removed by accident

#

its in RA

bright vine
#

RA but not CustomEffects?

unique crane
#

wdym by customeffects

restive turret
#

namespace

unique crane
#

If you mean some plugin

upper vapor
#

NightVision type should exist

#

Maybe it's in the wrong namespace?

restive turret
#

nope

upper vapor
#

Lmfao

bright vine
upper vapor
#

Ncm then

bright vine
#

customplayereffects i mean

#

CustomPlayerEffects i meant that yes sorry

upper vapor
restive turret
#

update yo assembly

upper vapor
#

Ya

restive turret
#

its even public so

upper vapor
#

You're using a dll from like 14.1.x

bright vine
#

assembly.. i thought updating labapi dll was enough

restive turret
#

no

#

that thing is basegame

upper vapor
#

No that's not enough, you gotta update other assemblies from the dedicated server

royal mica
#

Always keep Assembly and LabAPI updated

upper vapor
#

At least ACS

bright vine
#

right

#

that worked

#

thank you

upper vapor
#

Np

static meteor
vagrant nebula
#

can you detect raycast on a cube without collision and the cube being invisible?

static meteor
#

Yes

vagrant nebula
#

cuz like

#

i have a interactable door, but amert detection is shit so i tried to do it some other way

#

i just saw someone make one with their plugin

#

except it has normal detection, while being invisible and non collidable

static meteor
#

Aslong the layermask on the raycast contains the primitive layer it will detect it afaik

vagrant nebula
#

example

static meteor
#

Why not make it a interact toy or whatever its called

vagrant nebula
#

i dont need it to be neccesary non collidable, i just want the detection to be normal

unique crane
vagrant nebula
#

but i got no idea whats amert port use

static meteor
#

Use interact toy then for detection

unique crane
#

What are you triyng to do

unique crane
#

preferable

#

and already implemented

#

Use that

vagrant nebula
#

im trying to make an interactable door

unique crane
#

interaction toy

vagrant nebula
#

player presses E on door it plays animation and a sound

static meteor
#

Interaction toy can do that

vagrant nebula
#

doesnt amert use interaction toys?

#

why does it detect so poorly then

static meteor
#

No its before they were added

vagrant nebula
#

yeah but it has support for interaction toys

#

without a keybind

royal mica
#

but please use interactivetoy, as its literally the purpose of it

static meteor
#

PMER has interaction toy support too

vagrant nebula
#

yeah

#

i make the door as the schematic

#

probably gotta learn coding since amert is useless

sacred sierra
#

isnt half of amert is actually useful stuff and other half of amert is just easier to create and use with your own plugins

vagrant nebula
#

but its updating pretty much died since labapi release, its just ports to new version

unique crane
#

Cant do everything without some coding

vagrant nebula
#

nothing new

unique crane
#

Sorry buddy

static meteor
#

It should be pretty simple to make this too

sacred sierra
vagrant nebula
#

i dont know where to start

unique crane
#

!c#

regal lakeBOT
unique crane
#

Right here

sacred sierra
#

i find stuff like SE & AMERT ok for start but when you try to make complex stuff with it it just adds not needed complexity weirdness and confuseness

static meteor
vagrant nebula
#

i know C# but code just feels weird

#

i dont understand

sacred sierra
pseudo kelp
static meteor
#

A simple typo caused major desync

vagrant nebula
#

which framework is easier to use in work with schematics

sacred sierra
#

no difference if you are talking about plugin frameworks

static meteor
#

They're about the same

vagrant nebula
#

which is easier

sacred sierra
#

also no difference there

#

only maybe like

#

that labapi is preinstalled

#

and exiled isnt

static meteor
vagrant nebula
#

.dll?

#

i have everything thats needed from the schematic side

static meteor
#

I have like half of this as a plugin on my server but instead of custom doors its normal doors from unity

vagrant nebula
#

i dont understand what do i do

#

where can i get references of labapi

#

or open a plugin to see its code

static meteor
#

Download the dedicated server from steam

vagrant nebula
#

i have it

static meteor
#

Go to its files /SCPSlData/Managed and all needed references besides PMER will be there

#

Iirc SCPSLData is the name

vagrant nebula
#

do i need the config or wut?

unique crane
#

Read what it tells you

marble cobalt
vagrant nebula
unique crane
#

implement them

vagrant nebula
#

ok its not red now

#

yey

restive turret
vagrant nebula
restive turret
#

Well actually a warm color

#

But you get it

warped prairie
static meteor
vagrant nebula
#

i wrote like 2 plugins on exiled and forgot everything since

restive turret
#

Disabled doesnt run but please unsubscribe and etc so when we make an improvement on that your plugin aint gonna cause chaos

vagrant nebula
vagrant nebula
#

or is it

#

like

#

just pressing it

static meteor
#

When a player presses their interact key on it

vagrant nebula
#

thats all it does?

#

so if i for example want 939 to pounce on a collider to play animation what do i use

static meteor
#

Its basically a fake pickup

vagrant nebula
#

ok

#

yeah im bad at this

#

i forgor everything

static meteor
#

guh

restive turret
#

Check out the wiki / examples

vagrant nebula
#

but its complicated

#

i dont know english that much

static meteor
restive turret
static meteor
#

It creates the UncomplicatedCustomItems folder in the config directory

#

Its over a year old i choose not to touch it

vagrant nebula
#

how can i open plugin code

static meteor
#

Decomplier

#

Rider has one built in iirc

#

most ides do

vagrant nebula
#

where is it

static meteor
#

I dont use Rider ยฏ_(ใƒ„)_/ยฏ

static meteor
vagrant nebula
#

wuh

static meteor
#

ctrl + left click

vagrant nebula
#

it just opens this

hearty shard
#

The .dll you want to view

vagrant nebula
hearty shard
#

this then

vagrant nebula
hearty shard
#

Well yea open the file you want

#

To view..

vagrant nebula
#

nothinf happens

hearty shard
#

Im pretty sure its that button

#

Im on phone in bed rn

#

Ive never had issues with it

vagrant nebula
#

its just this

hearty shard
#

Yea its opened

#

Thats namespaces

#

Of the plugin

vagrant nebula
#

how do i look in it

hearty shard
#

click it

#

expand it

alpine glade
upper vapor
#

the wiki has some code snippets, and you can look at the examples

teal junco
#

does anyone have an idea on how i can set up my server so that another server can send and receive packets to mine? or is that a super complex thing that i probably shouldnt expect to be able to do without massive research

#

packets as in binary/text and audio

celest thorn
#

or like

#

sending data between 2 server

teal junco
#

the latter

celest thorn
#

and then connect them between each others

#

thats how i did it for alot of time

#

and it works

#
  • websockets allow you to do auth because as you guessed it they are like websites but with less stuff
#

and they can take arguments

#

they weight nothing to both and unity community has built alot of bridges around them

teal junco
#

so if i write a websocket server for one side and a client for the other, i can have the two scp sl servers send data to each other

upper vapor
#

are the two servers hosted on the same machine?

#

if so, you could use named pipes i guess

#

but websockets are probably the easier option

#

though your server will have to handle connecting the two websockets to each other (not that difficult to do)

celest thorn
#

i can send you an entire mono behavior

#

i did to support websockets

#

that doesn't lag nor crash

upper vapor
celest thorn
#

lol

celest thorn
#

because i prefered having a class and wanted to learn more

upper vapor
teal junco
upper vapor
#

yeah then ws

teal junco
celest thorn
#

google doesn't do this

#

!!!1!

teal junco
#

& with websockets it can handle decoding audio samples in real time?

#

like websockets are fast enough?

celest thorn
upper vapor
celest thorn
#

its pretty instant

upper vapor
#

rtp for example

celest thorn
#

honestly

upper vapor
#

icecast

celest thorn
#

for that i would reccomend pigeons they are faster