#plugins-dev-chat

1 messages · Page 145 of 1

spare zodiac
#

SCP Public Laboratory

upper vapor
#

Fortune cookie:
You will suffer an eye disease that makes you blind permanently

celest thorn
#

I don’t ;(

#

I tried

#

But it always failed

#

Because i just can mod really well but not create

#

Not for ideas or anything

#

But just i have a block

bright vine
#

i'm... stuck on the voice part

#

i don't undersatnd

#
        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            {
                ev.Message.Channel = VoiceChatChannel.ScpChat;
            }

            base.OnPlayerSendingVoiceMessage(ev);
        }
        public override void OnPlayerReceivingVoiceMessage(PlayerReceivingVoiceMessageEventArgs ev)
        {
            {
                    ev.IsAllowed = true;
                    return;
            }

            base.OnPlayerReceivingVoiceMessage(ev);
        }
#

atp im trying everything

upper vapor
#

Nope

#

You need to send the voice message to the player who's listening to SCP chat
If they're the one speaking, then set the channel

bright vine
#

i can’t tell if it’s broken

upper vapor
#

It should appear

#

Can you hear anything?

bright vine
#

oh okay great so it’s broken

#

my audio is off, so I can’t tell

upper vapor
#

Right

celest thorn
#

Hiii chat

#

Anyone alive?

spare zodiac
celest thorn
spare zodiac
celest thorn
restive turret
celest thorn
unique crane
#

😐

celest thorn
unique crane
#

I mean maybe he aint gonna deny it

#

Dont know

celest thorn
#

Lol

#

I mean he likes cats

#

So

upper vapor
celest thorn
upper vapor
#

Yeah but catboy isn't really the correct term for that 😭

hearty shard
#

catboy is valid

celest thorn
upper vapor
hearty shard
celest thorn
#

Nameless is meanie to me

#

She doesn’t even reply ;(

upper vapor
upper vapor
#

What the fucky

hearty shard
#

problem?

celest thorn
#

Im checking how it evolves lol

#

Guys almost 30 hours

spare zodiac
true cedar
hearty shard
true cedar
#

SHUT UP!!

hearty shard
#

:c

alpine glade
steep vigil
#

help me pls

#

fixed

hearty shard
restive turret
worn gull
fathom charm
#

Can I access to Player.Readylist in WaitingForPlayers?

hearty shard
fathom charm
#

Yep

#

I know

#

So there's no way around it logically?

restive turret
#

wdym

hearty shard
fathom charm
#

Conditionally broadcast music in the lobby

hearty shard
#

Then start handling it on WaitingForPlayers

#

or

#

Joined event

restive turret
#

OnPlayerLeaving

hearty shard
#

depends how you do it

restive turret
fathom charm
#

Well, at the moment, I'm doing it through WaitingForPlayers.

upper vapor
#

start a coroutine

fathom charm
upper vapor
#

oh music

#

i'm blind

#

i thought you wrote regular broadcasts

#

well

upper vapor
#

use an audio api that does this

#

broadcasts to everyone

fathom charm
#

I use your SecretLab

#

NAudio

upper vapor
fathom charm
#

Oh

#

wait

upper vapor
#

example is in the wiki

spare zodiac
#

funi typo

upper vapor
#

where

#

efficacy?
that's another word for efficiency

spare zodiac
#

I've just found the best way how to make grenade damage you as less as possible

#

you have to make your hand look at the grenade and look sideways this way hitting your hitbox limb

#

nevermind that is not taking into consideration Trolley

upper pike
#

The 300 damage grenade

#

Do grenades even account for different head and limb hitboxes?

spare zodiac
static meteor
#

Hmm I think the light on this life pod got fucked

slate flume
#

Ah yes, indentified

grand flower
#
in
  den
    ti
      fied
slate flume
celest thorn
true cedar
grand flower
#

i can confuse you some more with C++ if you'd like

true cedar
#

so you admit cpp is confusing

grand flower
#

Not to me

#

For the most part

hearty shard
#

Guh

grand flower
#

worked on some cool stuff

true cedar
#

literally

grand flower
#

C++ is based

#

gonna make the best Luau plugin ever

true cedar
#

crazy idea but instead of having a fucked up excuse for constraints what if you had

#

actual constraints

grand flower
#

this is literally constraints

#

you can just make your own constraints

#

with a lot more flexibity than C#'s mmLul

slate flume
#

You know the nato letter designations + number that get assigned to foundation forces?
How do I get that

true cedar
grand flower
#
template<typename A, typename B>
concept CanAdd = requires(A first, B second)
{
  a += b;
};
#

wow I can constraint two types being able to add each other

#

much ugly

#

you can't tell me that's not cool

true cedar
#

not rlly

#

lmfao

grand flower
#

boo

true cedar
#

structural type systems are disgusting

#

its just confusing

slate flume
grand flower
#

UnitNumber

#

iirc

#

or something like that on the mtf role base thingy

#

or human role base

#

whatever it was

grand flower
true cedar
grand flower
#

But they're extremely flexible in terms of "the compiler only cares that in the end the code generated with the type you pass is sane"

#

and in my case are gonna provide a super clean API for developers to expose Unreal types to Luau

grand flower
#

concepts are just way to get better compiler/static analysis errors

#

that are a lot more readable

#

i.e. this

true cedar
grand flower
#

You can do traits in C++ too

true cedar
#

oh ofc you can

#

jesus chris

#

t

grand flower
#

Just that if you don't respect those traits, you'll cause big compiler errors

slate flume
# grand flower UnitNumber

The closest I could find was UnitNamingRule and NamingRulesManager but neither have it exactly, they contain helper methods

grand flower
#

which concepts would simplify

slate flume
#

I did

#

I found nothing useful

true cedar
#

are they like actual traits like haskell's type classes

slate flume
#

Wait

#

I have idea

true cedar
#

or just called traits cause that sounds right

grand flower
#

They're just template specializations

#

You can mark a type as having X with them

#

But you can do so without providing X and you'll just cause a compile error

true cedar
#

huh

grand flower
#

one in Unreal for example

#
template<>
struct TStructOpsTypeTraits<FBindingObject> : public TStructOpsTypeTraitsBase2<FBindingObject>
{
    enum
    {
        WithAddStructReferencedObjects = true,
    };
};
#

You just tell the engine that FBindingObject has a void AddStructReferencedObjects(FReferenceCollector& Collector); function

#

so that it knows to use it

true cedar
#

what the fuck thats disgusting

grand flower
#

the engine just checks if TStructOpsTypeTraits<FBindingObject>::WithAddStructReferencedObjects is true

#

which, by default, TStructOpsTypeTraitsBase2 provides these

slate flume
#

I might be a secret genius

true cedar
#

genuinely nauseating to look at

grand flower
#

¯_(ツ)_/¯

#

Super easy to read for us

true cedar
#

this is the problem with generics/constraints implemented through metaprogramming

#

incredibly inelegant and produces insane amounts of boilerplate

soft depot
#

anyways, you cant hijack it or anything, stuff is sent via indexes to static arrays on client and server so you cant send a custom team

#

so most you can do is force the template sent, probably by patching GenerateNew

slate flume
slate flume
#

You don't even NineTailedFoxNamingRule to get it to work

#
var role = (HumanRole)attacker.roleManager.CurrentRole;
        if (role.UsesUnitNames)           Logger.Info(NamingRulesManager.ClientFetchReceived(attacker.GetTeam(), role.UnitNameId));
slate flume
#

Were you ever able to figure this one out?

#

Wait

#

Found it

mild ice
#

What do you guys want the VSR for lol

#

It's dead and burried

true cedar
#

instead of just

#

modified

slate flume
slate flume
#

But the core framework of the document is exactly the same

bright vine
#

hi guys

#

HI

#

GUYS

bright vine
#

im having issues with trying to make a human use scp chat

#

im doing it simple first to see if it even works, (it does not work) any ideas? i can't find any info in dnSpy either

        public override void OnPlayerReceivingVoiceMessage(PlayerReceivingVoiceMessageEventArgs ev)
        {
            ev.IsAllowed = true;
        }

        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            ev.Message.Channel = VoiceChatChannel.ScpChat;
        }
#

Do i like

#

have to patch the validation thing

#

i found ValidateReceive

slate flume
bright vine
#

Yeah figured

slate flume
#

public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
{
ev.Message.Channel = VoiceChatChannel.ScpChat;
}
Should work

bright vine
#

really? but it doesnt work

#

i don't see the vc icon

slate flume
#

Oh well then you need to redo the validation

bright vine
#

redo..?

#

oh do you mean patch it

slate flume
#

No

#

Something a bit like

foreach (Player listener in Player.GetAll(PlayerSearchFlags.AuthenticatedPlayers))
{
  if (!listener.IsAlive) continue;
  if (listener.RoleBase is not IVoiceRole voiceRole) continue;
  if (voiceRole.VoiceModule.ValidateReceive(ev.Player.ReferenceHub, VoiceChatChannel.ScpChat) is
      VoiceChatChannel.None) continue;
  listener.Connection.Send(ev.Message);
}
bright vine
#

oh thank ou

#

you*

slate flume
#

But the idea is you just send the message to the players you want to have it

bright vine
#
        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            ev.Message.Channel = VoiceChatChannel.ScpChat;

            foreach (Player listener in Player.GetAll(PlayerSearchFlags.AuthenticatedPlayers))
            {
                if (!listener.IsAlive) continue;
                if (listener.RoleBase is not IVoiceRole voiceRole) continue;
                if (voiceRole.VoiceModule.ValidateReceive(ev.Player.ReferenceHub, VoiceChatChannel.ScpChat) is VoiceChatChannel.None) continue;

                listener.Connection.Send(ev.Message);
            }
        }```
slate flume
bright vine
#

im playing on 2 scpsl instances

#

same account

#

one as a scp and other as a human

bright vine
#

So

#

Could there be anything wrong with the code

slate flume
restive turret
#

Real

bright vine
#

thank you, i will try that

static meteor
#

Goddamnit

worn gull
static meteor
#

Cant be assed to learn a new ui

restive turret
grand flower
#

Rider is based

#

learning its UI wont take more than a day

upper vapor
restive turret
#

I still don't like it

upper vapor
restive turret
#

I tried using it , and wasnt a great experience

#

Same with all jetbeans app

upper vapor
#

You...

restive turret
#

Whatever

#

It will be jetbeans for me

static meteor
#

I have it installed just dont use it

bright vine
upper vapor
bright vine
#

i think its a client thing

bright vine
#

i removed the (listener.RoleBase is not IVoiceRole voiceRole) and (voiceRole.VoiceModule.ValidateReceive(ev.Player.ReferenceHub, VoiceChatChannel.ScpChat) is VoiceChatChannel.None) checks

#

i tried again and it still did not work

#

but when i set the channel to Intercom

#

it worked

upper vapor
#

Set it to ribs Sunday

#

Round summary

bright vine
#

so..

#

humans' vc cant be set to ScpChat

#

for some reason

royal mica
#

Me when Disconnecting connId=0 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object

restive turret
#

🔥

upper vapor
#

Probably because humans aren't supposed to hear SCPs Kek

#

Though the client validation doesn't really make sense

bright vine
#

can't i patch it?

upper vapor
#

It was just easier not to ifdef it

upper vapor
bright vine
#

would RoundSummary not be affected as well

upper vapor
#

Good luck xd

bright vine
#

oh the client

#

i heard u cant really change the client right

upper vapor
#

Round Sunday can be heard by anyone

#

Just use that

upper vapor
bright vine
#

so what i need to do is check if the round hasnt ended yet, so i can change how "RoundSummary" works (e.g: make it accessible to scps and a certain human only)

#

is that how this is supposed to go

bright vine
upper vapor
#

You can change it to round summary either way

#

Don't change it from round summary though

bright vine
#

it can be heard by anyone thats the issue i onl

#

Um

upper vapor
#

Send the message to the correct players only

#

Instead of changing the original message

bright vine
#

oh yes

#

rigt

#

right

upper vapor
#

var message = ev.Message

#

Should create a copy I think

bright vine
#

so 2 messages, original message still working and the copy message going to scps

spare zodiac
bright vine
#

if i want the message to be heard by scps only, i'd just change the original message instead

#

now i understand

#

thank you

royal mica
#

Also don't forget to prevent the original message received by players whom you sent to, or they'll hear double

spare zodiac
bright vine
celest thorn
#

hiii chat

spare zodiac
royal mica
celest thorn
royal mica
celest thorn
bright vine
#

because the message is going to scps no?

spare zodiac
#

you will hear one "merged" which is not merged at all and sounds like fan

#

*hairdryer

royal mica
#

oh wtf. I thought SCP global chat and positional audio works good even if same audio

#

so it just craps itself cool

slate flume
#

Bro what fucking layermask is the floor on

spare zodiac
#

trust the process

royal mica
static meteor
slate flume
slate flume
#

WHICH ONE IS ITTT

spare zodiac
#

it's 25

#

but there's no only one for floor iirc

slate flume
celest thorn
#

i say its 4

royal mica
#

Honestly, just make a debug gun, that fires raycasts and details the Layers the found object is on

spare zodiac
#

just use 2

celest thorn
static meteor
#

I have a command that does that

spare zodiac
slate flume
spare zodiac
#

all the layer masks

slate flume
royal mica
#

isn't 25 only contains Rihanna?

celest thorn
slate flume
#

I want floor

spare zodiac
#

also floor should be the world

slate flume
celest thorn
#

wrong one

spare zodiac
slate flume
#

I'm trying to do a raycast downwards when a player dies so I can get the floor

upper vapor
celest thorn
celest thorn
#

btw i converted another server to use your library axwabo

slate flume
celest thorn
#

its slowly growing Trolley

#

it will take over the world soon enough

spare zodiac
#

I used layermasks:

1, 13, 16, 28

slate flume
spare zodiac
slate flume
#

Why not just make your own

#

I did it in like less than an hour

spare zodiac
#

why re-invent the wheel

celest thorn
slate flume
slate flume
celest thorn
#

like you know the dj set

#

like same shit you can do

#

for each audio source

#

and an audio can be 2 in the same moment

#

or more

slate flume
#

I have no idea what you're talking about right now lmao

celest thorn
#

idk how anything works in there but it works amazing

celest thorn
#

i know its just magic the audio that comes out

#

and what i can do

#

which is quite impressive

#

and really useful with stuff like temp audio etc...

slate flume
slate flume
celest thorn
#

like

slate flume
#

That was really easy to setup

#

You convert to mono and resample to 48000

celest thorn
#

honestly

#

like i don't know what goes behind it

#

if you ask me about primitives

#

i can help you

#

but when it comes to audio or music

#

im stupid

#

like for me cassie is already magic Trolley

#

(im joking but you understand what i mean)

slate flume
#

It takes like one function to get audio playing out of a speaker toy and that includes auto conversion for .mp3 files

celest thorn
#

for me its just magic

#

don't break the illusion

#

that behind there's a goblin making sure

slate flume
#

I like to automatically equalize .mp3s I pass in to reduce clipping

celest thorn
slate flume
celest thorn
#

im not qualified what audio is

celest thorn
slate flume
#

Fuck I had a really good explanation a while back

#

Lemme find it

celest thorn
#

lol

slate flume
static meteor
#

Lines

celest thorn
slate flume
# slate flume

Clipping happens when the amplitude of the audio wave exceeds the volume of what can be played

#

Essentially

#

Waveform too loud, volume isn't high enough to account for it

#

It's a little more complicated than that cause it's not exactly volume but it's hard to explain

#

What you want is a waveform that is in bounds

celest thorn
#

so its just a lim?

#

that you put to the function?

#

thats it?

slate flume
#

Kind of

#

Instead of clamping the PCM samples between -1 and 1, you find the max amplitude and divide all the samples by that, and that fixes the clipping

slate flume
slate flume
slate flume
# slate flume

The red lines are essentially the hard limits of what can be sent

slate flume
# slate flume

The clamping between this limits pretty much already happens

#

So instead of clamping you reduce the size of the entire wave

#

NAudio already has good functionality built in for the basic audio processing
You read the file on a reader -> .ToMono() on it -> Pass it into a sample provider to resample it to 48 KHz

#

Then you can pass that into a speakertoy to play it

#

Also iirc you can link speakertoys by giving them the same controller ID

#

Even if that's not the case, you could also just play the audiomessage manually on them all

#

I think audio stuff is a lot like how math is in school for some people

#

People look at it and they're like "Wow it's gonna be super complicated and I'm never gonna understand it" so they of course always fail when working with it
The truth is it really isn't that complicated to understand

glad pagoda
#

DSP (what audio is a part of) is literally considered one of the hardest parts of CS Kek

restive turret
#

Send it tru ffmpeg

glad pagoda
#

ffmpeg

#

managed to have such a bad C api

#

that almost nothing uses it

#

iirc it was like 1000LOC to convert an mp3 file to ogg with it

restive turret
#

Lol

slate flume
#

Fourier transforms are pretty dope

slate flume
#

It's like 20 lines of code

glad pagoda
#

well if you use premade libraries that handle everything then it might appear simple

celest thorn
#

but those 20 lines are worth an entire degree

slate flume
#

Lmao

glad pagoda
#

but the libraries themselves are some of the most complicated stuff that exists there Kek

celest thorn
#

i swear audio is like something i've never understood

slate flume
#

I'd argue networking is probably more complicated than audio

restive turret
#

Eh

glad pagoda
#

nah, networking itself is dead simple

restive turret
#

I send, you receive

slate flume
#

I think you hype up the difficulty of audio too much

glad pagoda
#

the only kinda complicated part in it is compensating for latency

#

but for usecases that don't care about that, it's dead simple

celest thorn
#

the most complex thing about it is figuring out why sl doesn't like the packet i sent

slate flume
#

Audio processing is just math

celest thorn
#

without client access is like just wanna bet on what it is

slate flume
#

And the math is so well documented and researched that it's pretty easy to understand

celest thorn
#

and probably next update it works

glad pagoda
restive turret
slate flume
glad pagoda
#

it kinda is lol

celest thorn
slate flume
restive turret
celest thorn
#

and if you are elon

#

and if it goes up explodes after 5 seconds

restive turret
#

Z ? ClassDTroll1

glad pagoda
#

you can basically do 0 real world audio work if you don't know how to read research papers and the mathematical notations used there

restive turret
#

🔥

celest thorn
slate flume
#

I have a bunch of old notes on this stuff

restive turret
#

What's the thing you did and you think it will break?

#

@celest thorn Fear

slate flume
#

I tought myself how to work with fourier series and transforms

#

The old notes are kind of dope to look at

celest thorn
slate flume
celest thorn
#

god i wanna die

slate flume
celest thorn
#

but my brain isn't good enough for that

#

so let me stand on the corner and cry

#

for how stupid i am

royal mica
slate flume
royal mica
#

why do I know what is happening in there cryJAM

glad pagoda
#

i love how people get scared at the mathematical notation for a for loop Kek

celest thorn
glad pagoda
slate flume
#

There was a dope video I watched a while back

restive turret
#

I would like all mathematic stuff put into a programming language

glad pagoda
#

but not gonna lie

#

the mathematic notation

celest thorn
glad pagoda
#

sucks

royal mica
#

Where tf did P/N go from the simplification in the 1-2 line HUH

slate flume
restive turret
upper vapor
slate flume
slate flume
# upper vapor Default?

So instead of looking for the floor on a layermask I should exclude all the layermasks I don't want?

royal mica
upper vapor
#

-# You ping me when I'm in the chat but you don't ping me when I'm not

slate flume
restive turret
#

Lel

royal mica
#

yeah then ok

slate flume
#

I was mostly doing it out of boredom cause I was sitting in class

royal mica
#

its your notes, as long as you understand that is good

#

also LaTeX my beloved

restive turret
#

What if I'm not understanding my own notes

slate flume
slate flume
restive turret
royal mica
#

No ICANT

celest thorn
#

we should start doing

#

for who knows math

#

and who doesn't

#

i wanna live happly my life

#

without knowing this shit

#

none is going to ask me do the Capital Sigma of n - 1

royal mica
#

you are modding a 3D game with Vector3 and Quaternions. You must know math lol

slate flume
#

Bro you program as a hobby and you're telling me you're intimidated by math?

upper vapor
slate flume
#

I think that's what it was?

celest thorn
slate flume
#

In the theory of three-dimensional rotation, Rodrigues' rotation formula, named after Olinde Rodrigues, is an efficient algorithm for rotating a vector in space, given an axis and angle of rotation. By extension, this can be used to transform all three basis vectors to compute a rotation matrix in SO(3), the group of all rotation matrices, from ...

slate flume
celest thorn
#

gg

slate flume
#

I was trying to figure out the most efficient way to apply rotations

royal mica
#

Oh yeah, that formula is really intuitive when you are fiddling with 3D space

#

even when you make changes in gimp or other image editors, when you want to rotate the image in a weird way, you are applying it

slate flume
#

Well quaternions avoid gimbal lock

celest thorn
#

cool

slate flume
#

Crazy that some guy was just walking on a bridge when he figured out quaternions

upper vapor
restive turret
#

Apply rotation to my dead body so i can rotate

celest thorn
#

but yea if you wonder why i don't really know that deep math because im a self taught in almost math and programming

#

so thats why

#

i never studied it before uni

#

i just learned

upper vapor
upper vapor
slate flume
#

For my use case it's fine because I'm loading like 3 second audio clips

restive turret
#

10000 3 second clip

upper vapor
#

Unless you load hundreds or thousands

upper vapor
restive turret
#

Playing ost in the lobby

slate flume
#

Not too hard, just throw it on an update loop

#

But it's a bit excessive for me

upper vapor
#

Me when

#

One buffer

#

ISampleProvider

restive turret
#

Me when

#

I don't use audio

upper vapor
#

I knew you were gonna say that

#

You'll die in silence

restive turret
#

Lmao

upper vapor
restive turret
#

Yes since there won't be any sound of itClassDTrollHD

slate flume
#

So @upper vapor do you just call .Read() on the sample provider on an update loop or something

upper vapor
#

Yes

#

Look at the code lol

#

Tough what I said doesn't really answer what I was replying to lol

slate flume
#

There's like 7 folders

#

I gave up after that

#

I didn't wanna do all that just to figure out one question

restive turret
#

You know you can search in GitHub right

slate flume
#

Learned that the hard way

restive turret
#

Yes i sometimes even got 403 error (or smth) when i forgot to log in while in uni

restive turret
#

I have different account for it and not always logged in as default

glad pagoda
glad pagoda
#

it's always missing 80% of results

slate flume
#

Also I don't really trust other people's repositories anymore

#

The formatting is always shit

restive turret
#

Or press . And search there

restive turret
glad pagoda
slate flume
#

Last repo I checked for an SL plugin I check a few of the commands and they literally had throw new NotImplementedException() on them lmao

#

Like bro you're saying you have these features?

restive turret
#

Lol

slate flume
#

I also think people have a tendency to way overcomplicate things

#

Roundabout solutions and weirdly formatted code

#

Not everyone

grand flower
#

I love writing complicated code

slate flume
#

But a lot of repos I look at are weird

restive turret
slate flume
restive turret
slate flume
#

I look at a randos repo and they have no comments, no docs, no implementation information

restive turret
#

I write then document later

#

Sometimes the later never comes

slate flume
restive turret
#

With export docs i have to

#

Or at least some degree

celest thorn
#

i do only for other projects

#

that are public

#

or have important use or for other servers

slate flume
#

I have like 20 stickers of this cat specifically

restive turret
grand flower
#

as long as you do it's good

celest thorn
#

i have a total of 4 gif of pyra that i cycle through

#

and still probably gonna add some more

slate flume
celest thorn
#

but problem is idk how tf xc2 got rated for teens

#

that game has some crude sex jokes

#

that is crazy

restive turret
#

As you are

celest thorn
slate flume
#

@grand flower is probably the only normal one here

restive turret
celest thorn
spare zodiac
#

halo

restive turret
celest thorn
slate flume
restive turret
#

He started the no waypoint so

slate flume
celest thorn
slate flume
#

Waypoints are dogshit

celest thorn
#

if you are obsessed with something in a way it means you care about it

slate flume
celest thorn
#

atleast thats my point

slate flume
#

I value objectivity

slate flume
restive turret
celest thorn
#

neither AI

#

is gonna be

slate flume
celest thorn
#

i mean im obsessed with my project

#

and i put alot of time

slate flume
#

I get that and I respect that

celest thorn
#

but because i love what i make

slate flume
#

I just mean it's abnormal

#

I have the same problem

#

I spend hours programming on a given day

celest thorn
#

idk i don't find it abnormal

slate flume
#

Which is abnormal

celest thorn
#

i've seen people around me get obsessed with fucking pencils

#

or shit like that

#

so

slate flume
#

Yes true

celest thorn
#

mine is resonable

slate flume
#

Believe it or not, the average person isn't obsessive about stuff

celest thorn
# restive turret Huh

my best friend is obsessed with collecting pencils of all of the colors and having all of them

#

like if he sees you with a new pencil

slate flume
#

Just because your friends get obsessive about things doesn't mean it's normal, it just means you surround yourself with like-minded people

celest thorn
#

he will ask you if he could have the same one

restive turret
celest thorn
#

and many obsessions are just normalized

#

like look

slate flume
#

Whether you consciously recognize that or not doesn't really matter

celest thorn
#

so in a society like ours obsessions is pretty normalized, its just you don't see it but everyone cares how they look

restive turret
#

I don't

celest thorn
#

it will come the day you will wonder if you look alr

#

or not

#

soon enough or later

#

its just normal

celest thorn
#

i don't think you will fucking want to look like an homeless

slate flume
#

I mean to the first part

#

Not the second

#

Caring about what other people think of you is natural, and that nature is far from an obsession

restive turret
#

Face wise atleast

celest thorn
#

like seriously

slate flume
celest thorn
restive turret
celest thorn
#

you will see that obsession of look is really wide spread

slate flume
celest thorn
#

that day i wanted to burry myself deep down

slate flume
# celest thorn im just cherry picking but if you wanna look just more in general just check soc...

Confirmation bias (also confirmatory bias, myside bias, or congeniality bias) is the tendency to search for, interpret, favor and recall information in a way that confirms or supports one's prior beliefs or values. People display this bias when they select information that supports their views, ignoring contrary information or when they interpre...

celest thorn
#

but idk i have my own idea that generally it is widespread

slate flume
# celest thorn i know what this is

"Just check social media to see people obsessed over their looks" means that your data pool is that of people who are active on the internet, not people generally

#

Not everyone has social media

slate flume
celest thorn
restive turret
#

I think cyn will deny itHubertBall

slate flume
celest thorn
#

like even in the mountains of random villages they have socials

#

like

grand flower
#

deny what

slate flume
#

I live in a rural town and a majority of people here aren't active on social media

restive turret
slate flume
#

Social media sucks

celest thorn
slate flume
#

It's all sensationalist garbage

grand flower
#

define normal

slate flume
upper vapor
celest thorn
#

they lived inside fucking houses that were dying

restive turret
slate flume
celest thorn
slate flume
#

Unless I'm wrong

celest thorn
#

rats are cool

grand flower
#

I just keep my personal life separate from all this

slate flume
celest thorn
restive turret
slate flume
#

The internet isn't the end-all be-all of everything

#

Not everyone needs social media to fuel their insecurities and get a drip of dopamine

#

And not everyone is obsessed with their hobbies

celest thorn
royal mica
celest thorn
celest thorn
restive turret
slate flume
celest thorn
#

and by social studies i mean "sociology, anthropology, psychology" but because i went to a specialized school for that

upper vapor
upper vapor
slate flume
restive turret
static meteor
celest thorn
#

regarding that sphere

royal mica
restive turret
celest thorn
#

even tho 90% of the sociologist are american

grand flower
#

You don't have to be ignorant to be happy

celest thorn
grand flower
#

i just don't really worry about stuff I have no control over anyway

slate flume
slate flume
slate flume
celest thorn
#

like i passed with high grades because of how i did my final exam which was way unique

#

than alot of people

#

in terms of connection

royal mica
slate flume
upper vapor
#

Petition to rename this channel to #philosophy-psychology-chat

slate flume
celest thorn
#

yo what you guys think about Kant?

royal mica
#

Cinema ALL ROADS

restive turret
upper vapor
upper vapor
slate flume
royal mica
upper vapor
royal mica
#

this happened to my own phone number, like I cannot call from abroad anymore

royal mica
#

Yup

slate flume
# upper vapor Bias?

You can make that argument about anyone I name because I'm gonna know anyone I name

upper vapor
royal mica
#

You can just say I'm +367012345678 and call with that number

celest thorn
celest thorn
#

are you going to answer?

restive turret
royal mica
celest thorn
#

ok

upper vapor
royal mica
#

Why would I share my own number ICANT

celest thorn
#

let me try and call it up

royal mica
#

I don't think that is even a live number

#

wait its not even correct

restive turret
#

Ye lol

upper vapor
#

06 20 123 4567

restive turret
#

Should be 000-0000

upper vapor
#

Can you even call 06 from abroad

celest thorn
#

Calling

restive turret
#

Use +36

upper vapor
#

Why tf does +36 and 06 exist

#

Can't we just use country codes

#

Somebody was too lazy to type the + and was like let's change 0 to 3

restive turret
#

+36 is Hungarian call code

royal mica
#

yea, 06 is hungarian internal call

celest thorn
#

im calling

royal mica
#

I guess its a backwards compat back when +36 was not widespread

celest thorn
#

and none is picking up

restive turret
#

Well now you know everyone's phone number

celest thorn
#

none picked it up

royal mica
#

I don't cause Its not my phone number

#

you are calling a random person

restive turret
#

But you dont know what number is whoSCP018Jackie

royal mica
#

if it connects at all

celest thorn
#

ok bro

static meteor
#

Tad fast

sacred sierra
#

KSP?

static meteor
#

Yes

celest thorn
#

yes

spare zodiac
#

no

restive turret
#

Maybe

static meteor
celest thorn
#

yo guys what game should i play

#

that is like singleplayer with goated story or atleast good

icy knoll
worthy rune
celest thorn
#

I did it

#

49h in SL

#

like any of you has ever played STALKER?

#

because idk like peaked my interest

worthy rune
#

I have only done alittle DSP myself by reading a online book about it and doing some basic audio stuff and found that it was alot harder than other stuff

#

also remember audio had the human component to it aswell its not "just math" like you say. if your doing audio processing you have to make it sound good with no artifacts which adds another layer ontop of what you have todo

upper vapor
#

It's also easier if you know some music production

#

I still can't fathom how the update to unity 6 broke SL's cassie mixer so badly that ducking applies per channel

magic gate
magic gate
#

He is a big fan of this game and has played each part several times

celest thorn
#

i know its like a tarkov but with story

#

i like tarkov / extraction shooters and with story??? like my dream

magic gate
#

Idk about tarkov

celest thorn
#

because tarkov was a mod for Stalker

magic gate
#

Stalker is a good game with a great atmosphere

celest thorn
#

i was thinking about trying stalker 2

magic gate
#

You should try it NOW

celest thorn
#

hmm im gonna try it

#

then

#

after 120 hours with xenoblade

#

finally a shooter

#

lol

magic gate
celest thorn
#

last one i played was dying light 3

#

that was like mid xenoblade

#

i've played the second one and then stopped and played dying light 3 and then all of the others

magic gate
celest thorn
#

i left and refunded

#

Silent Hill 2 remake

#

because i found a fucking giant coackroach

magic gate
celest thorn
#

into a library

#

im not touching that game ever again

#

like metro either

#

you cannot tell me a full mission is just full of giant spiders

#

like

#

i geniunly leave there the game

magic gate
#

I just bought slender the arival

celest thorn
#

wtf is this

#

why is it reccomended to me???

#

like hello steam???

magic gate
bright vine
#

hye guys

#

am i doing something wrong

celest thorn
celest thorn
magic gate
bright vine
#
        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            ev.IsAllowed = false;
            ev.Message.Channel = VoiceChatChannel.RoundSummary;

            foreach (Player listener in Player.GetAll(PlayerSearchFlags.AuthenticatedPlayers))
            {
                if (!listener.IsAlive)
                {
                    continue;
                }
                if (listener.Team == Team.SCPs) listener.Connection.Send(ev.Message);
            }
        }
bright vine
#

context: im trying to make a human speak in scp vc as well

but

celest thorn
#

instead of Player.GetAll

bright vine
#

ReadyList cant be used like a method

celest thorn
#

why would you want to do that

#

like you need to have authenticated player

#

those are authenticated

bright vine
#

someone sent their code

celest thorn
bright vine
#

what am i even doing wrong

celest thorn
#
        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            ev.IsAllowed = false;
            ev.Message.Channel = VoiceChatChannel.RoundSummary;
            foreach (Player listener in Player.ReadyList)
            {
                if (!listener.IsAlive || !listener.IsSCP) 
                    continue;
                if (listener.RoleBase is not IVoiceRole voiceRole) continue;
                if (voiceRole.VoiceModule.ValidateReceive(ev.Player.ReferenceHub, VoiceChatChannel.ScpChat) is VoiceChatChannel.None)
                 continue;

               listener.Connection.Send(ev.Message);
            }
        }
#

like this is with the correct code like the guy sent you

bright vine
#

why did you remove ev.Message.Channel = VoiceChatChannel.RoundSummary;

celest thorn
#

because if you send the packet

bright vine
#

i need that for the vc icon

celest thorn
#

oh ok then yea that explains why

bright vine
#

i dont think it would go liek that right? it only sends where i want them to

celest thorn
#

this one sends it to all of the people in the server that can listen to voices

bright vine
#

even though im doing this listener.Connection.Send(ev.Message);?

#

oh

#

Oh your code

celest thorn
#

this is the same that the guy provided you with

#

and idk if its fine

#

i've never done this thing

#

but honestly

#

you should do

bright vine
#
        public override void OnPlayerSendingVoiceMessage(PlayerSendingVoiceMessageEventArgs ev)
        {
            ev.IsAllowed = false;
            ev.Message.Channel = VoiceChatChannel.RoundSummary;

            foreach (Player listener in Player.ReadyList)
            {
                if (!listener.IsAlive) continue;
                if (listener.Team == Team.SCPs) listener.Connection.Send(ev.Message);
                else if (active035.ContainsKey(listener)) listener.Connection.Send(ev.Message);
            }
        }```
#

im going insane

upper vapor
bright vine
#

i dont see the scp talking 💔

celest thorn
#
        foreach (ReferenceHub referenceHub in ReferenceHub.AllHubs)
        {
            if (referenceHub.roleManager.CurrentRole is SpectatorRole && !msg.Speaker.IsSpectatedBy(referenceHub))
                continue;
                
            if (referenceHub.roleManager.CurrentRole is not IVoiceRole voiceRole2)
                continue;
            
            if (Vector3.Distance(msg.Speaker.transform.position, referenceHub.transform.position) >= ScpProximityChatModule.PluginConfig.MaxProximityDistance)
                continue;

            if (voiceRole2.VoiceModule.ValidateReceive(msg.Speaker, VoiceChatChannel.Proximity) is VoiceChatChannel.None)
                continue;
            
            msg.Channel = VoiceChatChannel.Proximity;
            referenceHub.connectionToClient.Send(msg);
        }

Credits to Jesus (https://github.com/Jesus-QC/ScpProximityChat/blob/master/ScpProximityChatExiled/Features/ScpProximityChatHandler.cs)
Something like that

bright vine
#

connectionToClient

#

Hm.

celest thorn
#

this is for exiled

#

but its the same exact

#

and on LabAPI its called Connection

#

not connectionToClient

upper vapor
#

you don't need allat skullbutreal

bright vine
#

i mean

#

labapi has also ConnectionToClient

upper vapor
celest thorn
bright vine
upper vapor
bright vine
#

oh yeah i dont want a proixmity chat so i dont need that

#

proximity*

celest thorn
#

oh wait

bright vine
#

i want a global chat like scps

celest thorn
#

he wants the opposite??

#

idk im confused

#

like what you want SCP being able to talk to voice chat

bright vine
#

so my goal:

i want a certain human and scps be able to talk to each other

bright vine
#

scpChat doesnt work sadly, so im using RoundSummary instead

celest thorn
#

event

bright vine
#

which has basically the same style as scpchat

#

i could like

celest thorn
#

i don't see anything wrong with the one i sent and with yours yes because you aren't validating it

bright vine
#

replace all scp vc with roundsummary altogether

#

no i think i see the issue

#
           ev.IsAllowed = false;
            ev.Message.Channel = VoiceChatChannel.RoundSummary;
#

maybe this is the issue

bright vine
#

im setting the channel first

#

weird then

celest thorn
#

wait