#plugins-dev-chat
1 messages ยท Page 22 of 1
Tf is customkcinfo
what
yes
thats why i only listed the custom ones
and yes not all have wear
theyre seperate
so thats why i will handle their info seperately
and then this will store different data
@icy knoll u would be interesed in this
so
peak
i just need
is there no keycard type?
all arguments needed for all
why would I
so then people dont give an item type instead?
you do new CustomTaskForceKeycardInfo()
that will auto do the ItemType
based on the one you create instance of

i meant a class for ur specific keycard
people make classes
via abstract class or smth
errrr
i was not gonna have it abstract
other than the base which would never be used on its own
I love when rider screams for spelling ๐
So how would I apply or create custom kc with this
U r faster than i send the msg
new CustomTaskForceKeycardInfo(// your info).Give()
probably
something like that
whatever i end up making it
๐
new ctfki().Spawn
looks ugly, abstract class will just be better
bleh
I mean if you use the abstract to call these would be great
So you can store and ckc in a list and when u need
to be solved
could do this regardless
its more about how you start the load of it
either new(// your variables) or
create a new class, inherrit set and new() that
well, if secretapi goes the way eve has planned for these keycards, might as well use the labapi native methods
having abstract classes will just be better to avoid this ๐ญ
List<customkcinfo> yeehaw = [new aaa(), new bbbb()];
Wdym about these
calling labapi methods with it
Huh why
aka why store it in a variable when just
public static KeycardItem? CreateCustomKeycardTaskForce(
Player targetPlayer,
string itemName,
string holderName,
KeycardLevels permissions,
Color keycardColor,
Color permissionsColor,
string serialLabel,
int rankIndex)
exists
Bet it using the object args
@hearty shard when are you adding lootboxes to labapi
public static KeycardItem? CreateCustomCard(
ItemType itemType,
Player targetPlayer,
params object[] args)
{
if (targetPlayer == null)
return (KeycardItem) null;
InventorySystem.Items.Keycards.KeycardItem keycardItem;
if (!itemType.TryGetTemplate<InventorySystem.Items.Keycards.KeycardItem>(out keycardItem))
throw new ArgumentException("Template for itemType not found");
if (!keycardItem.Customizable)
return (KeycardItem) null;
int offset = 0;
foreach (DetailBase detail in keycardItem.Details)
{
if (detail is ICustomizableDetail customizableDetail)
{
customizableDetail.SetArguments(new ArraySegment<object>(args, offset, customizableDetail.CustomizablePropertiesAmount));
offset += customizableDetail.CustomizablePropertiesAmount;
}
}
return (KeycardItem) targetPlayer.AddItem(itemType);
}
we love children gambling
anyway brb
Wdym you did not finished it!
what
What
!wran @hearty shard dont do horrible things to others pls tyvm
@icy knoll has wranned obvevelyn Reason: dont do horrible things to others pls tyvm
too late
r u
?
yes
then its not added ๐
KeycardCustomTaskForce
KeycardCustomSite02
KeycardCustomManagement
KeycardCustomMetalCase
i forgot
what event can I use for checking if a player has a reserved slot? there used to be playercheckreservedslot on the old pluginapi, but I can't find the new equivalent, if there even is one
player.HasReservedSlot
you can just check ReservedSlot.Users.Contains(player.UserId)
sorry, I worded that somewhat wrong. I need to be able to check if they have it, but also deny their connection as early as possible like you could with the old event
I used it before so I could have a separate file from the normal reserved slots file which I try to keep for staff only
you can do that in PlayerPreAuthenticating event
Can dummy cause lag, because with dummies i have 45/60 and if i remove all of them 60/60?
Mayhaps
thank you. it was nice to have the other event though. you could simply return "PlayerCheckReservedSlotCancellationData.BypassCheck()" or "LeaveUnchanged()" and it would handle everything else. hopefully something similar comes to the new api
errrr
duplicate code
and stuff like HolderName cant be unique here hm
could add eg
public interface IHolderCardInfo
{
public string HolderName { get; set; }
public string GetHolderName(Player player);
}
keep docs consistent
yes still duplicate but thats finee
well atleast no spelling mistakes and shit
and if(item is IHolderCardInfo)
#41 is based
errrrr
For what purpose was the rename command removed
Does exiled refs no longer force -Publicized upon us
Oh okay
And it stopped on renaming cus it said "file already exists"
i forgot
hoe do you
how
Merge a thing from master to dev on mobile
Err
I forgot
Ig could just do a pr
du u want to do it or create apr?
im just trying to get the change to the dev branch
thats it
but apparently branches are identical
(theyre clearly not..)
is there any way to disable the lab api debug?
or is it just automatically enabled or sumn
The change is on there
oh
if i change to experimental will it change the version so i wont be able to access the server if im on the 14.1 public beta?
it is not backwards compatible to my knowledge
14.1 full release to beta i mean
They experimenting the release of 14.1
๐๐
good
Channel fall off needs to be studied
Btw r u hosting an actual server
Or just test server locally
!hostrole
Do it in your servers console, Most I will do is laugh at you
^
its on ludohosting so it doesnt have the polaris
is it no access?
stuff
it says no access or sumn let me try again
Is that still open ticket
Yea u cant on ludo
they wont tho
but i meant people
Why?
no because i dont wanna email them through my gmail acc
you listed it as your contact mail
Then what email is there ๐
oh
yea uh
you also have to msg from the email specified in contact mail
Soo
Yeah and hubert, the other studio directors, discord managers, and bots
Yes!
i cant just send them an ss here and get the role
No you gotta do it the proper way
If they want email you gotta mail it
me when dont wanna email
the proper way so they can audit it
???
So you can prove server ownership
i can prove ownership by screensharing
in discord
๐๐
I am a server owner of a 120 player always active server
why what do they give you if you have the role?
early server news
Insider info
which means yoi would have known about experimental branch and its purpose
Hi
And the upcoming sex update
And suggestions channel
It's pretty nice in my opinion
And modded execution
:(
Which apparently none of the Patreon gets those info
i dont know how friendlier people can get here lmao
Patreon gets more info
Hi 2
Why do you suck modded
thats fine
FYM 2
Why r u a nerd
You dropped this:

Have become a square
Have***
What if a bomb drops on your head
Idk
I square to god
Would be sleeping so
what the sigma....
Do you enjoy cheese
No
schizo dawg
No

Flip you
Aee you dyslexic
I appended the "2" as a suffix as it was the second time I responded with "hi" to you in this conversation
Oh...
i hate you
I've granted you the server host role, now you don't have to :D
Oh!
hi lucid
i was debating pinging you
but here you are
check. mate.
Stalking...
Hi :)
why do you stalk me?
Like magic.....
I was just backreading what I missed 
Was'nt this guy like serverhost last time I saw him why is he o5
Not for long
oh no it's Eve
hi x3rt...
She's going to send unmarked packages to my house again 
errr
no proof it was me
The discord message saying "Check your front door for unmarked packages"
I had a dream about it
So i was informing you of potential danger

Disgusted
Disgusted a
any known issues with 079 recontainment?
killing 079 by dealing damage with a RecontainmentDamageHandler works the first time
restart round, try again, it doesn't want to die anymore
Can't even recontain by overcharge
079 just doesn't die
There's the wrapper and the base
also that
Make sure it's not using the base type
It's like, annoying af how many using X = I have
what are u doing
Logger is also in UnityEngine
๐
Or the wrappers and their base types having the same name
LabAPI logger
global using Logger = LabApi.Features.Console.Logger;
i forgot that using is also used for alias
seems like it can't be used multiple times?
If I use a universal damage handler it works
which is weird
what's the difference with RecontainmentDamageHandler
How to set the maximum magazine ammunition
RecontainmentDamageHandler has an attacker 
when I have time later I will check whether I can reproduce your problem
I suddenly can't repro it so im just
Gonna pray it doesnt happen
I think it might be after recontaining 079 via overcharge without gens being done? Idk
I'm at a loss
It's if attacker exist or not
Like you don't want to say than dedicated server kill you for example
You can have it by dropping pickup on the window instead on firing / exploding it
ReferenceHub hub = DummyUtils.SpawnDummy(npc.Name);
MeowEditorNpc.Connections.Add(hub);
hub.authManager.NetworkSyncedUserId = "ID_Dedicated";
hub.authManager.syncMode = (SyncMode)ClientInstanceMode.DedicatedServer;
npc.player = hub.gameObject;
Timing.CallDelayed(1.5f, () =>
{
hub.roleManager.ServerSetRole((RoleTypeId)npc.Roles, RoleChangeReason.Respawn);
if(npc.Hidden)
hub.serverRoles.SetGroup(null,true);
if (npc.Godmode)
{
hub.playerStats.GetModule<HealthStat>().MaxValue = float.MaxValue - 1;
hub.playerStats.GetModule<HealthStat>().CurValue = float.MaxValue - 1;
}
hub.TryOverridePosition(npc.Position);
hub.TryOverrideRotation(npc.Rotation);
});
return hub.gameObject;
Im seeing an issue thats quite strange, dummies seem to lag the server not alot but to make it 54/60 etc... if i remove them, there's a better way or like am i doing something wrong in this code
Because tps flactuate quite alot
hub.gameObject.SetActive(false) 
Yea that works fine lol

could it be because the server sends them packets?
Do you guys have idea about how to fix my steam
or, at least, invokes the connection handler
but 14 of them destroy tps
7 already start lagging the server
like there's not any other way to emulate a player so that you can shoot it atleast
i mean if you manage to spawn it for the client and create the correct colliders for it on the server, you can add IDamageable or whatever components to the colliders to make them shoot-able?
-# english
Like at this point idk what to do because lag or not
if you take the transforms of the hitboxes on the character model you can just use capsule colliders (i'm pretty sure those are used)
I would need to recreate every hitbox back
idk how laggy it could be
yyyeeeeeaaaaa
it would be far more efficient than having an entire player for nothing
btw do you know a way that i could check what is impacting performance
like events and stuff
because i honestly now i wanna see whats lagging and if its only dummies
attach the unity debugger 
Yea lovely hope i can do that
that would be amazing

Is LabAPI screwing up stacktraces fixable or not
wdym
yes they still lag with just existing lol
wha
have you also copied the .pdb file with the .dll? (program debug database)
I experienced same issue
then it'll show you the exact line, not just the IL offset
or is it something different i'm not getting?
in which contexts are stack traces printed wrongly?
every player to every player on every frame
also you probably shouldn't just assign IsVisible
check if it's true and only then do your calculation
you probably don't want to make a player visible from 200 units afar
Btw
why did you delete your message?
can't blame it on NW 
are they static?
Most of them are client side so they shouldn't be an issue
Im trying to not send any packet to them related to primitives
lets hope it works
ye use Player.AuthenticatedList (if it exists)
hub.authManager.NetworkSyncedUserId = "ID_Dedicated";
hub.authManager.syncMode = (SyncMode)ClientInstanceMode.DedicatedServer;
It could be this?
hmm
What are you doing
Whenever it's ultimately fired from an event handler
CustomEventHandlers claes
Spawning npcs and just leaving them standing
@unique crane what do you think of my bug
the entire code for spawning them is this
can you show an example of a stack trace?
What am I supposed to do with it?
you could just hub.characterClassManager.GodMode = npc.Godmode
Make ticket here
Then.. wait,
That screenshot of my ticket here
nope else if you shoot at them no hitmarker
I cant do shit
Patch the godmode handler to send hitmark when shooting dummies 
You can?
lol?
Well not doing any damage is server-side
try using SyncMode.Owner, might help a bit
Don't use godmod if you want hit markee
Obv but by patching it to show it, it will work
Not patching
Or you can just
Just make it trough damaging event
Like it does this
Im just going crazy because sometimes it even worse and for 5/6 time i send it is 57/45
if only we could attach a profiler
the difference between isDummy and isNpc?
One checks instancemode the other one type of networkconnection
IsDummy checks the instance mode
so by setting the ID you're making it not a dummy
wait nvm
that doesn't change the instance mode
or does it?
try it without cedmod yea
Cedmod is always the key
last time it was lets see if its now the key
maybe it'strying to send stuff about dummies to the api
not sure how that would block the main thread but eh
No wait its not cedmod
because
when i removed my plugin it worked fine
and i just spawned a ton of dummies
chip away parts of your plugin until you find the cause
var p = ev.Player;
var t = ev.Target;
if (t.IsDummy || p.IsDummy)
{
ev.IsVisible = true;
return;
}
ok
cuz you force sync the position regardless of distance
at this point im just desperate 12 Npc lagging the shit out of a god like server
public static void OnPlayerVerify(PlayerJoinedEventArgs ev)
They are authenticated or not?
because then this is the issue
wait i can check it nr
Lovely
why doesn't automod filter that out
nope its not dummies
Let me chip the entire stuff
this are all of the possible events
Could it be round ended?
if you disable all of them, does the issue persist?
roundending is only called every 2.5s
does your tps drop around every 2.5s?
idk
i've never calculated lol
IT COULD be
if it was round lock
im just going to quit forever

none will give me back 20 hours of debbuging this shit
Oh wait
ALL OF THIS TIME I WASN'T UPDATING THE PLUGIN
I WAS UPDATING THE WRONG ONE
i cannot make this shit up
bruhhhhhhhhh
oh god
im honestly about to crash out
buy the new doom and just stick with that for a bit
i wonder who said that before
@hearty shard
ye
Next time a reminder to check what i update
it would be good to add a target to your csproj that automatically uploads the DLL
not sure how to do that
was it partially caused by visibility?
idk
maybe log the TPS every frame
That would destroy tps
now
im just leaving the hub working
why
just add
while (True)
{
Round.Restart();
}
Perfect code
i hate how bools are capitalized when you ToString() them
yes
you got way
finally you realized it
Im about to say i cannot make this shit up
NOW IT LAGS EVEN MORE
HOW IS THAT EVEN POSSIBLE
what you try make?
Dummies
reverse heart attack
lmao
No t crash the server
game have it
dummies (like me)
then why
just fix sl code
just remake SL in Godot
public static void OnWaitingForPlayer()
{
RoundSummary.RoundLock = true;
RoundStart.LobbyLock = true;
GameObject.Find("StartRound").transform.localScale = Vector3.zero;
}
Like i don't think this has issues?

GameObject.Find
๐ญ
horrible
bro its old code
at least you only run it once
why would you have one gigantic coroutine
oh
why not?
do you kill the coroutine when the round restarts?
The round never starts
right
delete the internet
How do you even start the round?
Round.Lock
Round.LobbyLock
a joke?
Round.Start()
Why?
for normal code
at this point idk what it could be
im just about to just say fuck the npc
and replace them
rewrite it in rust
dboy target
what if you remove dummies from the referencehub list
wait you can?
Who cares
done
lets see
Yep
no npc
Wait
I cannot see them
but i can hit them
but still tps are down
send a rolesyncinfo perhaps
whatcha making?
Pain
Npc are lagging the server
but like the other day they didn't
and today they do
nothing changed
if i remove mine
they don't lag
but there's nothing like it does it
Welp then you know where to look at least
But its all events
SO
It doesn't make any sense
what if zou comment out alll of the enable method
leak the code in VC 
How many dummies are you spawning
12
what's in roundending
bruh
even if you're idle, doesm the serverlag?
If you lock the round it never ends
thats actually a good point
Isn't that run every frame?
@upper vapor If I make standalone server build with profiling enabled, you think it will profile plugins too?
it will definitely profile components' update methods
so that includes plugins, too (or at least it should)
with deep profiling you get more concrete stack traces
if you don't have deep profiling it only shows which component's update took a lot
debug server build 
I can make one for myself
would be nice to get some profiling
fr
Uh i love debug builds
you try make ai for npc?
or why this plugin
already did that
but nope
its for shooting at them
use customeventshandler
: CustomEventsHandler
register
Hmm, is IsStatic required for a Collider to be IsTrigger?
Also am I right that it should be no problem using the LabAPI wrapper to create a triggerzone?
Interesting, this worked. but replacing the obj part with the LabAPI version of Primitive it doesn't 
yeah you need to add a component to the actual primitive not the wrapper
also my code is an invisible one
Yeah I know
I spawned another NW one with only Visible flag
you need the collidable flag and add a component to its _collider
also set istrigger to true
I have all of them
also what component to the collider? Cause the primitive should have a collider by default
your custom component that has an OnTriggerEnter or such handler
the reason you dont use the existing collider is becauase you need to handle it yourself
the existing collider would have different code than yours
what?
you need to handle the ontrigger...?
just add a component lol
what
you dont use the existing collider component
so why can't you use the existent one?
do you want to patch that?
sure
go patch it

but thatll patch all of them not your specific object you are using too
you need to handle the trigger to do stuff on trigger
which needs code for it
with a custom component
I do not use publicized so I cannot access _collider, wouldn't GetComponent<BoxCollider> work?
but you don't need another collider
just publicize
then publicize it
not too difficult
no but you need a component to handle the collide
is what i mean
publicize stinky
why ?
<PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.3" PrivateAssets="all" ExcludeAssets="runtime" ReferenceOutputAssembly="false" Private="true" />

yeah but what were you talking about here#plugins-dev-chat message
the existing collider component has no code for what youre doing
idk Just modifying deps so you can do stuff is kind of bad, but this is just my stupid ideology
then do reflection
yeah
GetComponent<Collider>()
or GetComponentInChildren, whichever works
or that
How are my EU friends?
awake
use this
yes
on experimetal branch yes
Yep its fixed on experimental
david!
Server Jesus has blessed us
Is it possible to draw image on player's screen? And what about custom images?
Eve!
You can use hints
Do note that they are much more limited
Look if it exists
It may not
Try it and see
nw moment
):

im sorry
you're forgiven
honestly
hm
i might make my prefabthing be a like PrefabStore instead
what
so you do PrefabStore<SpeakerToy>.Prefab
Oookay
otherwise theres the exiled method of PrefabType and storing it as gameobject
PrefabStore.Yeet
nuh uh
yes sir
ok
I am a dickhead major
ITS A REAL THING LOL?
Yeah who do you keeps the environment environmenting
idk nature and gov
Every single line of code executed in a discord bot roughly equates to the power used in those little LEDs
errrr
which admittedly doesn't sound like a lot
sounds like nothing
but extrapolate that into the whole world and you got at least a single lightbulb
crazy so you count electricity
why you cull every single time??
cull?
I count Co2 emissions
get the list of GO evey time
exists
temp code
make it static
Anyone know what events causes SCP-268 using cancel?
and the most dreadful kind of waste there is... electronic waste
whats 268?
im going to count how many co2 emissions does a fortnite server emit
cap
what about nuclear waste?
yeah i mean if we're powerscaling waste here
honestly are you american?
no I take offense to that
do you like it :3
using item cancel prob
/// <summary>
/// Initializes the prefab manager.
/// </summary>
internal static void Initialize()
{
SceneManager.sceneLoaded += (_, _) =>
{
foreach (KeyValuePair<uint, GameObject> pair in NetworkClient.prefabs)
CheckGameObject(pair.Value);
foreach (NetworkIdentity identity in RagdollManager.AllRagdollPrefabs)
CheckGameObject(identity.gameObject);
};
}
private static void CheckGameObject(GameObject gameObject)
{
if (gameObject.TryGetComponent(out CapybaraToy capybaraToy))
{
CapybaraToy = capybaraToy;
return;
}
if (gameObject.TryGetComponent(out SpeakerToy speakerToy))
{
SpeakerToy = speakerToy;
return;
}
if (gameObject.TryGetComponent(out PrimitiveObjectToy primitiveObjectToy))
{
PrimitiveObjectToy = primitiveObjectToy;
return;
}
if (gameObject.TryGetComponent(out LightSourceToy lightSourceToy))
{
LightSourceToy = lightSourceToy;
return;
}
its better than this code
using it again or something?
(which should go a lot longer
๐
what, definy what u want
do marketing
ok thanks
I'm marketing so hard you don't even know
i count numbers and i do macro economy but its not that hard

even online is falling
I DON'T DO ECONOMICS

ads?
in weapons?
i thought they did something like economy shit for nw too
We make the videos you find on the YouTube channel
crazy
whree 14.1
7 hours give or take
why take so long
why
I don't knowa
slejm
nw moment
all prefabs are monobehaviours right
people gotta know about SL someway
how tf would i know
im gonna kill you
but why
@unique crane
because if people don't know about SL people won't play it and that means I don't get money
i can check what it is in there
Uhh sorry, no news about server-side cuffing
but why you wanna money
Crazy
Yea ofc
yippiers
why you wanna live?
good point
looks like it not work, but thanks anyway
So no news on this as well I assume?
We're gonna get it one day ๐
errrr
@hearty shard i dont know where to search the prefabs to spawn
wdym
NetworkClient.prefabs

have fun with your idk card suffering





