#plugins-dev-chat
1 messages ยท Page 42 of 1
I'll publish some project templates some day
With the option to include the publicizer
genuinely about to crash out why do labapi perms not work 
What does your permissions file look like
i fixed it now, default perms werent working so i just gave the perms to the "owner" group instead for now
as it is only a test
also, does anyone have issues making server specific dropdown settings? secretapi is having issues and im unsure if it's specific to SecretAPI or not...
Wait secretapi has a wrapper for SSSS?
nameless cooked so much?
yes ?
Works for us
yes and it's peak
Crazy
nameless i was searching
@hearty shard !!!!!!!!!!!!!!!!
We don't use SecretAPI though

this is super annoying now
Just made our own wrapper around SSSS
wat
OH
so i understood how it works
its an abstract
that registers
Nameless you are smart
yea
the only unclean part is the duplication way
Sad
and i cant figure it out for the life of me
U issue!!
wdym?
TRY IT IN 14.1.1
when im home
how did this even break
yeah
i mean i think it did
Honestly i wanna give you a kiss other SSSS implementation are junky
Get away
If anyone has a bug where armor/wearables disappear on role change/on player escape, just patch WearableSync.OnServerRoleSet and recompute the wearable state yourself.
If the player has active 1344, add WearableElements.Scp1344Goggles to the flags, if they have armor, add WearableElements.Armor, and then call hub.OverrideWearables(newFlags)
And NW, next time you close an issue for "being in the issue not to report list", please spend the 3 seconds it takes to copy/paste the element in that list that matches the issue. What's the point of helping you guys with bugs if you're just gonna treat it that way? Thanks.

Police WILL be called
me when nothing has been changed between 1.1.0 and 1.0.0 to break this shit
lolol
I abuse of dropdown
lemme check
My phone is gonna explode
I have a question tho
how do you get settings?
I have a dropdown and i want to get those settings outside for example when you click a button
how do you do that
CustomSetting.GetPlayerSetting<YourCustomSetting>(SettingId, Player)?.Options
Oh my god this is junky asf
or you can just do GetSetting?
yeah
you can do CustomSetting.Get<YourSettingClass>(id)
if non-player specific
i need obv to be always player specific
@icy knoll works fine on our side so defo not labapi
crashing out rn
it's coming from a patch
especially transpilers
that specific patch is a postfix
there is the error
if you want to have a gander
it could be null
something inside of selected option is null
possible?
probably still didn't sync
ive used the base game method of getting the selected option
it happened to me that sometimes its null
that also throws an NRE
so I think it goes even further down the line
smth very far down is null
it worked with secretapi v1.0.0 and scpsl v14.1.0
but as soon as i bumped both versions
crash
i think smth base game broke that secretapi relies on
nothing changed
on dropdowns
especially
i can tell you that because on my server they work fine
and i abuse them quite alot
Ok my best guess
get_SyncSelectionText() is throwing the error
because is null
add a null check
they CAN be null
when the player is initializing
idk how to help you lol
because i don't have the issue and its something you probably do
i need to restudy pratically 5 years of stuff
and honestly im applying some secret technique to just not study everything lol
i have 1h 30m of me talking max and i can apply some secret tricks to actually talk less and not bore 7 people
@unique crane random ping but are you able to tell me why this issue was closed? https://git.scpslgame.com/northwood-qa/scpsl-bug-reporting/-/issues/1495
deleted user
didn't like it
I just wanna know if reporting new issues is gonna be worth it 
Who knows, could've been a mistake
Let me ask crimson
okie so i downgraded to secretapi v1.0.0, it's a base game issue ๐ญ
secretapi ssss dropdowns are crashing out
Hm?
smth in the base game is null making it so whenever you access the selected value, an NRE throws
i just tested dropdowns and they are working
well checked the do not report stuff and not matches with this one
just admit it skill issue 
in secretapi, they are sadly not and im tryna figure out why
it's a secretapi issue, not me ๐ญ
?
Hiiii :3
Eve how about you create a method to get the original setting and call that method in the patch
im trying not to
because my brain is reading stuff that i find so stupid
and hard
just.. i like removed hint rate limit
Its already removed
@hearty shard ๐
Nameless's skill issue?
ye
see
im not going to switch
my abuse of dropdowns
will never end
because people are stupid
and i found out by QA they find easier to understand dropdown than double button
for some reason
so yea
Should've dropped out 
Give your soul to SL
Honestly im going to pass the exam
even if i just stay silent
im not joking
for how much extra school stuff i did and credits i have to spend
but i cannot recieve the bonus because my best friend has higher grades than mine
;(
so most likely he will recieve it
its just 10 points tho
i have around 50
and he has around 60 thanks to that
so we are pratically same
is spinning the barrel of a revolver client side?
Nop you still send request to the server and server responds back
Then it starts
So you can just RevolverRouletteModule::SendRpc()
which will spin it
for the client
I am running RevolverRolutetteModule::ServerRandomize() and it aint spinning
do i need args with SendRpc or does it do everyone automatically?
nice
IsBusy doesn't work properly :c
it isn't true through the duration of the animation
@grand flower But SL default channel is Reliable Ordered
So if RoleChange msg drops, it will wait until it gets resent and then apply the scale?
__result = CustomSetting.Get(__instance.GetType(), __instance.SettingId)?.Base ?? null!;
Already done xd
thats required for it to even work at all
the reason it was probably unreliable at 0.1 delay is that it could be 1 or 2 frames between sending the message, and for the scale message to work it requires a 2 frame delay
Well fixing the null ref within the role changing will fix most of the issues
Literally is CustomSetting.Get(Type, int)
already exists
The real solution is ofc
Timing.CallDelayed(0.0f, ()=>
{
Timing.CallDelayed(0.0f, ()=>
{
//Your code here.
});
});
true
Interesting, kinda assumed based on Mirror's definition of channels
That does solve the ordering issue, however the fake role sync stuff remains
Additionally, sync vars really are meant to be used for stuff like this
RPCs are useful but if you're using them for stateful stuff, it gets messy
Well obviously mirror was not meant to use with faking syncs...
not rly sure what u want
I obsoleted stuff
I added a few setting stuff
And a new constructor for keybind setting
Nothing is deleted
So idk why it works on one and not the other
- the scale reset on role change is intended behavior
I guess not, but it's a fact that it is used by a lot of plugins to hide players/dummies from others since we don't have those capabilities
You have to do that even without the fake sync
I understand
I would like to look into hiding players in proper way
dropdown settings are broken lol, that's as much as i know
everything else works fine
iirc we didn't have that issue prior to 14.1.1, at the very least we could change the local scale directly and it wouldn't be overridden on role change
oh
only broken in 14.1.1
The new scale stuff does make that harder
14.1.0 works fine
then idk what nw changed
@unique crane can u givr full changelog for settings from 14.1 to 14.1.1
SSSS
Hmmm ok
(my point still stands though, this should really still be a SyncVar, even if you want it to reset on role change, it could be done with it)
Just good to know about the default channel, ty
What bool allows spectator to use keybinds ? I don't find it.
nvm
Make sure you update your assemblies
There's lots in SL that's done with RPCs for syncing states, that's my main gripe with the new stuff heh.
Exiled moment, thanks for the info.
well exiled has no official release for 14.1.1
They have been pretty slow recently due to the whole github report thing.
theyre slow because they have lives
exams !!!
Or so i hear
And jobs
And stuff
Oh also, how do you use animated hints ?
Censor it please. 
Well first I have to find the commit ID for the 14.1
so I can download it locally
(do not ever compare anything to master on gitlab, especially for SL)
smh....
why!!
It crashed it several times
damn
Only these 3 were changed
with SSKeybind having the spectator fix
SSSlider sync drag
And SSSSync this
whats the sync change
thats it?
- method name change
wasnt that in 14.1?
@icy knoll i blame you then
Yeah 14.0 to 14.1.1
cuz no changes to SSSS and iirc you were the one that tested
just all i know is that secretapi gets an NRE
someone did
Obviously we can all here agree its Eve's fault
true
No!
thanks david
OriginalDefinition didnt get changed? hm
guh
Only thing I dont like about SSSS is that there is single method for procesing all inputs
and like
Do the rest yourself..
if i ever become game dev im making SSSS 2.0
if i ever become a game dev im deleting the game
And then explain it to everyone that they need to refactor their code again
did i ever say breaking change?
smh
ill just make a new system and keep the old one
just obsolete everything 

This is why lumi isnt dev
probably idk
Apply next time
they havent opened apps for a while
there is no such thing as just obsoleting
Just make sure eve cant apply
You either delete it or you keep it the way it is
GUH
dont worry, i broke into the hr system and put her on the DNH list 
Good good
should do that to you
But anyways
some kind of wrapper for SSS so you can like
new SSKeybindEntry(...).OnPressed += ...
Considering the current crash with applying scale on role change, what are the chances of the system being outright replaced with a sync var in the near future? ๐
would be nice
why dont you make a labapi version of SSSS to do smth like this?
or is it too far out of spec?
No its that no one did it
id do it if yall opened apps again ๐ญ
make source generators to migrate
chatgpt
i would do it either way
but if i'm not in NW
the chances of getting the changes accepted are negative
Ive never done fake syncing buuut
does health and stuff get synced properly?
Those arent sync vars either
They do, we send them as part of the fake sync message
But also: they should be sync vars ;-;
Stateful RPCs are devilish
Are stats mono behaviours
I dont think so
Nop
yeaaa...
They are just objects
That's another problem heh, but not as big honestly
Actually doubt it even affects us
Scale does because it messes with other stateful rpcs
The good news is that at least now that I know the default is reliable ordered I can cleanup our code a bit more, but unfortunately can't outright get rid of the issue
Probably to let everything setup on role change and then update with the latest data, if I were to guess
How does Mirror handle sync vars
Updated at X frequency?
0.1 I believe?
Ill just see what happens when I put the role sync msg in front of the role changed args
If you wanna keep using RPCs for scale, at the very least I'd recommend adding scale to the role sync message
workaround:
set role, send the rolesyncinfo message yourself and _sendRoleNextFrame to false on the roleManager of the hub
Thats
Good idea
I like that
Would resolve us having to delay the fake role sync and then delay the scale
it could be in the spawn data
any FPC role would write the scale, not just position and rotation
Spawn data has it already afaik nvm got confused
I just wanna be able to set the scale on role change and it be received at the same time the remote client receives the role sync
Because rn players see the dummy at full size for a split second, before it gets set to the correct tiny scale
Which is... not pretty
Does anyone know when the labapi repo on github will be updated as well as the nuget to the latest version?
never 
@harsh thorn
nameless
:(
can i ask you something
no u cant
@marble cobalt 
damn
xd
you know you could use Custom IDs
for
wat
I just use a string identifier and convert with GetStableHashCode
CustomSetting.GetPlayerSetting<YourCustomSetting>(SettingId, Player)?.Options
Rn its like this big ass line
you could just use
CustomSetting.GetPlayerSetting(Player, "String ID");
So no need for it
its so fucking massive to actually do that
instead this is cleaner
in my opinion
nah using T >>>
Its big ass fuck
its nicer to use
but its massive
nuh uh
it avoids casting urself
if it casts for you
bruh
i like the current method
maybe im biased because i made it
but yeah
Cuz i forgot to commit mine
Um
Me when
CustomSetting.TryGet<T>(player)
Well actually theres out T
Lumi is a lier
then i will abuse of that
i guess
oh wait
i cannot
;(
i still arent happy with my SSSS wrapper
ADD IDS :3
been trying to figure out fixes
Gross
fixes for what?
we should have setting categories too maybe?
UUUH thats good
no i meant like for CanView as well
merge them together
wat
that is cool asf
rather than copy and pasting CanView
this is so true
With the header
just have a category
yo jesus back?
he just like that
dont question it
fair enough
bro is spying
hey
hi!
cant talk or what
its totally not what i do
ur not real tho
ced777ric: "im busy"
slowly getting back
u aren't real
Nice to know
also ced777ric at a random ass point: "im watching you guys"
cedmod v4 under way then 
im debating to rewrite the blazor server sites to hybrid
cedmod transpiler update 
or just figuring out why the fuck sometimes they are slow
ask chatgpt 
i tried rewriting to some js framework in the past
joking around sometimes its useful
didnt like it
it points out some issues i've made in my code
well the nature of this issue is that i have no idea what the fuck the issue is
codex exist
whats the issue
i know in the past it was because 2 years ago when half of the non panel sites were made i had no idea what the fuck tasks are
give it the entire code base
i would rewrite to sveltekit if i had the time, but i dont really rn ๐ญ
but ive asyncified everything that could be blocking and supports async
but at the end sometimes its useful
i guess server skill issue?
only thing i could see as a central source of blame is the mariadb server being under high load
which slows down basically everything using it
honestly
i wanted to switch to cassandra
but ITS NON SQL
USING SQL SIMILAR LANGUAGE
like wtf
cassandra is for a different purpose
honestly i need to find some kind of db
cassandra is designed to handle massive amounts of data with fast querying and aggregation and stuff
that holds info but its fast
how big is the db ced
which one
the biggest one
it used to be stats
i moved stats to a more purpose fit db engine, that lowered the load a little bit
the biggest is stuff like:
audit log
and logs for stuff like joins
Honestly ced
i may need to clear that table at some point tbh
whats the best db you think it could work for big ass amount of data like stats
saving logs for each server is gods work
rn im using MongoDB and it works so good
indexes and everything
the db server is working overtime
i have seen horrors with mongodb
why?
indexes exist :3
it was
either way i need to find a different db for server logs
cassandra doesnt like it
(thats why its using 800 cpu)
cloud cores
i honestly
48 whole threads of that epyc are mine to use
have you tested redis db like the not temporary one
and the best one
which one do you mean?
its for panel?
well the server does more than just panel 
like redis but it has a mode so the data isnt lost when restarted
thats what i use for redis yeah
but redis is singlethread
SQL is slow
it does NOT like searching large volumes of data
which hosting you using?
i need fast time
hetzner
and when hosting lars server i saw mongo behaved fast asf
with 120k queries
๐ฅ
and all optimization
germany cedric
its the cheapest
who lied to you
never one time crashed
what can i say
sql isnt slow
its only slow if you use it wrong
or if you spam your db server
lmao
yes
None i saw it myself, a minecraft server i was working had perfect implementation and it was slow
why
caching caching and even more caching
i do that for mongo
it is probably based on the usecase and structure
the structure was massive
and i told them to change it
and divide the load
if you make your queries wrong mariadb wont use your indexes
the structure of the db is really important
also VERY important to keep in mind
if you do a full text search with LIKE '%something%'
its not going to use your indexes
i think LIKE make it not use them regardless but im not sure about that one
This is what i use rn for a custom gamemode and it does around 0.002ms for getting it
in a 100k test enviroment
OriginalTickets isn't stored but its just used as a reference in case someone buys tickets in the online store
this bro save auth
Obv i do
if you wanna search someone
how do you find them in the stats
its auth id or user id?
what auth contains?
483289493@steam
Id: 483289493
auth: steam
thats how it works
death counter in string
well thats one way to do it i guess
โ ๏ธ
Death is an animation
not death counter
those are just cosmetics
that is how it should be done indeed
and this is the index i create
if you saved the full string you would have been failed in my uni
i always find it easier to just put it in the same string
for searching
nah
cuz i dont see a point in separating it
i remember on the old AM db almost all people who were logged with discord did infact get banned for cheating
i do have a platform for stats
yeah
so thats why
my teachers would be like, but nobody knows if you will in the future
midnight doesnt support discord auth
so
what is that long ass id lmao
that is hashed steam id

Im not joking anymore i get paranoid
so much
that now for just anything i hash
it can identify
hash
the user sees internal ids for me
other than cases where they can see the id ofc
which is almost always
lmao
Db stores everything with ids from auth
so if someone sends an email
we can just purge it in 30 seconds
i don't wanna spend 30k hours finding someone in a db
hmm
i think it might actually be mariadb
cuz its fast rn and its still in non peak
whats that screenshot from

which software
percora
yeah
ok so now you found the issue
and?
what are you going to do?
replace it?
no
probably evaluate whats making so many queries, if the queries are efficient, and change it to be efficient if it isnt
hm cant find it in google am I blind
Percona
sorry i seem to have fucked a letter, its percona
oh lol
with just an r added
I see ill take a look later looks interesting
"pecora"
It reminds me
of like
that program for virutalizing
used in servers
i forgot the name
well theres a gazillion of them
i forgot
PROXMOX
yea
i totally forgot
ui wise it reminds me of that
guess i might just enable slow query log and see what shows up
i honestly need to take a look at what tf am i hashing
i should probably move the session management to something else
instead of querying from db
but foreign keys ๐
public class EffectKeeper : Plugin<Config>
or this.TryLoadConfig<TConfig>("config.yml")
(or use the config manager manually)
me when iโm waiting for beryl to release new version so no nullable config finally
Thanks
calling the dropdown
but
it doesnt actually call that
calls a different one ???
me omw to cause a massive db spike as i apply 8 new indexes
what
HandleSettingUpdate is only called from here
and the only logs are of a different type
than whats actually called
idk
Ehrm you are wrong
if (ev.Pickup == )
{
}
What am i supposed to reference to get an item
cause when i try something it wont work
ev.Pickup.Type == ItemType.SCP500
like switch the item to something else
will it save position?
No
no
oh
You have to manually spawn the pickup too
Huh what
ev.IsAllowed = false;
Ye but wher
public override void OnScp914ProcessingPickup(Scp914ProcessingPickupEventArgs ev)
{
if (ev.KnobSetting == Scp914KnobSetting.Fine)
{
if (ev.Pickup.Type == ItemType.Coin )
{
ev.IsAllowed = false;
var SavedPosition ==
}
}
if (ev.KnobSetting == Scp914KnobSetting.VeryFine)
{
}
}
i just sent this when i was working on it lol
should i get base.position or just position
Just position enough
ok and how am i supposed to create the item
๐ญ check the Pickup wrapper
ty
made my own function for it
PluginFunctions.Process914PickupFully(ev, Scp914KnobSetting.Fine, ItemType.Coin, ItemType.KeycardJanitor);
i know

:3
also, does anyone know how to reset Player::DisplayName?
in exiled you just set it to null but because LabAPI is nullable and stuff, it says "no"
Honestly I dont see any change when sending the player info sync right before RoleChanged event
what ๐ญ
No we were talking about the scale issue
caused by the role being sent the next frame
david
ur like
C# nerd right
how does null ref happen here
before the Logger.Info
and yes ive tried logging before the return
nothing
Wdym it just "says no"
You set it to null to reset it
actually
[2025-06-13 14:41:12.376 +02:00] [STDOUT] at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)
do i just do null!
i dont think i have a 2nd patch
yeah that would be better
And add comment that null resets it
Lets see
i dont get this shitty ass setting ๐
namespace SecretAPI.Patches.Features
{
using HarmonyLib;
using LabApi.Features.Console;
using SecretAPI.Attribute;
using SecretAPI.Features.UserSettings;
using UserSettings.ServerSpecific;
/// <summary>
/// Fixes <see cref="ServerSpecificSettingBase.OriginalDefinition"/> on custom settings.
/// </summary>
[HarmonyPatchCategory(nameof(CustomSetting))]
[HarmonyPatch(typeof(ServerSpecificSettingBase), nameof(ServerSpecificSettingBase.OriginalDefinition), MethodType.Getter)]
internal static class SettingsOriginalDefinitionFix
{
#pragma warning disable SA1313
private static void Postfix(ServerSpecificSettingBase __instance, ref ServerSpecificSettingBase __result)
#pragma warning restore SA1313
{
Logger.Info("test subject");
// ignore if basegame is success (support non SecretAPI settings)
if (__result != null)
return;
Logger.Info(__instance == null);
Logger.Info(__instance!.GetType());
__result = CustomSetting.Get(__instance.GetType(), __instance.SettingId)?.Base ?? null!;
}
}
}
full patch btw
Sooo what is null?
result?
i also feel like it should be named differently, something like CustomName
I dont know.
[2025-06-13 14:44:21.195 +02:00] [STDOUT] Disconnecting connId=2 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object
[2025-06-13 14:44:21.196 +02:00] [STDOUT] at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)
[2025-06-13 14:44:21.196 +02:00] [STDOUT] at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-06-13 14:44:21.196 +02:00] [STDOUT] at SecretAPI.Features.UserSettings.CustomDropdownSetting.get_SelectedOption () [0x00006] in <b15ab221974943d39611470320d02696>:0
[2025-06-13 14:44:21.197 +02:00] [STDOUT] at SecretAPI.Examples.Settings.ExampleDropdownSetting.HandleSettingUpdate (LabApi.Features.Wrappers.Player player) [0x00000] in <842f298d3dbe43fe9542c8fb91ca3963>:0
it throws null ref in that method
but it doesnt log anything
not a single log
for reference thats the stack tree
this would be a null check right
so it has to be in side the actual patch 100%

@hearty shard Do you like send different settings to different people
no
its the same
[2025-06-13 14:48:08.565 +02:00] [STDOUT] Disconnecting connId=2 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object
[2025-06-13 14:48:08.565 +02:00] [STDOUT] at (wrapper dynamic-method) UserSettings.ServerSpecific.ServerSpecificSettingBase.UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition_Patch1(UserSettings.ServerSpecific.ServerSpecificSettingBase)
[2025-06-13 14:48:08.565 +02:00] [STDOUT] at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
even forcing an exception, still null ref
i dont get it
ill try ig
but it SHOULD
throw null ref if i disable
yea
[2025-06-13 14:50:13.369 +02:00] [STDOUT] Disconnecting connId=3 to prevent exploits from an Exception in MessageHandler: NullReferenceException Object reference not set to an instance of an object
[2025-06-13 14:50:13.370 +02:00] [STDOUT] at UserSettings.ServerSpecific.ServerSpecificSettingBase.get_OriginalDefinition () [0x00035] in <093a5c0d652d42d593cd177a9f57d69f>:0
[2025-06-13 14:50:13.370 +02:00] [STDOUT] at UserSettings.ServerSpecific.SSDropdownSetting.get_SyncSelectionText () [0x00000] in <093a5c0d652d42d593cd177a9f57d69f>:0
no patch mention this time tho
The only way that could happen
is that
ServerSpecificSettingsSync.DefinedSettings is null
its not part of DefinedSettings
i dont change that
the reason i need the patch is to validate properly without base game server knowing it exists
works on my server tho
maybe add a check to see if DefinedSettings is null and if it is, just set to an empty array
no patch difference

thats not secret api moment tho
i override to not care for it
sure, but it's better than not doing anything
Still no idea why isn't initialized
Eve moment
me when default to null
just do it on CustomSetting.Register tho probably lol
Me when you can just use [];
(or new();
Also why does the server crash if I make a scale to 1, -1 , 1
postfix catches it

and gets the exception
when
role change ?
[2025-06-13 14:55:13.098 +02:00] [INFO] [SecretAPI] test subject
[2025-06-13 14:55:13.114 +02:00] [INFO] [SecretAPI] False
[2025-06-13 14:55:13.129 +02:00] [INFO] [SecretAPI] UserSettings.ServerSpecific.SSDropdownSetting
[2025-06-13 14:55:13.145 +02:00] [INFO] [SecretAPI.Examples] test
[2025-06-13 14:55:13.161 +02:00] [INFO] [SecretAPI] test subject
[2025-06-13 14:55:13.176 +02:00] [INFO] [SecretAPI] False
[2025-06-13 14:55:13.191 +02:00] [INFO] [SecretAPI] UserSettings.ServerSpecific.SSDropdownSetting
[2025-06-13 14:55:13.208 +02:00] [INFO] [SecretAPI.Examples] test
Around 2f wait
test
Kind of
or any time
yeah but
i never did that

it was tested
do you have exiled on ur server?
Must have been the wind then
like at all
no
hm
Refuse exiled
i imagine exiled would fix it by the way it works but yeah that's weird
I CAN FINALLY BE SICK IN PEACE
Go to FreakyAPI
me when im migrating everything to labapi rn
if you dont release an update rn!!!!!!
Same but i waiting on other plp to give me src for it
atleast give me the .dll to use ๐ญ
now someone is going to make that ๐
||-# Not me tho||
i got it
I dont have perms to do that
F
Report for virus
SO um.. how to log something into console?
i use Logger.info (:
Oh nvm you don't have an alias for console.logger
Make sure you use Logger from LabApi.uhhsomething.Console
Admin console or game console?
and not the UnityEngine one
LA Console
go make freakyapi
Los angeles console i guess...
Me when i
<Using Include="LabApi.Features.Console.Logger" Alias="CL" />```
That will be my AI bot name
@hearty shard it works!!! tysmmmmm
FreakyGuy vs Pissfart
AI vs AI
tf
AI like...
what
npc that moves around
Nothing against that as far as I know





