#plugins-dev-chat
1 messages · Page 29 of 1
0 - float.MaxValue
renaming DoorName to Type is a breaking change
ideally you'd add [Obsolete("something")]
you also didn't change it in some places
don't really see why you would need to rename it
because is enum
changed in last commits
yea
but the enums are roomname and doorname
"doortype" would indicate what kind of door it is imo
^
but why need Room or Door prefix if its already in class Room or Door for property?
this change is just confusing cuz you didn't modify the enum's name, only the property
enum in assembly-csharp
i get that but then you would've set it to DoorName Name { get; }
And the pickup spawning is resolved in our internal PRs
..
!nwmoment
then delete changes for spawn?
bruh
Well im telling you right now 
:drakelaptop:
Same for scale
no PlayerScaleMessage 
How do you know?

i don't
DoorNames as strings are internally used only for RA teleport and pickup spawning
Like when you open up LCZ armory
also there are some niche stuff in the player wrapper that can cause NREs
like using GameObject to check whether the player is offline, null conditional operators on unity objects
i might make a PR but if it's fixed then no point
not the only one but hopefully that gets merged soon
but how do here? that or
Well I still dont get why you want to change it to type?
Thats misleading
Its name of the door
not its type
but its enum
type would be LCZ, HCZ, buldoor, gate
and it have logic named like Type
no access
serverhost-suggestions
Server host suggestion
But it is NOT a type of the door

enum is not name
enum is literally a number with label, so named number

In which assembly is the StringBuilderPool located?
in NorthwoodLib.dll
door.IsBulkhead
Thank you
the prompt was "gaslight me into believing that type is a better name" 
I only agreed with this idea #serverhost-suggestions message
Well if you take out of context that there are such types of doors as CheckpointDoor, BulkHeadDoor, Gate, LczDoor, HczDoor and EzDoor, of course the AI will give you this answer
Is there no way to get the player's previous role?
where
RoleChanged event?
Can't I get it directly from the Player class?
Nope
It was simpler with Exiled 
Feel free to make suggestions
On github
🥀
thanks, i will
Or PR if you know how to do it within player class
I think it can be as simple as registering for the OnRoleChanged
Changing it internally and then unsubscribing during OnRemoved()
Armors donotdrop bool was so good now roles that created have more stuff in it can't do shit since when selecting things you will drop excess stuff
are you talking about removing the role?
I can try, it looks simple :)
👍
but why remove it when you already subscribe to oldRole
Any help how can i disable this mechanic without editing server config to enable more items in inventory?
Its a datastore, when player left the OnRemoved/OnDestroy called in the datastore
oh i got it
thanks
Im having like a trouble outside of sl, how can i make like sort of placeholder items for like example SL guns but on unity so that i don't need to import all of SL assets
like what could be the best idea? make a box to display dimension or just to make like a python script to read and make coordinate system with gizmo
nvm
assuming you use unity lol
you could extract SL and export a package containing item prefabs
death event
so that's what people have been complaining about
ev.Player.GetDataStore<>()
lol
but how call destroy
why its internal
Data.Destroy()?
no
publicize
why they added it but dont make it public?
workaround
idk
create a class in the data store
i publize everything
and reconstruct it if needed
Noone controls what I DO!! whahhahaha
you do
it better
im dont wanna publicize stupid thing which must be public
skill issue
nw moment
Actually I wonder why destroy is not publi
disconnect and reconnect the user to clear the custom data store 
they thought that internal was available during inheritance
there are no other reasons
why would they make it internal if not for internal use
probably bc they didn't want devs to corrupt state
but then they should've provided a way to remove the store
public class MyStore : CustomDataStore<MyStore>
{
public MyData Data { get; set; } = new();
}
public class MyData;
over-nesting
create xtension methods
public static MyData GetData(this Player player) => CustomDataStore<MyStore>.Get(player).Data;
public static void ResetData(this Player player) => CustomDataStore<MyStore>.Get(Player).Data = new MyData();
im dont wanna using over-nesting
bruh
you're gonna have one over-nesting
then it's direct access with the extension methjods
reflection better
smh
actually, can't you just invoke the method via fancy params in reflection
Yea the problem is for example
Npcs How to i make it in a way you can understand where they are looking
Gizmos.DrawRay
Only problem i know thought about it you can see them through walls
lol
well crap
if you're in the editor then it's no biggie
you can raycast to cull it ig
not worth the hassle imo
yea
i know
like i want to be able to be easy to kinda understand where the npc will be looking
I feel stupid because I swear I've done this before, but how can one get the ItemBase from an ItemPickupBase?
it needs to be an item, not a pickup
so you have to give it to someone
if your planning on saving items and pickups and stuff like that, use serials
why doesn't the effect have any identifier?
I just need to get the KeycardItem from a pickup to read its door permission flags
InventoryItemLoader.TryGetTemplate
how can I assign in the config what effect I want?
use the name
example?
I dont think I can use the template either because I'm working with the custom keycards, so the template would just be the last custom keycard that was made
right
go through the effects of the player
Player::GetEffect
I'm really gonna need to keep a dictionary of all custom keycards aren't I 
there is KeycardPickup too afaik
Not that I've found so far in the hour of searching
Its probably me
KeycardPickup.Base.Details

public override void ProcessCollision(Collision collision)
{
base.ProcessCollision(collision);
KeycardButton component;
KeycardItem provider;
if (!NetworkServer.active || !this._openDoorsOnCollision || !collision.collider.TryGetComponent<KeycardButton>(out component) || !(component.Target is DoorVariant target) || target.ActiveLocks != (ushort) 0 || !target.AllowInteracting((ReferenceHub) null, component.ColliderId) || !this.Info.ItemId.TryGetTemplate<KeycardItem>(out provider))
return;
PermissionUsed callback;
if (target.CheckPermissions((IDoorPermissionProvider) provider, out callback))
{
target.NetworkTargetState = !target.TargetState;
if (callback == null)
return;
callback((IDoorPermissionRequester) target, true);
}
else
{
if (callback == null)
return;
callback((IDoorPermissionRequester) target, false);
}
}
basegame does this
which yeah is TryGetTemplate
KeycardDetailSynchronizer
might have it?
ughhhhh
the keycard system is weird
however
public static void ServerProcessPickup(KeycardPickup pickup)
{
ushort serialNumber = pickup.ItemId.SerialNumber;
KeycardItem keycardItem;
if (KeycardDetailSynchronizer.Database.ContainsKey(serialNumber) || !pickup.TryGetTemplate<KeycardItem>(out keycardItem))
return;
NetworkWriter payloadWriter = KeycardDetailSynchronizer.GetPayloadWriter();
foreach (DetailBase detail in keycardItem.Details)
{
if (detail is SyncedDetail syncedDetail)
syncedDetail.WriteNewPickup(pickup, payloadWriter);
}
KeycardDetailSynchronizer.ServerAddDatabaseEntry(serialNumber, payloadWriter.ToArraySegment());
}
At the end i made it with mesh render and its looking like this :3
i just like dont know for pickups
I see a line in there that might work 
performance 
oh wait
Who cares they are just visual
it's not a gizmo
why?
why not
what did i do 😭
why do you have beef with every single person in this channel
i dont!
i think this dude can help you with your anger issues
yes you have beef with mee every day ;(
whyyyy ;(
errrr
skill issue, you cannot do 2 things at the time 
i will do horrible things to u
too kind
two beans speaking (yes i've made a character controller for my unity)
i need to figure out making a game one day
but oh well
this is not for a game
this is for meoweditor
lol
SL character controller recreated
and it works
:3
useful for movement
and doing cool stuff
make an SL simulator
what does this even mean
;(
💔
did you make relative positioning
no fuck no
and are there moving platforms
rah
that you can stand on and move with
hubert.exe
we divide stuff based on useful and some server needs stuff like moving platform so we call them "addons"
you can pop an addon and it works and you can compile it, same behavior will go to the server
same thing for example texttoys
are made to be the same so we can test them in unity and import them once done
just quality of life stuff for builders
what does this mean though
I recreated the movement like on sl
so the height jump
etc...
so if for example we want to make a map
we can test it directly on Unity
and moving platforms work
instead of going on SL and hotreload
obv
do you mean in game?
can not make a proper character controller with parenting
in unity
in game is not possible tho
so
lol
because tp is unberable i tried that alot of time ago
what specifically r u doing
you want the one i've done?
I use a modified version of the example 3d
yea same hubert used
i know this by looking at the previous client
hubert started from that and slowly modified it
can you send that file 😭
so i did the same
ok
when someone will be using #1371740029449146389
i tried to implement a collide-and-slide algorithm
(
failed miserably
in 20 years
i tried to implement a similar way on SL for how the roblox characters behave
so they can stand on top of a moving platform
but its impossible
Here
this is 100% basic one just tweaked to work on similar stuff to look like sl
i probably didn't get the numbers right but who cares
if you want i can send you prefabs and everything
but note that they need some packages
wydm?
sl doesn't have moving platforms
im getting confused
i swear
why couldn't unity make it so we have an option for local space movement with the CharacteController
but custom platforms
and elevators

let me try it
if i do
i will send you the file :3
I love how my test project is called HUBERT
bruh
yea
my unity project for testing movement is called "HUBERT"
Stop throwing rocks at people
I LEVELED UP?
lol
Idea: we start throwing rocks at her
YES
negative 329
i mean
GET AWAY
Nah
she doesn't
@upper vapor if i got it first try im going to scream
GOT IT

you what
what you asked for
yew
you wanna see?
sure
lol
can u wait after i ate, wanna hear u scream
i got it
but its not what he wanted
[ERROR] [LabApi] 'MissingMethodException' occured while invoking 'OnPlayerDeath' on 'SB.Core.Handlers.StorageHandler': 'Constructor on type 'SB.Core.Storages.Data' not found.', stack trace:
at System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) [0x0022b] in <13c0c460649d4ce49f991e2c222fa635>:0
at System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x0009c] in <13c0c460649d4ce49f991e2c222fa635>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <13c0c460649d4ce49f991e2c222fa635>:0
at LabApi.Features.Stores.CustomDataStore.GetOrAdd[TStore] (LabApi.Features.Wrappers.Player player) [0x0004b] in <bea7f403b90e4786abd99fa819db9853>:0
at LabApi.Features.Wrappers.Player.GetDataStore[TStore] () [0x00000] in <bea7f403b90e4786abd99fa819db9853>:0
what wrong?
Your ..ctor for it is fucked
you need to have a parameterless constructor
No I know it's not available during inheritance
or specify no constructor
Currently even if you destroy a store and then call Get again it'll create one automatically. Until my pr is merged
but how destroy?
Currently you can't. It was never intended to be destroyed
it dont have logic then
What
There are pending changes in a pr that'll make them work more like how you are hoping to use them
wait what
if i wanna reset all values after death, me need do by hands for each property
No?
i guessed lol
Correct
Instead of allocating a new object
it easier just by create new
Publicize
skill issue
You having issue I'm not
Yeah haven't had any of these issues either
make it public nvm
maybe
The problem with removing is that as soon as Get is called again it'll create a new instance
it's not normal that all the necessary properties or methods are closed from the outside or completely Private
that's what they want though
in not third-party framework
The reason it's private is because it doesn't function like most people would come to expect.
If they destroy an instance in the current version (imagine it's public/protected) then they would come to expect Get to return null. Instead calling Get will create a new instance and will never return null.
Pending PR fixes multiple of these things. I'll also make Destroy public as it will no longer register an unregistered store automatically
Here some other things with datastore
https://github.com/KadavasKingdom/LabApiExtensions/blob/main/Extensions/CustomDataStoreManagerExtended.cs
I use it because i want to assign those stuff via array of types
And most of the manager is typeof(TStore) so
can i ask you one thing?
what should i use to open generators and a chamber
you could cancel the event and invert IsOpen
im know about create on get
and used this logic with destroy
storage only for alive players
but same question
what wrong
you need to call the static Destroy method
wait nvm
im dont know java
stupid language
This sounds SOO familiar to me
What guh
I hate java so
how i can get this methodinfo then?
Publicize
Try making the ctor public.
and invoke
For the millionth time
Current version uses reflection. Future PR does not
im dont wanna use fucking publicize for 1 method
then modify the assembly using dnSpy
Well you need to get the generic version
Check what the manager does as it also uses reflection
I'm on my phone atm
tpyoed().GetMEthod()
INSTANCE | NonPublic
how do you know
Check here and the next 4 lines
from memory? from checking the method starting
instance bc its static
nonpublic bc its internal
i meant as in how did @random scaffold do it
MethodInfo? destroyMethod = typeof(CustomDataStore).GetMethod(nameof(CustomDataStore.Destroy), BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
Type type = typeof(Data)
destroyMethod = destroyMethod.MakeGenericMethod(type);
I'm on mobile excuse the formatting
can i share the pub labapi?
I mean they said they didn't want to use the publicized assembly
and still dont know why
@random scaffold use this instead
<PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.3" PrivateAssets="all" ExcludeAssets="runtime" ReferenceOutputAssembly="false" Private="true" />
indeed
I love the bepinex msbuild nuget package
it's good but i'm too lazy to install it xd
Doing it in props is nice because you don't need to repeat it for every single project
okay so
why is it that MSBuild sometimes recognizes Directory.Build.props.user but sometimes it doesn't
ok
Well depends on your folder structure
Also Rider tends to fail to find it so you have to empty the file. Save it. And then undo and save again
Really frustrated with Rider about that and dotsettings
but the build fails too
Name
- Solution.sln
- Directory.Build.props
- Directory.Build.props.user
- Project
--- Project.csproj
Yeah the user one should iirc be next to the csproj
i don't want to duplicate it
i use smth like this
.targets do it for me
<Project>
<Import Project="ReferencePaths.props.user" />
<PropertyGroup>
<AssemblySearchPaths>$(AssemblySearchPaths);$(ReferencePath);</AssemblySearchPaths>
</PropertyGroup>
</Project>
What dimension does this imagine have?
<Import Project="ReferencePaths.props.user" />
i don't want that
i want it auto-imported
thats inside the Directory.Build.targets
I meant Height and Width of the bmp
still have to declare the import myself
lol
sadge
312x312
hmm then 434x324 shouldn't be much
it just take a wihle
how just I need to figure out why it says hello world 
you wanna make image or video?
image only
I guess it's the way I do the loops is fucked
I switched from looping over height and depth to the flat 20k loop now
now it didn't even spawn 
limit
65534 arguments
and 65534 symbols in argument
5000 already crash the game
20 000 crash the server
System.IndexOutOfRangeException: NetworkWriter.WriteString - Value too long: 129133 bytes. Limit: 65534 bytes 
height or width
do I really need to optimize the image rendering?!
use convert
Where is prefab types stored?
You need to use Arguments
I already do that
They basically go around this limit as each one has 65534 limit itself
Then you need to split them more
It was the TextFormat that was causing it
its kind of inconvinient that that error is not printed to the console
but instead only in the logfile
for what
To go around the networking limit
...can u do that with hints >:3?
Erm noo
damn
we are talking about TextToy
lame
what if you use <mark> instead of <color>
1 character saved per pixel
u can use the scale tag to get multiple pixels with 1 character
I'm currently stuck on trying to scale the pixels correct as the image is not perfect NxN but NxM sized
use scale tag
sets the width of characters
?
?
Sqbika is talking about how the text should be layed out with arguments
how to make the format and arguments form a coherently looking image
kill quotes 😼
it reminds me of when you die in no man sky
haven't played it yet
it's so weird that you no longer have that fortnite character pfp with a green name
I know i have now MY own character so yippe

Goated played it both in vr and normal
isn't that minecraft just in space
yes and no
its infinite in the real sense
trust me when i say INFINITE i really mean it
i've played it when it was out
and that infinite was always the same world with different stuff
but now EVERYthing changes from a world to another
too much 😔
honestly i wanna remake it on SL

😭
imagine how cool
exploring planets on SL
WAIT
DIMENSIONS
:3
None can steal this idea
i will trade mark it
RatLab
that
people who play this game are like rats
doesn't sound very good
test subjects lol
NO! PLEASE NO!
then you can make your games truly possible
at a small price :3
i don't have one
"i prefer not going outside a basement"
I PREFER GOING OUTSIDE of it
lol
not being a possible slave in there
pascal's wage
schrödinger's paycheck
because being a researcher is actually good
lol
new basement-mate
No i don't wanna be inside a basement ;(
it's fine here
there's a painting on the wall of a window drawn with crayons
it almost makes you think that you can look outside
the crayons are eaten?
well what else are we supposed to eat down here silly
escape
trust me
thats not hubert
thats mubert

x3rt has RoleTypeId.ApiMaintainer
there's no EscapeScenario for that
crazy
HAHAHAHAHAHAHHAHAA
or was it ItemTypeId
nvm that's still ItemType
public void Escape(PlayerEscapedEventArgs ev) {
if(ev.Player.Role == RoleTypeId.ApiMaintainer) {
ev.EscapeScenarioType = EscapeScenarioType.Custom;
ev.NewRole = RoleTypeId.None;
}
}
where?
that makes them no longer alive
hubert evil brother
IM SPEAKING ABOUT IT
indeed
IM LETTING THE WORLD KNOW
where you find all of this cat gifs lol
I just have this sticker lol
and this
all stickers you can get inside of one of the best scp sl servers 
( ͡° ͜ʖ ͡°)
nice NW bug
I give players a script using player.GameObject.AddComponent<>
Is there a way to delete/remove/destroy just that script?
i don't see any bug?
Object.Destroy the component
seeing through walls isnt a bug?
thats not noclip
it isn't a bug
it's a feature of 3D rendering
its similiar to the bug in bathrooms where u get stuck and can see through the wall
i think
can you see through the walls when that bug happens
that is fixed
wasn't it fixed in 13.5
let me pull up changelogs
i cannot find it
i went back to before megapatch 1
but i remember when i was playing before megapatch it was there
MPIII when
I have hundreds of them saved
lol
when are you gonna hit the gif limit
cuz apparently there's one
there's one?
yo you want a cat gif?
Good chance I already have it
He didn't make it because that cat is called Robert
Here I'll show you a bunch of them
Cooking atm give me a sec
There are a ton more
Yeah Robert
There
we are dealing robert gifs
minecraft smoke particles
NAH

how about a hubert screenshot in return
No credit I made this totally
i should have one somewhere
ok crazy i want it
nah stealing is crazy
I made it
HR report is about to arrive 
Trust
HR stands for Hubert Replies
HR stands no reply

i've never seen someone tell me hr replies lol
everyone in HR is great
(you are saying it to keep your job)
if its true send a cat gif
not what i wanted but i dug up a stream
HUBERT WITH HAIR?
this was the partner stream from
Leaking crazy
HR replied to me once
ONCE
i only made 1 hr report

lets make it 2
ok im reporting you
;(
Wtf?
why would i be?
u play sl
u make plugins for sl
how many of these are in this server
a lot
Ok this is crazy
i say stuff in private and only to ppl close and then its usually referred to one of us
but i know people who are
Wair
now that i think about this my best friend is like this

btw pascal best philosopher
he tells jokes only to me
because its black humor, but other people are like super mega against those
but none knows he does this kind of jokes

now i know
hmmm
i would say a hungarian insult one of my classmates uses on his best friend but uhhhh
😭
hungarian are crazy
and we both know why
there were 2 reactions when people found out we were italians
I WENT THERE
LOL
I KNOW WHERE IT SI
Crazy
Btw the 2 reactions were:
- Curse at us, fascist songs
- Being the nicest human beings and asking us about italy
location
gugli maps
i went there for a week
Nope im not
don't worry
i found next the suicide bridge someone text
and it was really disturbing
im never coming back in that country
😭
Stop being so loud 
im not in the basement
what's the volume of text
it was someone text written in a marker saying like he was sorry
and then just a bye
with a sticker next to it
i think i still have the photo of the sticker
ur loud!!
oh and the next day
a guy climbed on top of our hotel
and just was trying to show off his dick
I'm not I'm just cooking
ur weird
not enough huh emojis
IM NOT WEIRD
gonna cook u
i have videos of police there trying to find that dude
it was crazy
because at the start we thought about a suicide happening
issue_
smh
let me find if i have the video of the police surrounding our hotel
@stuck peak can i get you to pr to sl
they were fast asf
can i :3
i can vouch that
should've done some
make CharacterClassManager.Init int playerCount = ReferenceHub.GetPlayerCount(ClientInstanceMode.ReadyClient, ClientInstanceMode.Host, ClientInstanceMode.Dummy); ignore overwatch :3
i remember i was after corvin
in the metro
and then after you exit you see the hotel in front of the metro
i forgot
that's not M4 though 
"a semmelweis klinikák állomás következik" this one?
or kálvin tér
LoL
not the first time i've come to this realization
they cursed at us ALOT
like ALOT
im not even joking
and at buda we encountered fascist
near the ferris wheel
buda more like budi 
btw in all of that situation the staff was laughing when we told them that
they didn't believe us
and we went before israel prime minster came
like a day before we went back to italy
;(
but yea it was crazy
Hotel AKEAH Verdi Budapest
this was the hotel
ur so stinky
tell her
i uh
yea
Idk those ladies were stupid or what
we were panicking and telling them "THERE'S A GUY ON THE ROOFTOP SHOWING OF HIS DICK"
and they were laughing and talking in hungarian
someone then translated
u gotta stop talking about this 😭
this is stinky
and they were cracking jokes
I would do that too
its so fucking funny
i would crack you too
The two server host fighting each other
31K HUFS FOR 2 PPL FOR 1 NIGHT IN ÜLLŐI ÚT??
if that's not a deal then i don't know what is
Btw can i ask you something
WHY TF A MONSTER COSTES THE SAME AS WATER?
WHY?
Yea buzz is really accessible
and people didn't care enough
you can drink tap water but in most places it's disgusting
pannon-víz is tasty
we bough alot of alcohol and i got drunk there for the first time
lets say it wasn't the best night
class CustomRole : HumanRole








