#plugins-dev-chat
1 messages · Page 134 of 1
not even
async ?
nope!
yeah i agree that the system itself is a bit complicated, but check out the usage example
seems fairly straightforward
#plugins-dev-chat message
bro is not gonna tell us
and let you figure it out for me?
never!
ill post when i fix it
i havent even touched anything unity
i feel like getting some intel would be nice when ur modding rather than being blind into it
yk
sl is unity
also i do unity
you have touched sl
i know
a weighted random method is not touching anything insane
interesting
uh ohhhhh
like I said, really complicated, but good at its use case, that's about it, could probably be better with base game support
it really needs base game support
tbf the system was a non basegame changing api
riptide will prob end up doing basegame changes
which is why I said it was really good for the limits it had, but felt like wasted potential
ya
was hoping for something that could be better than ASS at what it is, and still fill in that "idk how to do settings" niche
code ?
it was RandomGenerator.GetInt32
😭
what the
interesting
huh
how'd you even
stumble upon that method
im not surprised that it crashes cause its cryptographically secure
actually
by default its not
you have to add true as a param
stole the code
RandomGenerator is sl
oh
@restive turret
heelo
cus why would I call unity engine to make my already shit performance more shit?
do you know it calling c++ and marhsaling back to c#?
crypto is even shitter
it stalled my entire server gang 😭
like it wasnt responding at ALLLLL
ublic static int GetInt32Unsecure(int min, int max)
{
RandomGenerator.Random.NextBytes(RandomGenerator.FourBytes);
int int32;
for (int32 = BitConverter.ToInt32(RandomGenerator.FourBytes, 0); int32 < min || int32 >= max; int32 = BitConverter.ToInt32(RandomGenerator.FourBytes, 0))
RandomGenerator.Random.NextBytes(RandomGenerator.FourBytes);
return int32;
}
that doesn't explain why it literally stalled the entire server until i switched
that method specifically did it, i checked
yes lmao
piece of shit unity
works on real dotnet btw
/// <summary>
/// Getting a random element from the <paramref name="dictionary"/>, if could not able to get one use the <paramref name="defaultValue"/>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dictionary"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static T GetRandomWeight<T>(this Dictionary<T, int> dictionary, T defaultValue = default)
{
var sum = dictionary.Values.Sum();
var chance = Random.Range(1, sum + 1);
var returnT = defaultValue;
foreach (var pair in dictionary)
{
Logger.Info(chance);
if (chance <= pair.Value)
{
returnT = pair.Key;
break;
}
chance -= pair.Value;
}
return returnT;
}
unity skill issue
ye csu its basic c# and works on other C# probejct
basegame use unity
yes
but basegame works, plugin doesnt
but basegame uses secure prob
maybe thats why
it has to be an infinite loop surely
nothing else in there looks like itd cause stall
ya
so blame NW for it
doesn't change the fact that it froze the entire server, yeah
hey look, i found a funny! yippeee!
slimeee
what
hows sl clone going
wowzers
sometimes i wake up and create issues for fun clearly
?
.
RandomGenerator.GetInt32 stalled lmao
froze the entire server
https://github.com/sleepyyapril/SCPSLPlugins/blob/main/CoinTricks/Extensions/RandomExtension.cs
repro:
clone this repo
switch Random.Range to RandomGenerator.GetInt32
build it and put it in plugins
flip a coin
does it 100% of the time, it's hilarious
Whats RandomGenerator.GetInt32
from SL
SL method used for cryptography
well
you can have crypto, but its defaulted to unsecure so no crypto
What clone?
#202
not clone but the one that i started rewriting
Oh ok
any logs
Since im also working on a SL clone
wait wtf
froze completely, so just that heartbeat froze
i dunno
I couldn't get ragdolls to work due to models not working well sadly
Is it used anywhere in the base game?
int32 isnt
nvm
i lied
this one isnt used
I dont think that any of these crash the server tho
this one is
it did literally freeze it though
like you can test it, it does
i checked the wrong one
because it uses a while loop
yep
GetInt32(int min, int max, bool secure = false)
RandomGenerator.Int32(1, 7) is an exact repro i believe
Unsecure is default
Whatever
that's the secure method
the important part is the loop
yeah
ya
Me when I set min and max to 1
well max was 7 apparently 
yeaaahh
i'd like to thank my desire to not instantiate random and not having unityengine as a reference when i first wrote it for freezing my game
"instantiate" only refers to stuff like prefabs 
so "construct" / "create a new instance of" would be a better term
I legit looked up the definition once
prefabs...
real...
I think ill just pass it through mask for the bits you might need and clamp it xd
prefabs or other game objects
ur a prefab
might be fix our thing too with this, thank u
well to be fair, we all do look alike
having a child could be though of instantiating from 2 humans
first plugin i make to mess around and i freeze the server
starting strong
honestly a bit funny but im happy i of all new people to labapi found it bc i maintain my own projects so i had a better understanding of Why it was happening than most would
happened to us tbh but i just cached the result
side issue is that it's technically doing the same exact thing twice in two different methods (with regards to inside the using)
Happens
Like I found that PlayerPrefs arrays arent serialized correctly
and depend on your localization XD
(No one used them before so no one could find out)
i fix a lot of silly things like that where i do most of my stuff, yeah
it's very funny
PlayerPrefsSl or unity
Sl ones
interesting indeed
will do!
Happens
And I think to myself
What a wonderful shit
this is peak gambling
"99.999% of servers hang before generating a random number!"
This is why I use my own implementation with System.Random
axed
I don't need my shit cryptographically secure, I just need a random enough number that it seems random to the average player
tbf
it defaults to not cryptographically secure
the only issue is basegame doesnt use every method in there so they havent tested them all for this issue
honestly idk if it uses any of the min max ones
Quick question
I've been browsing for a while
I genuinely cannot find a way to get the vector3 center of a door
Should I do it manually or can I cast it like you can with IDestructibles to get center of mass
- create 0-extents bounds with center of door position
- loop through colliders, bounds.Encapsulate(collider.bounds)
- get final bounds center
Step 1 confuses me "create 0-extents bounds with center of door position"
I don't have the center of the door's position, that's my current issue
np

Bounds bounds = new Bounds(door.transform.position, Vector3.zero);
foreach (var collider in door.AllColliders)
bounds.Encapsulate(collider.bounds);
PrimitiveObjectToy.Create(bounds.center);
Well except this one
This one is weird
uuhhhhhh
Probably cause I had the door open
yeah that is probably causing mishap
maybe precompute the centers
or
add the y value of the center to the door's position
Ahhh smart!
well, overwrite it cuz otherwise surface doors' "centers" would be at y = 590 
Is it better to
Vector3.up * bounds.center.y
Or
new Vector3(0, bounds.center.y, 0)
the dboys when i turn them all into white spheres
xdd
They had it coming
is this real footage from pompeii?
NW Moment
"spell check was never an option"
I throught i was using the systems one or something but apparently not
private static readonly System.Random Rnd = new();
public static double NextDouble() => Rnd.NextDouble();
public static float RandomFloat(float min, float max) => (float)NextDouble() * (max - min) + min;
public static int RandomInt(int min, int max) => (int)Math.Floor(NextDouble() * (max + 1 - min) + min);
That's good for about 99% of applications
Now that I'm thinking though
I should just use Mathf.FloorToInt
Wait
That just does the same thing
But with a cast
Nvm
this looks so unclean though....
i just use Random.Range personally
Why
youre just casting and im p sure methods exist for this
look at unitys Random for example
why
I'm casting because I'm using System.Random and not UnityEngine.Random
UnityEngine.Random uses a different system than System.Random
why even
Because I feel more comfortable using System.Random, it's better documented what happens behind the scenes to make it work
Iirc Unity has never stated what algorithm they use to generate random numbers
If I'm remembering correctly, .NET 4.8 uses a version of the uh
Knuth algorithm or whatever
their random is very funny
it just returns a sinusoid between max and min value
it's bad if you need random looking results lol
I'm so happy you mention this cause it backs up my point
@slate flume for context
i was once making a flappy bird clone for fun
and iu used unity ranom for pipe offsets
and the pipe holes kept makign a sinusoid lol
i switched to system.random
and suddenly they appeared random
eversince I never use the unity one
nice
wtf is this
Factorio
Factorio
Absolutely fire
So yeah read the aforementioned
Which is wild
Generally I'm happy with my choice using System.Random, and I've had no issues
I know what algorithm is used, I know how it works behind the scenes, all that
I can't say the same for UnityEngine
.net uses xorshiro btw
In .NET something+
They changed algorithms like
2020 or something
I know SL uses 4.8 so I'm unsure if it still uses Knuth or what
is there any kind of event for deleting items? like through RA panel?
i need an efficient way to know when an item has been deleted
InventorySystem.InventoryExtensions.OnItemRemoved ?
The parameters are (ReferenceHub hub, ItemBase base1, ItemPickupBase base2)
I can only explain the hub being of the player owning the item, ItemBase being the item, but what is ItemPickupBase for?
Does this event also get called for Pickups?
check what fires it
Idunno how i did it but did some checking and stuff
In the event PlayerEvents.ItemUsageEffectsApplying += ItemUsageEffectsApplying;
If i block the usage of the Hat, SCP-268, the player can no longer open their inventory and the hat stays on their head :x
Whats going on
In order to determine if the player is wearing the hat, the game checks if they're Invisible
What's happening is you're preventing the Invisible effect from applying, but not actually preventing the hat itself from being put on
So the game puts the hat on, but then determines you're not wearing the hat


What im trying to do is
- Player is putting on the hat, with animation
- When animation finishes,
- Hat item
- Physical head object is deleted
- No effect is applied
Why not just disable the using?
I want the animation
Do
Timing.CallDelayed(-1, nything());
So it runs 1 frame before
i did it for a server of mine

new StatusMessage(StatusMessage.StatusType.Start, ev.UsableItem.Base.ItemSerial).SendToAuthenticated(0);
Timing.CallDelayed(ev.UsableItem.Base.UseTime - 0.1f, () =>
{
new StatusMessage(StatusMessage.StatusType.Cancel, ev.UsableItem.Base.ItemSerial).SendToAuthenticated(0);
cur_item?.OnAnimationEnded(ev.Player, ev.UsableItem);
});
here
if you don't cancel it, it desynced the game
Nice
already?
Day 0 or something idk
Good luck with server authed movement with no prediction (I feeled it was shit)
Yeah i got no relay so it wouldnt work anyways
Not like fully finished but i finished just syncing movement, animations, sounds
Still sounds pretty fast
Depends on the project, and how serious you want it to be tbh
Movement is one of the tougher ones in your list
Since i did do networking long time ago and i used same things i did back then
I also followed this tutorial back then
Creating Unity multiplayer games is simple with Netcode for GameObjects. Later it is easy to connect it with other Unity gaming services such as Leaderboards, Matchmaking, Relay and more! In this tutorial, I will teach you how to sync player movement and connect multiple clients to your game.
Start project files - https://github.com/Freedom-C...
I'll check it out in a bit
netcode isnt real
In unity 6 (and i think from 2022) multiplayer creation more simply
Netcode always good way
There's a difference between just having multiplayer and having a good implementation
Gangsta pineapple
They have
It is in their docs
Jesus!!
Yeah true its obviously not good i still experience lag with movement
Bestie!!
hey
Hey
get out!! (Hi)
I need to add more debug tools and man i have to work on the fuck ass ra panel😿

Car
I'd put that low in your priority heh
RA panel?
I should work on classes manager since i have the UI set up for it
Yes
Also looked at the tutorial and yeah it's not gonna be really good
But if you're just making a clone for fun then w/e
Oh wait you right lol
They dont
What specifically do yoj wanna nnow
Yeah just a shit coded clone tbh just to gain experience on multiplayer games
If you're going for experience on multiplayer games then I'd still reconsider your current implementation
Since i dont have money and assets to buy them from the store i picked SL to clone
Look into more advanced techniques
just use the exiled like plugin clSs
And it works the same way
have a config
you just dont have to inherit IConfig
True i'll look into it :'D also thanks for the advice
Plugin<YourConfig>
Or override the load config method
In Plugin
And then uhhh
this.TryLoadConfig
This will make it nullable config
With this manual route you can make it not nullable
how do u add comments
thats all from yamldotnet
[Description("meow")]
[Description("hi")]
shhh
maybe 3
ya
Can we destroy yaml
Oh yeah make sure you do not do stuff like SCP in the config and do Scp instead
Cus it will ser as |s_c_p`
Bc yaml
stupid
NW made a settings for snake case
yamldotnet is garbage
Slime r u a witch
Garbage collect it
we should gc you
Which you cannot change and I redid the yaml stuff for my own which does the same as you typed
But ofc the first letter is always lowercase
What the fuck
A wizard
@moderators id like to report an evil creature
Idk if u wanna see my impl (of trying and million errors) its public on GitHub with just mostly code and some minimal assets
Friendly fire is not tolerated
What the hell
Aren't You evil too
Fake, false
Its 1 am
Yes
this is every day
its okay
cuz im eve and id win
actually
Im so cooked
Bc you are evil
Cooking class with nausea and having puked multiple times is gonna be horrid
Might skip
for those who are curious this is what i got finished
for my SL clone
this is being held by duct tape😂
As unity too
these objects in the video represente the zones LCZ, HCZ, SZ and i have made theme transition between them it only happens once so i can put this next to gates or transition between zones to switch the theme
real
I dont really have any vid of me doing anything so
i was thinking of using Old Models since the new models don't have any public T posing Rigged ones so i can't really make ragdolls :(
its fine i like to share with people and see what they think and i would like to see what people cook in unity
I will try to create some new UI stuff with TMP
So some people who like doing broadcast and hints and other stuff might be pleased or something idk
yeah TMP is really cool
still better than real
i haven't really fully read its documentation i just know the basic stuff but it has a lot of potential
I used it 2 times
I imagine it's harder than it looks
I wish normal SL server wasn't headless so I could use cameras 
well it also does save like
some gigabytes
lol i have this reference image i took a week ago
Jovix what is next on yourlist of stuff
i did encounter a funny bug
"some" like atleast 20
Bald
S-boi
isnt SL like 5 gigabytes
BALD
The main or headless?
10 fps for you and the other 50 is diveded on the half of the server
as you can see this guy is doing his best Northwood RP
main
headless is <1gb
6gb ye
these are the sprites i have right now
i really don't understand how they did inventory slots since these slots don't make any sense at all
couldnt you theoretically install assets into the server so it can become self aware and produce screenshots
this is crazy bruh
it doesn't make any sense but i'll look into it later
since its almost 1 am i'll just add a ms tracker or some shit to test
gn
Big inventory, show slot
1x1 is my favorite
yes but most of them are not correctly fitting the other sprites at all
Can't you still the inv8 with slot8's?
yeah i think it will work i'll test it
it will take me time since i have to launch SL and get a pixel perfect reference
since without taking references from the game it will feel off and weird
they must be rotated to fit perfectly
but my guess i'll use a event trigger
yeah gg :(
i haven't coded anything for inventory yet
so there is still hope
since i only wanted to add ms text on top left
to help with debug and other shit
@hearty shard give me a name for my watermark plugin
if u dont im naming it watruemark
Thanks for taking the time to review the system I really appreciate that. I do plan todo base game changes so that other SSSS systems can be made compatible with each other as I don't want to limit peoples choices. I did initially use harmony patches in development(mostly for bug fixes) but I had moved them all to the base-game as of 14.1.4.
The generics are a implementation detail, I would like to hide them as I agree they are very confusing at a glance and you would never actually need to use them. Performance I'm not sure about yet as I have not tested with a full server(I will likely do some testing on a full live server for this), I have been keeping track of the complexity of each major operation and made sure I'm using the cheapest update method based on the change. for example the the ServerSettings.SendToPlayer methods are O(n) where N is the number of potentially visible settings. this should mean its quite cheap to call per player, on the other hand ServerSettings.BuildModel requires all settings to be looped over which isn't ideal but is necessary in some situations. Also PlayerSettings that have get/set properties will use the cheap base-game update methods internally so you don't have to resend every time you make a change. This will make it such that the "expensive" BuildModel/SendToPlayer are only required when either a setting is added/removed or a setting has a property changed which wasn't syncable with the cheap methods which shouldn't happen often unless your making a pretty complex tool.
For updates I did implement something similar to IgnoreNextResponse as I have encountered this problem in the past with the base game SSSS system. There's a enum EventUpdateFilter which allows you to ignore certain updates like Initial acquisition and reacquisition(reacquisition is where you receive the same value again, which happens when the client responds to a setting being send again) I find this to be a much easier way to go about it as the consumer, even if a little less flexible. if you need every update no matter what you can specify EventUpdateFilter.All to receive all updates, although I don't recommend it.
As for grouped the server-only settings into the setting models im not sure I understand it, are you refering to how ServerSided is specified on a per model basis, or that ServerSided is set when theres no Id provided, or something else?
I was hoping to cover most basis including complex stuff, ill check out your ASS.Example and see if its replicatable(in a reasonable manner) in this system
what I meant is that I was sad that you had to include handling for server-onlu settings in each setting model (like DropdownModel, etc...) instead of having a dedicated model for server-only settings (which is what I essentially did with ASS, although I haven't tested it)
I feel like it's nicer this way because then you can reasonably have the properties of the server-only settings be get set, but then have the client settings be only get only (because you cant sync the value back)
I feel this kind of behavior is justified (seperating server-only into a different branch of classes) because you cant dynamically change server-only, you'd have to resend settings to switch between server-only and client
did you ever check out ASS when making ComposableSettings btw? I'm a bit proud of it :3
i did, but only near the end of development as i was curious how other systems were made
alr, do you think it's good?
i wont lie, i found it abit confusing especially when looking at the example(i know half of that code is because EXILED/LabAPI) but i found the amount of events abit overwhelming. the API on the otherhand I found to be easy to understand at a glance. didnt look too much into it though
yeah I need to work on adding docs...
i think there would be alot of classes todo this(event if the classes should be small). ill look into it again, as it was something i thought about early into development and decided against it(although i forgot the reason at the time)
well the model is just the backend for the settings right? I kinda take my point back after thinking abt it
I keep forgetting settings are essentially static with that API
static?
you cant really change a pages settings now can you?
they're all based on the properties of an inherited class
and the models only do backend stuff to manage the properties
you can use IEnumberable inside pages, if you want dynamic settings
really?
yeah
you can even do Dictionary<Player,List<SettingBase>> if you want to show a completely different set of settings per player
although that should be pretty rare
not if you do menus :P
well you woudnt use that for menus
something like the keycard creator I made
you want certain settings based on a previous input
that should be possible
man I honestly cannot figure out where you evaluate the IEnumerable / Dictionary so I just give up 😭 🙏 if you say it works it works
check inside PageModel
the graph is exposed through the interfaces if that makes sense
idk man it's too much interface / generic for me
idealy you wouldnt have to read the code to understand it, will definitely make a wiki/docs to explain all its features when the time comes
also DnSpy is prolly butchering it all
yeah
you should just tell devs to just ignore the backend code and only read the wiki 😭
heres the original
yea DnSpy butchered it
it'll prolly be a lot more readable once you guys commit that to LabAPI
why did you use underscores in local/argument names bro 😭 🙏
xD
dnspy is so fucking outdated
and dnspyex is even worse
thats not related to anything
does anyone know a plugin or lib with a high quality player state save/load?
write to a json file
works 100%
No more like the actual data, not serialization
no but u can try looking at what like the billion xp systems do
what do you think i mean by player state
i probably couldve worded it better.
unless im being dumb here
i was thinking you wanted to
save
info about players
like stays
stats
in a database
oh i know how to do that. I mean I could learn Sql for that but i mean like
serializing a player's gamestate (inventory, role, hp info, position, etc)
oh
and the ability to unload it onto a player
i could maybe send u a fragment of my code or at least what i did
tmrw tho
thats fine im not doing anything
Terminate snake case
i have bad news for you
rust uses snake case exclusively
well
Snake case is psycho behavior
I also have bad news for you
I don't care about rust
heres what i came up with, not sure ifs a 1:1 but should be pretty close. only tested alittle and seems to be working. to register it would just be
ServerSettings.AddToGlobalPageDropdown(new KeycardCreatorExample());
ServerSettings.SendToAllPlayers();
making different sub pages types was probably unnecessary, a single subpage type that took a list and string(for the name) would also work
Confusing in first time
Are you working on SSSS stuff for LabAPI?
God I'd click for an SSSS wrapper in LabAPI
Not that I hate what other people have made just I wish to not rely on unofficial support and I don't wanna have to make my own
yeah
Because it's confusing 
tried it out and is alittle better imo
Middle of the night for me
Go to sleep my man
I'm at uni 
They hit me with 3 "Programozás alapjai" - Programming basics
Which uni?
not gonna disclose it
Alr
Ahhh progalap, lovely
when the basics is javacsript 💀
Xd
it is very easy to learn
ye but you should not start with that
start with basics that you getting familiar with data types
i started with python then went to js, i preferred js in the end 😭
and like actual basics
i mean ye you can write prob some shit faster in js since doesnt neccessary need any background knowledge of types
you only know like two, number and string
W
Python has alien syntax
Both equally sucks
Sea sharp
hello
hi
How much water do I need to add to the alap to make prog soup
I don't eat soup with pasta in it
I eat pasta with some soup in it
whar
Yucky
BASED, I love my pasta with soup
Suup
Real actually this guy gets it
i love this channel cause its basically just general
General with the plugin devs
A wrapper would be amazing but one other feature would be even better. Could we make SSSS options "hideable", but still usable by clients? They could be useful in a case like this:
There is a global dropdown to select a "page". Selecting a page sends different settings to a client.
Each page has its own set of settings.
Page 1 has a button. This works, since a button needs to be visible in order to be pressed.
Page 2 contains a keybind. Now we have an issue where if someone is on Page 1, they will not be able to use the bind.
Hidden options would solve this by hiding settings instead of not sending them 
Would this be possible? 🙏
this can be handled btw
already
how
you just send the keybinds in 1 page when client closes the settings
I also love today's sponsor, Raid- 
client tells you when they close the settings page
so you send keybinds only there
and then when they open you resync the correct page
but yeah i should make a labapi issue for what i have already asked for on SSS
yeah as eve said its already possible, although internally its abit janky/inefficient
yea
i think someone suggested client sided pages, which could solve this issue more efficeniently while also solving other problems like how you have to hoist all the settings on the initial send
@worthy rune
Your soup needs more pasta than soup
i might not be fully clear on everything but yk
2/3 of these require client changes
yum
not sure if wrappers are going to be a thing
you cant really do PlayerSetting.Get(ServerSpecificSettingBase user_setting) and the way your use them would be very different from base-game sss that it would be weird to call them wrappers
Worst case scenario I'll just steal the wrapper from eve again so
again 😭
Hi eve
ur fired
No u
Me when i only use it in one thing
@soft depot howd u make it be this stinky
howd u end up with a broken setting system that requires this patched

Eve can you patch your code
this is why we
That defaults to true 
CallDelayed(-1,..) 
also why return false here when you can = null it
you should join nw
Player.Get in SendToPlayer for events causing an error cuz it was called during Auth
you would introduce rust iterop and force ppl to use rust for it
Because = null defaults to true
Ban
for me its not broken
Xddd

Social engineer your way into getting that implemented
Actually that is a pretty good question why it is send during preauth
I wonder if riptide is gonna change when default SendToPlayer happens 
Eager loading (with an added benefit of nres)
When the auth is pre or something
Yeah but preauth ppl should not interract until they are auth
Tell that to nw
Tag hubert , he's the one who made the system

You can check the place where it’s used
eve
no...
Yes
Are you sör about that
Make it agpl so ppl can't just yoink
meh
good
True
Why would you use threads
For hints
Like omg...
if ur gonna incorporate ruei into hsm
GPL makes it so that you would have to provide it somehow if u ran a server iirc
and idgaf what people do with it as long as its not like
evil
AGPL forces you to publish the modified version if hosting
The WTFPL is a permissive free software license. As a public domain like license, the WTFPL is essentially the same as dedication to the public domain. It allows redistribution and modification of the work under any terms. The name is an abbreviation of Do What The Fuck You Want To Public License.
The first version of the WTFPL, released in Marc...
this is a good license
What the fucky
Plugins dev chat
you will never see the light of day
yea
Plugins dev chat?
Dev chat plugin?
Chat dev plugin!?
You don't qualify in that case
😿
gban
chat plugin dev
Chat plugin dev
what is a tr*nslator doing here
A language
I speak arabic , english and a little bit of french
I don't speak i just listen
eve should learn from you
😿
you shh
damn
I have no ear, and I must hear
more people from the northern woods???
pretty wild
Yes :3
:3
yo chat how big should i do a hub 500x500 or 1000x1000?
50000x5000000
Do 1000x1000 so its 1kmx1km
Hmmm i mean
for reference
im planning to use this
Oh ok i thought you were actually making a 1km x 1km map
399 meters💀
All that for background
yep
btw im not going back to general
im too scared
this is a 500x 500
and the thing selected is the player
fake
Who up developing they plugin rn
Your just here for the love of the game atp
im here because #general-chat is full of moths and fly
i don't trust anyone
crazy
😨 so im not allowed to share my unity stuff?😿
I guess you can check over watch since it probably has a function that allows scps to be heard by OW player
Im not sure but devs here will tell you exact script and code used for it
you need secret api
and then check SSSS
Lel
No!
Wdym no
No!
You too?
i just wanna be silly :3
Stop speaking to urself its not good for you
im gonna become the worst voices you have on your head
Fake
There is so much more voice
Like atleast 7
crazy
Are any of them freaks
You
I hate map gen man i can't get it to work in my clone
I’m in your head? 
Rewrite it
You can even network the rooms
So can move runtime
;torl
True but im not like using same code as SL btw
Im trying to use a different method then layouts
Which is why its impossible to make for now
SL using something like image gen or something
Yeah they use a 2D map gen that spawns room sprites then those sprites spawn the prefab assigned to them
Thats why 079 and 106 soft reworkes were a thing in 12.0 bc hubert rewrote map gen and it became more accessable
Hi
i tried to make maps generate in specific spots i wanted but couldn't figure it out how
The issue right now is that i need to make a 2D sprite generator that i can generate sprites from and assign to rooms
SL also uses a custom scene to generate icons for items
It was seen in a developer stream back then i think when they worked on 127
Check how Minecraft does it with it's rooms (trial chamber)
Oh ok i'll check it out
I say we send jovix to the trial chamber
Oh man😿
minecraft trial chambers are just 3/4 structure that randomly generate
I saw that minecraft uses chunk based generation i guess i can slap a box collider that covers the whole room from top to bottom then have that room has 2 empty gameobject called connectors now the tricky part is how i rotate and connect the other rooms not in code but general idea and logic
He trial on my chambers
💀
I guess i can have the shit hard coded and it spawns a specific room every time but differently rotated
yes
Or i can do the "peak" method and just make maps and swap between them when loading a scene
Oh so good idea then
minecraft generates world, caves and then structures
and at the end the world spawnpoint
which has rules
I had this idea of expanding a single room spawns in 0 0 0 and it spawns other rooms around it
are you doing it custom
or just making it compatible with base game?
Custom
then use a sort of dungeon generation
Oh cool i'll do more reasearch
For my SL clone
Since i want this system to be expandable in the future if i want to make some insane layouts
This message is so delayed lmao
There's an algorithm to do just that
Can't recall the name
i feel like map gen should be the easiest part
@celest thorn White Knuckle update btw
crazy
Then do it
I don't have any projects requiring it right now
Do it send to jovix, profit
Maybe later
TF2 reference??
I realize jovis mightve wanted procedural
instead of preset
so kinda harder than I thought
How can i remove the SCP-268 invisible hat timer off of someone?
Hell no
Map gen is the hardest thing right next after Character class manager
u mean make it permanent?
what are your map gen specifications
Btw i read the messages its not procedural
Its preset but isnt limited to layouts it makes its own layouts rather then manually doing it
So yeah i guess its procedural some one way or another
usable.ServerSetPersonalCooldown(0)
the labapi wrapper probably has a property like this
thankies
np
yeah that sounds hard
containment breach had occasional issues with end rooms spawning in the same place
You have to put it in the 20078 folder or global folder
Shocking on my bytes
Every now and then the entire server lags insanely hard and the console gets flooded with this but i have no idea what this means. Something something Cedmod? Can anyone help decipher this qwq
Cedmod cannot connect to some server
Check cedmod server for any announcement or stuff like that
Either the cedmod server died
Or you server is somehow denying the connection to cedmod server
Or cedmod is being cedmod
fyi, "no such host is known"
is a dns issue, or some other kind of network issue on protocol level
usually a result of a host with networking issues
or a ddos attack causing packets to not reach their destination
Hi! How can I change the ff multiplier in plugin?
PlayerHurting event, check if it's friendly fire, change the damage to your liking
find where its handled
oh i thought they wanted player specific or smth
Yeah I knwo
But I want to change it in a plugin
if player specific then yeah find where friendly_fire_multiplier is handled and patch it
Someone knows the shot error codes for what they stand for?
@unique crane you know what the code stand for i know 2.x is for modules but 1.0?
?
When the client says "Shot rejected. Code Error: x"
FUCK YEAH
Well depends
idk the exact numbers
some are module busy
etc
1.0
idk
its the most common one i've seen
true
True
you had to use code kadava at checkout for it to work 
jk just put it in the port or global folder 🙂
i added sigma ms
it actually works
when connecting my ping is 1000 ms💀
after a while it goes down slowly until it reaches 27 or 6 ms
ItemPickupBase.OnPickupAdded will capture every pickup that spawns, right?
Cause I've been using a combination of ServerPickupCreated, PlayerDroppedItem, and other events to try this but it still fails when a player escapes
Why is this needed
do any of u know how the fuck to use docfx
im so fucking exhausted
im trying to set up a doc site and im doing the Exact Same FUcking THing that i did for the old docs except its not working
I have no fucking idea
But the body text is basically saying my full name
chances this guy literally never hires anyone
Wait quick question
Off-topic
Are pickup serials different than the serials for held items?
Like
If I have an item
And then I drop it
Is the serial between it and the pickup the same
Sure







