#plugins-dev-chat

1 messages · Page 175 of 1

upper vapor
#

btw, the discordlab docs should explain things pretty well

covert flame
#

Hmmm, I mean better than nothing lmao

#

That was joke btw I dont need help, I can figure it out

upper vapor
covert flame
#

Hoooweevverrr

#

I could go for some spoonfeeding :]

icy knoll
#

what do you need @covert flame?

covert flame
#

Oh sweet

#

So how to

icy knoll
#

DiscordLab.Bot is the main thing

#

it has a nuget package

covert flame
#

Oh it does?

#

Oh sweet

#

What's a nuget package?

#

I'm so funny right?

icy knoll
#

DiscordLab.Bot.Client is a static class with pretty much everything you need

icy knoll
covert flame
icy knoll
#

also don't get confused with DiscordLab and DiscordLab.Bot

#

DiscordLab is the wrong one, DiscordLab.Bot is correct

upper vapor
icy knoll
#

I don't know how

#

and I'm away from pc rn

icy knoll
#

and plus my pc needs to cool down

upper vapor
#

save to watch later

icy knoll
#

I've been afking Minecraft for like 72 hours

covert flame
#

@icy knoll So Client is static right, how do I actually, you know, do things

icy knoll
#

what do you want to do?

covert flame
#

Like, send a message to a channel?

icy knoll
#

Client.GetOrAddChannel(channelId).SendMessage(text)

#

there is also TryGetOrAddChannel(...)

covert flame
#

What about getting users with a certain role

upper vapor
#

maybe this will help

icy knoll
covert flame
icy knoll
#

wdym

covert flame
#

Like, can't I just use Discord.NET instead of DiscordLab?

upper vapor
#

try it and see

icy knoll
#

you can, but DiscordLab exists to make it easier for you to make a Discord bot in Unity

#

because Unity has like a billion issues with Async, so I made utilities to fix all that

covert flame
#

To make things easier?

icy knoll
#

that makes it work with Mono, yes

covert flame
#

That's so fire

icy knoll
#

Discord.NET doesn't work in Mono, but I made it so it does

#

that's why I always tell people to just use DiscordLab rather than try figure out how to make Discord.NET work

covert flame
#

I see I see, so, basically I've been coding for 3 days straight right, and I no longer have a will to keep going

#

Have any words for some motivation?

icy knoll
#

I've done longer without motivation

upper vapor
#

sleep()

covert flame
upper vapor
#

i couldn't code for 3 days straight
or straight for any time period

covert flame
#

I'm tired, I can't go on, but I must

#

I must get this done

icy knoll
upper vapor
#

that's the joke

covert flame
#

Oh, burn

covert flame
#

Exactly

covert flame
icy knoll
#

I'm saying you can beat my record

#

that's your motivation

covert flame
#

Brain.PrefrontalCortex.SelfControl.Work();

icy knoll
#

Brain is null

upper vapor
#

xddddd

covert flame
#
if (!TryGetBrain(out Brain brain))
  brain = new();

brain.PrefrontalCortex.SelfControl.Work();
upper vapor
#

NotImplementedException

#

(brain..ctor)

restive turret
#

I'm quite the opposite
10h of work with 3 days slep tru

upper vapor
#

lmfao

icy knoll
covert flame
#

Body.Destroy();

restive turret
#

Body.Explode()

covert flame
#

; expected

restive turret
#

I expect it to work

covert flame
#

real

#

@icy knoll I like don't have the brain power to think on what I need to do to get what I want lmao, don't worry though, I got this

#

So where do I define the token, like is it a thing of I do it in the config and it will just use that from my plugin, like I cant even word this

icy knoll
#

you put it in the DiscordLab config

covert flame
#

So what dll is going where? What goes in plugins, what goes in dependencies and what goes in my plugin?

upper vapor
#

read the setup guide

covert flame
#

That is SO many words

#

like 20 words max frfr

upper vapor
#

@grok summarize

covert flame
#

I think I understand it

restive turret
#

Get rotated

icy knoll
#

everything else is a plugin

covert flame
#

DiscordLab goes in plugins, which generates a config where the token and stuff go, then DiscordLab.Bot goes in the dependencies and in my plugin dependencies, right?

icy knoll
#

what

covert flame
#

I don't know

icy knoll
#

DiscordLab.Bot.dll is a plugin

covert flame
#

Oh so that goes in the plugins folder as well

icy knoll
#

yes

covert flame
#

So, I have the bot nuget package in my plugin, which I can use to send message and all of that fancy shit, then I have DiscordLab and DiscordLab.Bot in the plugins and the dependencies in the obvious place, and I'm good to go yes?

icy knoll
#

what are you referring to with DiscordLab by itself here

covert flame
#

What do you mean?

icy knoll
#

all you need is DiscordLab.Bot, I don't know what you are referring to with just DiscordLab

covert flame
#

Oh shit, I though DiscordLab was a .dll as well

#

My bad

#

I think it's because I saw a DiscordLab nuget package, which you literally said not to worry about

#

God I'm stupid

icy knoll
#

😭

covert flame
#

I'm so sorry

#

So the BotStatus, can I use that in my plugin?

icy knoll
#

yeah you can reference BotStatus

#

but you can't copy the code unless you plan to open source your version of it

#

because of the license

covert flame
#

What do you mean copy the code?

#

Why would I do that?

icy knoll
#

people do

covert flame
#

Do i even need to reference BotStatus or can it just be used in the plugins folder

#

And it does what it says

icy knoll
#

you don't need to reference it

#

BotStatus just hooks to Bot

#

simple as that

#

It's a plugin

covert flame
#

Okay, I'm starting to get this

#

Okay yeah, I think I get this now, thank you

icy knoll
#

nws

covert flame
slate flume
upper vapor
unique crane
vast canopy
slate flume
unique crane
#

Yes

slate flume
#

Is there an open issue for it?

slate flume
restive turret
#

model being visible i dont know how the issue happened but it is fairly common with marhsmallowman

restive turret
#

You basically inside the model which shouldn't render to you(?)

#

But it still does

soft depot
soft depot
#

thanks

#

I will commit unthinkable funny things with this

soft turtle
#

What method checks if a card has the permissions to open a door?

upper vapor
#

there are extension methods for permission checks

soft turtle
soft turtle
upper vapor
#

yeah look at the code

soft turtle
#

XD

upper vapor
#

DoorPermissionsPolicy

#

is the class i believe

soft turtle
soft turtle
upper vapor
#

np

upper vapor
hearty shard
#

secretapi >

soft turtle
#

Where's the keycard?

upper vapor
#

you can see it on your screen
i hallucinated

#

oh you meant

#

keycarditem?

soft turtle
upper vapor
#

wdym

soft turtle
# upper vapor wdym

"KeycardItem" is an ambiguous reference between "InventorySystem.Items.Keycards.KeycardItem" and "LabApi.Features.Wrappers.KeycardItem"

#

Aah

upper vapor
#

well pick the inventorysystem one
but why not just use the wrapper?

#

oh right, cuz you need the permission requester

soft turtle
upper vapor
#

so just use the former one

#

that should solve it

soft turtle
#

Okay, I found a solution

tribal dagger
#

why does setting the previous owner to dedicated server for a grenade remove damage completely?

#

when the footprint is null or from the server there is no damage done

#

but when set to default it suddenly works, but shows that an unnamed 173 killed me

#

some FF issue?

upper vapor
#

attacker must be alive

#

the default footprint obv has a null nickname, but the default role is 173, that's why you get that death screen

tribal dagger
#

interesting

hearty shard
#

💀

#

if only the game could... make it... more clear

upper vapor
#

lmfao

hearty shard
#

by making the default... not peanut...

upper vapor
#

"" killed me

upper vapor
#

@restive turret mentioned

upper vapor
#

we'd have to rearrange RoleTypeId

hearty shard
#

thats the average game update anyway....

hearty shard
#

well

upper vapor
#

true

hearty shard
#

i dont remember where it even is caused from

#

i cba to find it

upper vapor
#

but how do you know if the attacker's name isn't actually null? toomuchtrolling

hearty shard
#

ragebait 🥀

#

anyway

#

do ur JOB!

upper vapor
#

go back to not dealing with sl

hearty shard
#

sorry i meant

#

J*B

upper vapor
#

i did my job enough

hearty shard
upper vapor
#

unity can ki-

#

ss itself

hearty shard
#

im just in the chat for fun

#

i like some of the ppl in here

hearty shard
#

thats me

upper vapor
#

no that's not you

hearty shard
#

ax

#

and why isnt it already done smh

#

clearly nw hates modders

#

smh...

upper vapor
hearty shard
#

i mean half my suggestion is rly the ability to send individual settings

upper vapor
#

the humble aproval requirement:

hearty shard
upper vapor
#

sucks to be me, ik

hearty shard
#

honestly

#

the main things SSS needs is the ability to send individual settings and built in page system

#

literally that would fix any issues and make SSS menu plugins be not needed

upper vapor
#

yeah and also, better dev ex

hearty shard
upper vapor
#

developer experience

hearty shard
#

thought so

#

but yeah

#

like that would make it such a nice experience

#

especially for big servers that have a lot of settings

#

cuz like if you need to remove 1 setting from a player, you then need to resend all 50000 settings

upper vapor
#

git diff

hearty shard
#

it does kind of feel like SSS was made without thinking of how useful itd end up being

#

and wasnt much thought on the dev experience

harsh thorn
#

i believe it was kindof a concept experiment

#

could be wrong though

hearty shard
#

it just released and didnt get meaningful updates to it that address the community issues

charred sparrow
#

how to get a player is opt out scp🤔

hearty shard
charred sparrow
#

yeah

hearty shard
#

does Player class not have it?

#

okay well

#

ScpPlayerPicker.IsOptedOutOfScp(player.ReferenceHub)

charred sparrow
#

ok ty

slate flume
#

I'm so lost as to what the problem is

cyan crown
#

nice guys

pallid galleon
#

Is there a list of all LabAPI effects anywhere?

#

Like Poisoned, SCP207 etc etc

#

nvm 🙂

upper vapor
upper vapor
fickle prairie
upper vapor
#

There's no PluginAPI

#

It's been discontinued

#

Nuked

#

LabAPI is available on NuGet

#

The rest of the assemblies can be found in the dedicated server's SCPSL_Data/Managed directory

upper vapor
#

Np

fickle prairie
upper vapor
fickle prairie
inner citrus
# cyan crown

That’s why 6.3 better (crashed after entering play mode)

soft turtle
#

Why is ev.Door.Permissions 2050 if it is not in DoorPermissionFlags?

Logger.Info(ev.Door.Permissions);
hearty shard
#

and also

#

doors can have multiple permissions

#
public enum DoorPermissionFlags : ushort
{
  None = 0,
  All = 65535, // 0xFFFF
  Checkpoints = 1,
  ExitGates = 2,
  Intercom = 4,
  AlphaWarhead = 8,
  ContainmentLevelOne = 16, // 0x0010
  ContainmentLevelTwo = 32, // 0x0020
  ContainmentLevelThree = 64, // 0x0040
  ArmoryLevelOne = 128, // 0x0080
  ArmoryLevelTwo = 256, // 0x0100
  ArmoryLevelThree = 512, // 0x0200
  ScpOverride = 1024, // 0x0400
}
#

Permission 2050 is gotten through adding some of these together

#

aka ArmoryLevelThree (512) + ScpOverride (1024) = 1536

terse bone
#

if 1024 is the biggest then 2^11 - 1

hearty shard
#

fair but

terse bone
#

2047

hearty shard
#

(DoorPermissionFlags)2050

terse bone
#

so there is a hidden flag

hearty shard
#

hence why i asked for the door

#

its not readonly so

#

if someone was to make a custom door with it....

#

and yeah its prob not a nw door

terse bone
soft turtle
pulsar locust
#

hidden flag could also be a leftover relic, typically when you work with bitwise flags you are supposed to add new and not replace

upper vapor
unique crane
#

2015

#

obviously

upper vapor
#

That was a decade ago

soft turtle
#

Why is GateA and GateB's DoorPermussion is 2050?

restive turret
#

Magic

soft turtle
#

(keycard.Permissions & doorPermissions) != doorPermissions
BUT I can't do such a check because the door's DoorPermissionFlags are unknown.

restive turret
soft turtle
#

Northwoods, what was the problem with making normal DoorPermissionFlags for gates?

#

2050

upper vapor
#

Maybe some unity bs

restive turret
#

I think it was always 2050

sweet flax
#

do we know why all of the wrappers are in namespace LabApi.Features.Wrappers; namespace?

hearty shard
snow pulsar
restive turret
#

Oh right the access pass stuff

snow pulsar
#

I know on unity side I can compile doors, but idk what the specifications of access pass are

#

Watch it be Exitdoor just being true to allow it

upper vapor
unique crane
snow pulsar
restive turret
#

Yup the KC is set to 2

#

Idk why or how it became 2050

snow pulsar
#

no clue

restive turret
#

No glue

next jungle
restive turret
#

What

#

Probably i would try at asking where the plugin is

restive turret
next jungle
#

aaight

spare zodiac
#

what does original definition in SSS mean?

hearty shard
#

aka

#

the one you register

spare zodiac
#

via patch

hearty shard
#

why would you

#

i mean try and see

spare zodiac
unique crane
#

@languid temple

spare zodiac
upper vapor
spare zodiac
upper vapor
#

ummmmmm

#

you can send updates for a setting i believe

#

@hearty shard

hearty shard
#

Hello what

hearty shard
#

As in

#

Be more specific

#

Are you changing a server side value or what

spare zodiac
hearty shard
#

I don't understand

#

im also completely sleep deprived

#

do you use secretapi or anything

hearty shard
#

cuz you can change the dropdown values for a player

#

Stuff like that

#

Idk if you can force set someones setting to a specific value though

spare zodiac
hearty shard
#

preferably dumbed down

spare zodiac
hearty shard
#

okay but

#

which value

#

What setting

spare zodiac
#

I'm trying to change values based on how much player has health

hearty shard
#

okay...

#

can you show a screenshot of how the setting looks

#

and explain the change ur wanting to make dynamically

spare zodiac
#

I think I'm unable to explain in greater detail right now, because I'm not on computer

hearty shard
#

ping me w more details and ill reply whenever i can be assed to not bedrot

cyan crown
#

i hate this engine :(

#

the crash was because i had profiler ON and it had a lot of data that it froze my whole pc and crashed unity when i tried to cancel

warped prairie
#

profiler? i hardly know her!

upper vapor
warped prairie
#

new software just droppped

cyan crown
#

i also generated whole a 64 million voxel world horizontally causing a lot of lag almost breaking my pc

upper vapor
#

jotale

warped prairie
#

you put it through hell daily

cyan crown
#

i stopped working on that dih project

#

it was just a test if i can make some voxel based worlds

#

i technically did achieve my goal loading a single chunk but loading others or having a huge world 64 million wide caused a lot of lag

unique crane
#

how about not drawing what you dont see

cyan crown
#

i got around 200 fps with full volumetric clouds and post processing applied

#

generating new chunks caused a lot of spooky lag spikes i was gonna continue with store the data or even use greedy meshing but i don't want to waste time on that project since its just a good idea i had i wanted to test if i can make it

soft depot
# hearty shard Stuff like that

I think they changed it to basically any part of a setting, you can just send an update message to change stuff. It's very nice for updating settings without freezing clients if you have a lot of settings

barren pasture
#

How can I check if a player misses a shot, and how can I check what hitbox they hit when they do hit their shots?

soft depot
warped prairie
#

Would onplacingbullethole count if it only happens when a player misses?

#

Idk how that works tho just spitballing

hearty shard
#

Afaik at least

next jungle
#

double checking, Scp1344HumanXrayProvider.GetParticleColor is handled on the client and whatever i do with it on the server should do nothing?

next jungle
#

😔

icy knoll
#

only the rate of blinking

next jungle
slow pond
#

anyway to make custom class that removes larrys huntersAtlas?

honest mantle
#

I am kinda confused, is Labapi better or exiled better? (My mission is to make scp 3114 and pink candy be available in my server)

restive turret
#

Labapu is bundled with the game.
Exiled build upon labapi and basegame to add more events and features

honest mantle
#

I see, so Labapi would be easier if its supported by the devs itself?

restive turret
#

Ye, well usually depends what you do and how you write it but you can use either of them

#

You can try writing one for labapi and one for exiled seeing which would be better (or just for learning ig)

honest mantle
#

I see, thanks for the help :D

restive turret
#

Both can introduce breaking change (well since game gets update so)

next jungle
#

i think the main advantage rn of using exiled would be custom items and roles not conflicting as there is no one main api bundled with labapi compared to exiled

#

but that is just my opinion

restive turret
#

Well exiled has as module for it

next jungle
#

that is what i meant

restive turret
#

And there is many plugin/deps that do same like exiled but different

soft depot
restive turret
#

The int id system is weird for me (cus can collide)

next jungle
#

int based ids should be fine as long as they are monotonic

honest mantle
#

Should the plugin files be placed in the global file or port file?

next jungle
#

depends if you want them for every server or that specific server

honest mantle
#

kk ty

soft turtle
#

Does anyone know what causes this error?

unique crane
#

This obviously

restive turret
#

you disconnected the host again

soft turtle
#

I'm going crazy soon... I don't have a patch for this

#

Okay. I should probably rewrite all the plugins and delete Exiled asap.

unique crane
restive turret
#

or just dont use goggles custom item

sinful bronze
#

i love to kill 1

upper vapor
restive turret
#

ban 0 150y server killed

west tide
#

I know that it doesn't exist in LabAPI, but is there any way to get it?

player.ChangeAppearance(RoleTypeId.Tutorial);
west tide
restive turret
#

Because it is not change appearance??

#

And because it requires fake syncing role related fields

#

Works on my machine and 2 host, plus many other machines too

west tide
restive turret
#

Read what i said because it does not called as change appearance

#

AddFakeRole

west tide
restive turret
#

Then use exiled

#

Idc

west tide
restive turret
#

Or create your own, but it will definitely not gonna be included in basegame labapi until there is a change for the roles which is not usually happens in one night

#

Great, have fun with it

#

Btw the linked stuff works in many server and even the code copied over other place even verify it works (by Raphael)

charred sparrow
#

how to spawn all players in respawn wave🤔

#

my code is ineffective🤔

terse bone
#

I think you can set it through server config
ntfspawnwave_size_percentage: 1.0

charred sparrow
#

i dont want change every round

#

😼

terse bone
#

for ntfminiwave you will have to do

if (WaveManager.TryGet(out NtfMiniWave wave))
   wave.WaveSizeMultiplier = 1f;
#

then after round set it back to 0.2f

terse bone
#

hmm

terse bone
#

for ntfspawnwave it would be something like this

if (WaveManager.TryGet(out NtfSpawnWave wave) && wave.Configuration is PrimaryWaveConfig<NtfSpawnWave> config)
   config.SizePercentage = 1f;
charred sparrow
#

ok

terse bone
#

after round you can call config.OnConfigRefresh() it will reset SizePercentage value to server's default

charred sparrow
#

hmmm

#

ty

terse bone
#

np

#

Imo this would be also good for dependencies organization

restive turret
#

ye thats why it got merged

terse bone
#

yea but this feature is for plugins only

#

dependencies will still have same search options

#

i will make a pr in a minute to also add this for dependencies

restive turret
#

david probably be good with it

charred sparrow
#

hmmm
the server will die if ban.txt is using🤔

#

no any retry

restive turret
#

Blaming you

charred sparrow
#

but if many server start in same time...

#

and share ban file

restive turret
#

I recommend
start "" la 7777

covert flame
#

How do I get back lost time? Is it possible to back in time and give my younger self the updated code? How do I catch up on sleep without spending any time?

restive turret
#

Sadly cant

covert flame
#

Surely there's a way

#

Right?

restive turret
#

I didn't found it

#

Matrix made this way

covert flame
#

Can we exploit it?

#

There must be a way

soft depot
#

Just go faster than light bro

fathom sphinx
#

Is there documentation for making plugins?

sweet flax
soft turtle
#

Is there an Enum in Window like DoorName?

barren pasture
#

What do you need it for?

soft turtle
barren pasture
#

What would y'all say is the best way to test a custom anti-cheat if I were to make one? I know offline mode for sure, but I'm not sure how I would give myself permissions in offline mode.

barren pasture
#

Fair

upper vapor
soft turtle
#

Or i need use Vector3::TryGetRoom

upper vapor
#

If the former doesn't work then ye

snow pulsar
restive turret
#

I always do

#

For testing purposes

snow pulsar
#

I still don't because yes

#

Rather have it auth properly

restive turret
#

Good if for example my internet went out or central doing the funny

snow pulsar
#

I've never been on a server while central servers were down

soft turtle
snow pulsar
#

Usually there isn't a need for offline mode... trollDespair

soft turtle
#

Now do you understand why you need an offline mod?

snow pulsar
#

Sounds like a NW issue to me since they patch the cheats... unless you're trying to prevent it manually yourself which is your own sandbox game

soft turtle
mild ice
#

By it's nature almost none of the work we do to combat cheating is seen by the general public

soft turtle
#

Because of this, I wrote a server anti-cheat that breaks some cheat functions

mild ice
#

But I assure you we do a lot

snow pulsar
#

90% of the cheats have been patched, and the current cheat devs are raising their prices because it's getting harder to combat NW patches that messes with the cheaters.

#

It's pretty much classified how the anticheat works in the game unless you're allowed to look at it

soft turtle
mild ice
#

If it instantly banned someone the second it detected them it would be very easy to bypass kek

#

If you see a cheater, make a cheater report and someone will take care of them

#

We're pretty good on response time

soft turtle
snow pulsar
soft turtle
mild ice
#

I can't comment on the AC and what it does or doesn't detect, but I assure you it works

snow pulsar
#

I'd rather not get a boot in the ass by a sys admin

snow pulsar
#

Security dept. is gonna have a laugh at this

mild ice
upper vapor
soft turtle
snow pulsar
upper vapor
#

Or silksong

snow pulsar
restive turret
#

And even if i go and do smth other still can do stuff ofc the ra panel permission set as they can't request ip and stuff

upper vapor
restive turret
#

And again, they need MY ip to join, which again IF i don't have internet, noone can join.
And my server only runs when i run it so it's not like "OMG 5 PUBLIC SERVER HAS PASSWORD OPTION YOU CAN GET ADMIN WITH THIS SIMPLE STEPS"

upper vapor
#

Yeah trueing

upper vapor
restive turret
#

And not like even if you run a server you still can be joinable since many behind nat or need port forward

harsh thorn
#

If you arent seeing anything I dont know what to tell you

As my numbers and telegrams of free cheats say otherwise

And occasional coping in the midnight telegram when we wave them

#

You also forgot to mention that multiple exploits cheats used were fixed, all forward track with guns, skeleton exploits, etc

So this does seem like a slightly ungrounded take as it simply isn't true at all

thin shuttle
burnt hearth
pulsar locust
covert flame
#

It appears I have forgotten how to set the player's user group, may I have some assistance

#

Is anyone there?

#

Huh, I guess I'm all alone

restive turret
#

command or

covert flame
#

In code

#

oh yeah wait

#

there's a command for it

#

Hmm, is there a way to get a group without the name?

#

Like I dont need another way but is there?

unique crane
#

setgroup user groupname

soft turtle
#

What event is triggered if you throw a card at the card scanner?

#

And what event is called when an item is added to the inventory? I don't see the PlayerEvents.ItemAdded event.

upper vapor
upper vapor
soft turtle
west tide
#

What is "AllowSpectatorTrigger"?
I saw it in KittsMenuSystem, it has it in there.
I find it interesting and wanted to know what it does.

upper vapor
west tide
hearty shard
#

well you need a setting that has it enabled

#

or well....

#

you cant trigger it while spectating...

west tide
hearty shard
#

keybind

west tide
hearty shard
#

then show the error

#

cant give any response to your issue if you dont tell me the issue

west tide
# hearty shard then show the error

'AllowSpectatorTrigger' accepting a first argument of type 'SSKeybindSetting' could be found (are you missing a using directive or an assembly reference?)

hearty shard
#

show

#

what the hell are you doing

west tide
#

wait chill

hearty shard
#

you seem to be doing AllowSpectatorTrigger(keybindSetting)

#

instead of keybindSetting.AllowSpectatorTrigger = true;

west tide
hearty shard
#

hi ax

hearty shard
#

however

#

i am confused on what ur doing

west tide
hearty shard
#

thats not

#

what i meant

#

i was referring to you using a property as a method

#

anyway

#

@upper vapor did you see the new lego batman game

upper vapor
#

what

hearty shard
#

its 70-90 bucks
and they recommend 32GB ram

#

and also

#

win 11 is on the min specs

#

💀💀

#

as a win11 user, what the fuck 💀💀

upper vapor
hearty shard
#

ahahha

restive turret
#

as a win10 user wt f

hearty shard
#

SSD is required

#

u need 16gb, with 32 being recommended

restive turret
#

my ass

hearty shard
restive turret
#

lego games are shit anyway

hearty shard
#

for 70 bucks too 💀

#

yucky

warped prairie
#

i kinda tupid, can somoen remind me what the event is when somone turns on a generator. like starts the countdown

tulip kiln
warped prairie
#

Ty

slate flume
#

Is there any way to get floor-spawning hazards to play well on slanted surfaces?

#

Might be a little hard to see but the issue is currently that it's seemingly clipping into the ground a bit

#

The way I rotate it is by raycasting down, and getting the hits normal

#

So on a flat surface like that it shouldn't be clipping

soft depot
teal junco
slate flume
slate flume
#

Which is entirely expected

#

It's doing this

#

Now my understanding is that there is a certain amount of tolerance so what happens is this:

#

Where what you actually end up seeing is the yellow

slate flume
#

Where instead of expecting a projection on an entirely flat surface, it would expect projection on a flat surface relative to itself

soft depot
#

what if you made the tantrum super tall?

slate flume
#

Hm

#

I'm not sure

slate flume
soft depot
#

uhh

#

not what I expected lol

slate flume
#

Wdym

soft depot
#

why is it so wide?

slate flume
#

Cause it's a sinkhole?

soft depot
#

you just have a sinkhole in your staircase 😂

#

anyways

#

I guess it works

slate flume
#

No I was testing it on the staircase

#

Because I wanted to get it working on slanted surfaces

#

Hm maybe I should do this with peanut tantrums

#

Get them working on slanted surfaces

#

Guess I'm making another transpiler

soft depot
#

thought by then I'd worry about multilayered rooms n stuff

slate flume
#

At least afaik

#

Called that shit

soft depot
slate flume
#

The difference is subtle but it's a difference

#

If I'm making a small change like this to be more accurate, I might as well make it as accurate as possible and not half-ass it

#

Also if the projection isn't just straight down relative to the world, and is instead relative to the entity itself, it makes an even greater difference than just size

#

If that's the case, then both position and scale will be fucked up if you don't do a proper rotation

#

And looking at it now, that appears it might be the case, but I'm not 100% confident in that given the original issues

#

TL;DR rotation is important

burnt hearth
#

Well I just learned something new

#

That's neat

terse bone
#

Well, i achieved something unexpected kek
First time since unity 6 update

upper vapor
#

You crashed the server AND the client?

terse bone
#

nah, the client got disconnected

#

if the client crashed that would be super funny

soft turtle
#

How do I prevent LabApi from registering a command in the plugin automatically and register it manually?
LabApi throws an error because it can't register the command, as the command takes the Description from the config, and the config isn't loaded at the time.

soft turtle
hearty shard
#

yep

#

thats what makes it auto register

soft turtle
hearty shard
#
public static void Register(ICommand command, params CommandType[] commandTypes)
        {
            foreach (CommandType commandType in commandTypes)
            {
                switch (commandType)
                {
                    case CommandType.Client:
                        QueryProcessor.DotCommandHandler.RegisterCommand(command);
                        break;
                    case CommandType.RemoteAdmin:
                        CommandProcessor.RemoteAdminCommandHandler.RegisterCommand(command);
                        break;
                    case CommandType.Console:
                        GameCore.Console.singleton.ConsoleCommandHandler.RegisterCommand(command);
                        break;
                }
            }
        }
unique crane
#

and then set it

#

however

#

It is generally reccomended to keep the description just in english

#

as every other command is

soft turtle
soft turtle
hearty shard
#

oi davy daves

unique crane
hearty shard
#

oh.

upper vapor
charred sparrow
#

How to get if a player is killed by a TimedGrenadeProjectile instance

#

ProjectileExplodingEventArgs or PlayerDyingEventArgs🤔

hearty shard
#

do you want before the death has finalized

#

or what

charred sparrow
#

after death

hearty shard
#

then dont use Dying

#

use Died

#

Dying is before

charred sparrow
#

hmmm

#

so how to check the player is killed by the grenade

upper vapor
#

check if the damage handler is an ExplosionDamageHandler

charred sparrow
#

😭

upper vapor
#

yeah you can't get the grenade instance from there

charred sparrow
#

so use ProjectileExplodingEventArgs ?

restive turret
soft turtle
#

Why is the event being called even though I unsubscribed from it?

thin shuttle
#

have you succefully put a tantrum rotation ?

thin shuttle
soft turtle
thin shuttle
#

weird

#

have you multiple call OnJoined ?

#

because you can subscribe multiple time the same method

#

and that could be a reason

#

of you not being able to remove it because you only remove one of them

soft turtle
thin shuttle
#

try to remove it twice

#

just to see if it's fixed it

soft turtle
thin shuttle
#

:3

#

try and see

#

you could possibly found the truth

soft turtle
thin shuttle
#

yeah

#

but it's would help to find what the problem

soft turtle
#

I'll try to find the error. It's very strange

thin shuttle
#

if you have multiple instance of it

#

just found why you have multiple

#

if my suggestion do not work idk what it's would be

#

but at least you can know what the real problem

soft turtle
#

I don't understand

obtuse spruce
#

ThirdpersonModel gameobject reference didnt exist on headless server ?

slate flume
slate flume
#

I made a transpiler to adjust tantrum rotation and scale so it works properly on inclines

#

I did similar code to get sinkholes working the same

obtuse spruce
#

but seem to be null

restive turret
#

Maybe your firearm null?

obtuse spruce
#

nuhuh

#

wait

#

firearm cant be null in this context

obtuse spruce
restive turret
#

Try ThirdpersonItemPoolManager

#

Or InventorySubController

#

Zero clue about animations and those stuff

obtuse spruce
#

my ThirdPersonModel are valid now i found a fix but are not affected

restive turret
#

Y'know even if you have it you cant really change it

obtuse spruce
#

I just wanna attach an adminToy

#

not to the transform directly

restive turret
#

Btw

obtuse spruce
#

but i need it to do somes inverseTransformPoint

restive turret
#

InventorySubcontroller.OnSwapThirdpersonItem

obtuse spruce
#

mmmmh interesting

restive turret
#

This might help u

obtuse spruce
#

in my context my thirdpersonModel are not null. It just didnt move Sad_bob

boreal snow
#

item serials are ushorts, right?

soft depot
#

ye

warped prairie
#

so your tellin me if i spawn in 65535 items itll crash PepeEvil

thin shuttle
#

Yes

soft turtle
warped prairie
#

I’ll make 65535 custom items even better

thin shuttle
#

CustomKeycard / Jailbird / MicroHid / other item use Serial for some system

#

But that the one i am 100% sure

#

Oh yeah Scp1344

#

If someone already have them been wear

#

You will pickup it and they will instantly crush your eyes

#

And if one of the two remove it it's removed for both player

carmine prawn
#

Is RespawnWave.TimeLeft incorrect?

upper vapor
upper vapor
carmine prawn
#

💀

thin shuttle
upper vapor
#

But it clearly doesn't work in this case

thin shuttle
#

You can also self unsubcribe

#

If you want your event only be call once

#

Like OnPlayerDying(eventhandler ev)
{
PlayerHandler.Dying -= OnPlayerDying;
// Do things
}

upper vapor
thin shuttle
#

But he could want it only once for the single first game idk

#

After a restart

soft turtle
#

Does anyone have a bug where they can't reload their weapons?
For some reason, my weapons aren't reloading on my server. I copied all the configs to the test server, but everything's fine there.
Has anyone encountered this problem?

upper vapor
#

did you respawn the player's gameobject?

soft turtle
upper vapor
#

ye

soft turtle
# upper vapor ye

No. I haven't respawned players this way. But I have respawned other objects, like SCP-500.

upper vapor
#

i don't think that should cause issues

#

do you have any reproduction steps?

soft turtle
#

It's just that at some point the weapon cannot be reloaded

upper vapor
#

do you do SendSpawnMessage on player objects perhaps?

soft turtle
soft turtle
#

Only destroy message for primitivs

unique crane
# soft turtle

That seems more of like you messing around with reload event and ammo property

#

since the rounds doesnt appear after the animation

soft turtle
#

The problem was that I was sending a message to the server itself, which is why the ammo were breaking for some reason.

unique crane
#

Player.List moment

upper vapor
#

replace all Player.Li9st with Player.ReadyList

#

can we just obsolete the former

unique crane
#

Make PR

#

The amount of times it caused issues is catastrophic

sweet flax
#

Or just the player.list => Player. ReadyList and make a new one called player.noreadylist

#

Because player.list is more intuitive

unique crane
#

Because people arent capable of reading comments

sweet flax
#

Its more intuition than reading comments

unique crane
#

Hm

#

Still getting obsolete

tulip kiln
upper vapor
#

no nuget?

tulip kiln
#

Well I'm not gonna get a publicized LabApi from a nuget

upper vapor
#

you are

#

BepInEx publicizer

#

also why do you need to publicize labapu

tulip kiln
#

actually let me check

#

I had to patch a permission provider

#

which had its methods private

upper vapor
#

ah

wary gust
#

Is it possible to send an external lookup (open a window on client) without the client clicking the External Lookup (they still run a command)?

restive turret
wary gust
upper vapor
#

look down externally

sweet flax
#

isnt externall lookup a command, maybe something with it

unique crane
#

As every RA button executes a command

upper vapor
celest thorn
#
    public static ThrownProjectile? SpawnLiveProjectile(ItemType itemType, Player player)
    {
        if (!InventoryItemLoader.TryGetItem(itemType, out ThrowableItem ib))
        {
            Logger.Error($"Provided item type {itemType} is not a throwable item!");
            return null;
        }

        ThrownProjectile projectile = Object.Instantiate(ib.Projectile, player.Position, player.Rotation);

        PickupSyncInfo psi = new PickupSyncInfo(itemType, ib.Weight, ItemSerialGenerator.GenerateNext())
        {
            Locked = true
        };

        projectile.Info = psi;
        projectile.PreviousOwner = new Footprint(player.ReferenceHub);
        projectile.ServerActivate();
        NetworkServer.Spawn(projectile.gameObject);
        return projectile;
    }

How can i throw the item?

#

that i spawn from here?

restive turret
#

spawn then activate?

celest thorn
#

what?

restive turret
#

NetworkServer.Spawn(projectile.gameObject);
projectile.ServerActivate();

celest thorn
#

i've used this code before and it worked

#

always

#

but how can i throw it then?

restive turret
#

what you mean by that

#

projectile transform

#

and you move it

celest thorn
#

like i need to force like the player throws it

#

exiled has for example the ThrowGrenade

#

but here it doesn't exist

restive turret
#

get rigidbody

#

and do the funny

celest thorn
#

there's not anything like on the server to throw it??

restive turret
#

no

celest thorn
#

bruh

celest thorn
# restive turret no
    public static ThrownProjectile? SpawnLiveProjectile(ItemType itemType, Player player)
    {
        if (!InventoryItemLoader.TryGetItem(itemType, out ThrowableItem ib))
        {
            Logger.Error($"Provided item type {itemType} is not a throwable item!");
            return null;
        }

        ThrownProjectile projectile = Object.Instantiate(ib.Projectile, player.Position, player.Rotation);

        PickupSyncInfo psi = new PickupSyncInfo(itemType, ib.Weight, ItemSerialGenerator.GenerateNext())
        {
            Locked = true
        };

        projectile.Info = psi;
        projectile.PreviousOwner = new Footprint(player.ReferenceHub);
        projectile.ServerActivate();
        NetworkServer.Spawn(projectile.gameObject);

        if (!projectile.TryGetComponent<Rigidbody>(out var component))
            return null;
        
        Vector3 velocity = player.ReferenceHub.GetVelocity();
        Vector3 linearVelocity = velocity / 3f + player.ReferenceHub.PlayerCameraReference.forward * 6f * (Mathf.Clamp01(Mathf.InverseLerp(7f, 0.1f, component.mass)) + 0.3f);
        linearVelocity.x = Mathf.Max(Mathf.Abs(velocity.x), Mathf.Abs(linearVelocity.x)) * (float)((!(linearVelocity.x < 0f)) ? 1 : (-1));
        linearVelocity.y = Mathf.Max(Mathf.Abs(velocity.y), Mathf.Abs(linearVelocity.y)) * (float)((!(linearVelocity.y < 0f)) ? 1 : (-1));
        linearVelocity.z = Mathf.Max(Mathf.Abs(velocity.z), Mathf.Abs(linearVelocity.z)) * (float)((!(linearVelocity.z < 0f)) ? 1 : (-1));
        component.position = player.ReferenceHub.PlayerCameraReference.position;
        component.linearVelocity = linearVelocity;
        component.angularVelocity = Vector3.Lerp(ib.FullThrowSettings.StartTorque, ib.FullThrowSettings.StartTorque, UnityEngine.Random.value);
        float magnitude = component.angularVelocity.magnitude;
        if (magnitude > component.maxAngularVelocity)
        {
            component.maxAngularVelocity = magnitude;
        }
        
        return projectile;
    }
#

so something like this

#

like im doing a grenade launcher and damn it takes alot of time in labapi to throw an item

neat dirge
#

is anyone using uci?

#

how to spawn item on shelf in 914?

#

next to scientist keycard

static meteor
neat dirge
#

i think the tool gun shows in game coordinates not room ones

covert flame
#

I've never been more happy to see the word true

neat dirge
#

and i deleted it to make it more clear inside my folder

static meteor
#

Shooting it will show the offset at the location of the bullet hit

static meteor
neat dirge
#

then what is id of this item?

static meteor
#

Run uci tg

neat dirge
#

i dont have permission

neat dirge
#

i was giving items throght localadmin

static meteor
#

The permission is uci.toolgun

neat dirge
#

thx

#

am i stupid or smth id: 423
name: Moja Biedronka
description: "Moja Biedronka"
extended_description: ''
badge_name: ""
badge_color: "red"
weight: 1
item: KeycardCustomSite02
scale:
x: 1
y: 1
z: 1
spawn:
do_spawn: true
count: 1
spawn_settings:
- room_type: Scp914
position: {x: -0.09, y: 0.54, z: -7.15}
rotation: {x: 0, y: 90, z: 0}
chance: 100
custom_flags: None
flag_settings: {}
custom_item_type: Keycard
custom_data:
containment: 0
armory: 0
admin: 0
tint_color: '#ff0000'
permissions_color: '#ff0000'
label_color: '#ffffff'
name: '%name%'
label: 'Moja Biedronka'
serial_number: null
rank: 1
wear_detail: 0
one_time_use: false
arguments: {}

neat dirge
static meteor
#

This goes under spawn settings^

#

Your also missing - chance:

neat dirge
#

there is chance under rotation

static meteor
#

This is the default

spawn:
  do_spawn: false
  count: 1
  spawn_settings:
  - chance: 30
    coords:
      x: 0
      y: 0
      z: 0
    rotation:
      x: 0
      y: 0
      z: 0
    locker_settings:
      enable: false
      locker_type: RifleRack
      room: HczWarhead
      zone: HeavyContainment
      chamber: ''
      offset:
        x: 0
        y: 0
        z: 0
    dynamic_spawn:
    - room: Lcz914
      coords:
        x: 1
        y: 1
        z: 1
    zones:
    - HeavyContainment
    - Entrance
    replace_existing_pickup: false
    force_item: false
    replace_items_in_pedestals: false
neat dirge
#

i am too dumb for this

#

i think i made something that might work

static meteor
#

Format it like this

  spawn_settings:
  - chance: 100
     rotation:
       x: 0
       y: 0
       z: 0
     dynamic_spawn:
     - room: Lcz914
       coords:
         x: 1
         y: 1
         z: 1
neat dirge
#

uncomplicated != idiotproof

#

thx

#

figured it out

#

now i need to know how to make it rotated by 45 degress XD

covert flame
#

I just fixed something without meaning to fix it, I've been blessed

#

Also, how do I cancel death?

restive turret
#

Dying

slate flume
#

When I swapped to using the nuget it was like 2/3 versions behind

#

Or some BS like that

#

So I immediately swapped back

slate flume
#

Still don't think that was ever fixed

#

But yeah you asked and I don't think anything came of it

thin shuttle
#

Isn't it possible for you of when doing a public release to make a release on GitHub?

#

Or making early release on github with pre-build and release it when publish on GitHub

#

That would be kinda good

#

Because it's true than we could use LabAPI nuggets on exiled too

arctic summit
#

Someone knows how to fix it?

upper vapor
upper vapor
upper vapor
#

and i've been lobbying (what a word) to make labapu pre-releases when an early server build becomes available, but that decision has to be approved by management

worn tendon
#

Hm, does someone got into alpha warhead not killing some people in the facility?

slate flume
#

I don't care about whatever reason there is that causes it to be outdated, all I care about is that it's outdated

upper vapor
#

Yes it's frustrating but nowadays we push the packages relatively soon
Ideally in 0 days Kek

#

Create a tool that makes a local nuget package when you update the server toomuchtrolling

slate flume
#

shrug what I know is that I can launch my update file and get access to the latest LabAPI whenever I want rather than taking a gamble on the nuget

#

Considering expedient updates are almost required for my community I have no plans to switch anytime soon

upper vapor
#

Can't argue with that, Bon Appétit

unique crypt
#

Hello, cooked something up in a few hours (https://github.com/tyabus/FallDamageControl), can someone help me with how to suppress the falldamage sound itself? I see that the message is being called in PlayerRoles.FirstPersonControl/FpcMotor ServerProcessFall

charred cipher
#

Hello, my mic works in Windows and Discord but NOT in Steam or SCP:SL. I'm on Windows 11. I've tried changing Steam settings but no luck. Any help?"

upper vapor
upper vapor
unique crypt
unique crypt
upper vapor
#

uhhhh

thin shuttle
thin shuttle
#

you can set value FirstPersonController.FpcModule.Motor._fallDamageSettings.Enabled

#

when player is Spawned

#

@unique crypt that would be a lot better for your code ^

#

@upper vapor i have a suggestion that a up to you

#

the noise can be removed if you add an If with the DealDamage to prevent call FpcFallDamage if it's prevented

unique crypt
thin shuttle
#

in your plugin

obtuse spruce
#

cool for dev who want to make an for loop with a int.MaxValue and a waitforoneframe call but also has a cost Think

hearty shard
#

everything has a cost

#

and id assume it helps with consistency

thin shuttle
#

you position isn't always the same

#

so it's make sense they did message

obtuse spruce
thin shuttle
#

Yeah health

#

Client position is only do in a single way

#

Except when you get teleport

obtuse spruce
obtuse spruce
thin shuttle
obtuse spruce
thin shuttle
#

That not sync

obtuse spruce
thin shuttle
#

AdditionalData

obtuse spruce
#

byte of the Type and also additional

thin shuttle
#

They use UniversalDamage for it

obtuse spruce
#

my idea need to create a new FallDamageHandler so kinda cringe but i was just curious yea

thin shuttle
#

They would need a new damagehandler

obtuse spruce
#

yeah

thin shuttle
#

Yeah

#

Then yeah it's good

obtuse spruce
hearty shard
#

create a new damage handler specifically for that?

#

oh

#

you mean

#

okay

#

nvm allg

thin shuttle
#

Yeah replace message by additional data

obtuse spruce
#

useless to refactor for only a 0.01 CPU Cost

#

but that was i good idea