#plugins-dev-chat

1 messages · Page 6 of 1

worthy rune
#

the version added was slightly faster than the base game, we know about the sl one in your pr

faint sparrow
hearty shard
#

@faint sparrow

#

meant to reply to you

#

but

faint sparrow
stuck peak
#

what?

#

that's not from my internal PR

#

that's from existing and being used base-game

hearty shard
#

yea

#

its legit a basegame feature 😭

stuck peak
#

yes so idk why I got pinged scrajj

hearty shard
#

hi xert

stuck peak
#

it's almost like this isn't the full release

#

almost like RoleTypeId is an enum

restive turret
#

Me when a roletype is not a type

hearty shard
#

me when its an id for role types

#

shocking

icy knoll
stuck peak
#

no one does a cast

hearty shard
#

oh

#

public static Team GetTeam(this RoleTypeId role)
{
PlayerRoleBase result;
return !PlayerRoleLoader.TryGetRoleTemplate<PlayerRoleBase>(role, out result) ? Team.OtherAlive : result.Team;
}

#

oh yea

#

just make basegame one not do that

stuck peak
#

wait scrajj

#

did the source change

#

base game one no longer does a cast (idk where I saw the cast am I going crazy?)

#

@icy knoll also IsSCP and IsAlive also both exist base game

#

I swear there was a GetTeam extension that casted to a generic

#

and that's the one I was looking at yesterday

stuck peak
#

oh yeah

#

wait what I'm blind jesus

hearty shard
#

yes

#

u r

#

😭

stuck peak
#

I am tired

#

it was freezing outside

#

-20c

hearty shard
#

just get gud

stuck peak
#

had to go pick up an air fryer

hearty shard
#

become the air fryer

unique crane
#

oh god I love doing the respawn wrapper

#

I actually changed some fields to be changable

#

You can adjust amount of sergeants and such

#

yey

hearty shard
#

wooo

#

did u finish the cheese

unique crane
#

Yeah

hearty shard
#

did you enjoy

unique crane
#

I like 2065th one

icy knoll
#

some of the methods made no sense tho lol

unique crane
#

Yeah you sent me link

hearty shard
#

bonk

icy knoll
hearty shard
icy knoll
#

ur scaring away the code newbs

hearty shard
icy knoll
#

what did i do to you!!

hearty shard
#

breathed too much

icy knoll
#

wowwwwww

#

ok buddy

unique crane
hearty shard
#

didnt rework 330 yet

unique crane
#

sowwy

#

Maybe this weekend

hearty shard
#

YIPPIE

#

ur partially forgiven

unique crane
#

partial class

hearty shard
#

yes sir

unique crane
#

Yea uh

hearty shard
#

😭

unique crane
#

what the fuck do I put into mini wave classes

hearty shard
#

erm

#

idk

#

2+2

#

= fish

icy knoll
hearty shard
#

spaghetti

icy knoll
#

IMiniWave

unique crane
#

Yeah I mean I kinda have everything in the MiniRespawnWave

#

Base game classes have just overriden values which I can simply get from the instance

icy knoll
#

then Team = Team.FoundationForces smh

#

and faction too

restive turret
#

Team.DeadOrAlive

restive turret
icy knoll
restive turret
#

Yeah,
Can we have Team.Dead

#

Team.Red and Team.Blu

icy knoll
languid temple
restive turret
#

Team.Spectator

languid temple
#

I meant from tf2 clAhriSad

restive turret
#

Well gray is spectator

sick flume
#

Is it ok to tanscribe player's conversation into text, check if there's any violation to the rule in conversation, and dispose immediately after checking?

#

Does that violate vsr or the law?

rugged laurel
sick flume
#

I see.

upper vapor
#

e.g. 939 mimicry relies on a separate setting

sick flume
#

We are lack of mod currently and I was thinking about some auto-mod stuff.

#

I see

worthy rune
#

you can sit in overwatch and record everyone's voices, just dont have a plugin do it

upper vapor
#

i think an automated system would produce many, many false-positives

#

context is pretty important in SL

unique crane
#

Anyone would like anything particular to be changable/adjustable in the respawn waves system?

carmine prawn
#

for example?

restive turret
unique crane
#

I mean you can change player's roles within the wave spawning event

#

Ill add so you can change the default

carmine prawn
#

why not?

#

add it

#

can't wait to see all of them captain

restive turret
#

Wait if I want all d-boi spawn wave

unique crane
#

Yea you can do that

stuck peak
stuck peak
#

oh

restive turret
stuck peak
#

collectionmodified?

unique crane
#

No thats not the issue

stuck peak
unique crane
#

oh wait

#

my bad

stuck peak
#

then what's the issue lol

unique crane
#

I though you are changing the role directly on the player

#

nvm

#

its good

stuck peak
unique crane
#

it will work

#

sorry

stuck peak
#

thought so

restive turret
#

WaveManager.OnWaveSpawned += TheHandler.RespawnManager_ServerOnRespawned;

I use that

stuck peak
unique crane
#

^

restive turret
#

Well I only change specific roles of people

restive turret
#

Like I want know what role the player have before changing

unique crane
#

Yeah that is present

#

You can get/set the role that the player will spawn with

#

and its filled with spawn roles already

stuck peak
restive turret
#

I didn't not know that, will check that

stuck peak
#

oh actually the event doesn't let you check what roles are spawning

restive turret
#

Guh

stuck peak
#

@unique crane since you are already modifying it, you should add it

unique crane
#

Oh uh

main zenith
#

are there away to make player unable to pick up some items for example Scp1344? like idk "Picking up handler" or something like this?

unique crane
#

One sec

stuck peak
#

possible make IsSpawning have an out parameter

restive turret
#

A Dict<Player, RoleId> would be good

stuck peak
#

@unique crane make it public with a private setter

#

so the ref is the same

unique crane
#

Yeah Ill change it to that dictionary

stuck peak
#

alright that works

#

ty

restive turret
#

Ty

worthy rune
stuck peak
#

it should

worthy rune
#

and that too

unique crane
#

Oh wait specific player

main zenith
stuck peak
unique crane
#

If specific player then the searching pickup should work

worthy rune
#

locking works client side which is nice

main zenith
stuck peak
#

that's why I liked my IEventSubscriber's

#

and why I like CustomEventHandlers which are in LabAPI

carmine prawn
lethal cradle
carmine prawn
#

where is Scp106TeleportPlayerEvent?

#

I only found OnPlayerEnteringPocketDimension and only has target human player

stuck peak
#

because Killers made the event weird

#

I will add it to my other PR

#

ty for bringing it up

wild basin
#

i am the spy

stuck peak
carmine prawn
icy knoll
stuck peak
#

I'll add a 106 teleportingplayer event

stuck peak
icy knoll
#

ok buddy

stuck peak
#

I am not your buddy

#

no-ones buddy

carmine prawn
#

or maybe you can be a body

stuck peak
#

if my unity crashes I will blame you @icy knoll

#

Susge steam recording my unity?

unique crane
#

Yeah it does that

restive turret
#

well if you didnt disable it

unique crane
#

Random window

stuck peak
#

doesn't let me enable it for only 1 game so this is what I did

restive turret
#

180m what

stuck peak
#

yeah

restive turret
#

3 hour

stuck peak
#

yes I know what 180/60 is

restive turret
#

why you want to record 3 hours

stuck peak
#

do you know how steams recording thing works?

restive turret
#

no

#

i use Nvidia shadowplay and i clip 2 mins usually

stuck peak
#

it keeps the last 3 hours at all times, and overrides anything over it

i.e I play for 180 minutes, then I play 1 more minute, and it discard the beginning 1 minute

then later I can go and clip anything out of those 3 hours

#

I use OBS Replay Buffer and clip 90 seconds usually

#

which is what I use for everything

#

but cs I might forget to clip so I just have that as a backup

#

it doesn't save 3 hours every time I clip

stuck peak
restive turret
#

when we will get that update SteamSunny

carmine prawn
#

yippee

main zenith
#

how to add my own server-specific option like i made

`using UserSettings.ServerSpecific;

namespace SCP372LabApi
{
public abstract class AbilitysLoader
{
private static AbilitysLoader _activeExample;

    public static AbilitysLoader[] AllAbilitys =
    {
        new Ability()

    };

public abstract string Name { get; }
public abstract void Activate();
public abstract void Deactivate();

    public  bool TryActivateAbilitys(int index, out string message)
    {
        if(!AllAbilitys.TryGet(index,out AbilitysLoader loader))
        {
            message = $"Index {index} out of range.";
            return false;
        }
        if (_activeExample == loader)
        {
            message = $"Ability is already active";
            return false;
        }
        TryDeactivateAbility(out _);
        _activeExample = loader;
        _activeExample.Activate();
        message = loader.Name + " Activated.";
        return true;
    }
    public static bool TryDeactivateAbility(out string disabledName)
    {
        if (_activeExample == null)
        {
            disabledName = null;
            return false;
        }
        disabledName = _activeExample.Name;
        _activeExample.Deactivate();
        _activeExample = null;
        ServerSpecificSettingsSync.DefinedSettings = null;
        ServerSpecificSettingsSync.SendToAll();
        return true;
    }
}

}`
(Its based on Hubert Moszka "Server-Specific-Settings-System")

but i don't have any idea how to activate them?

hearty shard
#

@harsh thorn heyyy
just letting yk if using RoleExtensions + having PlayerRoles using then this will conflict with basegame

harsh thorn
hearty shard
#

it already exists

harsh thorn
#

i can just make it reference the game method

hearty shard
#

fair enough ig

harsh thorn
#

i know its a double method. but having 1 half be in labapi and the other half in basegame is annoying

hearty shard
harsh thorn
#

(tbf a number of other api methods ONLY just call a basegame method so

harsh thorn
#

the game calls it PlayerRoleUtils

#

🤨

hearty shard
#

yeah but using PlayerRoles; gives you that reference

#

the conflict is if you do RoleTypeId.Scp173.GetTeam()

harsh thorn
#

oh in that way

#

right yeah cuz thats an extention too

hearty shard
#

yea

#

the only difference between the methods is basegame calls TryGetRoleTemplate<PlayerRoleBase> instead of AllRoles.TryGetValue
adds a cast to the mix, but if you dont like that cast then removing from basegame is better option

#

imo at least

upper vapor
true cedar
#

the ss setting system is so weird i don't understand why the same class is used for sending and receiving data to and from the client

upper vapor
true cedar
#

yea but it like

#

creates new instances of the class

upper vapor
#

well yeah, maybe it would have been more optimal to have a template and track configured instances

true cedar
#

i might just replace how it handles received settings with my own system or smth

marble rock
#

@main zenith automod should no longer block the message

main zenith
# upper vapor you can use \`\`\` to create a code block, e.g. \`\`\`cs // code here \`\˙\˙ bt...

wdym by subscribe and i can be wrong but i created array of settings in other file

internal class Ability : AbilitysLoader
{
    public override string Name => "SCP-372 Abilitys";

    public override void Activate()
    {
        ServerSpecificSettingsSync.DefinedSettings = new ServerSpecificSettingBase[]
            {
            new SSGroupHeader("Abilities"),
            new SSKeybindSetting((int)AbilitysId.Stalk, "Stalk Ability", KeyCode.H, hint: $"See where are others players"),
            new SSKeybindSetting((int)AbilitysId.LightOut, "Light out Ability", KeyCode.Y, hint: "Turn off light in room that u are")

            };
        ServerSpecificSettingsSync.SendToAll();

    }

    public override void Deactivate()
    {
        throw new NotImplementedException();
    }
    private enum AbilitysId
    {
        Stalk,
        LightOut
    }
    private void ProccesssUserInput(ReferenceHub sender, ServerSpecificSettingBase setting)
    {
        switch ((AbilitysId)setting.SettingId)
        {
            case AbilitysId.Stalk
        when setting is SSKeybindSetting keybind:
                {
                    if (keybind.SyncIsPressed)
                    {
                        StalkUse(sender);
                    }
                }
                break;
                case AbilitysId.LightOut
                when setting is SSKeybindSetting keybind:
                {
                    LightOutUse(sender);
                }
                break;


        }
    }
    private void StalkUse(ReferenceHub sender)
    {
        Player player = Player.Get(sender);
        if (SCP372LabApi.Instance.EventsHandler.TryGetValue(player.UserId, out EventsHandler entry))
        {
            entry.Test1();
        }



    }
    private void LightOutUse(ReferenceHub sender)
    {
        Player player = Player.Get(sender);
        if (SCP372LabApi.Instance.EventsHandler.TryGetValue(player.UserId, out EventsHandler entry))
        {
            entry.Test2();
        }



    }

}

and AbilitysLoader has array with this

hearty shard
marble rock
#

no

hearty shard
#

:(

main zenith
marble rock
#

just removed .li from automod

hearty shard
#

why was that in automod

hearty shard
#

hey

marble rock
#

scam bots

hearty shard
#

ur a scam

upper vapor
#

also be sure to unsubscribe from the event when deactivating

#

another approach is to have a global value receive handler, create an abstract method in your ability base class and call that

true cedar
#

oh does anyone know if ss dropdown settings let u do rich text

#

it would be super useful for me

main zenith
upper vapor
#

set DefinedSettings and call SendToAll()

#

the server should send settings to the player automatically if they join after the call to SendToAll

#

if you don't have the settings specified, then it won't send anything (i spent hours debugging this 😭)

main zenith
upper vapor
#

you already have the correct behavior in Ability::Activate

upper vapor
main zenith
# upper vapor not sure how you activate abilities from outside if TryActivateAbilities is not ...

well i changed that moment ago to static Like first my file is


using UserSettings.ServerSpecific;

namespace SCP372LabApi
{
    public abstract class AbilitysLoader
    {
        private static AbilitysLoader _activeExample;

        public static AbilitysLoader[] AllAbilitys =
        {
            new Ability()

        };
 public abstract string Name { get; }
        public abstract void Activate();
        public abstract void Deactivate();

        public  bool TryActivateAbilitys(int index, out string message)
        {
            if(!AllAbilitys.TryGet(index,out AbilitysLoader loader))
            {
                message = $"Index {index} out of range.";
                return false;
            }
            if (_activeExample == loader)
            {
                message = $"Ability is already active";
                return false;
            }
            TryDeactivateAbility(out _);
            _activeExample = loader;
            _activeExample.Activate();
            ServerSpecificSettingsSync.SendToAll();
            message = loader.Name + " Activated.";
            return true;
        }
        public static bool TryDeactivateAbility(out string disabledName)
        {
            if (_activeExample == null)
            {
                disabledName = null;
                return false;
            }
            disabledName = _activeExample.Name;
            _activeExample.Deactivate();
            _activeExample = null;
            ServerSpecificSettingsSync.DefinedSettings = null;
            ServerSpecificSettingsSync.SendToAll();
            return true;
        }
    }
   

}
#

and other

using System;
using UnityEngine;
using UserSettings.ServerSpecific;
using LabApi.Features.Wrappers;


namespace SCP372LabApi
{
    internal class Ability : AbilitysLoader
    {
        public override string Name => "SCP-372 Abilitys";

        public override void Activate()
        {
            ServerSpecificSettingsSync.DefinedSettings = new ServerSpecificSettingBase[]
                {
                new SSGroupHeader("Abilities"),
                new SSKeybindSetting((int)AbilitysId.Stalk, "Stalk Ability", KeyCode.H, hint: $"See where are others players"),
                new SSKeybindSetting((int)AbilitysId.LightOut, "Light out Ability", KeyCode.Y, hint: "Turn off light in room that u are")

                };
            ServerSpecificSettingsSync.SendToAll();

        }

        public override void Deactivate()
        {
            throw new NotImplementedException();
        }
        private enum AbilitysId
        {
            Stalk,
            LightOut
        }
        private void ProccesssUserInput(ReferenceHub sender, ServerSpecificSettingBase setting)
        {
            switch ((AbilitysId)setting.SettingId)
            {
                case AbilitysId.Stalk
            when setting is SSKeybindSetting keybind:
                    {
                        if (keybind.SyncIsPressed)
                        {
                            StalkUse(sender);
                        }
                    }
                    break;
                    case AbilitysId.LightOut
                    when setting is SSKeybindSetting keybind:
                    {
                        LightOutUse(sender);
                    }
                    break;


            }
        }
        private void StalkUse(ReferenceHub sender)
        {
            Player player = Player.Get(sender);
            if (SCP372LabApi.Instance.EventsHandler.TryGetValue(player.UserId, out EventsHandler entry))
            {
                entry.Test1();
            }



        }
        private void LightOutUse(ReferenceHub sender)
        {
            Player player = Player.Get(sender);
            if (SCP372LabApi.Instance.EventsHandler.TryGetValue(player.UserId, out EventsHandler entry))
            {
                entry.Test2();
            }



        }

    }
}

#

and i dont understand what i need to do next

#

like i said before its based on Hubert Moszka "Server-Specific-Settings-System"

upper vapor
#

you're missing ServerSpecificSettingsSync.ServerOnSettingValueReceived += ProcessInput; in Ability::Activate

#

also, when do you activate any abilities?

#

AbilitysLoader::TryActivateAbilitys can (and should) be static

#

and then you'd call that when your plugin loads or in a command

upper vapor
restive turret
#

Me when the input is processed

hearty shard
#

@harsh thorn you should probably specify that the labapi release on github is older than the latest one on steam

#

or smth

harsh thorn
hearty shard
harsh thorn
#

its based on whats on master

#

master is what is on steam

hearty shard
#

Steam one has Player::Health setter
The one on labapi releases doesnt

harsh thorn
#

🤨

hearty shard
#

and idk what else changed

#

did bro put the wrong file btw_stare

harsh thorn
#

did steam do me dirty

hearty shard
#

with steam:

#

with git release:

#

steam validation goes back to the working one

harsh thorn
#

ill beat steam up and update the release

hearty shard
main zenith
harsh thorn
upper vapor
main zenith
main zenith
main zenith
#

found out still thanks for help

rugged laurel
rugged laurel
loud carbon
#

It's been 2 years since i touched my SL server container

hearty shard
#

!rep @odd vapor

regal lakeBOT
#

You have just given @odd vapor a reputation point!

hearty shard
#

got me killed

#

intentionally

marble rock
#

shoutout to inter

odd vapor
#

!rep @hearty shard

regal lakeBOT
#

You have just given @hearty shard a reputation point!

hearty shard
#

and got me eaten 💔

marble rock
#

krill issue tbh

faint sparrow
icy knoll
hearty shard
icy knoll
#

bru

true cedar
#

can i -rep

loud carbon
#

We all wish

opal flint
#

lab-api is chasing me

#

i cant remove it from the corner

limpid fjord
#

I hacked the ICOM!

hearty shard
# limpid fjord

so we got bad apple with hints, with primitives and with intercom (again)

surreal spade
unique crane
limpid fjord
surreal spade
unique crane
#

Oh its you

#

hello

surreal spade
#

“Oh it’s you”

#

😭

unique crane
#

Sorry its been 5 years

#

or at least our dms

surreal spade
#

LMAO

#

I’ve moved on to bigger and better things now

unique crane
#

Nice

surreal spade
#

Also got black listed from the Roblox scp genre

#

By about 90% of the groups

unique crane
#

What did you do

surreal spade
#

Infiltrated a dozen of the largest groups

#

And then started a war with each other

#

Concurrently

#

The only group Im not banned from now is Omega

#

Doesn’t matter as I don’t play much Roblox now

#

I work 24 hour shifts and all I want to do after is sleep

unique crane
#

gg

surreal spade
limpid fjord
#

Is there a way for the server to detect key presses from the client?

#

For example, when the client presses the J key on the keyboard, the server detects that the client has pressed the J key..

harsh thorn
#

those are a few examples

icy knoll
icy knoll
#

ya

harsh thorn
icy knoll
harsh thorn
#

either #serverhost-suggestions cuz its a technically a host suggestion
make the suggestions here as labapi feedback, technically not labapi but close enough

#

git issue, whatever

icy knoll
#

hm

harsh thorn
icy knoll
#

i doubt you guys plan on making wrappers for ssss tho right?

surreal spade
harsh thorn
#

but i dont see an issue with providing it here, as it technically counts as "plugin api" so i think its fine for maintainers to do stuff to

grand spruce
#

ERROR!!!!!!!!! THERE IS NO dot

viscid raven
#

Help I'm so stupid Idk where to declare the server seed

swift nexus
#

it's map_seed in the config_gameplay text file iirc

viscid raven
swift nexus
#

np

restive turret
hearty shard
restive turret
#

??? No

hearty shard
#

Yes

restive turret
#

I'm not stinky

rugged laurel
mild ice
hearty shard
hearty shard
restive turret
mild ice
#

That cat is not edible

hearty shard
mild ice
hearty shard
limpid fjord
#

basic minimap

mild ice
hearty shard
marble rock
#

🤨

hazy kelp
wild basin
#

spy

icy knoll
#

Would you guys say it would be better for my plugin with 2 configurations (LabAPI and Exiled) to use the right event handler stuff for the configuration or just LabAPI?

unique crane
#

If your missing some events/stuff you can always suggest them yknow

random scaffold
icy knoll
#

I am getting an InvalidCastException whilst calling player.Items.FirstOrDefault(p => p.Type == ItemType.Radio);, am I doing something wrong? 😭

unique crane
#

This will be fixed in the next version

#

Actually

#

No it isn't pushed yet dam

icy knoll
#

can't test my plugin til it's fixed then 😭

unique crane
#

Thats the code it uses

#

there is just cast to IReadOnlyCollection which causes the exception to be thrown

icy knoll
#

thanks

#

yeah it worked

#

but now I gotta figure out adding items to the player :c

#

other than ItemType

#

does setting the serial for an item to 0 automatically generate a new one or will I need to automatically do that?

carmine prawn
#

yes 0 is automatically GenerateNext()

#

decompiling Assembly-CSharp.dll is very helpful for plugin dev

icy knoll
#

so

carmine prawn
icy knoll
#

bruh Player::AddItem aint working for me wtf

carmine prawn
#

💀

carmine prawn
opal flint
#

northwood fix this beta pls

icy knoll
carmine prawn
#

If in OnPlayerSpawned

#

be like

hearty shard
#

for when a loadout was given

icy knoll
carmine prawn
#

IDK

#

Maybe you need to ask a more advanced developer

hearty shard
#

Timing.CallDelayed will likely end up doing it the next tick

icy knoll
#

also why is PlayerReceivedLoadoutEventArgs::Items a List of ItemType 😭

icy knoll
#

but the items are already in the inv at this point

#

so ya

hearty shard
#

yes...

icy knoll
#

don't ... me smh

#

i didnt question

hearty shard
#

its getting fixed...

icy knoll
#

yes ik

hearty shard
#

maybe you need to get fixed...

icy knoll
#

but ima use Player::Items

#

rather than wait for ev.Items

#

smh

carmine prawn
unique crane
#

Where did surface go

hearty shard
#

david

#

why did you eat surface

unique crane
#

What

#

I didnt

#

):

hearty shard
#

i saw it

unique crane
#

ňuuuu

#

it wasnt me

opal flint
hearty shard
#

then who was it

unique crane
#

Uhhhhhh

#

You

hearty shard
#

og.

#

oh

#

oh

#

okay

icy knoll
#

@true cedar when ruei labapi TrollDespair

icy knoll
hearty shard
#

its 1 hint

icy knoll
#

ik, but when i do <yoffset> and <space> it fucks over everything

#

and it's like "how am i gunna do it programmatically anyway"

true sierra
#

finally, I can do stupider things sponsored unofficially by Northwood :D also time to read code when I get ungrounded

true cedar
#

i still dont know how they work fully atp

#

i use line height

icy knoll
#

can do negative too

icy knoll
#

just confused about how you calculate from the height thing given lol

#

i looked through ruei to try understand where the hint elements are ran but i cant see nothin

true cedar
#

its super simple check ElemCombiner

#
    /// <summary>
    /// Calculates the offset for two hints.
    /// </summary>
    /// <param name="hintOnePos">The first hint's vertical position.</param>
    /// <param name="hintOneTotalLines">The first hint's total line-height, excluding the vertical position.</param>
    /// <param name="hintTwoPos">The second hint's vertical position.</param>
    /// <returns>A float indicating the new offset.</returns>
    public static float CalculateOffset(float hintOnePos, float hintOneTotalLines, float hintTwoPos)
    {
        float calc = hintOnePos + (2 * hintOneTotalLines) - hintTwoPos;
        return calc / -2;
    }
true cedar
#

beyond that its very weird

icy knoll
#

ye

#

it's so confusing

#

because <space> as well, like how do you make everything ignore other elements 😭

icy knoll
#

<space> is legit just a space

#

and anything after that space is also pushed with it

#

no close for it at all

#

when i use it in standard hints, no matter what i can't get text to look normal

#

yet in ruei, do the same exact thing but normally

#

it's like it doesn't exist

#

lol

true cedar
#

ruei does a lot of line breaks which solve that problem

icy knoll
#

wait \n fixes it? damn

true cedar
#

yea

icy knoll
#

here is me doing <space=-1em> 😭

true cedar
#

why

#

o

#

yea just do a line height of 0 and a newline

icy knoll
#

damn

true cedar
#

people are so insanely ungrateful

#

its kinda unbelievable

#

that one situation with that crazy fucking russian guy

hazy kelp
#

guys I cannot find LabAPI-Beta folder...

worthy rune
#

have you started the server yet

hazy kelp
#

nvm I think I'll gonna solve it

brazen dune
icy knoll
brazen dune
#

Ruei LabApi will be when i understand (at least partially) what's there and how

#

But no continuous support guaranteed ClassDTroll

flat vine
#

I'm going to try to replicate that in SL someday

unique crane
#

MTF watching chaos insurgency show up with MBT

opal flint
unique crane
#

What

opal flint
carmine prawn
#

Y only Y? 💀

hearty shard
carmine prawn
#

oh...

hearty shard
#

yea...

carmine prawn
#

so we now have complete freedom to override player camera, right?

tulip kiln
#

Is LabApi.Events.Handlers.ServerEvents.CassieAnnouncing just not implemented rn?

tulip kiln
#

It's used in FpcExtensionMethods.TryOverrideRotation()

hearty shard
tulip kiln
#

well

tulip kiln
unique crane
#

Y axis is still clamped tho

thin shuttle
unique crane
#

because

thin shuttle
#

i want to make player screen rotate to 180

#

funny

unique crane
#

no

thin shuttle
#

yes

unique crane
carmine prawn
#

can't wait enables players to auto aim target

late shoal
#

Hi, I'm trying to get all players on the server, but is it possible to skip the server itself?

                foreach (Player player in Player.List)
                {
                    if (player.DoNotTrack || player == null || player.IsNpc || Round.IsRoundEnded) continue;                
                }```
late shoal
unique crane
#

I though I removed it... I didnt?

hearty shard
#

or in master

late shoal
unique crane
hearty shard
hearty shard
unique crane
hearty shard
#

do you approve

icy knoll
hearty shard
icy knoll
#

oh

#

lol

#

i just use labapi events now lol

unique crane
hearty shard
#

labapi

reef bison
stuck peak
#

I think I have heard of this "LabAPI" thing before

hearty shard
hearty shard
stuck peak
#

especially the source generators

hearty shard
hearty shard
stuck peak
#

considering they will grow in size

hearty shard
#

thats okay

stuck peak
#

don't think that's safe

hearty shard
#

infinite food

reef bison
hollow rampart
covert flame
#

Why is the Player.RemoveItem() function kicking the player with reason Last Class Destroyed?

worthy rune
#

which overload are you using?

covert flame
#

?

worthy rune
#

what args are you passing in, there are multiple different overloads of RemoveItem

covert flame
#

Just the item that I want to remove

worthy rune
covert flame
#

Ohhhhh

#

I really need to open my eyes lmao

#

I'm using the RemoveItem(Item item) one

worthy rune
#

i see

#

i dont think there should be any problems with it by just looking now, do you have anything in the LocalAdminLogs or the player.log

covert flame
#

I just wanna remove the item that the player is holding @worthy rune

worthy rune
#

that should work, not sure what the issue is

covert flame
#

What would you parse through to remove the item the player is holding?

worthy rune
#
if(player.CurrentItem != null)
    player.RemoveItem(player.CurrentItem);
covert flame
#

Oh that's fantastic, it works now

restive turret
#

Tried to remove null aren't u?

upper pike
#

Null is the best item

#

Why would you ever want to remove null?

marble rock
#

null? from the minecraft creepypasta?

unique crane
icy knoll
# unique crane

david no!! don’t kill them!! we need you for labapi!! you can’t work in jail!!

marble rock
unique crane
#

WHAT

#

NO IM NOT NORTH HUNGARIAN

marble rock
#

too late

#

name changed

marble rock
unique crane
#

Ok I'm gonna hardcore your ban into the game

marble rock
#

hardcore? minecraft hardcore?

unique crane
hearty shard
#

hardcore is crazy

thorn escarp
marble rock
#

he called slovakia north hungary

thorn escarp
#

I mean

#

It used to be..

unique crane
hearty shard
#

smoking is BAD

#

hi david

unique crane
#

Ello

marble rock
#

isn't there like 8% of hungarians there still

#

makes sense

thorn escarp
marble rock
thorn escarp
hearty shard
marble rock
#

i prefer drinking instead of smoking

#

(i dont smoke)

thorn escarp
#

I prefer drinking and driving

#

(i drive)

hearty shard
marble rock
#

quite surprised

hearty shard
unique crane
#

Difficulty tweak

marble rock
hearty shard
thorn escarp
marble rock
#

its okay, ill buy you ice cream for messing with you as usual

thorn escarp
#

🙄

marble rock
hearty shard
#

🐷

unique crane
#

I will kill you

#

NATHAN

marble rock
unique crane
#

Action gaming has bad effect for you

marble rock
#

im posting this in action gaming

unique crane
#

Not that bad what I do at peanut club tho

marble rock
hearty shard
#

pinky

unique crane
#

bullying

#

I'm telling HR

marble rock
#

you can have red

hearty shard
marble rock
#

the bottom color of slovakia

unique crane
#

Ok thats-

#

Nvm

marble rock
unique crane
marble rock
unique crane
#

So

#

But can you rename me

#

Pwetty pleasee

marble rock
#

done

hearty shard
marble rock
hearty shard
#

:(

#

!rank

unique crane
#

):

regal lakeBOT
hearty shard
#

slow ass bot

#

what even is it written in

marble rock
#

i think python, we have a skeleton team for bot team

hearty shard
#

why r they skeletons

#

just make it in assembly

marble rock
#

@ truewhitelion

tulip kiln
#

Is there a way to tell if a wave is a mini wave from WaveRespawningEventArgs?

#

It only contains the Team enum which won't cut it.

icy knoll
unique crane
#

Yea Im doing wrappers for it

#

Including this

icy knoll
#

did you add the wave base for now tho?

#

or no

unique crane
#

Will do

icy knoll
#

because you can just do Wave is IMiniWave

unique crane
#

Ik

icy knoll
#

good

tulip kiln
unique crane
#

Yeah yeah I'll provide the wrapper for it too dw

#

Base game in it

icy knoll
#

harmony patch :3

hearty shard
#

nuh uh

#

0,

#

DAVID

icy knoll
#

fuckin lurker

hearty shard
#

im watching you

tulip kiln
thin shuttle
#

@unique crane you guys broke ForceEnded

#

Getting Overwrite

#

or wait

#

ForceEnded shouldn't it call Sumarry stuff ?

plush walrus
#

They rotted away being trapped in Hubert's basement

unique crane
#

WaveTeamSelectedEvent

#

Its in the game now XD

#

even in this versio

#

n

#

ill add it to the team respawning event too tho

thin shuttle
#

@unique crane if you have time could you give a check at ForceEndRound ?

unique crane
#

Huh?

thin shuttle
unique crane
#

Hmm sure

thin shuttle
unique crane
#

first

#

or wait

#

uhhhh

#

thats decompiled anyways isnt it?

thin shuttle
#

it's just me edit it

#

to give example

unique crane
#

but prob the first one?

thin shuttle
#

by default it is like this (as decompiled)

hearty shard
#

😭

unique crane
#

Yeah uh

#

thats this part of the code

#

I guess

thin shuttle
thin shuttle
#

also this value are never use other than ConsoleLog

unique crane
#

I dont think that even works as intended?

#

Like theoretically

#

Its 2 ints being divided

#

and then assigned to a float

#

But other than that its to sum up to 100%

#

I guess

thin shuttle
#

but yeah kinda useless information now

#

since they modified the Win condition

#

@unique craneactually isn't just doing that the best ?

#

like it's was before (without the #if because that was the things that broken stuff lol

unique crane
#

theres no preprocessor now

unique crane
#

You

hearty shard
#

i am gonna do horrible things to you

unique crane
#

nooooo

#

):

hearty shard
#

just you wait

thin shuttle
#

that was mostly making the EndRound method working

#

@unique crane do you want access to decompiled SL :3

It's kinda funny when you will compared to what you see

unique crane
#

I remember decompiling it once in VS

#

and it did if elses instead of switch

#

but I use dotpeak normally

hearty shard
#

ours is dnspy

#

converted into a project

unique crane
#

ooookay

hearty shard
#

david are you crazy

unique crane
hearty shard
#

birb

stable shore
#

hi!

hearty shard
#

YOU

stable shore
hearty shard
#

i will HUNT you

stable shore
#

id like to see you try :D

still notch
hearty shard
still notch
restive turret
thin shuttle
#

To see what they changed

restive turret
#

i only have it on local pc

unique crane
#

and i have sors trolling

restive turret
#

ClassDTroll1 and takes more time to find exact class than on compiled

unique crane
#

???

hearty shard
#

give me source

#

i need it

unique crane
#

No

hearty shard
#

oh

#

:c

thin shuttle
unique crane
#

no im doing something else right now

thin shuttle
#

Ok

hearty shard
#

david is EVIL

thin shuttle
#

Me explaining why adding a single if would help me fix an issue

unique crane
#

Wtf VS decompiler is smoking some shit

quaint silo
#

1 = 0

hearty shard
unique crane
#

Queue<>

main zenith
#

does RoundStartedEventArgs dont exist like in main file of the plugin i can see that ServerEvent has ".RoundStarted" but no args

unique crane
#

Yeah I guess it doesn't

#

Do you need any?

still notch
main zenith
thin shuttle
#

Every #\ is not authorised

icy knoll
still notch
thin shuttle
#

Suggestions it

still notch
#

(add a bypass for tinybrain-sanctum ClassDTrollHD )

untold raft
still notch
marble rock
#

ok

still notch
icy knoll
still notch
thin shuttle
#

Bypass for some role every plugin chanel and tinybrain plugin submission chanel

still notch
#

thats sound.....chaotic

thin shuttle
#

that what i wanted

still notch
thin shuttle
#

and prevent any scam message with hyperlink

#

because it's not that usefull

still notch
#

it's just esthetic

#

mostly for patch notes

#

or releases

thin shuttle
#

@still notch

#

yeah

still notch
untold raft
still notch
#

for exiled contributor SteamSunny

thin shuttle
thin shuttle
thin shuttle
#

doing it for Exiled Contributor it's like giving it to everyone active lol

still notch
thin shuttle
#

sadly no

still notch
thin shuttle
#

but yeah i won't do it for tinybrain

#

because

#

it's does allowed HyperLink

still notch
thin shuttle
#

(i don't want to separate HyperLink and Headers restriction)

#

that our regex to detect them

thin shuttle
still notch
#

Regex is like the power of god in hands of a single string

thin shuttle
#

also i don't want to remove the Header but small

#

because it's nice

#

and not looking invasive

#

does Door.AllowsScp106 work on LabAPI ?

still notch
marble rock
#

now?

still notch
worthy rune
thin shuttle
#

it's because it's getter have annoying condition

worthy rune
#

hmm ill look now

thin shuttle
#

waut byut

#

Network but not read ?

#

i don't get it

worthy rune
#

hmm?

thin shuttle
#

is it client only ?

worthy rune
#

you can read the backing field directly its fine

thin shuttle
worthy rune
#

only have to use Network<name> version when setting

thin shuttle
#

it's SyncVar

worthy rune
#

ik

thin shuttle
#

oh yeah

#

i see

#

okay

#

fine

worthy rune
#

i do that everywhere in the LabAPI too, maybe its alittle faster not sure

thin shuttle
#

uhmmm then i don't see why someone reported me on exiled (not labAPI)

#

that it's wasn't worked

thin shuttle
#

not that much

worthy rune
#

its a small difference yeah

thin shuttle
worthy rune
#

setting NetworkInfo property also sets Info as its a wrapper

#

NetworkInfo is purly generated my mirror and only exists after compilation

thin shuttle
#

yeah

#

i was thinking of RagdollData readonly field

#

figure out after than it's was pickup

#

my brain being slow

#

sometime

worthy rune
#

oh i see

#

btw its the pickup example, you still have to treat it as readonly the with keyword creates a new instance each time for that reason

thin shuttle
#

in C#

worthy rune
#

8? i think

thin shuttle
worthy rune
#

oh damn

thin shuttle
#

with was added before

#

but for working on struct is C# 10

worthy rune
#

interesting

thin shuttle
#

but so it's will be kept as readonly ?

worthy rune
#

probably, personally i think it encourages mistakes by making people think they can modify the fields directly to "optimise" it and expect it to work

#

i have nothing against mutating structs, its just that this case its used by Mirror which requires a new instance each time for it to work

tepid sluice
worn gull
#

Hello! How can I explode a player?

unique crane
#

ExplosionUtils.ServerExplode(player.ReferenceHub, ExplosionType.Grenade)

worn gull
#

Thanks

stable shore
#

What type of bs

thin shuttle
#

that happen when i spawn too much grenade

#

i lost my server after it

#

(for real)

hearty shard
#

evil thoughts

unique crane
hearty shard
#

david

#

soon

stable shore
#

shush

#

gremlin

hearty shard
#

YOU

#

nuh uh

#

i will hurt you

stable shore
restive turret
#

whats the cassie announcement for 05

unique crane
#

BY ORDER OF O5 COMMAND . DEAD MAN SEQUENCE ACTIVATED

#

if you mean this

main zenith
thin shuttle
#

i did the same but with bigger value on a coin

#

i was able to seen it before crash

#

quite big