#plugins-dev-chat

1 messages · Page 178 of 1

hearty shard
#

@slate flume tf do i even call you 🥀

restive turret
#

thatguy

hearty shard
#

evilguy

slate flume
#

Transpilers modify code, other patches add code
Prefix prepends, postfix appends, transpilers actually change the underlying function

slate flume
hearty shard
#

ok anyway

#

how tf does source gen work

#

wtf is this

#

i made

if (arguments.Any())
            {
                if (CheckSubCommand(arguments.First(), out subCommand))
                {
                }
            }
#

but

#

but

#

theres kinda...

#

a missing type definition

restive turret
upper vapor
hearty shard
hearty shard
upper vapor
#

The syntax

#

But it's created from a string

cyan crown
#

why the fuck does GPU instancing lowered my fps by 55%

hearty shard
#
IfStatementSyntax ifSubCommandCheck = IfStatement(
            InvocationExpression(IdentifierName(CheckSubCommandMethodIdentifier))
                .WithArgumentList(ArgumentList(SeparatedList(new[]
                {
                    Argument(
                        InvocationExpression(
                            MemberAccessExpression(
                                SyntaxKind.SimpleMemberAccessExpression, 
                                IdentifierName(ArgumentsParamName),
                                IdentifierName("First")))),
                    Argument(IdentifierName(CheckSubCommandCommandParamIdentifier))
                        .WithRefOrOutKeyword(Token(SyntaxKind.OutKeyword)),
                }))),
            Block());
#

yeah

#

but

#

i need the Argument to include the type

#

and idk

#

how to make it do that one

slate flume
hearty shard
#

i see

#

okay so

#

hm

#

what the fuck

#

is this

slate flume
#

I just wanna talk about programming shit 🥀

slate flume
frail zinc
#

hi guys, anyone have ever tried to spawn a lot of doors ? Because when I try to spawn of very big amounts of doors, there is some errors in the localAdminLogs, and it's very disturbing. There's is like a doors limit ?

slate flume
restive turret
#

yes

#

254

unique crane
#

Solution: spawn less doors

upper vapor
#

yeah don't spam doors

frail zinc
#

shit

slate flume
#

Why are you spawning so many doors

upper vapor
#

did you make the backrooms just with doors or soomething?

upper vapor
frail zinc
#

are there's any method to unspawn base doors on the map ? MajorFox give me a solution, but didn't worked very well

slate flume
frail zinc
slate flume
frail zinc
#

custom map with, obviously a lot of doors x)

slate flume
#

Set ev.IsAllowed = false in the MapGenerating event

#

Boom, no more map

slate flume
#

All the doors are freed

frail zinc
#

you're fucking right. MajorFox coded a script to destroy the map instead 💀

slate flume
#

Yeah this way is much easier and prevents door/item spawning too

#

It's 2 lines of code so it's mad easy
One to not allow it, another to patch it in

hearty shard
#

i did it finally

upper vapor
#

another one to kill the game

upper vapor
hearty shard
#
Argument(
                        DeclarationExpression(
                            NullableType(
                                IdentifierName(CommandName)),
                            SingleVariableDesignation(
                                Identifier(CheckSubCommandCommandParamIdentifier))))
                        .WithRefOrOutKeyword(Token(SyntaxKind.OutKeyword))
#

holy macaroni

upper vapor
#

what do you hate more

hearty shard
#

who tf invented ts

upper vapor
#

writing source generators

#

or

#

writing documentation

hearty shard
#

myself

#

for choosing source gen

upper vapor
#

drake laptop gif\

frail zinc
#

I didn't think of that 😭, thanks you guys 🙏 I hope I have less than 254 doors in my map lol x)
But stupid question, why waypoints are on a Byte instead of an integer or whatever ? for optimization ?

slate flume
hearty shard
#
private static StatementSyntax GenerateSubCommandCheck()
    {
        const string CheckSubCommandMethodIdentifier = "CheckSubCommand";
        const string CheckSubCommandCommandParamIdentifier = "subCommand";
        const string CheckSubCommandResultIdentifier = "checkSubCommandResult";

        /*ForEachStatementSyntax forEach =
            ForEachStatement(IdentifierName(CommandName), IdentifierName(SubCommandIdentifier), IdentifierName(SubCommandGetterIdentifier), Block());*/

        // if (CheckSubCommand(arguments.First(), out CustomCommand? subCommand))
        IfStatementSyntax ifSubCommandCheck = IfStatement(
            InvocationExpression(IdentifierName(CheckSubCommandMethodIdentifier))
                .WithArgumentList(ArgumentList(SeparatedList(new[]
                {
                    Argument(
                        InvocationExpression(
                            MemberAccessExpression(
                                SyntaxKind.SimpleMemberAccessExpression, 
                                IdentifierName(ArgumentsParamName),
                                IdentifierName("First")))),
                    Argument(
                        DeclarationExpression(
                            NullableType(
                                IdentifierName(CommandName)),
                            SingleVariableDesignation(
                                Identifier(CheckSubCommandCommandParamIdentifier))))
                        .WithRefOrOutKeyword(Token(SyntaxKind.OutKeyword))
                }))),
            Block());
        
        IfStatementSyntax ifArgumentsAnyStatement = IfStatement(
            InvocationExpression(
                MemberAccessExpression(
                    SyntaxKind.SimpleMemberAccessExpression,
                    IdentifierName(ArgumentsParamName),
                    IdentifierName("Any"))),
            Block(ifSubCommandCheck));
        return ifArgumentsAnyStatement;
    }
#

holy fucking fuck

slate flume
frail zinc
frail zinc
hearty shard
#

oi tech

#

opinion on source gen up there

hearty shard
#

how we feeling on the fact im going inside out

teal junco
hearty shard
#

i should write more utils

#

but

#

idk

#

what if u did this for me

slate flume
upper vapor
#

i would've just

#

committed

#

code in other projects

teal junco
hearty shard
teal junco
#

We love to see it

upper vapor
unique crane
#

How about yoi just

#

copy the code

hearty shard
#

nuh uh

unique crane
#

crazy idea

hearty shard
#

im gonna use chatgpt

#

that sounds like the solution tbh

upper vapor
#

breathe in

#

breathe out

hearty shard
#

what if i just didnt breathe

#

that would fix the source gen probably maybe not

upper vapor
#

like

#

kiss girls

hearty shard
#

u do make a valid point

#

kissing my girlfriend would be more difficult

upper vapor
#

gayfriend

hearty shard
#

ur gay

upper vapor
#

eh, that's not entirely incorrect

hearty shard
#

exactly.

upper vapor
#

but it's also not very truthy

hearty shard
#

ok well

#

i need to

#

just make bool subCommandResult = command.Execute(arguments, sender, out response);
return subCommandResult;

#

this part

#

....

#

what the actual fuck is any of ts

#

i hate you

upper vapor
#

thanks, you too

#

at least you didn't get a kernel panic after you've written a page of docs

#

-# it's gone completely

hearty shard
#

im getting close

#

to just

#

having a basic sub command system

upper vapor
#

suscommand

hearty shard
#

ax.

#

....

upper vapor
#

yeeeees?

hearty shard
#

look

#

i

#

im so

#

COOL

#

AND AWESOME!

upper vapor
#

um

#

interesting way to do that

hearty shard
#

yes.

#

idc anymore

upper vapor
#

i assume this is not the final version of subcommand handling

hearty shard
#

um

upper vapor
hearty shard
#

it will be if i give up!

upper vapor
#

the governmeownt

hearty shard
#

....

#

meownt

#

....

#

ofc u say that

slate flume
hearty shard
#

might be the worst code ive ever written

#

but

#

it works

#

so who cares anymore

thin shuttle
slate flume
hearty shard
#

holy shit i need to actually write the code for validating command arguments

#

i hate myself already

slate flume
hearty shard
#

example but:

ValidatorSingleton<PlayerArgumentValidator>.Instance.Validate(arguments.First());
ValidatorSingleton<EnumArgumentValidator<RoleTypeId>>.Instance.Validate(arguments.First());
slate flume
#

Until it works and you get that rush of dopamine

hearty shard
#

i just have no clue

#

how tf to do it

thin shuttle
#

what version i am in?

hearty shard
#

cuz i need to figure out what all the execute methods need, then check for their specific needs

upper vapor
hearty shard
#

and then also possibly have default param allowed

upper vapor
#

dinosaur

thin shuttle
slate flume
thin shuttle
hearty shard
#

yamato

#

write it for me

#

thanks

restive turret
halcyon kite
hearty shard
#

slime boy dont you look at me like that

thin shuttle
#

okay the FastMenu scene is kinda empty now

upper vapor
hearty shard
upper vapor
#

crayz

hearty shard
#

evil

thin shuttle
teal junco
#

is that legal

slate flume
teal junco
#

my friend and i engineered a weapon called the packet which can be used to artificially tank the frames of any player connected to our server

hearty shard
#

skull

thin shuttle
teal junco
#

I imagine I would not be allowed to do that

teal junco
#

thats cool u can do that

thin shuttle
#

there nothing that said you can't

#

but i don't your player will like your server if they need to alt+F4

#

to continue playing

teal junco
#

well its like 20 fps not 2

#

but you have to tune it

thin shuttle
#

imagine doing that to any @nortwood

teal junco
frail zinc
#

I have 284 doors 💀

next jungle
#

i think you need more

hearty shard
#

mmmm

#

lovely comments

#

@upper vapor r u proud of me

#

i did comments

upper vapor
#

I like

hearty shard
#

i need to ask

#

for help

#

this is less about the command system itself but C#

#

cuz like

#

i need to insert here

#

and then have validation for Execute method

#

how would I handle each method without them interferring with each other

#

i mean theres labels i suppose?

#

@slate flume what about you, whats ur opinion on it

hearty shard
#

hm

#

so weird

frail zinc
slate flume
autumn nebula
#

Courier 6

slate flume
slate flume
hearty shard
#

it needs to choose which one to run

slate flume
hearty shard
#

so like eg

#

random ass example i spent 5s writing

autumn nebula
slate flume
slate flume
slate flume
# hearty shard yeah

This is a weird situation
So like if you have a Give command that accepts ItemType but also the names of custom items are something, you want to parse each and determine what overload to run

slate flume
# hearty shard mhm!

Hm well I could build a draft once I'm at my computer if you'd like but the initial idea I have means that when registering the command, you store all of the possible method overloads, and potential default values
Then from there it's just a matter of looping through them and attempting some tryparses using the arguments provided, and if they're all true then you go with that method

#

In that situation you'd have to make a generic TryParse method for different types
If you have the overloads you could default to the Enum.TryParse for all enums, and do manual interpretation (like RAUtils.ProcessPlayerIdOrNames) for others when needed

hearty shard
#
public sealed class EnumArgumentValidator<TEnum> : ICommandArgumentValidator<TEnum>
        where TEnum : struct, Enum
    {
        /// <inheritdoc />
        public CommandValidationResult<TEnum> Validate(string argument)
        {
            return Enum.TryParse(argument, true, out TEnum value)
                ? new CommandValidationResult<TEnum>(value)
                : new CommandValidationResult<TEnum>($"Argument provided was not a valid {typeof(TEnum).Name}");
        }
    }
#

my enum validator

slate flume
slate flume
#

Yeah that absolutely could scale up to the challenge

hearty shard
#

it just needs to determine the method

#

and ofc

#

it needs to source gen

#

🥀

#

whyd i do this to myself

slate flume
#

It's cool being like "Yeah, I did that"

unique crane
#

EVE

#

You

slate flume
#

I mean that's a rough idea but you get it I'm sure

hearty shard
slate flume
hearty shard
#

then its not

#

and then

#

secretapi isnt my problem

slate flume
#

Tuffff

hearty shard
#

id finally be saved 😭

#

literally

#

the moment the source gen for commands is done i can release 3.0

restive turret
hearty shard
#

me when

#

SLIME BOY I HATE SOURCE GEN

restive turret
#

i hate it too

cyan crown
#

anyone getting this weird bug where if you want to commit to github desktop you have to close vs studio 2022 in order to commit

slate flume
cyan crown
#

well i started using rider

#

recently and it probably caused this bug

#

and what the hell do i use even visual studio codeLifeSupport

slate flume
slate flume
upper vapor
#

yeah

cyan crown
#

holy double ping

upper vapor
#

i don't get why you'd use github desktop

slate flume
restive turret
#

or oyu can push tru VS

cyan crown
#

doesn't rider take sub fee?

upper vapor
#

it's free for non-commercial use

cyan crown
#

well i want to make a commerical project

cyan crown
restive turret
#

it just doesnt like having multiple github account and authentication

#

for example i have 3

upper vapor
# cyan crown well i want to make a commerical project

then you either don't use rider or buy a license
JB offers perpetual fallback licenses, so if you have paid for a year's worth, you get to keep the IDE indefinitely on the version you initially started the subscription year on

#

e.g. v1 comes out -> you pay for a year -> v2 comes out -> license expires
you can still use v1 forever

cyan crown
slate flume
upper vapor
#

2nd year is cheaper, so is the 3rd year and onwards

cyan crown
#

silly me i just read what error i keep getting its "Permission denied"

upper vapor
#

they will public source it

#

and seel the product

#

-# it's possible tbh

#

with a bit of businessman talk you can get customers

worn gull
#

GitHub Education?

upper vapor
#

albeit probably not many

slate flume
upper vapor
#

trueing

#

but at that point

#

you're not really commercial

slate flume
#

Yeah true

#

I just wasn't expecting a dev to come in here asking about commercial use for IDEs considering almost all of us do open-source projects

upper vapor
#

fair

thin shuttle
cyan crown
#

weird that scene is long gone since 11.0

tired charm
#

comeback

shy karma
#

guys how do I remove spread and inaccuracy lmao

restive turret
#

u cant

next jungle
next jungle
restive turret
#

ye

static meteor
# shy karma guys how do I remove spread and inaccuracy lmao

Dosent sync with the client though

    internal static class LinearADSModulePostfix
    {
        [HarmonyPatch("EffectiveHipInaccuracy", MethodType.Getter)]
        [HarmonyPostfix]
        public static void EffectiveHipInaccuracyPostfix(LinearAdsModule __instance, ref float __result)
        {
            if (Utilities.TryGetSummonedCustomItem(__instance.Firearm.ItemSerial, out var item) && item.CustomItem.CustomData is WeaponData wd)
                __result = wd.Inaccuracy;

            if (SummonedAPICustomItem.TryGet(__instance.Firearm.ItemSerial, out var api) && api.CustomItem is CustomWeapon cw)
                __result = cw.Inaccuracy;
        }

        [HarmonyPatch("EffectiveAdsInaccuracy", MethodType.Getter)]
        [HarmonyPostfix]
        public static void EffectiveAdsInaccuracyPostfix(LinearAdsModule __instance, ref float __result)
        {
            if (Utilities.TryGetSummonedCustomItem(__instance.Firearm.ItemSerial, out var item) && item.CustomItem.CustomData is WeaponData wd)
                __result = wd.AimingInaccuracy;

            if (SummonedAPICustomItem.TryGet(__instance.Firearm.ItemSerial, out var api) && api.CustomItem is CustomWeapon cw)
                __result = cw.AimingInaccuracy;
        }
    }
restive turret
#

ah didntkn ow that

static meteor
unique crane
#

ImpactEffectsModule::ServerSendTracer(RaycastHit hit, Vector3 origin, int? overrideId, TracerBase tracerPrefab)

static meteor
#

They wernt effected from the patch so idk ¯_(ツ)_/¯

tulip kiln
#

Now using 2026 and still doesn't happen

restive turret
#

I only had issue when i set my commiter user as my school git account and the desktop used slejmur

#

It always told me "yo you don't have permission try fok it"

#

So i just opened git gui and presses push to origin

shy karma
static meteor
#

ParticleDisruptor would be this

    // Neither are synced with client but still are applied.
    [HarmonyPatch(typeof(DisruptorAdsModule), nameof(DisruptorAdsModule.BaseAdsInaccuracy), MethodType.Getter)]
    public static class DisruptorAdsModuleAimingInaccuracyPatch
    {
        public static bool Prefix(DisruptorAdsModule __instance, ref float __result)
        {
            if (!Utilities.TryGetSummonedCustomItem(__instance.Firearm.ItemSerial, out var customItem))
                return true;
            if (customItem.CustomItem.CustomItemType is not CustomItemType.ParticleDisruptor)
                return true;

            IParticleDisruptorData data = customItem.CustomItem.CustomData as IParticleDisruptorData;
            __result = data.AimingInaccuracy;
            return false;
        }
    }

    [HarmonyPatch(typeof(DisruptorAdsModule), nameof(DisruptorAdsModule.BaseHipInaccuracy), MethodType.Getter)]
    public static class DisruptorAdsModuleHipInaccuracyPatch
    {
        public static bool Prefix(DisruptorAdsModule __instance, ref float __result)
        {
            if (!Utilities.TryGetSummonedCustomItem(__instance.Firearm.ItemSerial, out var customItem))
                return true;
            if (customItem.CustomItem.CustomItemType is not CustomItemType.ParticleDisruptor)
                return true;

            IParticleDisruptorData data = customItem.CustomItem.CustomData as IParticleDisruptorData;
            __result = data.Inaccuracy;
            return false;
        }
    }
restive turret
#

Well i assumed it wasnt possible because most gun changes aren't redlected to client

ancient spire
#

What LabApi.Features.Wrappers.Player property returns server role name (that writes in ra config)?

slate flume
#

Can you parent admintoys to a player's limb?

#

Importantly, does that sync?

warped prairie
#

iirc a suggestion for that was made so i dont think it exists

slate flume
#

Even if it doesn't sync, how would one go about parenting something to a player limb

halcyon folio
#

weird stuff

upper vapor
#

Te tetted e tettetett tettet, te tettetett tettek tettese

You committed this pretended act, you culprit of pretended acts

upper vapor
#

Just don't use visual fosdio

upper vapor
soft turtle
#

Where did the Attacker interface go? If it doesn't exist, why not use Player and Target instead?

Why do I need this?
So I can use a single method for multiple events.

private void HealScpOnAttck<T>(T ev) where T : IAttackerEvent
{
    if (ev.Attacker != null && Plugin.ScpHeal.TryGetValue(ev.Attacker.Role, out ushort heal))
        ev.Attacker.Heal(heal);
}
#

😡

upper vapor
#

Not sure if we ever had it, but we might implement it at some point

soft turtle
#

And add ITargetEvent

upper vapor
#

IHateLifeSometimesEvent

#

How about that

hearty shard
#

IHateSourceGen

hearty shard
#

making the person that died not be the main player in the death event is insane

soft turtle
upper vapor
#

then make money

soft turtle
#

I can`t

#

Is this normal? Shouldn't ListPool<Player>.Shared.Return(list) be at the end?

restive turret
#

Written in the thing that "it gives a POOLED list"

next jungle
restive turret
#

There is a pr and issue that make all pooled stuff non-pooled

#

Idk when will be merged but hopefully next version will have that

#

Also yes it says

/// Gets a pooled list of players who are currently spectating this player.
worn gull
#

A good ship is good if a good ship is a good ship.

unique crane
#

Thats gonna cause issue where you get pooled list

#

so nop

#

You are meant to return it yourself

#

Its not end of the world of you dont

#

we do plan on changing every List to IEnumerable eventually

#

where possible

soft turtle
restive turret
#

Most places where it returns pooled list it meant to return by devs until we change to IEnumerable

halcyon folio
hollow remnant
#

how to get UserGroup from string and get UserGroup LabApi permissions?

vast canopy
#

what Message i need to use to spawn only for 1 referencehub?

#

k im stupid

#

SpawnMessage be like

unique crane
upper vapor
unique crane
#

2013

vast canopy
#

he writing us from past

cyan crown
# tulip kiln No

my brother used his git desktop account on my pc and it fucked it up so thats probably why

vast canopy
#

he doesnt even know about scp sl

cyan crown
#

also i heard unity 6.3 is gonna upgrade to a newer .NET version

restive turret
#

No

#

6.4a or 6.5a has net8 but not actually used

#

Still in mono

cyan crown
#

😿

#

eventually they will release unity 6.7f

hearty shard
#

get out.

hearty shard
#

OUT

cyan crown
#

all these versions and they still forget about upgrading ACES

true cedar
unique crane
#

^

hearty shard
#

:c

true cedar
#

eve hate club

halcyon folio
#

I’m understanding how TcpListeners / Clients and Sockets work

vast canopy
#

i think my 939 want to fight

upper vapor
#

You could make a simple console app, too, but if you really want UI then use MAUI or Avalonia

halcyon folio
#

The project is nearly complete as it stands

#

I want to focus on other concepts that may be relevant after

upper vapor
#

Fair

halcyon folio
#

WinForms is kind of ugly haha

upper vapor
#

It's from the age of dinosaurs

halcyon folio
#

There's something special about it

restive turret
#

Ye gives an old 2010 ish vibe

halcyon folio
#

Nostalgia

upper vapor
halcyon folio
#

@upper vapor I am happy with this projects result :)

#

Aside from the UI to port later. The concept is done

next jungle
hearty shard
#

yay!

next jungle
#

cant even set velocity smh

hearty shard
#

@unique crane evil

unique crane
#

Says the eveil one

hearty shard
#

now thats just rude

loud thistle
#

Can anyone provide a complete list of public IP addresses of the central servers?

loud thistle
upper vapor
#

i think so, yeah

#

also the command is centrals list in the game console

#

iirc

upper vapor
#

almost

celest thorn
#

Im seriously confused but ig this is something to do with mirror / SL toys
⁨⁨⁨```C#
private const float UpdateInterval = 0.1f;
private float _timer;

    public void Update() 
    {
        _timer += Time.deltaTime;
        if (_timer >= UpdateInterval)
        {
            transform.Rotate(spinningVector * UpdateInterval);
            _timer -= UpdateInterval;
        }
    }

Im using meow back again and doing some project and a spinner but the more i lag the more the spinner desync in a crazy way, why is that even possible?
upper vapor
#

because

#

smoothing

hearty shard
#

whats smooth

celest thorn
#

hmmm and how i could combat that?

hearty shard
#

why do you smooth it

upper vapor
#

um

hearty shard
#

good point

celest thorn
#

because ngl sometimes its so crazy bad

upper vapor
hearty shard
#

ax r u a winner

upper vapor
#

and call UpdatePositionClient per frame

#

(on the server, yes)

celest thorn
#

with alot of objects

upper vapor
#

the toy would do that anyway

#

so

#

either you disable smoothing or make the server also do smoothing

celest thorn
#

I force coded the smoothing to "30"

upper vapor
#

you can just copy the code

celest thorn
#

im gonna for now just copy it on the Spinner

#

and then think on how to implement it on meow

#

lol

upper vapor
celest thorn
#

i think no

#

⁨```c#
protected virtual void UpdatePositionClient(bool teleport = false)
{
Transform cachedTransform = CachedTransform;
Vector3 localPosition;
Quaternion localRotation;
Vector3 localScale;
if (teleport || MovementSmoothing == 0)
{
localPosition = Position;
localRotation = Rotation;
localScale = Scale;
}
else
{
float t = Time.deltaTime * (float)(int)MovementSmoothing * 0.3f;
cachedTransform.GetLocalPositionAndRotation(out var localPosition2, out var localRotation2);
localPosition = Vector3.Lerp(localPosition2, Position, t);
localRotation = Quaternion.Lerp(localRotation2, Rotation, t);
localScale = Vector3.Lerp(cachedTransform.localScale, Scale, t);
}
cachedTransform.SetLocalPositionAndRotation(localPosition, localRotation);
cachedTransform.localScale = localScale;
}

upper vapor
#

oh

#

didn't know that existed lol

celest thorn
#

lol

#

now you know

#

btw its not that

restive turret
#

Guys in the event is a day away

celest thorn
#

⁨```c#
private const float UpdateInterval = 0.1f;
private float _timer;

    private const int MovementSmoothing = 30;
    private Quaternion _targetRotation;
    
    private void Start()
    {
        _targetRotation = transform.rotation;
    }
    
    public void Update() 
    {
        _timer += Time.deltaTime;
        if (_timer >= UpdateInterval)
        {
            _targetRotation *= Quaternion.Euler(spinningVector * _timer);
            _timer = 0f;
        }
        
        UpdateRotationSmooth();
    }
    
    private void UpdateRotationSmooth()
    {
        float t = Time.deltaTime * MovementSmoothing * 0.3f;
        
        Quaternion currentRotation = transform.rotation;
        Quaternion smoothedRotation = Quaternion.Lerp(currentRotation, _targetRotation, t);
        
        transform.rotation = smoothedRotation;
    }

I did this but when i lag, it still desync alot
hearty shard
#

slime boy

#

can u spin

restive turret
#

No cus i would get sick

hearty shard
#

you could do ballerina

restive turret
#

Says who

hearty shard
#

me!

harsh thorn
#

the central servers are behind cloudflare and only accessible via cloudflare

loud thistle
harsh thorn
#

well youll need to lookup cloudflares endpoint list if you'd want them

#

the ip on the dns record can change depending on what CF does

hearty shard
#

@loud thistle

loud thistle
#

Yes. These are 2 IPv4 addresses and 2 IPv6 addresses.

hearty shard
#

theres quite a few more than 2

#

15 & 7

loud thistle
#

However, this was enough for my purpose. But if you could tell me how to get them, I would be grateful.

hearty shard
#

which is the API for getting the IPs

loud thistle
hearty shard
#

they can change between any of those

#

it is entirely up to CF to decide

loud thistle
#

I understand that too. But it looks like I'll have to check it manually periodically.

hearty shard
#

otherwise theres the dns

#

but uh

#

idk the dns records for centrals

#

oh lmao basegame shows it

#

i see

sweet flax
#

The property 'InventorySystem.Items.Keycards.Snake.SnakeEngine.Score' cannot be used in this context because the 'set' accessor is inaccessible
is there a way to fix it because publicizer does not seem to work

#
<Reference Include="Snake" Publicize="true">
  <HintPath>$(SL_REFERENCES)/Snake.dll</HintPath>
</Reference>
#
<PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.2">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; buildtransitive</IncludeAssets>
</PackageReference>
restive turret
#

more code?

sweet flax
#

wdym?

restive turret
#

what and how do you do it

sweet flax
#

SnakeEngine.Score = 3;

restive turret
#

bruh

sweet flax
#

i dont think it syncs but still

sweet flax
restive turret
#

idk should work

harsh thorn
#

as they return the closest server

sweet flax
slate flume
#
<PropertyGroup>
  <TargetFramework>net4.8</TargetFramework>
  <ImplicitUsings>enable</ImplicitUsings>
  <Nullable>enable</Nullable>
  <LangVersion>preview</LangVersion>
  <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
sweet flax
#

idk why but it worked

slate flume
#

So you still should do that

tribal dagger
#

Does anyone know how why wouldnt the labapi plugin list pick up plugins of a github organization im an owner of? i logged in normally, added the github integration and these are just not there

#

trying to add a plugin only resolves ones which im an owner of, not the ones from the organization

slate flume
#

I thought you asked this earlier this month

hearty shard
#

hi tech

restive turret
#

Hi eve

hearty shard
#

hi slime boy

restive turret
#

Are yall excited for tmr

hearty shard
#

whats tmrw

#

the stage thing?

restive turret
#

Yes

hearty shard
#

damn thats tmrw?

restive turret
#

Ye

hearty shard
#

yeah i lowk dont rly care for it lmao

static meteor
restive turret
#

Me looking angry at you yes

hearty shard
#

holy shit i need to stream again

restive turret
hearty shard
#

but i cbaaa

hearty shard
tulip kiln
# restive turret

Next LabAPI update swaps ⁨Player.ReadyList⁩ with ⁨Player.List

restive turret
#

Next labapi update i will personally read out a 8 paragraph text that why is List exist and why they should either use readylist or getall

hearty shard
#

can we sentence slime to 15 years in the basement

unique crane
#

He is here with us in the NW basement :3

sweet flax
halcyon folio
upper pike
#

No one escapes the basement

#

You never leave

slate flume
#

I made food

#

I feel like a fat pig 😋

#

I was out ice fishing and didn't have access to hot water
Now that I'm back I have ended up going through all the hot water tonight lmao

#

No regrets

slate flume
#

That's pretty convenient

#

I wonder how many devs at the stage are in the EU and are doing this like an hour or two before sleeping

#

I'm coming down with the plague so I'll see whether or not I'll be lucid at the time

slate flume
celest thorn
#

(I hate this dialogue lol every 0.5s)
(And you escape so the basement will open)

restive turret
slate flume
#

A lot of maintainers live around the Germany -kinda area which is 8pm

restive turret
#

1pm is usually when I would wake up when I dont have to do anything

upper vapor
celest thorn
#

https://i.e-z.host/🐀/fhwvc3p8.png

I just do geniunly wonder wtf is going on here, but like why is this tied with the ping so much and only this one but at the same time its not smoothing and its not anything im seriously confused

🐀🐀🐀🐀🐀🐀🐀🐀

Check out this new 🐀

#

They are fine when they spawn but as soon as i enter their update zone one of them just decides to not be a + but a X (and only on this map happens and ONLY on this spinners)

upper vapor
#

wha

celest thorn
# upper vapor wha

idk either i tried debugging and everything but idk a spinner sometimes decide to become from a + to an X shape

#

and its some how connected to lag

upper vapor
#

soo you have movementsmoothing as 0, right?

#

(base-game value, not labapu)

celest thorn
#

and it still happend

#

so ig that wasn't the issue

upper vapor
#

do you use culling parents?

celest thorn
#

no

celest thorn
#

i found out that is pratically dependent on when you load them? so idk how tf is that even possible, the slower you are the faster they merge

unique crane
#

What

#

Is that X meant to be rotating as a whole?

#

Parent those 2 lines onto a empty gameobject

#

And rotate that

upper vapor
#

yeah it's supposed to be a perfect + and not this

#

solution

#

rotate the parent, not the children

celest thorn
#

idk why maro made it like that at the time lol

#

they are unseparated

upper vapor
#

then unseparate them

celest thorn
upper vapor
#

but then clearly you aren't rotating the parent

celest thorn
#

so i should make them inside a gameobject

upper vapor
#

ye

celest thorn
#

but the toy is sent correct

#

😢

upper vapor
#

so where tf do the 6 extra bytes come from

restive turret
#

Last write?

unique crane
#

Int is 4 bytes

#

Maybe the writer.Write for the enums is doing some fuckery

icy knoll
#

how about guys

#

we just stop touching mirror

#

great idea i know

restive turret
#

no

icy knoll
#

@upper vapor would agree

next jungle
#

i think mirror needs a sequel

balmy bay
#

@onyx solstice
Please
Make me plugins

celest thorn
icy knoll
#

maro is back doing SL stuff? that didn't take long at all huh

celest thorn
restive turret
#

make a game then

celest thorn
#

too much efforts

upper vapor
celest thorn
#

true

#

but too easy

#

and idk idc where its been done

upper vapor
#

"too much effort" but "too easy"

celest thorn
#

it was a cool concept

upper vapor
#

there might be a contradiction there

celest thorn
#

it would be more amazing to do something on a game like sl

#

rather than a standalone

ashen hound
#

until when discord added ? @time

celest thorn
#

like a week ago

soft turtle
#

Why does the grenade disappear after Destroy, but still explode after a while?

restive turret
#

What

upper vapor
#

throwing

#

that happens before it's thrown, so it might have the wrong reference

restive turret
#

Idk.
Try cancel it and wait 1 frame before destroying

topaz yacht
#

What do you guys think will be announced today?

unique crane
#

Idk

upper vapor
soft turtle
upper vapor
#

player.RemoveItem?

#

or item.Remove

celest thorn
#

after you drop it

soft turtle
celest thorn
#

is it even possible to reload configs / specific config?

restive turret
#

p reload c

#

idk if specific is works

celest thorn
celest thorn
#

Thats cool i didn't know it was a thing

upper pike
#

Only server configs

hearty shard
#

its purely for plugin configs

celest thorn
#

no plugin configs

hearty shard
#

which tbf

#

its literally

#

labapi reload configs

#

id expect that to reload plugins

real spade
hearty shard
#

IConfig doesnt exist

#

afaik

#

not within LabAPI, it does in EXILED or System
but regardless its not rly used in labapi

upper pike
slender depot
#

Where's the code that makes the grenade do a sound when it collides with an object?

restive turret
#

1 hour reminder for the stage

slate flume
upper vapor
unique crypt
#

How I can get closest spawn wave

restive turret
#

Sorry was going to eat

slate flume
slender depot
restive turret
#

Make sure to null check

spring swan
#

We need a wave for pyramid primitives in the stage..

ashen hound
#

peak proxy trolling

#

replaced seed which server send to client

restive turret
#

That can cause problems

ashen hound
#

of course lol

#

mapgen mismatch

warped prairie
#

goog

slate flume
slender lynx
#

@upper vapor u stink bro

#

triangles win

upper vapor
#

(you won't)

slender lynx
#

yru such a hater

celest thorn
slender lynx
#

cuz i need them

celest thorn
#

Ahahahhahah

slender lynx
#

u can keep hating bro but we r right

#

first good update since mp2

#

@spring swan

spring swan
celest thorn
#

one day a triangle

slender lynx
#

calm down

warped prairie
#

the guy

restive turret
#

Or day one?

celest thorn
restive turret
#

Who

celest thorn
slate flume
#

So I was never able to get this clarification but with DisplayKit, will it be made possible to check a player's resolution and scale hints accordingly?
It was mentioned that it'd be possible to work with it like Unity does (relative positioning -type of stuff) but if I have two hints on each side of the screen in 16:9, in a 1:1 resolution I might want them to be smaller relatively so the player has better vision

slender lynx
#

this game is so saved

slate flume
upper vapor
celest thorn
ashen hound
#

DisplayKit is based on UI Toolkit soo you can anchor stuff, have stuff relative/absolute

slate flume
celest thorn
#

and ngl the stuff from DisplayKit i kinda did them with hints

slate flume
celest thorn
#

its a long math formula but you can

upper vapor
#

how do you calculate the amount of pixels based on a single number

slate flume
celest thorn
#

look for example ruei

celest thorn
#

it works fine that too

#

oh wait

#

the resolution no

celest thorn
#

i thought you meant aspect ratio

upper vapor
celest thorn
#

my bad

#

lol

restive turret
#

I love when images doesnt load

slate flume
upper vapor
slender lynx
#

@celest thorn no more speaking with the general public for today

#

trust

celest thorn
#

wtf are you on lol?

slender lynx
#

trust

celest thorn
#

maro go work lol

ashen hound
#

video of displaykit showcase its mostly what you would expect on x resolution

slate flume
harsh thorn
#

you wont get the players resolution synced

slate flume
#

Tough

upper vapor
#

maybe we shoujld add a client-side zoom

harsh thorn
#

you can set a UI element to anchor to a specific point (eg left center)

upper vapor
#

or something

ashen hound
slate flume
#

The functionality for manually adjusting hints in such a way would be wonderful

harsh thorn
topaz yacht
#

I wonder if someone will make a s-nav from containment breach with the new stuff

jaunty trail
#

@harsh thorn How much of the internal workings of displaykit are going to be exposed?
From what I found after quick browsing on Unity UI Toolkit: There is UXML and a CSS style thing.
Will we be able to send over raw data for those?

slate flume
topaz yacht
upper vapor
slate flume
#

Another problem I've experienced with hints

jaunty trail
burnt hearth
#

W stage

halcyon kite
#

Yay custom ui before GTA VI

slate flume
#

Manual absolute positioning would just be wonderful and I wish to see it at some point in the future

harsh thorn
restive turret
upper vapor
#

viewport height

harsh thorn
restive turret
south nimbus
#

Can we get hex codes to put in RA to get colors that we like. I need pink RA

slate flume
obtuse glade
#

really great what yall are doing

#

thank you nw team 🙏

upper vapor
jaunty trail
#

However that could get problematic w packet length unless it gets split

slate flume
harsh thorn
#

i dont want player resolutions to be synced

slate flume
#

Why?

south nimbus
harsh thorn
#

it starts going more towards the server collecting info about players that they dont nessecarily need

south nimbus
#

Is ugly

upper vapor
#

that sucks

#

you couldn't see the text if it was too bright

south nimbus
#

Skill issue if you cant see it

slate flume
upper vapor
harsh thorn
#

you are comparing 2 entirely different things

slate flume
#

Like yeah, it's not necessary, but it improves the user experience for players on my server

slate flume
south nimbus
#

This in my RA would be peak

harsh thorn
#

you will not get player resolution, that is simply not happening

#

sorry

south nimbus
harsh thorn
#

with displaykit you can set thing like anchorpoints
it will work the exact same as UI for unity games

so dealing with scaling and whatnot is possible regardless as any games UI does the same with that, sl doesnt do any special "adapt ui to resolution" either

upper vapor
#

again, being able to use viewport units will solve your issue
which is basically a % of the height, so putting stuff above the health bar should be pretty easy

#

as you could see from the demo, the canvas is stretched all the way, it's not shrunk to keep its aspect ratio

obtuse glade
#

the UI will have to be created using a text editor? There won't be a visual editor for it right?

harsh thorn
#

mutes for speakertoys are a lot different from just sending the resolution of every player

#

so you cannot really compare it.

slate flume
upper vapor
jaunty trail
slate flume
harsh thorn
#

again, you will not get player resolution

slate flume
harsh thorn
#

neither localmutes

but a mute system for speakertoys could ofcourse be considered

slate flume
harsh thorn
#

being able to access a persons localmutes is not the same as mutes for a speakertoy

slate flume
#

^

#

This is an imported suggestion in your internal tracker that I was told was the idea to be implemented to allow speakertoys to obey by client mutes

harsh thorn
#

it being on the issue tracker does not mean it will actually happen

#

being able to access local mutes is not something i want to be added to the game for security reasons

#

i dont mind some kind of tooling for muting speakertoys

#

but "check if player has me muted" is not something i want added to the game

slate flume
harsh thorn
#

but i will not allow the server just having the list of players another player has muted

slate flume
slate flume
#

You were there for that conversation my man

jaunty trail
slate flume
harsh thorn
#

i will have it changed then

harsh thorn
jaunty trail
#

hm ok

upper vapor
harsh thorn
#

you are free to have that opinion

jaunty trail
slate flume
#

I'm expressing my opinion on the matter because it directly involves what I can do with my server

#

If they're making changes (or not making changes) that affect me, I have a right to express my discontent with it

jaunty trail
#

I matters because it makes your opinion matter relatively little compared to the veto of ced

slate flume
#

And is now veto-ing it because of his personal objection instead of after a discussion with the team as a whole

jaunty trail
#

They'll sort it out internally

harsh thorn
#

again, like i said i dont mind adding some way so you can mute speakertoys, thats perfectly valid

#

but accessing client mutes will not be how its going to be added

slate flume
upper vapor
#

SpeakerToy::AsPlayerVoice(proxyPlayer)

#

something like this was also an idea

harsh thorn
#

^

slate flume
harsh thorn
#

me rejecting an idea does not mean it wont be compromised internally

upper vapor
#

yeah i uh

#

yea

slate flume
jaunty trail
#

and then playerless go over server.host

harsh thorn
# slate flume ^

please do not take the private issue tracker that can change at any moment as gospel

upper vapor
harsh thorn
#

updates can happen and you wont see them unless we show them to you

hearty shard
harsh thorn
jaunty trail
harsh thorn
#

after thinking about it i do not want the serer having access to a clients mutes

true arch
#

i have a suggestion, delete readylist

slate flume
restive turret
true arch
#

its a great suggestion

restive turret
#

dnied

true arch
#

weird way to spell accepted

upper vapor
harsh thorn
#

i have said few times already now, we can explore alternative methods to achieve what you want

jaunty trail
harsh thorn
#

but what is listed on that issue is not how it will be added

slate flume
#

Setting back progress on it by further months

#

I want to see something done not this constant back-and-forth and personal vetos interrupting any kind of movement on issues

#

I'm sure you can appreciate that viewpoint

harsh thorn
#

i can, but that does not change the fact that i will not allow the server to access client mutes

#

i have told you already i dont mind alternatives
that there is no issue right now (that you know of) does not mean that that wont happen, you are assuming it wont happen

hearty shard
harsh thorn
#

when i tell someone X idea is a nogo
they will go ahead and evaluate the concerns that lead to the feature being concepted

#

and come up with an alternative that we are all happy with

#

but as the issue tracker is private, you will not see that until the feature is released

slate flume
#

Just get something done man

harsh thorn
#

when it happens is up to the api team, not me

#

i am simply rejecting the current concept

#

which, is still a concept and was not assigned to anyone

#

so no "progress" was lost

slate flume
#

These are two contradictory statements

#

"It's not up to me"
"It's not happening."

harsh thorn
#

you are misunderstanding my statement

hearty shard
harsh thorn
#

if nessecary i can veto game implementations

#

when something is implemented, is up to the team its for

slate flume
#

I don't mean to be an ass here I just find this whole situation really fucking stupid

icy knoll
#

ced i think ur digging urself a hole big man

jaunty trail
icy knoll
#

😭

jaunty trail
#

embed fail ❗

slate flume
#

This is probably part of why shit takes so long to get done this is ridiculous

harsh thorn
#

i litterally told david what alternatives he could aproach when i told him the idea isnt happening

slate flume
jaunty trail
restive turret
upper vapor
restive turret
#

elemao

slate flume
upper vapor
warped prairie
slate flume
#

It's personal

upper vapor
true arch
#

i have another suggestion

#

add captchas to scp sl

upper vapor
unique crane
true arch
#

every server you try and join, captcha

jaunty trail
unique crane
#

The alternative ced send me they are ok with and is something that will solve your issue aswell

true arch
#

make opening doors have captchas too btw

slate flume
#

Lol

soft turtle
#

How to differentiate between damage from Tesla and falls from height if they are both UniversalDamageHendler?

unique crane
#

Idk I havent read the chat here

harsh thorn
restive turret
#

they have different id

unique crane
#

Just joining in

upper vapor
#

is it undisclosed or are we allowed to know

slate flume
true arch
jaunty trail
harsh thorn
slate flume
#

Just entertain me on the idea

harsh thorn
#

harassing a player based on who they muted