#plugins-discussion

1 messages Β· Page 2 of 1

white dove
#

No

#

This is not possible

sage hearth
#

aw

fair lintel
#

i mean

#

you can recreate the map with primitives toomuchtrolling

sage hearth
#

For my example, i want to specifically get rid of the 2 doors in the back of the Class-D Cells, to then build a map extension there.
-# I dislike having to use Teleporters for every map extension...

#

But as far as i understand it, they dont have the door component so are just static objects

fair lintel
#

yeah unfortunately you need teleporters for that

sage hearth
#

aw :c

humble arrow
#

its probably not so easy

#

if it was i bet more people wouldve done it

keen parcel
#

and maybe some creative thinking

#

but for programming thats about it

#

and a fast typing speed πŸ˜‚

humble arrow
keen parcel
#

which probably never because i am very lazy

#

id have very neat code

#

i mean its kind of like

#

if you get me to do it i just do it

#

and could give a shit less

humble arrow
keen parcel
#

no it isnt

#

im a perfectionist

#

i wouldnt leave without perfecting the code

#

and if not id come back the next day and work on it

humble arrow
#

dont worry about perfecting the code or you will spend hours on something that should be basic

#

but i like your attitude

#

that kind of determination is something i need

keen parcel
#

but my code would be hard to co author probably

#

im the king at coming up with really out of the box ideas

#

i mean i guess i know a bit about code but

#

too lazy to actually learn it lol

humble arrow
#

if you know what an interface is specifically youre probably doing better than i am

keen parcel
#

well without interface you wouldnt be able to even communicate with the computer or code

#

it would just be code

#

like

#

think if 0 interface like an experiment with 0 changes

#

it just runs

#

you set everything up and it runs

#

code can do that

#

interface is like changing variables and such in an experiment

#

because youre letting the user change values to get different outputs

humble arrow
keen parcel
#

a what

humble arrow
#

object oriented programming

keen parcel
#

can you give an example

humble arrow
#

its a contract of some sort that a class signs that says it will have these specific methods and these specific field/properties

humble arrow
keen parcel
#

it just doesnt work??

keen parcel
#

like authenticating something or

humble arrow
#

at all

keen parcel
#

so what can i relate it to just like signing a driver so windows wont give you smart screen?

#

kind of thing

humble arrow
#

if the real world was a program

#

uhm

#

IOrganism would have the functions IOrganism.Reproduce() and property IOrganism.Age or something

#

and the Human class implements IOrganism

keen parcel
#

so like

#

let me try to think here

#

it has that property

#

and what that does is human is expected to have

#

said property

#

than that property grabs certain things

#

like movement speed and such?

humble arrow
humble arrow
keen parcel
#

so like

#

if i did

#

the IOrganism(MovementSpeed = 4.5)

#

it would change the original value

#

listed in the IOrganism classifier to that

#

or

humble arrow
humble arrow
keen parcel
#

ohhh okay

#

so are we talking like transpilers in scpsl or something

humble arrow
#

Transpiler is completely different

#

i dont know it at all

keen parcel
#

ah

humble arrow
keen parcel
#

so like

humble arrow
#

then you can access that objects organic properties

keen parcel
#

fpc motor in sl

#

is one of those

#

a classifier right

humble arrow
keen parcel
#

so like

#

IOrganism would have variables like

MovementSpeed
Health
etc

#

or sumn idk

keen parcel
#

what does fpc motor even have in it?

humble arrow
#

uhm

sullen apex
#

fpcmotor isnt an interface iirc

humble arrow
#

i wasnt sure if he was asking what fpc motor implements

#

or if its an interface

keen parcel
#

why do you interrupt mid context

sullen apex
#

im just contributing bc i know c# !

humble arrow
#

he was referring to classes

keen parcel
#

yes but did you see what i said after it

#

yeah

sullen apex
#

o

humble arrow
keen parcel
#

lol

sullen apex
#

nothing to do with oop

humble arrow
#

you developed a program that uses a lot of Interfaces you might be able to help

keen parcel
humble arrow
#

hint thingy

#

im pretty sure

sullen apex
#

oh yea

#

ruei

humble arrow
#

I dont even remember looking through ruei code tbh

sullen apex
#

its not very good

keen parcel
#

like interface would be like

sullen apex
#

i need to get around to writing it

keen parcel
#

a class would be a button

sullen apex
#

rewriting

keen parcel
#

is clickable = true and such

#

in the identifiers

#

and you can change it to false but those are the default parameters or sumn

#

idk

humble arrow
sullen apex
#

kinda?

keen parcel
#

the official terms

sullen apex
#

in oop, a class is basically just a thing that stores information (and has methods to operate on that information)

humble arrow
#

or it can be a single instance that can be accessed globally

#

but generally focus on the first one

keen parcel
#

right?

sullen apex
#

yea sure but they don't NEED default values

keen parcel
sullen apex
#

if it helps

keen parcel
#

thats what you do after

sullen apex
#

yea u can change the values

keen parcel
#

ahhh

#

i see now

sullen apex
#

an interface is kind of a class except it can't actually store anything

#

it can only really be inherited

keen parcel
#

my daily c sharp lesson

humble arrow
#

one class can inherit multiple interfaces

sullen apex
#

yea

humble arrow
#

so theyre generally used to denote that an object is capable of doing X thing

#

so my IOrganism idea wasnt very good actually

sullen apex
#

what you can do is essentially convert a class to an interface and use it as that interface

sullen apex
#

oop is all very stupid

humble arrow
#

So the Dog implements IWalkable because it moves its four legs to walk

#

and so does the human, but they walk differently

#

but if you wanna make something walk without worrying about how, you can access its IWalkable and do IWalkable.Walk() and no matter what object it actually is itll walk as long as the interface is properly implemented

old relic
#

Chat, is this too many keycards?

keen parcel
old relic
#

Imagine the 914 upgrade tree ClassDClueless

keen parcel
#

youll drive people to insanity with upgrade paths

slate dove
#

Thats the point!!

cedar wasp
#

-1 if it is impossible to make a card without any permissions

pearl sage
#

someone make an avengers endgame plugin NOW

humble arrow
lyric wagon
pearl sage
keen parcel
pearl sage
#

Trust

granite belfry
eternal garnet
#

people have downloaded the repository 30-50 times, but have not suggested any changes ...

humble arrow
#

thats how it is

#

people download it to look or check it out, most lose interest quickly, and of the ones who continue using it not many are interested in requesting specific changes or giving feedback

#

ive personally been lucky enough to have more than a few gentlemen/women dming me for support and suggestions on one of my plugins due to continued interest and use.

steady vessel
#

I have literally no skills (chatgpt my love) If I have some lines of code for a plugin, what would I save the file as and where would I save it?

worn isle
#

to compile to .dll

#

you also need an actual C# project

#

not just a single file

fair lintel
steady vessel
#

If I installed a scpsl server on steamcmd, will I have LabAPI?

worn isle
#

if you installed the beta yes

steady vessel
#

I have the beta on the server πŸ‘

steady vessel
# worn isle You need a C# compiler

"First, find a plugin you may want to download, and open its Github page (or repository, as we often call it)."
The guide thinks I already have a file in that format, I do not. I only have text. How can I compile it to .dll ?

worn isle
#

not the creating a plugin

#

anyway

steady vessel
worn isle
#

you need an actual project

#

not just a few lines of .txt

steady vessel
worn isle
#

all server needs is the .dll compiled

#

but u need functioning project to compile w references etc

steady vessel
#

ok

#

When I install the visual studio do I need any workloads?

acoustic glade
#

ill check

#

yeah

steady vessel
#

I don't know if this will work, lots of the text is being flagged

#

That is just one of many

halcyon frost
#

learn .net and C# first

steady vessel
#

gulp, I only want the com45 to shoot grenades...

halcyon frost
#

and you prob forgot to inlcude the LabApi.Features.Loader

worn isle
#

you need the labapi references yeah

acoustic glade
worn isle
acoustic glade
#

also install labapi nuget

worn isle
#

yes

acoustic glade
#

yes

steady vessel
#

yes

#

Is there a download link?

#

the only thing I can find is this

acoustic glade
#

right click

#

manage nuget packages

#

then search for labapi

steady vessel
#

im so lost

white dove
#

I highly reccomend learning c# itself first..

acoustic glade
#

yeah

#

well i started with plugin development, didn't even learn c# and got all this way

#

it really depends on the person

steady vessel
halcyon frost
#

chatgpt is a tool that help u

#

chatgpt doesnt know shit about functions inside SL

fair lintel
#

david give them SL source so GPT can use it toomuchtrolling

acoustic glade
#

ok this is the best i could do interms of a tutorial 😭

fair lintel
#

then give it to gemini

#

with the 2M context window or what

#

-# still not enough

acoustic glade
#

gemini doesnt know shit either 😭

white dove
acoustic glade
#

the gemini API is good tho

fair lintel
steady vessel
acoustic glade
#

this was made with discord.js and the gemini api, gemini is rlly good, not for exiled tho 😭

halcyon frost
acoustic glade
steady vessel
acoustic glade
#

i have a nuget installation tutorial but it would kinda be a bit focused towards exiled

#

but once you get how nuget works its literally so simple

steady vessel
acoustic glade
#

go to your solution explorer

#

the thing with files

#

you know what ill just send the tutorial

#

search for labapi instead of exiled in nuget

steady vessel
#

WHATS NUGET?

acoustic glade
#

saskyc better πŸ—£οΈ

acoustic glade
fair lintel
steady vessel
#

Do I need to be in the project?

#

I am so confused

acoustic glade
#

NuGet (pronounced "New Get")[3] is a package manager, primarily used for packaging and distributing software written using .NET and the .NET Framework.

steady vessel
#

I promise I will learn c# soon

acoustic glade
steady vessel
#

oki

acoustic glade
#

right click references

steady vessel
#

Just to double check I need this as well right?

acoustic glade
#

exactly

silent heart
#

No you'll be just fine without it

acoustic glade
#

no?

#

you need class lib for it to even compile 😭

silent heart
#

Lmao

#

I'm compling it by hand

#

On paper

steady vessel
#

I THINK IT IS DONE

#

I installed it

silent heart
#

Good job

steady vessel
#

πŸ‘

silent heart
#

Now you need to create the right project and add the right references and the right usings

#

Then you can code

steady vessel
#

huh

#

This is what chatgpt gave me:
using LabAPI.Events;
using LabAPI.Features;
using LabAPI.Features.Items;
using LabAPI.Features.Players;
using UnityEngine;

namespace Com45GrenadeLabAPI
{
public class Com45GrenadePlugin : Plugin
{
public override string Name => "COM45GrenadeLauncher";
public override string Author => "ChatGPT";
public override Version Version => new Version(1, 0, 0);

    public override void OnEnable()
    {
        EventManager.PlayerShoot += OnPlayerShoot;
    }

    public override void OnDisable()
    {
        EventManager.PlayerShoot -= OnPlayerShoot;
    }

    private void OnPlayerShoot(PlayerShootEvent ev)
    {
        if (ev.Firearm.ItemType == ItemType.GunCOM15) // COM-45
        {
            Player player = ev.Player;

            // Spawn grenade 1.5m in front of player
            Vector3 spawnPos = player.Position + player.Forward * 1.5f;

            // Create grenade item
            Item grenade = Item.Create(ItemType.GrenadeHE);
            grenade.Spawn(spawnPos, Quaternion.identity);

            // Throw grenade forward with velocity
            Rigidbody rb = grenade.GameObject.GetComponent<Rigidbody>();
            if (rb != null)
            {
                rb.velocity = player.Forward * 15f;
            }
        }
    }
}

}

#

No way it works right?

white dove
#

But ngl that looks it could work lol

steady vessel
#

One problem, how?

white dove
#

I would be pretty surprised if it did

white dove
steady vessel
white dove
#

Once again, this is why you need to know c# first...

#

and programming

silent heart
steady vessel
silent heart
#

Author: ChatGPT 😭

#

I use it a bit too but tbh it's so ass

#

Also you're missing the nuget package because the usings aren't working

#

Or it's just gpt capitalizing the wrong letters

#

Happened to me

silent heart
steady vessel
#

YES

#

yes please

#

πŸ™‚ πŸ‘

#

is there an easy way of learning c# so I can make quick plugins like making a gun shoot balls or something?

teal viper
#

you could watch a few tutorials on youtube

steady vessel
#

is there a list of all the labapi things? (I don't know what to call them, identifiers?

steady vessel
#

Is there a way to add custom attributes to a weapon? or does that need to be a plugin too...?

silent heart
#

I might do it if I feel like it but not rn

#

I'm making other small tweaks

steady vessel
#

How can I compile it so I can test if it works?

silent heart
#

ctrl + shift + b

steady vessel
#

I can't for the life of me find where I need to put the file

silent heart
steady vessel
#

waffleohtruffle@obiwanscomlink:~$ cd /home/waffleohtruffle/scpsl-server/
waffleohtruffle@obiwanscomlink:~/scpsl-server$ cd scpsl-server/LocalAdmin/plugins/LabAPI/
-bash: cd: scpsl-server/LocalAdmin/plugins/LabAPI/: No such file or directory
waffleohtruffle@obiwanscomlink:~/scpsl-server$

steady vessel
ruby sand
steady vessel
ruby sand
#

well, neither do we

#

are you looking for labapi plugins?

steady vessel
#

yeah, so I can put "my" plugin in there

ruby sand
steady vessel
#

waffleohtruffle@obiwanscomlink:~$ cd β€œ.config/SCP Secret Laboratory/LabAPI/plugins/global”
-bash: cd: too many arguments

I will split it up

ruby sand
#

you need to use your quotes

#

mine may be wrong

#

idk

#

probably are

#

replace my quotes with urs

steady vessel
#

could this be it?

silent heart
fair lintel
#

you need to navigate to the one in .config

ruby sand
silent heart
#

:p

steady vessel
#

I am there waffleohtruffle@obiwanscomlink:~/.config/SCP Secret Laboratory/LabAPI/plugins/7777$

#

Or should I have done global at the end?

fair lintel
#

doesn't really matter if you're only running one server per machine

steady vessel
#

What now?

#

I might go for a swim, I have been at this for hours XD

halcyon mural
#

anyone who ports Exiled plugins to LabApi?

ruby sand
primal elbow
#

Does custom keycards show permissions in inventory? (Is that fixed in release?)

white dove
#

I don't speak russian

cerulean coral
white dove
#

Birds are better

fair lintel
white dove
#

What

fair lintel
#

In computer networking, IP over Avian Carriers (IPoAC) is an ostensibly functional proposal to carry Internet Protocol (IP) traffic by birds such as homing pigeons. IP over Avian Carriers was initially described in RFC 1149 issued by the Internet Engineering Task Force, written by David Waitzman, and released on April 1, 1990. It is one of sev...

white dove
#

XD

fair lintel
#

Packet loss is real Heartbreaking

white dove
#

):

quartz portal
#

is there any labapi compatible scp proximity chat plugin?

ornate oriole
#

There are smthing wrong in my code or with me?

#

why all of it white..

white dove
#

Hello, these values are from 0f-1f

#

So what you did is 1,1,1,1

#

=> white)

#

@ornate oriole

ornate oriole
#

thx a lot

fair lintel
#

@lavish linden i thought of having an easy-to-declare schema for the plugin manager, either json or yaml

lavish linden
#

Like defined in the repository?

#

Or included in the release?

fair lintel
#

not sure how that would be handled
in a file contained within a zip?
as a release asset?
probably in the repo code

fair lintel
lavish linden
#

Well, it'd be cool if the metadata was included in one file

#

maybe include metadata in the DLL?

fair lintel
#

as an EmbeddedResource perhaps?

#

i mean you can already embed DLLs if you want dependencies
not a good practice imo

lavish linden
#

It'd be cool to see what the LA people think

fair lintel
#

at zabszk toomuchtrolling

lavish linden
#

I think that's relevant

#

@rose cedar who should we talk with for LA?

fair lintel
#

another issue with this is you may get duplicate assemblies

rose cedar
lavish linden
#

already did

#

@fair lintel if you wanna make a comment on there you should

fair lintel
#

why have i not realized that LA is open source

#

😭

lavish linden
#

πŸ’€

fair lintel
#

i'd love to have #96

lavish linden
#

There's a reason behind that

fair lintel
#

yeah there uh

#

probably is

lavish linden
#

read the issue linked to it

#

Basically this is how it'll work. There will be a list of NWAPI & EXILED plugins which have been submitted and strictly approved by plugin moderators or NW developers.

#

πŸ‘Ž

fair lintel
lavish linden
#

hell nah 😭

fair lintel
#

yes let's support unofficial frameworks in the core runner of the server

#

oh well

#

i'm not against the person coming up with the whole rewrite thing but "official" exiled plugin installation is not happening

#

i don't wanna end up suffering the same fate (as in, handing in a proposal, discussing with the LA team and ending up throwing it all out)

lavish linden
#

yeah

#

good to discuss it beforehand

tepid frigate
#

Okay time to see how stupid I am

#

So why doesn't pressing the keybind kill me

#

Trying to learn SecretAPI so I can make my own settings in the future

worn isle
#

Uhhhh

#

Does it not work?

#

Any errors?

tepid frigate
#

No haha

worn isle
#

What version?

tepid frigate
#

No errors

#

Game version? Latest 14.1

worn isle
#

Secretapi version

tepid frigate
#

Uhh lemme check

#

0.5.0

worn isle
#

And can you try compiling .Examples and trying that one

tepid frigate
#

I feel like I'm overlooking something obvious

#

Sure lemme download it from the repo

worn isle
#

I lied

#

I didnt

#

0.5.0 has the fix

#

idk then

#

Try a different keybind than 1

#

like G

#

Or H

#

Or smth

#

I tested it initially w G

tepid frigate
#

Tried different keybind, no dice, I'm gonna compile straight from the example but it might be a couple minutes

worn isle
#

My own (very similiar) code works fine on my server

tepid frigate
worn isle
#

i have no clue

#

Looks fine to me

#

Check LocalAdminLogs for any errors maybe

#

SCP Secret Laboratory/LocalAdminLogs i believe has it

tepid frigate
#

Okay gotcha

#

My log is just a bunch of this lmao

#

I'll be honest programming makes me feel like a supreme idiot sometimes

#

Like why why

worn isle
#

Go towards the bottom

tepid frigate
#

It's my latest log

worn isle
#

Join and click the button

#

Keybind wtv

#

See what it tells you

#

If theres no error idk

tepid frigate
#

Let me restart my local server, do it, and then grab the latest log

#

No errors 😭

worn isle
#

Huh.

tepid frigate
worn isle
#

Now that is interesting

tepid frigate
#

I'm not that good with this stuff

#

I just wanna make a cool menu for admin tools why

worn isle
#

me when no works

tepid frigate
#

I feel like I'm being a major dumbass I just wanna make cool menu guy

worn isle
#

Idk it should work

#

@ruby sand uses it for wrappers and i havent heard any complains recently about it not working

tepid frigate
#

Idk I'm feeling rather small like a little ant

#

Lmao

worn isle
#

If ur copying my example that should also work cuz thats the code i used to test the wrappers worked

tepid frigate
#

Why is it that every time I've tried to test SSSS today it's completely crapped out on me

worn isle
#

No clue

#

Also its 3 am so im likely hopping to sleep

tepid frigate
#

Sounds good

#

I'm just like

#

Idek

tepid frigate
#

Am I cooked?

gray nova
#

Lol

tepid frigate
#

This community is fr the best where else am I gonna lose my mind about basic shit and drag other people into the most easy to solve mess

lapis bluff
#

do NWAPI plugins work with labAPI

grim plume
#

No

knotty pivot
#

what is the best way to test plugins, should I host a server on my pc or get a hosting service?

white dove
knotty pivot
lyric wagon
knotty pivot
#

I got a server running but when I try to connect to the server it says that the specified host is not available, anyone any idea?

#

it's hosted on the same pc, do I need to port forward?

grim plume
#

Are you joining with localhost?

knotty pivot
grim plume
#

Do localhost

lyric wagon
knotty pivot
#

it doesn't work either

lyric wagon
knotty pivot
grim plume
#

Are you hosting it on a different port than 7777?

knotty pivot
#

no, it's on 7777

#

the only thing I changed in the config is the server name and ipv4_ip

grim plume
#

you typed localhost like this correct?

knotty pivot
worn isle
#

localhost:7777

#

you need to port specify

fair lintel
knotty pivot
worn isle
#

ive always done that

knotty pivot
#

server console says nothing either

fair lintel
#

is the server running on your machine?
check what ip it's listening on

fair lintel
worn isle
fair lintel
#

omitting the IP sets it to localhost (or 127.0.0.1)
if you specify something like 192.168.0.100 then you need to connect to that

knotty pivot
fair lintel
#

%appdata%/SCP Secret Laboratory/config/port/config_remoteadmin.txt

knotty pivot
#

should I leave it blank?

fair lintel
#

yea

#

then you need to connect to localhost

knotty pivot
#

what does the config_template do btw?

worn isle
#

A document or file having a preset format, used as a starting point for a particular application so that the format does not have to be recreated each time it is used.

knotty pivot
fair lintel
worn isle
#

i gave them what a template is πŸ’”

fair lintel
#

nothign

knotty pivot
worn isle
#

they do nothing in practice i believe

knotty pivot
#

ah ok, so everything server related is in appdata

#

guys I didn't need to port forward and my friend is able to join, does this mean it's automatically port forwarded or is something else going on

fair lintel
#

the server forwards the ports automatically

knotty pivot
#

awesome

#

thank you all so much

ruby sand
#

just type localhost in client console

#

connects you to localhost:7777

grim plume
#

Doing direct connect is just muscle memory for me now

primal elbow
#

@dr.dinspit

fair lintel
#

or

#

`lh
then enter

#

and ` again

misty basin
#

otherwise plugin is very nice

#

I've missed my dropsize

fair lintel
#

You can disable jail ig

#

Or uninstall cedmod toomuchtrolling

misty basin
fair lintel
#

Proot

#

Anyway

#

I might add a name option to the jail config

misty basin
#

alright disabling jail works

fair lintel
#

Make an issue on GitHub so I don't forget lol

misty basin
#

Will do

fair lintel
#

I'll probably only get to it if it gets more engagement

#

-# I'm lazy

misty basin
fair lintel
#

Lmao

scarlet sigil
#

Please wrap FpcRotationOverrideMessage rotation values with Mathf.Repeat before using InverseLerp otherwise rotations like 500Β° will turn into 360Β° instead of 140Β°

burnt hemlock
fair lintel
eternal garnet
fair lintel
scarlet sigil
# fair lintel I mean you can do that yourself

Sorry, I just got the impression that for once nw decided to do an update where they actually care about plugin devs, should I not report obvious bugs like that and just patch them on my server/on exiled?

fair lintel
worn isle
#

they mean that if you add to a rotation, they want it to loop back to 0 and restart the count

#

and then you ofc make sure its 0-360 still

fair lintel
#

Yeah but you might as well validate the range yourself

#

Before passing it to the method

#

Would it make sense for the method to validate it? Maybe
Is it an issue that it doesnt? Ehhhh

scarlet sigil
#

Look at how quaternion multiplication works

#

and how it is used

scarlet sigil
fair lintel
#

I get that you can get values outside of the 0-360 range but it didn't occur to Northwood and it probably isn't worth for them to fix it

scarlet sigil
fair lintel
#

Yeah

scarlet sigil
#

The most basic example of quaternion math is that player.Rotation = Quaternion.Euler(0, 180, 0) * player.Rotation; turns the player around. With the current implementation it does so very inconsistently and inverses pitch. This is a design flaw, otherwise known as a bug, by definition

fair lintel
scarlet sigil
#

The code example in my message is (should) turn the player 180 around Y axis

#

What does it have to do with there being an option of using Player.LookRotation

fair lintel
scarlet sigil
fair lintel
#

Be sure to make an issue on GitHub otherwise it'll be unlikely to get noticed by NW

#

-# unless if I ping david toomuchtrolling

halcyon frost
#

it will be unnoticed in that way too ClassDTroll

fair lintel
#

Shh

sonic silo
humble arrow
#

Oh, damn, I just realized i never tag my plugins

humble arrow
#

LabAPI is relatively new anyways

#

its been around for like a month

blazing shale
#

Is Player.UserId the steam id?

#

Using SqlLite and I need a key to use for each player

lyric wagon
#

It should return the Steam / Discord / Northwood ID

blazing shale
#

Gotcha, thanks

humble arrow
#

add a check

blazing shale
humble arrow
#

If they have DoNotTrack enabled, then you will not track them

#

this includes SteamID

#

there are other ways to keep track of a particular player within the round anyways

#

like Player::Id (the integer representing them)

blazing shale
#

It’s global stats that persist between rounds

humble arrow
#

if its not security related then you cant track a DNT player's userid

hushed jasper
#

If they don't want to be tracked, then you can't enable global stats for them

humble arrow
#

so no global stats.

halcyon frost
#

if (player.DoNotTrack)
return;

patent hemlock
#

How to find the elevator the player is in?

white dove
patent hemlock
teal viper
#

wdym

fair lintel
#

i guess you could use something like this

#

to get the elevator

#

probably not as efficient as looping through elevators only

white dove
#

They are updated with elevator movement

fair lintel
#

Bounds is axis-aligned, right?

#

can't have diagonally placed elevators Heartbreaking

patent hemlock
sage hearth
#

Hm, using a raycast to look at a Pickup on the ground, how would go about to get the Pickup as a reference?
GetComponent<Pickup> on the collider?

#

πŸ€”

worn isle
sage hearth
#

Sorry

worn isle
#

its probably fine

#

just think the dev chat is more appropriate lol

sage hearth
#

Will move there

simple slate
eternal garnet
#

LSD

fair lintel
old relic
sullen apex
#

do u just fuck up the attachment code

worn isle
sullen apex
worn isle
#

Idk

humble arrow
#

ive seen it before

#

I had someone tell me something about attachment bytes or something but that didnt really work

#

I dont think its from michal having source access but that is very much possible

#

firearm.Base.Status = new InventorySystem.Items.Firearms.FirearmStatus(firearm.Ammo, InventorySystem.Items.Firearms.FirearmStatusFlags.MagazineInserted, 0u);

#

thats what the guy told me

#

probably doesnt work for new version but idk

warped shoal
dawn dome
white dove
#

Reminds me of this fella

ruby sand
white dove
regal arrow
#

nw when the snipers will get to me?

rose cedar
#

we no longer use snipers

#

we've moved to orbital lasers

regal arrow
#

if i die

#

im going to release all nw secrets

#

and the secret identity of hubert

ivory narwhal
#

So good.

humble arrow
#

no please explain your specifications instead of just saying you want a hud

potent flicker
#

imagine it took you 28 days to update your plugin because your dumb ass didn't want to mess with it TrolleyDeath

potent flicker
#

thats the thing_

#

well WirelessCards is now finally updated ;-;

#

after one month

#

because i didn't had motivation

sharp summit
sharp summit
#

try me

ruby sand
#

what?

sharp summit
#

my server is running on alpine linux

ruby sand
#

ok?

sharp summit
#

exiled aint an option for me

fair lintel
#

not sure why that's a blocker

ruby sand
#

i dont know why alpine linux would be a blocker

#

if labapi can run, so can exiled

sharp summit
#

Haven't really tried getting Exiled yet, but I'm unsure as of now because of Alpine's lovely libs

halcyon frost
#

My ass

#

You can download latest .net sdk

#

On alphine

#

Also mono stuff included in the sl server

#

So again MY ASS

sharp summit
#

The application runs perfectly on ubuntu docker containers.

halcyon frost
#

Maybe dependencies not installed?

#

Check your logs

#

There is a linux dependency .txt read it

sharp summit
#

Sadly, Mono isn't available on Alpine.

sharp summit
bleak patio
#

yo does anyone do commisions here

frozen thicket
tiny crow
#

The permissions file is sometimes just deleted( empty)
And no default config is getting deployed which resluts in the server not starting at all

modest harbor
tiny crow
#

Its the lab api permission file

#

Thats why the server wont even run

#

I could reproduce this error when the storage was full

#

It broke the file

#

Then after ofc having 200 gb available again it does not make a default config even tho it is an empty file

#

Or whatever

#

Its konda strange

#

(so when storage is full and the server is running ig the permissions of labapj get deleted for some reason

#

And then then the server just wont work

#

Not a huge issue

modest harbor
#

we will see if we can do something about it

#

thanks for reporting

cursive silo
#

holy moly that's a lot of people

plain sage
dawn scarab
#

I need someone's help

#

Server loves crashing randomly on waiting for plays and it's not Exiled related so idk wtf it is

#

But I need to know if I'm the only one

halcyon frost
#

go to LocalAdminLog

#

and seee

dawn scarab
#

But I have in fact checked that, like amillion times

#

Either way someone helped me so I think it's gone now idk

halcyon frost
#

the game doesnt just crash

#

plugin issue can be so

dawn scarab
#

No the server lol

#

But I mean this statement is kind of false anyway, I mean it's SL

fair lintel
#

Remove some plugins and see if it happens still

fair lintel
dawn scarab
#

Also yeah Ax was right it's not a cores issue

#

It was some random LabAPI plugin

fair lintel
#

which one? contact the dev, maybe they can fix it

dawn scarab
#

I can't remember I just removed random ones

#

Might've been Facility Manager

#

Which I don't even know what the fuck it's there for

eternal garnet
dawn scarab
#

Oh says you you

#

This thing of a server has been driving me crazy fr around 7 monthd

old relic
#

Made some tools for admin toys, cant wait to use this on an actual server with players toomuchtrolling

vapid crescent
#

Is there a labapi equivalent of SCPUtils?

pulsar wasp
#

is there scpswap for labapi? becuase the one i found is for exiled 1.0.0.0 and exiled is currently at 9. something

vapid quarry
prisma nexus
#

If it's load it's more likely than it's up to date

#

A 1.0.0 would not even load at start of the server

pulsar wasp
steady wagon
#

is there a labapi equivalent to Item.Create in exiled?

steady wagon
#

nvm i found a way easier way to do what i'm doing

slate jacinth
#

Is there a way to have scales be reliable yet? Like persist after rejoining/joining

#

scalechange does change scale but have another join and their scale will be reset to 1 but their position will not (floating midair)

white dove
#

If you want workaround for now, wait 1-2 frames after player joins and then send him the FpcScaleMessages again

slate jacinth
#

Thanks, works for me. πŸ™‚ Just had to vary the Scale by a small random amount so that it's properly updated and not floating midair

white dove
#

@slate jacinth Or you can patch FpcScaleController.OnPlayerAdded(ReferenceHub hub)

#

and add the delay there

worn isle
#

is that what basegame did for fix

#

or what

white dove
worn isle
#

o

#

h

#

so what ur saying is scale will work without any delay next update?

white dove
#

Yea

worn isle
#

YIPPIE

white dove
#

I fixed it when cyn told me about that

#

It also fixes the black screen on miniwave respawn

#

if you die and instantly respawn

worn isle
#

what was fix

white dove
#

Division by 0 happened

#

cause there was a chance for a frame to have sum of maxhp to be 0

worn isle
#

sobs

white dove
#

and Mathf.Clamp01 ignores it

#

So it just put your blood on screen effects to NaN

worn isle
#

sob

eternal garnet
wispy crown
#

Anyone know how I can change the damage of a live grenade?

worn isle
#

ExplosionGrenade::_playerDamageOverDistance

#

its private but if you use a publicizre you can make it public

#

you could use ExplosionSpawningEventArgs and set ev.Settings._playerDamageOverDistance

solar lichen
#

what does this means?

ruby sand
#

contact the support for UltimateHUD

ruby sand
worn isle
#

whys there 2

#

i k

#

but

#

still

ruby sand
#

they may have installed both versions

worn isle
#

whys there

#

ruei + hsm

ruby sand
#

probably didnt read install guide

#

ultimatehud has 2 versions

#

ruei and hsm

#

this person may have installed both and didnt read the install guide

solar lichen
#

all good it works now

cedar wasp
#

good to hear

fair lintel
#

make sure to instantiate a new animation curve

#

otherwise you change the damage of every single grenade

slate jacinth
#

PlayerEvents.Spawning
PlayerSpawningEventArgs
UseSpawnPoint property is always true, despite what you set it to in Remote Admin, does anyone else experience this?

prisma nexus
#

@fair lintel

fair lintel
#

unity is weird

tepid frigate
primal elbow
#

How can i place blood to the floor?

ruby sand
#

they wanna know how to place blood

#

not how to track

#

unless they asked wrong

primal elbow
#

how can i get a room on what elevator located?

zealous hedge
brazen hedge
#

i need a plugin that lets scps talk to other players

fair lintel
#

Mb for double ping lol

half peak
ruby sand
#

EWWW WHY DOES IT NEED HSM

#

WTFFFFFF

worn isle
#

also breaks other plugins using settings

ruby sand
worn isle
errant shale
#

buhhh

ruby sand
#

requiring hsm (why???) and then removing all SSSS stuff?

#

nah

brazen hedge
#

thanks!

ruby sand
fair lintel
#

I just need a few less excuses

ruby sand
#

if ur worried about tests that is

fair lintel
#

Um

fair lintel
brazen hedge
#

i already tried setting the keybind in server specific setting

fair lintel
#

Did you configure it properly

#

Try contacting the dev through the post

brazen hedge
fair lintel
#

Follow the guide in the README to set it up

desert sinew
#

Hello, is it possible to have a role with different colored letters? If it cannot be done naturally, can it be done using plugins? Thank you

owner_badge: '<color=#5bc0eb><b>C</b></color><color=#f4d35e><b>R</b></color><color=#f5f5f5><b>E</b></color><color=#5bc0eb><b>A</b></color><color=#f4d35e><b>D</b></color><color=#f5f5f5><b>O</b></color><color=#5bc0eb><b>R</b></color>'
owner_color: blue
owner_cover: true
owner_hidden: false
owner_kick_power: 255
owner_required_kick_power: 255

#

❀️

red stag
#

What is the LabAPI equivalent to MapEditorReborn?

worn isle
red stag
#

The unity shit can't find NewtonSoft, what do I do?

worn isle
#

show error

red stag
worn isle
#

contact PMER

red stag
#

Doesn't help that I'm in a slightly newer version but I'm not switching

worn isle
#

they have a discord

red stag
#

Where do I find it?

fair lintel
red stag
#

Thanks

fair lintel
#

np

red stag
#

Oh πŸ’€

deep wraith
#

can i ask what plugins are ?

hushed slate
humble arrow
#

plugins operate on the entry point defined by labapi and on events being subscribed

deep wraith
#

like new maps and such

hushed slate
#

its only serverside

#

well...

#

kind of...

#

They operate server-side but work across clients

#

Its a bit difficult to explain.

deep wraith
#

are they loaded on server join ?

hushed slate
#

They get loaded when the server is turned on

fair lintel
deep wraith
#

ahh thats a hack, i like that

#

but no custom asset loading

hushed slate
deep wraith
#

well, creating a level at server start through code is def a hack

fair lintel
#

no

fair lintel
#

you build the objects in unity or blender

#

then export them and load them in SL

#

like this

hushed slate
fair lintel
#

ah

deep wraith
#

no i was speaking about building 3d things

hushed slate
deep wraith
#

like doing with plugins is a hack

hushed slate
#

generally, people use Map editor reborn

deep wraith
fair lintel
#

talk about servers that have tens of thousands of primitives loaded at the same time

deep wraith
#

i wish this project was open source πŸ™

hushed slate
#

and primitives aren't really too heavy on servers

#

When you have a lot of them, then its a problem

fair lintel
deep wraith
#

yeah on server they can be ignored if just for rendering

#

unless u have physics on them

hushed slate
hushed slate
#

they are static props

fair lintel
#

you can add physics

hushed slate
#

By default they don't though

fair lintel
#

and they most definitely don't have to be static

hushed slate
#

a part from colision

deep wraith
#

why would they be heavy on server then

#

yeah well

#

collision is physics

#

since the game engine has to check it for physics collision

fair lintel
#

because they're not server optimized at all currently
next update should bring improvement to that
people usually don't mark their objects as static, leading to load on the server because it sends updates of non-moving objects

deep wraith
#

what do they use for networking ? photon ?

fair lintel
#

ew

#

no lol

#

mirror

deep wraith
#

mirror ?

#

ah yes better

fair lintel
#

still not the perfect framework but eh

hushed slate
# deep wraith mirror ?

Mirror is a base-game plugin SCP SL Uses, its in the game's files and is essential for some things to work.

deep wraith
#

there is also network for gameobjects by unity

fair lintel
# deep wraith that makes much more sense

imagine sending a letter to another country, waiting for it to return and doing this 2 more times
"give me your positoin"
"rotation"
"scale"
and you gotta find out where to send the letter to every time you wanna send it

deep wraith
#

why would it send a "give me ur position"

#

does it not use a tick system

fair lintel
#

and setting position, rotation and scale for mirror to send to clients

deep wraith
#

yeah but thats how networking for games works in general

#

well for basic setup

fair lintel
#

i'm not talking about networking

deep wraith
#

for controllers u use input replication

fair lintel
#

just unity interop

#

going to the c++ runtime to get everything

#

multiple times in the same method when you could do it once

deep wraith
#

u mean read and writes

fair lintel
#

the 3 transform getters are horrible

#

for a couple primitives you wouldn't notice, but with thousands, there is a noticeable drop in TPS

#

usually people use the MEROptimizer plugion along with MER to lift this load (by creating client-only primitives)

tepid frigate
fair lintel
#

Well then you're on your own

tepid frigate
#

I have a slight wanting to learn blender but goddamn that sounds like a pain

#

I also wanna maybe learn Unity sometime cause I feel like that may be important for what I do

#

But we'll see

vapid grove
#

Can I make dummy walk to diff positions? Or reload gun...?

vapid grove
#

HOW O_O

#

I cant find that

worn isle
#

theres a follow player script but afaik it uses Vector3.Move or something

#

reload gun you have to use what SL does for emulating keypresses on server side for dummies

fair lintel
#

You can set the ReceivedPosition on the FpcMotor (I think)