#plugins-dev-chat

1 messages Β· Page 9 of 1

hearty shard
#

effects that change movement boost

#

(including customs)

feral haven
#

Pretty much smth like IMovementSpeedModifier

#

Which MovementBoost uses

hearty shard
#

yeah

hearty shard
feral haven
#

I pray for LabAPI to actually be more useful than NWAPI currently is
I just hope I can do this I wasn't able to do before Dx

hearty shard
#

and idk how youd do it

feral haven
#

Well, you could... mmm make a event for it?

hearty shard
#

other than a synced list of multipliers

feral haven
#

Which the Server then calls on EventHandlers or smth?

hearty shard
#

which the server then sends

#

to clients on changed

feral haven
#

Something that gives the current Movement speed multiplier after the base game effects where applied

feral haven
hearty shard
#

Idk

#

This stuff sucks!!

#

time to make my own SL

#

but make it moddable trust

feral haven
#

xD

hearty shard
#

definitely not an idea 700 people have had

feral haven
#

Dude, I haven't even figured out how Speaker Toys work

feral haven
#

I hate no documentation 😒

hearty shard
#

you need to send voice packets

feral haven
#

I made a entire system for it!

hearty shard
#

which you get through a coroutine that uses NVorbis or something

#

i might make my own uhhh uhhhh

#

Thing

#

But i dont understand the stuff soo maybe not

feral haven
#

And yet when I spawned speakers they stacked up on another. They literally were parented to each other for no reason 😒

hearty shard
#

Honestly

#

I dont know what to add to SecretAPI

#

i ran out of ideas tbh

feral haven
#

Add a small easter egg in the code or smth

hearty shard
feral haven
#

xD

hearty shard
#

featuresss

#

This isnt exileds

#

i dont need giant logo

feral haven
#

Nah, just add a comment saying something funny

#

Like // The cake was never real

#

or smth like that :P

hearty shard
#

xd

#

anyway give me features to add to it

feral haven
#

Mm, what does it currently have?

feral haven
#

or rather, what is it supposed to do?

hearty shard
#

api

#

To extend some stuff

feral haven
#

Oh? Attack modifier?

hearty shard
#

yeah

feral haven
#

That seems interesting

hearty shard
#

effects my beloved

#

theres damage multiplier

#

this is the reverse

#

xd

feral haven
#

Oh! One thing I hate the MOST is that currently, LabAPI has a ItemBase instead of a Firearm in the PlayerShotWeapon event

hearty shard
#

etc

feral haven
#

And that it also doesn't give where the shot landed, like a collider or a raycast

hearty shard
#

a lot of the stuff just incomplete

#

hi slej

hearty shard
#

Add suggestion

hearty shard
#

YOU

restive turret
#

Hi

feral haven
hearty shard
#

hello

feral haven
#

I'd rather not mess something up that someone else made

hearty shard
#

its just [Suggestion] add x property

hearty shard
#

Not pr

#

Issues tab

#

You can create suggestions

#

And get them to make it

restive turret
#

[Suggestion] Bring back 3114

feral haven
#

How?

hearty shard
restive turret
#

[Suggestion] Please add command to teleport to specific location

hearty shard
#

is that right link

#

Yes

restive turret
#

Or is it?

feral haven
#

Ah, I see

hearty shard
restive turret
#

Use <link> to hide it

hearty shard
#

Yea ik

#

Im lazy

#

effort

#

anyway

restive turret
#

Hi lazy, I'm SlejmUr

feral haven
#

Anyways, I pray for the day that I get to modify the Movement Speed πŸ™πŸ»

hearty shard
#

shush

hearty shard
#

where do you dev

#

i need answers

restive turret
#

Kadava Calamity server and the Hungarian old/original server

#

I also reverse stuff so

feral haven
#

Any news on when LabAPI will replace NWAPI?

restive turret
#

In 14.1

#

Or 14.0.3

hearty shard
feral haven
#

So the next update?

restive turret
#

Whichever comes first

hearty shard
hearty shard
feral haven
#

When is that? :P

restive turret
hearty shard
feral haven
#

Dang

hearty shard
restive turret
#

Games, apps usually

hearty shard
#

Smh

restive turret
#

And websites?

hearty shard
#

Then there will be a month transition period roughly

restive turret
#

We keep asking poor david to add stuff so it still long way

hearty shard
feral haven
#

I'd help if I could :P
Not like I've got anything better to do

restive turret
#

The great eepy

hearty shard
hearty shard
restive turret
#

Wish

hearty shard
#

Oh

feral haven
#

I dont get that one

hearty shard
#

because you need to modify client

feral haven
#

Oh, you mean the Dlls?

restive turret
#

And server

feral haven
#

or what I'm guessing you mean is the source code

hearty shard
restive turret
#

The actual .cs files from the game itself.
When u compile something you can make flags, or as c# call it as Constants.
this basically can reduce code to show in public.

ie: functions with #if debug inside it only compiles if "debug" is been inside the flags/Constants.

What we get is a stripped and compiled version of source code

#

Also many places where using switch it becomes "if-else" mess

feral haven
#

Oh yeah, but that's just compilers

hearty shard
#

yes but client is il2cpp

#

and not allowed to be modded

feral haven
#

-# And yet people still do that

restive turret
#

not my fault

worthy rune
hearty shard
true sierra
limpid fjord
#

Players receive data from the server within a 35m range, but I want to create a plugin that extends this range infinitely

#

I understand that this limitation is enforced by anti-cheat, but I need to bypass it

#

Is it possible to make such a plugin?

idle depot
#

I would not recommend bypassing the anti-cheat if you want to play the game

limpid fjord
#

I’m using a plugin that removes the facility's fog, allowing players to see farther, however, due to this limitation, it’s not working properly

upper vapor
#

this isn't an anticheat thing, it's managed by the VisibilityController

#

you can patch NormalMaxRangeSqr in FpcVisibilityController to make players see each other from farther away

#

keep in mind that this value is squared

limpid fjord
#

Thank you!

upper vapor
#

np

vagrant nebula
#

people without labapi build cant join servers using labapi?

unique crane
#

nop

vagrant nebula
#

thats sad

#

when will it be out non beta

#

?

restive turret
#

Operation LabAPI is basically a three-month period of time that we're gonna be taking in order to fixing and repairing the game

hearty shard
#

and nw have fixed all the issues

#

and nw are happy with it

vagrant nebula
#

meh

restive turret
#

So probably more than 3 month

marble cobalt
vagrant nebula
#

ty

#

i think its way better

#

atleast it dont have hint rate limit

marble cobalt
#

Appreciate it!

vagrant nebula
#

i can still use exiled with it through the 9.6.0 beta

#

so theres gonna be no difference

marble cobalt
#

We are doing it this way because we know the community has requested we give them enough time to port their plugins over to it, hence why it is on an alternative branch atm 🫑

#

If you were curious, the reason it is not compatible with live clients is because of the sheer amount of things we've made customizable with it

#

If you tried joining with a live client, you'd likely see a lot of desync and/or possibly crash (and got past the version compat check)

restive turret
#

Oh btw I seen recently you pushed stuff into the early server but the other update went live on client

unique crane
#

It will crash the second you join

hearty shard
#

david...

unique crane
#

eve...

hearty shard
#

merry christmas

unique crane
#

what

hearty shard
#

merry christmas

unique crane
#

Oooookay thanks

marble cobalt
#

If we pushed it straight into live for servers, people will complain their servers updated without warning

#

Been there, done that :^)

restive turret
#

Ah lol.
It was some holiday update

marble cobalt
#

We just updated our backend, left a bit of an explanation in serverhost chat but it was mainly a little bit of cleanup for the release branch

#

The changes were mostly focused on the client (main menu got some small icon corrections)

restive turret
#

Ah, I just only did the server check since thats only dll and not il2.
Hopefully we able to turn on specific holiday events despite not giving achis but content will be there.
So for example can give coal to users or give the glowing candy to someone

#

Its probably required to publish those assets to both place too and idk if NW want that

unique crane
#

Wouldnt be much of a holiday event then

upper vapor
restive turret
#

There is no such a thing as prod.
Only public testing ClassDTroll

restive turret
#

Fixing your plugin/game in live testing is the bestworst choice

upper vapor
#

2 bytes

#

(Endianness)

restive turret
#

Ye I dont like working with endianness

#

BinaryWriter/Reader sadly only do is Little and not Big

#

So you rather make an extension method for it or just make a new BinaryBigReader/Writer

upper vapor
#

Xdd

#

Or a BitWriter/BitReader

carmine prawn
thin shuttle
#

It's doesn't crash until you go into FpcRole

#

Because of stat change

unique crane
#

hm

#

oki

hearty shard
#

@harsh thorn when next labapi beta release

restive turret
#

yesterday

wicked marlin
#

Yesterday it was just a release on the main branch, not the labapi one

thin shuttle
#

^

ornate smelt
stable shore
ornate smelt
#

at most

#

I'm giving them grace

#

I believe

ornate smelt
#

I honestly would kill if we were able to disable the ability for players to jump, just like we are for them to move (ensnared)
-# Since disabling jumping, sitll plays on the client side, obviously the server-side no one sees it.

upper vapor
marble rock
#

cause yall ate the 1 month supply under 2 days

upper vapor
lavish laurel
#

a question after how much time labapi will leave beta and release in main branch?

upper vapor
#

labapi will be shipped with 14.1

#

(as an official release)

ornate smelt
carmine prawn
#

true

carmine prawn
#

How should I put a Pickup into the player's inventory?

hearty shard
unique crane
#

yea

hearty shard
#

player.Inventory.ServerAddItem(pickup.Type, addReason, pickup.Serial, pickup.Base)

#

or smth

#

actually

#

i lied

#

i think theres pickup.Base.CreateItem()

#

or smth

#

i cant remember exact

unique crane
#

better ask @worthy rune on this one

#

he made pickups

hearty shard
#

ill just check basegame

carmine prawn
spring kelp
#

is there in LabAPI something like Paths.Configs etc. in Exiled

spring kelp
carmine prawn
#

and using LabApi.Loader.Features.Paths;

spring kelp
worthy rune
spring kelp
#

is GroupColor the same as RankColor?

upper vapor
spring kelp
#

okay

#

by the way, how can i check for custom permissions in LabAPI, cause in Exiled it was like that (on picture)

hearty shard
#

Player.HasAnyPermissions iirc

spring kelp
#

oh yeah, youre right, thanks a lot

restive turret
loud schooner
#

Hello

#

Can someone tell me what programming language I need to know for plugins? C++ or C#

#

I only know C#, but not much

upper vapor
#

You need C# to work with SL plugins (and with Unity in general)

hearty shard
#

General Unity knowledge is recommended too

restive turret
#

I dont have unity knowledge from unity itself, I only have knowledge of it cus I reversed games that using unity

hearty shard
#

fair

upper vapor
#

maybe that's for the better Kek

loud schooner
#

where did you learn c# on youtube, courses or literature?

hearty shard
restive turret
#

I learned from looking at source code on GitHub

wheat flower
#

all 4

loud schooner
hearty shard
hearty shard
#

how do you usually learn things

#

what kind of learner are you

wheat flower
#

step 1. have a good reason to use c#, something you find interesting
step 2. do something with that interest
step 3. win

hearty shard
#

yea

wheat flower
#

literally how i learned c#

hearty shard
#

i learnt C# 90% from EXILED plugins

wheat flower
#

i wanted to make plugins for myself

wheat flower
loud schooner
hearty shard
#

not exactly the best but

#

its reading

#

teaches you a few things ig

wheat flower
#

ill be honest i dont even remember how i learned csharp

#

i just kinda did

hearty shard
#

me neither

#

i knew basics before exiled

#

but exiled definitely taught me a majority

wheat flower
#

the thing is, all my knowledge comes from scpsl plugins and random c# videos i happened to watch along the way that had info

loud schooner
wheat flower
#

me when unity still uses net framework and we cant use epic .NET classes / features

wheat flower
#

make something simple

hearty shard
#

the competition is high

wheat flower
#

my first plugin was a murder mystery gamemode

#

all in one c# file

hearty shard
#

nah

#

if i see another person put every class in one file

#

i swear

wheat flower
#

(murder mystery was NOT shrimple)

hearty shard
#

yeah

loud schooner
#

To make any plugin, I need basic knowledge :/

hearty shard
#

no right still

#

i HATE you

hearty shard
loud schooner
hearty shard
#

@wheat flower im gonna sell you

#

sound good?

wheat flower
#

yeah

loud schooner
wheat flower
hearty shard
wheat flower
hearty shard
wheat flower
#

your brain must have an interesting thought process

#

it kust be dissected

#

MUST

hearty shard
#

btw wtf does the % symbol do in c# math

#

im gonna be honest i still havent figured it out

#

πŸ’€

wheat flower
#

modulus

hearty shard
#

oh

#

remainder

#

interesting

wheat flower
#

me when the

hearty shard
#

yea

loud schooner
#

I'll try again

hearty shard
#

oh that explains why % 2 == 0 can be used to check for even number

#

thats nice

hearty shard
#

i dont wanna

wheat flower
hearty shard
#

im gonna quit

#

zereth u can take over my projects now

#

thanks

#

appreciate it

wheat flower
#

what projects u working on fr tho

#

what are you making

hearty shard
#

i forgot

#

dementia kicking in

wheat flower
hearty shard
#

(surely no one here plays TOS)

#

surely i can share this

wheat flower
#

you gave them to me so fr that you deleted them from memory

hearty shard
wheat flower
#

what is that

#

iforgor

hearty shard
#

town of salem mod

#

well

#

its dead as fuck

#

hasnt gotten past just a lobby

#

the main person kinda

#

exploded

#

with job

#

so like

#

hasnt been touched rly in a year πŸ’€

wheat flower
#

real...

hearty shard
#

i love my dev friends

#

"at some point" 😭

wheat flower
#

im not really "actively" working on any projects right now

hearty shard
wheat flower
#

i just have a few ideas in mind for Site-12 RP server, and bananaplugin for skillz cabana needs some updates

hearty shard
#

my brain is gone tho

loud schooner
#

I tried it but it didn't load.

wheat flower
hearty shard
wheat flower
#

???

hearty shard
#

java sucks

wheat flower
hearty shard
#

i gave official ms

hearty shard
wheat flower
hearty shard
#

i dont hate myself enough to work with java

#

πŸ’€

wheat flower
#

java = c# just worse

hearty shard
#

yeah

wheat flower
#

String

#

cant believe this

#

String.Equals

#

cant believe this

hearty shard
#

@Override

#

😭

wheat flower
#

i havent even used java ironically

#

ive just seen syntax

hearty shard
#

oh yeah only methods and fields

#

there is no properties

wheat flower
#

no props

#

omg no

hearty shard
#

you need an actual SetValue() GetValue()

#

😭

#

and ik ppl in C# who code like that too

wheat flower
#

on my way to write set_Property and get_Property

hearty shard
#

technically properties in C# are just methods

#

but still

wheat flower
#

i know this

#

(i am so smart)

#

πŸ€“

hearty shard
#

so real

#

intelligence

wheat flower
#

give me your balls

loud schooner
#

GIVE ME YOUR BALLS

hearty shard
#

guh

mild ice
hearty shard
mild ice
#

I don't remember an enterprise system that does that

hearty shard
upper vapor
upper vapor
upper vapor
restive turret
#

with Factories and Interfaces?

limber silo
#

it makes sense

#

in c# == is overused

#

also java enums are goated and anonymous classes

#

for the rest, c# superiority

upper vapor
# hearty shard wdym

enum values are basically just static fields of class instances that have their constructor private, saving a lot of boilerplate
you can implement interfaces and have fields, methods

hearty shard
#

interesting

limber silo
#

you can also have anonymous classes

wheat flower
#

c# does have that in some case i remember?

#

but not fully defined ig

limber silo
#

not for classes

wheat flower
#

i swear on my life

limber silo
#

yes for methods if you mean that

wheat flower
#

ive seen an anonymous object

#

compiler generated

limber silo
#

right yeah

#

dynamic

wheat flower
#

ah yes

#

that was it

#

but slightly different from a full class

limber silo
#

yeah dynamic is a thing but it is really different from anonymous classes

#

performance sucks

#

and not strongly typed

upper vapor
#

dynamically generated classes at runtime toomuchtrolling

#

is that what's it called?

#

a dynamic assembly

wheat flower
#

until i knew source generators existed

#

πŸ’€

upper vapor
vapid sentinel
#

hello. I know it's a very generic question and there's probably a library somewhere that does that but how does C.A.S.S.I.E. determine where the word ends to add "-ed" or "-ing" or "-s" to it? there must be some complex audio analysis under the hood and I can't figure it out. help pls

limber silo
#

really simple

vapid sentinel
#

this is not the case

#

you can type canting or canted into cassie and it will read

stable shore
#

simple "ed" is a seperate audio file

#

"ing" is a seperate audio file

vapid sentinel
#

well i know that

#

that's not what i'm asking

vapid sentinel
stable shore
#

-> you look at the word
-> does it end in "ed" or "ing"?

limber silo
vapid sentinel
#

at first

#

it didn't work

limber silo
#

Are you trying to code some plugin

vapid sentinel
#

no

#

I'm implementing my own C.A.S.S.I.E.

limber silo
#

like with the original files?

vapid sentinel
#

with any

#

it works with Half life vox, glados ,etc.

limber silo
#

So what is the problem again

vapid sentinel
vapid sentinel
#

basically I need to find the end of the word to do so

#

it might be that there's just a dictionary with offsets for all the words

#

but i hope it's not cuz i don't like this solution

vapid sentinel
limber silo
#

I was looking at the code

#

nothing too hard, it just removes 0.1 when -ing and 0.06 seconds of length when other suffix

#

but the code is public in the server assembly

#

@vapid sentinel decompile NineTailedFoxAnnouncer

#

And you will find all you need

vapid sentinel
limber silo
#

Some parts but not necessary for what u need

#

Oh obfuscated not

vapid sentinel
#

damn thank you

limber silo
#

The server assembly isn't obfuscated so it can be modded easily

#

but it misses some client only code that is trimmed

#

but not necessary for this

hearty shard
#

!rep jesusqc

regal lakeBOT
#

You have just given @limber silo a reputation point!

limber silo
#

!rep @hearty shard

regal lakeBOT
#

You have just given @hearty shard a reputation point!

hearty shard
#

Woo

loud schooner
#

Hello

#

!rep @hearty shard

regal lakeBOT
#

You have just given @hearty shard a reputation point!

loud schooner
#

Can I be a translator or something like that?

restive turret
#

Well, job position need to be open or smth

loud schooner
restive turret
#

Cus they ain't looking for one

loud schooner
#

I will wait

restive turret
vapid sentinel
#

ok i just found a stupid bug that was at the root of my problem πŸ˜… ty for source code of cassie anyways

plush quartz
loud schooner
loud schooner
plush quartz
#

We don't need Russian translators for now, but for Ukrainian, I recommend to apply at the next recruitment

#

@loud schooner

loud schooner
plush quartz
#

idk

loud schooner
#

Ping me if you see recruiting, pls

plush quartz
#

@loud schooner better ask translator manager about it

loud schooner
plush quartz
#

Not him..

loud schooner
plush quartz
#

@plain lodge

loud schooner
vapid sentinel
#

I think it's 1 language = 1 person cuz you just have to check after AI

#

and fix minor mistakes

#

and there's almost nothing to translate in this game

mild ice
mild ice
loud schooner
hearty shard
#

Doesn't that seem a bit much to expect?

#

also schedules

#

One person isnt available 24/7

mild ice
# loud schooner Why?

Not everyone is available all the time, having multiple means we have more flexibility and more importantly, error checking aha

hearty shard
#

yeah

#

HI LUCY

mild ice
#

Hi Nameless :D

mild ice
#

My phone autocorrect suggests your name whenever I say Hi now lol

hearty shard
#

Oh!

#

Im just popular

#

i should be the default

loud schooner
loud schooner
#

@plain lodge

vapid sentinel
#

it this a payable job?

hearty shard
#

and they pay you

#

yes

vapid sentinel
#

i mean translator

hearty shard
#

No

#

iirc its voluntary, no pay

vapid sentinel
hearty shard
#

Regardless, more than 1 is good

#

People have lives, the game translations shouldn't have to depend on a single person who might end up busy, eg hospital visits etc

loud schooner
hearty shard
#

The game itself doesnt depend on 1 single person in any category to my knowledge, theres people to fill the spots

vapid sentinel
hearty shard
#

thatd fix life for them?

vapid sentinel
#

and yes

#

theyd never be busy

hearty shard
hearty shard
#

(at least for dev)

restive turret
sick flume
#

Anybody know when will LabAPI be released?

hearty shard
#

no release date

icy knoll
#

so

#

wait for 14.1

#

we dont know a release date

restive turret
#

soonℒ️

sick flume
#

I see

vapid sentinel
restive turret
#

Nwapi will be completely removed in 14.1

unique crane
#

It is fully removed from the game's code

#

and replaced with labapi

worthy rune
hearty shard
#

Oh

#

When doing stuff like swapping inventories (afk replace etc) we swap their items exactly

#

Including their serial so customitem is preserved etc

#

no point creating an entirely new item if the item exists too

worthy rune
#

i think i added something like that awhile back

hearty shard
#

but i dont see the additem method so

worthy rune
#

like a item change owner thing

hearty shard
#

idk i just want this functionality to be just as easy as its been already (with exiled)

worthy rune
#

i thought you were asking about if you instantiated an item from its prefab using Object.Instantiate, and then adding it which would of been different

worthy rune
#

ok all good then

hearty shard
#

just an existing Item / ItemBase

#

Yippie!

#

thank youu

worthy rune
hearty shard
worthy rune
#

this is what i had in an upcoming PR

/// <summary>
/// Moves the item to the specified players inventory.
/// </summary>
/// <param name="player">The player to move this item to.</param>
public void MoveTo(Player player) => player.AddItem(DropItem());
hearty shard
#

exiled just adds the item to the player

#

i mean you CAN do that right?

#

im not going crazy

worthy rune
#

there isnt a base game way todo it directly

hearty shard
#

cuz i clear a players inventory (without destroying items) and store them, then just add them back

worthy rune
#

not to say its not possible, its just not trivial as calling one method

worthy rune
#

its why if you set your role from RA and dont reset the inventory the old items retain the FF settings from the previous role

hearty shard
#
public Item AddItem(ItemBase itemBase, Item item = null, ItemAddReason addReason = ItemAddReason.AdminCommand)
{
    try
    {
        item ??= Item.Get(itemBase);
        item.AddReason = addReason;

        Inventory.UserInventory.Items[item.Serial] = itemBase;

        item.ChangeOwner(item.Owner, this);

        if (itemBase is IAcquisitionConfirmationTrigger acquisitionConfirmationTrigger)
        {
            acquisitionConfirmationTrigger.AcquisitionAlreadyReceived = false;
        }

        typeof(InventoryExtensions).InvokeStaticEvent(nameof(InventoryExtensions.OnItemAdded), new object[] { ReferenceHub, itemBase, null });

        Inventory.SendItemsNextFrame = true;
        return item;
    }
    catch (Exception exception)
    {
        Log.Error($"{nameof(Player)}.{nameof(AddItem)}(ItemBase, [Item]): {exception}");
    }

    return null;
}
#

is what exiled does

#

to my knowledge i havent heard of any bugs with this

worthy rune
#

looks good, i assume Item.ChangeOwner(item.Owner, this); handles the issues i mentioned

hearty shard
#

Never actually looked at this code tbh

#

Oh

#

It just calls Base.OnRemoved, changes the owner and calls OnAdded

#
        internal virtual void ChangeOwner(Player oldOwner, Player newOwner)
        {
            Base.OnRemoved(null);

            Base.Owner = newOwner.ReferenceHub;

            Base.OnAdded(null);
        }
#

Im not sure why it uses oldOwner hmm

#

might be old code.. or a bug

worthy rune
#

it is virtual, so could be needed in a derived implementation

worthy rune
hearty shard
worthy rune
hearty shard
#

but uh

#

idk

#

We already have the item

#

Making it pickup and then item is just weird

#

there has to be a way to make the ownership swap properly

#

while not causing big issues

worthy rune
#

if the base game had a method for changing ownership it would be fine as then it wouldnt have to be maintained on the labapi side

hearty shard
#

make it basegame

#

if you can do that easily

#

otherwise ig yeah do your pickup way

#

if it works it works

worthy rune
#

would have to check with @harsh thorn

hearty shard
#

anyway i should probably sleep soon

#

almost 3

loud schooner
#

Hi ppl

viscid raven
#

I'm fuckin insane

loud schooner
thin shuttle
#

Because i never seen this bug

loud schooner
#

I still couldn't get through so I'll ping you again, heh heh
@plain lodge

swift nexus
#

I don't believe there was a report on the public bug tracker

thin shuttle
#

Should i make it

loud schooner
unique crane
restive turret
#

there is no bugs in the software just some unknown features

viscid raven
worthy rune
thin shuttle
#

ItemSpawning

#

Is not PickupSpawning

worthy rune
#

when you put -ing at the end it indicates that you can cancel it in LabAPI, i dont think we can have that

#

ItemSpawning is for pickups being distributed which i can understand as being incorrectly named

hearty shard
#

just

#

when a pickup is created

#

if thats call itemspawned or smth thats fine

worthy rune
#

i see

#

i was thinking we could do that for all wrapped types, an event for when an item is added something like On<Entity>Created

restive turret
#

OnScp018Created
OnScp2176Created
OnUsableItemCreated

worthy rune
hearty shard
#

the server itself doesnt need settings from itself but i might be misunderstanding

worthy rune
#

thats what i was thinking too, but i didnt think that was possible

hearty shard
#

me neither

#

but if it uses ReferenceHub.AllHubs it should be possible iirc

worthy rune
#

ill fix zereths issue either way, and if crous clarifies then ill know if i need to fix anything else

loud schooner
viscid raven
#

Once you hit somebody with it their ragdoll gets flung

#

But it's proving difficult

loud schooner
viscid raven
#

That I've done so far

loud schooner
loud schooner
viscid raven
loud schooner
#

My mistake

viscid raven
#

It's probably worthless, but one second

loud schooner
#

Okay, I'll wait.

viscid raven
# loud schooner Okay, I'll wait.

using Exiled.API.Features.Spawn;
using Exiled.CustomItems.API.Features;
using Exiled.Events.EventArgs.Player;
using UnityEngine;

namespace SetMaxHPPlugin.Items
{
public class SuperJailbird : CustomWeapon
{
public override uint Id { get; set; } = 99; // Unique ID
public override string Name { get; set; } = "SuperJailbird";
public override string Description { get; set; } = "An enhanced Jailbird with extreme knockback.";
public override float Damage { get; set; } = 30f;
public override float Weight { get; set; } = 1.0f;
public override SpawnProperties? SpawnProperties { get; set; }

    protected override void OnHurting(HurtingEventArgs ev)
    {
        if (ev.Attacker == null || ev.Player == null || ev.IsAllowed == false)
            return;

        if (ev.DamageHandler != null)
        {
            // Calculate knockback force
            Vector3 knockbackForce = ev.Player.Position - ev.Attacker.Position;
            knockbackForce.y = 0.5f; // Slight upward force
            knockbackForce.Normalize();
            knockbackForce *= 10f; // 10Γ— knockback multiplier

            // Apply knockback using player's rigidbody (if available)
            var rigidbody = ev.Player.ReferenceHub?.gameObject.GetComponent<Rigidbody>();
            if (rigidbody != null)
            {
                // Apply knockback force to the player's rigidbody
                rigidbody.AddForce(knockbackForce, ForceMode.Impulse);
            }
        }
    }
}

}

#

The spoiler is how discord formats text in between ||||

loud schooner
#

Hmmm

#

Well, this is almost a finished stick.

loud schooner
worthy rune
viscid raven
#

Woops

viscid raven
#

And learnt a little bit from other devs

viscid raven
#

Cuz I'm lazy

loud schooner
carmine prawn
#

we met here

loud schooner
#

Do you need to know c# or exiled to be a map builder?

worthy rune
#

no

loud schooner
worthy rune
#

you can use an existing plugin like SLOC or MER

loud schooner
worthy rune
#

those are the names of the plugins, have a look at them and choose the one you want. if you want to know how they work you have to look at them yourself since they are both different

loud schooner
#

Sorry for ping

worthy rune
#

have you installed plugins before?

loud schooner
worthy rune
worthy rune
# loud schooner No

btw, the LabAPI is still in beta so you need to download the beta branch on steam for both the server and client if you want to use any LabAPI plugin. since i saw you mention EXILED a few times, you might want to stick to EXILED first and not mess around with the LabAPI until its out

loud schooner
worthy rune
#

EXILED is a plugin framework just like LabAPI, whether you know how to code in it doesnt really effect if you can use it as a server host

loud schooner
#

I'm starting to understand

#

So you need to download LAb from Steam?

worthy rune
loud schooner
worthy rune
#

should be all good then

#

you technically dont need to download and host a server locally then, i think both plugins use unity as the build tool so you could probably skip making a server if you really wanted too(although it would be hard to test out your creations to see if they work)

loud schooner
#

Okay, I have unity, but how do I install plugins as a tool on unity?

worthy rune
#

you will have to refer to the docs on them, since i dont use them myself

loud schooner
worthy rune
loud schooner
worthy rune
#

Sounded like you were asking for general help, which i dont provide. if you want help be specific

loud schooner
loud schooner
loud schooner
worthy rune
#

it doesnt for me

loud schooner
#

In terms of?

#

Why?

worthy rune
#

members have the choice of a GBadge, i dont play the game much so i didnt get one

loud schooner
limpid fjord
#

Can I use SCP-3114 with HarmonyPatch?

unique crane
#

3114 is not functional in this version

#

And harmony patch wont fix it

hearty shard
#

Disabled on client

#

Is fixed in 14.1

limpid fjord
#

so sad

restive turret
hearty shard
#

hubert fixed it

restive turret
#

How do u know

hearty shard
#

he said it

restive turret
#

Yippee

hearty shard
restive turret
#

wb the 🦩 and the marshmallow

hearty shard
#

fix for skeleton killing through walls

hearty shard
restive turret
hearty shard
#

no more killing through doors and walls

restive turret
#

Nice

#

Does it have labapi events Fear

#

On_d
On_ing

hearty shard
restive turret
#

U should knowClassDClueless

hearty shard
#

idk if hubert made events for labapi

#

go beg david to make some

restive turret
#

It's not even there yet so

hearty shard
#

wdym

restive turret
#

And the scp gun prob have events to (or just using firearms as base)

#

Oh btw.
The coin spawn at 330 is what kind of spawning?

hearty shard
#

"not nullable" definitely trust

#

(it is in fact able to be null and idk why yaml hasnt marked it as such)

restive turret
#

Cus yaml suck ass

hearty shard
hearty shard
#

@unique crane heyyyy

unique crane
#

haiiiiii

hearty shard
#

do you know if its intentional 079 doesnt get xp for tesla kills

#

(not 079s tesla, just watching the person walk into tesla)

unique crane
#

ummm

hearty shard
#

theres no code for it

unique crane
#

If there is no code of it..

#

then I guess

hearty shard
#

cool ig

#

i swear it was but ig not

unique crane
#

I mean do you get xp if someoen commits suicide?

hearty shard
#
    private static void GainReward(
      Scp079Role scp079,
      ReferenceHub deadPly,
      DamageHandlerBase damageHandler)
    {
      PlayerRoleBase currentRole = deadPly.roleManager.CurrentRole;
      int amount;
      if (!(currentRole is IFpcRole fpcRole) || !TerminationRewards.TryGetBaseReward(currentRole.RoleTypeId, out amount))
        return;
      RoomIdentifier room = RoomIdUtils.RoomAtPositionRaycasts(fpcRole.FpcModule.Position);
      Scp079HudTranslation gainReason = TerminationRewards.EvaluateGainReason(deadPly, damageHandler);
      bool flag1 = (UnityEngine.Object) room != (UnityEngine.Object) null && Scp079RewardManager.CheckForRoomInteractions(scp079, room);
      bool flag2 = (UnityEngine.Object) scp079.CurrentCamera.Room == (UnityEngine.Object) room;
      int reward;
      switch (gainReason)
      {
        case Scp079HudTranslation.ExpGainTerminationAssist:
          if (!flag1)
          {
            gainReason = Scp079HudTranslation.ExpGainTerminationWitness;
            goto case Scp079HudTranslation.ExpGainTerminationWitness;
          }
          else
          {
            reward = amount;
            break;
          }
        case Scp079HudTranslation.ExpGainTerminationDirect:
          if (!flag1)
            return;
          reward = amount * 2;
          break;
        case Scp079HudTranslation.ExpGainTerminationWitness:
          if (!flag2)
            return;
          reward = amount / 2;
          break;
        default:
          return;
      }
      Scp079RewardManager.GrantExp(scp079, reward, gainReason, currentRole.RoleTypeId);
    }
#

it appears that if you interact nearby, yes

#

actually oh

#

return damageHandler is UniversalDamageHandler universalDamageHandler && (int) universalDamageHandler.TranslationId == (int) DeathTranslations.Tesla.Id;

#

okay yeah its intentional

#

its ExpGainTerminationDirect if tesla was used
but doesnt give xp if no interaction nearby

unique crane
#

mmm

#

ok

thin shuttle
#

That really destroy the keycard plugin to modify permissions

#

Because 100% we will not be able to sync it

hearty shard
#

@fallen sentinel sry for ping, is the above (syncing perms) planned for the custom keycard ?

hearty shard
#

or im loosing it and there isnt a custom keycard item

#

i swear there is tho

thin shuttle
#

Keycard will be horrible

#

For plugin anyways despite any system they do

hearty shard
thin shuttle
#

Except if they make every keycard sync permission to client
And same for any keypad

thin shuttle
# hearty shard why

Because with plugin they will be contradiction between user and what server did

#

Am i the only one who don't really like the new design of keycard ?

hearty shard
mild ice
#

I'm genuinely curious why

rare wolf
#

Yeah it's just

#

Ugly

#

It's not poorly designed or anything but

#

In my personal opinion I don't approve of it

upper vapor
languid temple
#

No

#

You'll have to guess

#

Which tier is missing

upper vapor
#

Sob

languid temple
#

If you guess wrong, your server gone

hearty shard
thin shuttle
#

Okay i now read the change for keycard and plugin

upper vapor
unique crane
#

What are y'all talking about again

hearty shard
#

and the idea of changing keycard permissions

thin shuttle
#

But still that kinda personal

thin shuttle
#

On client

upper vapor
#

Shapes are easier to make apart

unique crane
#

Unlikely

#

But idk I haven't seen the code

thin shuttle
#

For blindness i 100% see

upper vapor
#

I guessed the dyslexia part

mild ice
marble cobalt
#

lol

hearty shard
#

just not the entire thing

#

i got distracted

marble cobalt
#

You can make custom keycards with custom text, permissions

#

Colors

#

Choose which model of keycard you want

hearty shard
#

oh

#

i only knew about the model being different

#

not the rest

rare wolf
#

Same

hearty shard
#

i just checked it

rare wolf
#

That is poggers

marble cobalt
#

Yep!

hearty shard
#

yay

#

thank you beryl

marble cobalt
#

Was surprised to see this chat quiet about it during the stream

#

haha

rare wolf
#

W Northwood moment

hearty shard
marble cobalt
#

lemme boot up a client rq

marble cobalt
#

1 2 3 being the perms

hearty shard
#

goated beryl

rare wolf
#

Gas station gift card

hearty shard
rare wolf
restive turret
#

Sry was ( & is ) drunk during stream

#

Ye i readed the kc change looks good, there is probably code related stuff for creating this type of kc too right?

hearty shard
restive turret
#

Ye but still not answer to my question.
Do i have to run the give command or does it have class for it to example create custom card and do stuff with it

thin shuttle
#

My best example is making than nuke required level 3 weapon & level 3 adminstrative

#

Will they be shown on client

marble cobalt
#

The goal of commands is not only to make something easily testable / accessible thru the console

#

But also examples of how to make something work

restive turret
#

Ye, nice, just asking to make sure

thin shuttle
#

What itemtypeid of customkeycard ?

#

Or it's use already existing card

marble cobalt
marble cobalt
restive turret
marble cobalt
#

Ah, no there's the new

    KeycardCustomTaskForce = 63,
    KeycardCustomSite02 = 64,
    KeycardCustomManagement = 65,
    KeycardCustomMetalCase = 66
restive turret
thin shuttle
#

I like the change to micro hid room

restive turret
#

Ah remindme today that I have to check the streams vod

upper pike
#

How would I give a player an item within a plugin

#

Is this it?

worthy rune
#

that should work

upper pike
#

Yea, probably should have just played around with it first before asking

spring swan
#

so wait we can spawn capybaras?

#

didn't watch the stream much so idk if thats true

loud schooner
#

Listen, I still downloaded Unity to start making maps, but I don’t understand how to install plugins in Unity, can someone explain?

loud schooner
mild ice
upper pike
#

So Player.GetAmmo() returns a ushort object
How do i convert it into an int so i can do maths with it

mild ice
#

Try cast it?

worthy rune
#

you might want to check out a c# basics video or tutorial

upper pike
#

So nothing special for LabAPI

#

Alr

mild ice
upper pike
worthy rune
upper pike
#

Thanks

#

Is short and byte worth using instead of int if im not planning on going negative or above 255

#

I assume it would be faster

worthy rune
#

for doing calculations using smaller types doesn't necessarily mean that they are faster, it gets very complex as it involves knowing about how a CPU works. so if your just starting off you should stick to using int unless you are certain that the value will not go over

upper pike
#

Noted, thanks

dull basin
#

Hello everyone

restive turret
#

Hi

dull basin
#

How should I proceed with Lab API development?

#

Or what reference dependencies do I need to add, and then proceed with development?

restive turret
#

Currently, there is a beta branch need to use both in server and client

#

Called labapi-beta iirc

unique crane
restive turret
#

And i think someone here can copy paste the thing.
Also probably good to just share the wiki too

unique crane
#

UnityEngine

#

whatever you need

restive turret
dull basin
#

OK Thanks

upper vapor
restive turret
#

I could have write an import every Unity* file

#

Idk if works probably not

restive turret
restive turret
#

If u have more questions or smth u can post here, probably someone gonna answer

dull basin
#

OK

normal pawn
#

Just curious, I'm trying to play same file on 100 speakers at the same time and it's not playing. Problem with amount of speakers or with something else?

worthy rune
normal pawn
#

I've plased them on scp 079 speakers positions in each room

#

So i think it supposed to play

#

Maybe problem in sending?

worthy rune
#

that should work

normal pawn
#

Like on same tick I'm trying to send on ~50 speakers

#

100% issue not in audio file itself cuz it's working fine on 1 speaker

worthy rune
#

you should be able to hear on all by sending once, if all the speakers have the same controller id

normal pawn
#

Ah yes, same controller id...

loud schooner
#

I applied to the Northwood company, should I wait for a response or not?

wheat flower
#

please read what you just asked

#

and how does it make sense

restive turret
limber silo
restive turret
#

Yo, what is the spawning related stuff for stuff inside the 330?

#

coin, and the kc