#plugins-dev-chat
1 messages ยท Page 3 of 1
My MER plugin for EXILED has 212 warning, lol
๐
4x more than labapi does
chonky plugin
200 KB compiled dll
I wonder how much it will weight after porting to LabAPI
we'll see
So uhh, is there any information on when the stable version will come out? 14.1?
they said 14.1
Minimum a month
counter-terrorists?
Are they including the dependencies inside the dll
is there a changeowner
Probably some mirror stuff
what are you guys refering to
Chaos Theory
the dependencies are another 200KB
I think changing owner of a networked object.
riiight
tbh i have never used that before
I am terrified of the long porting process 
its a mirror thing so i imagine you can still do it
50000 line of helper functions
I am dying porting my 16 modules away from KurvaMainframe
when you add a item from someone else is there a way to change the item owner with it
Oh yeah you have to port the custom items too
oh i see
well yeah but we are going to make a proper CustomItems and CustomRoles api
its mainly just an insane amount of custom roles and items
that's not awful like Exiled's was
did you count harmony? 
Official customitems/customroles plugin?
oh I meant one for Chaos Theory
Ah ye, those probably more than i can count
not sure if an official one is planned
100 - 50 or something
Damn, close but far
Its abstract 
HOW MUCH INHERITORS
there are 50 Custom Zombies alone
Wtf you have on that server
i dont think theres a trivial way todo it, maybe if we add a method to add an item from a pickup you could do this player1.AddItem(player2.DropItem(serial)); but maybe theres a better way
what
Its CT duh
Idk I never played on any EN server except for testing
I think I use like 30 custom roles
ok making 50 zombie classes was the best thing ever
Or around that
ppl actually dont kill themselves as zombies
having so many of them keeps them not stale
the rarity system is great
So you have like L4D zombies or
Different size, speed and others
I cant imagine what kind of 50 unique roles you have for zombies
they are ussually small abilities
a lot of them work similarly but they are different enough it keeps them feeling different and fun to play
some zombies heal allies, inflict poison, cause blackouts etc
im gonna die
whats doe being drunk do
Well it took me 7 hours to port my thing, probably will took like 4 days for u both
Random movement, camera being moved
we also gotta make a role an item api cuase we were just extending exileds
we got plans but itll just take a sec
just a sec
also a lot of this code is legacy code for years
as was made while i was learning how to code
so a lot of hte old code is top tier shit
so gonna have to rewrite a lot of stuff
atlewst it was working~
I remember writing my first plugin like java
public int GetNumber()
public void SetNumber(int number)

I learned java after c#
idk how many of you are still developing the first thing youve ever coded. But this plugin was the first thing iv ever coded which is fun but also sucks cause like so much old shitty code i just havent rewritten
I remember you asking whether someone got a Java exception yesterday
instead of asking whether they got the C# equivalent
I just abandoned it cus I no longer needed it.
But update once a new .net version release to edit the .net checker to that version.
(It's a batch script)
lab api gonna be teh fresh start to purge everything
um actually you're supposed to use camelCase ๐ค
i tried lombok and it's great-ish
Curse you java! I want to use whatever case I want!
Me resisting my urge to bubble speech you
@Getter
@Setter
public int deaths;
You seen Python's getter setters?
thats some different level especially that everything is public in python 
lmao
ah hell no
i hate pythong
can't even spell it
I hate it too dw
It's good, for something
exiled works with this right
Name 1 thing
#1338635336280047771 message
they posted this
Some automation i guess
I use python to batch rename files after I download them
Exing my led
what does the exing stand for
Idk
And yes for answering the question
You have to download that from the link posted and you can use exiled, they still migrating and except broken and not implemented stuff
is there a way to change the model of the player without changing roles rn
you can fake their role appeareance to other players
Well, is there a function for that? 
there isnt in LabAPI, would have to ask if thats something that could be added
something like that might fall outside the scope since its fancy mirror desync stuff
https://github.com/ExMod-Team/EXILED/blob/master/EXILED/Exiled.API/Extensions/MirrorExtensions.cs
You can see how exiled does its change appearance
:(
Ye ported it to latest too
Also tried searching for that short but couldnt find anything
(maybe I selected wrong option in dnspy)
how are you displaying the hint?
What do you mean exactly?
DelayedDisplayTeammates() calls DisplayTeammates() 4 seconds after the round starts
literally on exiled it works
yes i can see that
but what is DisplayTeammates()
you are showing that the logs send
so it must be an issue with that function
and we don't know that function
im pretty sure it ran(even if it looks weird)
Yes in OnRoundStartedTeammates()
can you try player.ReferenceHub.hints.Show(new TextHint("TEst text", [new StringHintParameter(string.Empty)], [], 3)); instead?
still not working
i feel like theres something else wrong, is your UI hidden? press the p key
It is not hidden
do you have other modules that send hints at the same time?
dot ru is a blacklisted tld, this is just an unfortunate false flag
I have seen hint displays break client side until a game restart
oh yeah
oh god they are?
actually that might be broadcasts
yeah don't think hints are
Dammit
Thatd be uh
(thank god)
Spammy
True
me when 60fps broadcast
String allocation when hint rate limit removed: ello
I already hate it when plugins use broadcast and send every 0.5 seconds

My console ๐ญ
Oh god you can do that I forgot
Nuh uh
The log plugin already does that
But in the server console

You can send it every tick/frame
nooo, not again ๐ญ

time to blow up my PC with UE5
Oh ye, let make a game that is nothing but still have 2 fps on low
be glad it doesn't log using radio
because that's twice per frame for everyone with a radio in their inventory 
I hate path
it keeps banning me
sometimes that yes
sometimes it bans my home ip
so I have to use a vpn to do anything for CT
The host i use for my tunnel moved to cosmic
Was a bit pain to fix the tunnel
I tried cosmic out a few years ago
Well its enterprisr cosmic
Bit different
Cosmic does however sometimes drop me or my tunnel
But i have to fine tune rules as they behave differently
The cosmic of the universe
well I added automatic SRV record creation to CT but I can't update the servers
Have you tried driving to server and upload with a pendrive
F
obviously you are going to drive to the UK
yes
ping me when youre there
mfw. path is not pathing
What is Path
I am automating porting my plugins over because I am dying over here
Source gen
Sourcing until I gen
it's taking me forever to do discordlab ๐ญ
Ooo, is there gonna be a command that reloads plugins in 14.1?
how to modify player size?
Todo: add
yes but no
not officially
oh
yeah but you can just spawn the player again
problem solved
NetworkServer::SendSpawnMessage needs to be sent to all the players etc
ok
note that you need to use reflection to get this method (or just publicize Mirror)
ok, tks~
yes we can Player::GameObject.transform.localScale
yes but you need to sync it
which you need to send a network message for
at least until NW officially add it
be like
yes
still requires either publicizing Mirror or using reflection to get SendSpawnMessage tho

Anybody know how to find or make eventargs for after you throw something?
I'm getting a lil pissed bcz I'm trying to make a glowstick for MTF operations in my server
you want to make your own event ?
Something like that
Create this sort of thing
Because I can't find an event for when you have thrown something
Replace PlayerActivatingGeneratorEventArgs with your own event args
and ActivatingGenerator with your own name for it
How would I define it?
Well
it's when someone activates the generator. Is there a way that's activated when someone throws something
oh
just wait for a labapi maintainer to add it to basegame
create a github issue requesting it
how's your progress going?
I finally finished my source generator 
i've done the main thing, ive just got to do each module
takes ages for me
yooo xert
so my porting of KurvaIntegration wasn't too bad
the remaining plugins/modules will be painful because they rely on KurvaMainframe which I am killing off
no more Player Factories 
Should probably update the cedmod labapi port soon
You can also specify it in the PR
If you want it in a specific place do clearly say where because otherwise the maintainer in question will find the best place in their own idea
true
Hey ced, is it possible that LabAPI could add ThrowingItemeventargs?
Is there not one?
99% of this is nitpicking
There's one for attempting
If there is a threwitem event then its likely because throwing isnt possible to prevent
oh there is
But if you have anything you want to change feel free to make a PR
The more specific you are the easier it is for is and the higher the chance of you getting it like how you intended
I'm gonna be honest with you,
I have no idea what a PR is
(Ofcourse we can still end up doing it differently for many reasons)
pull request
Okay
hello
you should probably archive respawntimer
Hi programmer gang
I suck at cs ๐ญ
Yk what'd be cool
if we had a game
round based
where there are multiple teams,
one is like a bunch of anomalies
and another team is trying to contain those
Hi chat
how are you all doing translation files?
this.TryLoadConfig
thought so
Contribute to NamelessSCP/CandyUtilities development by creating an account on GitHub.
so do configs all get put into their own folder depending on the plugin?
try and seeeee
but where do I reference it?
LabApi.Events.Handlers.PlayerEvents.PlayerThrewItemEventArgs += yourMethod;
Thanks
does Assembly only exist in exiled? might be a weird question but as soon as I moved to LabAPI, Assembly just became unreferenced and idk how to get it lol
nuh uh
its System
labapi-beta branch
System.Reflection?
yes
you have to reference it...
Exiled does it automatically if you use their nuget package
what
i thought it was default to c# lol
not from github
use steamcmd
on steam
Oh
your dedicated server beta branch

Assembly-CSharp is the mono compiled dll from Unity
any Unity game compiled with mono has a Assembly-CSharp
are you talking about Assembly or Assembly-CSharp?
oh
idk anymore ๐ญ
im on about Assembly
i thought thats what she was on about
yeah nvm I think she was
Hoooooly crap I'm stupid I can't find it ๐ญ
I misread. If you are talking about System.Reflection.Assembly you have to reference mscorlib
Why has god gifted me with this dullen brain
i didn't import it, but i do have it
ty tho x3rt
oh
lmao
that reminds me how my mscorlib refused to load until i swapped to netstandard 2.1 and then reverted back to framework 4.8
Can someone please send me a link
or tell me how to find it
because I haven't ever used steam other than for my games
I can't find any cind of dll 
SCPSL_Data/Managed
i love cooking up functions just to make my life easier
I don't even know how I'd get the dedicated server via steam ui
steamcmd is just easier
I tried finding it for stormcrasher in the steamui but couldn't find the app 
go into steam > search scp dedi > install
done
lol
nope no results
that's what I tried
oh
yeah
no results
but scp shows it
also don't comment about my hours i afk the server a lot to test
you need Tools on
not if you search
hm
yes but to show it
I have it on
ew no
what does scp itself show?
๐
thanks steam search for sucking I guess
Search for SCP: Secret Laboratory Dedicated Server in your steam library.
Hopefully it shows up.
Install it, and then right click it -> Properties -> Betas -> labapi-beta
xert my friend
I already had it downloaded
then change the beta
I just didn't know to find it there
wait for update
then reference LabApi.dll
from your server files
also wait
i just realized i cant set labels for my PR 
once it's updated
right click -> Manage -> Browse local files
then SCPSL_Data/Managed will contain all of the dlls you need
yea
(steamcmd wouldn't have been this complicated)
Thanks guys ๐ฅน
(or jesus' and my dependency builder)
shh
Just coppyed it to JetBrains Rider
@stuck peak do you think labapi will have extension methods like GetRandom for IEnumerable ?
and other stuff like that
also like 99% of this shouldnt be here ๐ญ (Map class)
LabAPI doesn't have a Paths class?
Should I put it into exiled?
then ur blind
PathManager
LabApi.Loader.Features.Paths
???
Oh nah ๐ญ
Too lazy to chain a .ToList().RandomItem()?
i mean it was an example
also forgot List has one
ublic static LightsController? GetRandomLight()
{
return RoomLights.Count != 0 ? RoomLights.ElementAt(UnityEngine.Random.Range(0, RoomLights.Count)) : null;
}
regardless labapi has that
Why are you using LabApi if you're already on EXILED?
which also does not use it
A safe RandomItem extension would be nice
One that doesn't throw when given an empty collection
Because it has the args I need

Sorry guys I'm too new to this
Ight
Right click dependencies, then add reference
Zombie eating corpse, and 330 candy using
erm
and exiled doesnt..?
also
labapi only works on the beta branch
I don't think so
so any server not running this branch will not work until full release
well yeah thats how a beta works
using or getting?
also every player has to use the branch too
Using, like eating the candy itself
90% of the map class in labapi is just pointing to other classes in labapi 
PlayerUsedItemEventArgs
Huh.
And the item is 330Bag and get the CurrentItemIndex?
hmm actually you can't get the used Candy type from the used event because the candy is already removed from the bag
Just looked at the exiled events
you can use the using event instead
add an event for it ngl
but not anything like ItemThrown
also xert whats ur opinion on what i said about map class
I have not read it
I am still working on porting 1 out of 16 plugins
im not sure this is needed
- GetRandomRoom and stuff should be in Room etc if anything and use an extension method instead of just a bunch of duplicate code really
so uhm.
if im correct there are also problem with spawning SCP330 bag
handler.Cup = Pickup.Create(ItemType.SCP330, rotatedVector);
its just spawn for 1ms and get destroy idk maybe im missing something(i was thinking maybe its empty and just vanish) but for the rest of items its work perfectly fine
well when you spawn it you need it to have candy in it
well atleast i was thinking about that
Is this all looking good?
this is more Exiled support at this point
I turned the thing into a flashbang because I couldn't find the right stuff
I just sent it here because you all have context
logic but still i think there should be away to spawn it without candys like for minigames or something
give it a damn candy
idk tho
up to NW
ok i had also to ask i seen that Michal78900 also has (ig) same problem but i want to be sure "player.Items" is broke? like i need to check if player has coin in inventory and im starting to losing my mind also with Checking if created object is picked Like:
- im spawning a item:
handler.Cup = Pickup.Create(ItemType.Painkillers, rotatedVector); - do a function
public void OnCupDrinked(PlayerPickedUpItemEventArgs args)
3.check if args.item is Cup
if (args.Item.Base == Cup.Base)
but the if always false
(sorry for my bad English)
wait
why r u even using Base
david can i add == operator Item that compares serial 
I just wanted to say we could overload it
for nothing i was trying many things and this is the last thing i tried XD
Compare their serials
like in NwApi i was just using .gameObject
alright im gonna try that thanks for help

Ill do that dw
oh
just working on something else right now
i was already doing it 
than SL
but still question does player.items is broke? or something? like i said before i need to check if player has coin in their inventory just asking bcs i saw Michal78900 had i think same issue
Yea that one is currently a bit broken
ok still thx for help
server & client update when ๐ญ
?
isnt that was Player.Items does?
Yeah the fixed version xd
It tried to cast it to readonly collection which caused exception as far as I know
alright thx again for help
Even tho I have holidays and Im home 24/7 I still need more time aaaaaaaaaa
what a luxury
Its one week I really needed
i get to pick my next PTO (paid time off) soon 
Nice
pay me 
no
omg it works no way
Yeah it got me confused too
having to reinstall the server cuz it won't recognize the need to update
That some people have to completely reinstall client & server for it to download properly
yea
just delete the scp dedicated server directory
and steam will download it
at least steamcmd did
it had an error otherwise
for some reason
yeah so reinstall basically
๐ญ
"why is steam broken?"
you have to completely reinstall it
I thought you meant reinstall steam


bruhhhhhh
stopid
might as well uninstall windows and get a linux distro
delete System32
okay sorry
RAGE

block david and friend me 
(fyi this is how things are handled internally. We all block each other in the studio. This is totally real information)
so real
don't have him friended 
i act as a middle man when they talk to eachother
We are so back
yeah which only works whenever I don't have cedric blocked

I only unblock him whenever he's about to tell me how much it is
Ohhh thats why I got so much last time

goodbye cruel nwapi
good ending
I am going to make NWAPI but use harmony to patch instead
so many things are missing from labapi that iโm so used to in exiled
i like how harmony in places are still using 2.2.2
despite 2.3.5 being a thing now iirc
Well then
btw when making a PR, should i do dev<-forked-dev or dev<-forked-master?
api? or events
api
dev
forked dev
forked dev
ev
ev and ddev
ight

thanks github
master reflects the version currently on steam
dev reflects what we will release next
If its gonna be nitpick PR I swear...
nuh uh
like getting the real name of a role was smth like Role::Name or RoleTypeId::GetRoleName()
really useful on exiled but labapi doesnโt have it
all of your crefs are wrong and broken 
nice (camera)
Only 1 was ):
uhh
#1274618202227216414 feedback tag
git issues
or add it yourself

theres a few
just a bit
david....
take my PR rn
iโm going to make a massive qol pr as soon as iโm done migrating my plugin
i will happily delegate reviewing this to someone
๐
idek what that means ๐ญ
can we get rid of map class rn
slavery we will look at it
whichever one the data one is
damn
i once again wish i was an api maintainer
hell no
smh
192
god my discord is so slow right now
1853 errors left to go 
Tell me when you get to 1403
๐ญ
god why did I make a good command system in KurvaMainframe
now I have to port it back
and I don't know how many commands I have
?
๐ญ
@ discord staff

what did they send
become dstaff and find out
never in my life am i doing that
i dont do it on my server for a reason
lazy ahh
@unique crane YOU
Hm?
who did
Also im rewriting pickups rn
oh
wait
i wont push that then
LOOK AT GITHUB
ecksdee
jesus
it was him
its always david
you have Rider
you can literally look at the git blame right there
):
click on his name above the method
that specific one didnt tell me
I did most of the labapi yes
yeah it just fixed itself
on the side it will say
right click -> git -> annotate with git blame
But im rewriting pickups rn
this is how we solve that issue
it was riptide
๐
๐
mhm yes I like this doc text
i can neither confirm or deny this statement

when is it not your fault
repository deleted
i wonder what the internal is for
You are not going to believe this
maybe its to show its for maintainers only 
i am going to violently explode
like that
WHAT
:)
you get out
ayo what
I was first
99% sure he lives in my walls
NOOOOOOOO
๐ญ?
git being git again?
so proud
the rest use custom player objects which do not exist
But yea automod rules should be a bit toned down here
give me rights to use them
I cant
i cant live without em
@ hubert rn
One day you'll ping him by accident
id never
Sure
jealous
nerds smh
I was here before you were born
no i would never be jealous of you
preaching
buddy ur like 5

boutta be level 100 here too
also i just remembered
now i gotta deal with advanced logging for fucking labapi and not exiled
moment
yep skill issue

hopefully the plugins can interconnect ok
average lazy day
hopefully your neurons can interconnect
buddy im smarter than you smh

this is my automod rule
I see how it is
slightly big emojis

@hearty shard Here is source of your suffering
Hey I had these added when discord newly released the feature
how is this my fault
or was "ur a monster" not at me
i called xert a monster
oh
uhm does it say my name?
oh
I see
nvm
wait how am I supposed to handle discord webhooks now without kurvamainframe
I take it back KurvaMainframe stays
wait why he fuck is IsRoundStarted equal to in progress? lol
http post request
return RoundSummary._singletonSet && ReferenceHub.TryGetHostHub(out hub) && hub.characterClassManager.RoundStarted;
actually
its only set to false when host is destroyed
yeah but I had KurvaMainframe handle ratelimits and queues etc
across all plugins
whaaaat is it again
InProgress says true even if round has ended i think
only when host is destroyed does it reset to false
yes
but when round is ended the RoundInProgress() will return true
or at least looks like it
Add it to issues ill look at it
and fix it base game if needed
RoundSummary.RoundEnded onRoundEnded = RoundSummary.OnRoundEnded;
if (onRoundEnded != null)
onRoundEnded(leadingTeam, newList);
FriendlyFireConfig.PauseDetector = true;
string str = "Round finished! Anomalies: " + num3.ToString() + " | Chaos: " + num2.ToString() + " | Facility Forces: " + num1.ToString() + " | D escaped percentage: " + num6.ToString() + " | S escaped percentage: " + num7.ToString() + ".";
GameCore.Console.AddLog(str, Color.gray);
ServerLogs.AddLog(ServerLogs.Modules.GameLogic, str, ServerLogs.ServerLogType.GameEvent);
yield return Timing.WaitForSeconds(1.5f);
RoundEndedEventArgs ev2 = new RoundEndedEventArgs(leadingTeam);
why is there a delay on the event
Is there a way to make the enable log not send by the way?
of a plugin? no
darn, i kinda need that to be possible :c
yeah i just looked there
but yeah
shame
well
actually
it's in a try catch
throw an error 
๐
no


it shouldnt work
is Player.Verified in Exiled Player.Join in labapi?
PlayerJoinedEvent is after they are completely authenticated
ok cool, same with exiled then
does joined get called before or after a players group is assigned here
thats the real question
after
well in online mode
join => verified => joined
finally
been waiting for the ability to have players group the moment a join event is called
real
doesn't
neither does it have a 'join' event
you can 

aha
1st is labapi project
2nd is what i get from ctrl clicking on the one in assembly
๐ญ
its weird
okay so
when decompiling LabApi.dll
idk why the labapi project doesnt work
because the compiled type is different from your source type
you'll have to use a different project to see
or use dnspy

scammed then
๐
rm rf -f \
maybe my pc doesnt like 3 rider projects being open at the same time
also discord and firefox take up disgusting amounts of RAM
Joined is the equivelant of Verified in the labapi
I have like 6-8 open at once
how much RAM
96gb
yeah Rider is fine with multiple projects
no Unity open atm and only 4 rider instances right now
WHY DO YOU HAVE 96GB
????
I HAVE 16
crazy
4 * 24
hm i should have done that
what the flip tho
cuz its an electron app
I had 48gb and then once I had 2 Unity instances open for SL I realized I need more
so I bought 2 more of the same memory
(I was going to get it for free because a site had broken coupons but then they changed their coupon policy)
quite a lot
firefox 4,5 gb




ced I need it
