#plugins-dev-chat
1 messages · Page 33 of 1
for make it configurable?
is it a public plugin
Why would I want to do that
No lmao
good
I'm literally the only developer working on this code
If it was public then I'd add variables and shit
But no this is my own thing
I'll make it easy to modify for myself but I'm not going out of my way to add configurations to everything
I can modify it myself in the actual files
What would I want to change about my custom items?
works fine for me
They're great I don't want to change them
You're asking me to add config to something I don't have anything to config about
name

eve moment
heres my only config in this project
Besides if I want to change name
and its literally just to keep bot token server only and not leak it
It's one variable in one file
how you made imoduleconfig?
implementation
why is this not waiting yield return Timing.WaitUntilFalse(() => Cassie.IsSpeaking);
its probably already false
^ real talk
,but I set cassie to say something before that and still now waiting for cassie to finish speaking
prob doesnt actually start speaking for a bit
Cassie.Message(message: "something");
bruh
is that a secretapi thing or labapi?
custom
damn
havent actually implemented it publicly
but its just iregister for static methods
also had to overwrite these 
doesn't
static ClassName() => do something specific
also run on load? swear ive seen that syntax in places
it runs when a class is accessed
it constructs it
its like new()
ah
but invisible
and auto
like
if you have
public int SOmething { get; set; } = 5;
it will set that in static constructor deep down
iirc
might be wrong
i might switch all my static constructors to callonload
idk
for now it works so idc
old code
ignore the highlighting had to go through old ass commits
now i just have a 3 liner permanently (hopefully)
why dont you just use Assembly.GetCallingAssembly() for RegisterAll?
override deeu
hmm
in secretapi you do use that
this is 1 project
hmmm
whdy do u waha
which means only i use it
r u drunk
imaging making something and not using it
you do nerdy things in ur own thing smh
couldnt be me
GetCallingAssembly multiple times is also more expensive than typeof().Assembly once
not that i care about expensive when i do reflection

but how you add it to main config?
i dont
oh yeah and theres the auto generated one from NW
which ig is a config
IsEnabled 

where custom itmes, custom waves, custom team, custom gamemode, custom effects, custom map generation
where custom SL?
you fell off
i literally made custom effects

is EveSL going to be public some day or are you just making it so ur server only uses EveSL?
its my server
it has all my server stuff
3 years of work
i know
smh
imagine
im not a fan of just having my stuff free to just steal without effort
you also doing the same
but i also do like providing stuff for community so thats what secret api will be for

me when my server's plugin is open source

i dont think i have 1 closed source plugin
"I love your work, do you wish to become a deve-" "no"
i legit have so much stuff i could put into plugins that i built for my server, i just cant be asked moving them over
especially when lots of them use secretapi now, and i cba telling people (especially some server hosts) how to install a labapi plugin
secret api >>
which name?
eves tavern
i might make it so all my future plugins are only labapi but then i wont really be able to advertise in exiled blegh
my plugin has gone through 4 different servers
Advertising patching out exiled patches 
Is there any way to create “fake clients” so the game will start? I’m unfamiliar with the testing process of scp:sl plugins.
go ingame
open RA
go to dummies
spawn dummy
guys? you have new reference from visual studio ? i need it for apdate plugin,if you have any please share 
What
I NEED A NEW MAP EDITOR REBORN WORKS ON 1.41
1.41?
There were no plugins during this version, maybe you meant 14.1?
SCPSL gets update on 1.41
14.1***
☠️
14.1

Not 1.41
what
how do I teleport a player to a room?
map control
player.Position = Room.Get().Position
ok
underlines Positon at the end and saying I need an assembly reference
which one
add Get().FirstOrDefault()
okay then how do I do it the right way? bc I just copied what you wrote
also it can return no rooms
then TryGet
Because there may not be a room in middle of void
yea but
TryGet doesnt exist
for the other Get methods
(most of them return IEnumerable<Room>)
I think I'm the first person in LabAPI to figure out enabling friendly fire between SCPs 
was done in exiled (by me)
(by accident)

It's surprisingly easy
something in exiled broke and made scps able to attack
Oh lmao I just looked at the attack code and figured it out
I love finding elegant solutions to problems
I pride myself on it
wait lemme try and find some horrible code i have
It's especially nice cause I can take liberties as I'm working in the ecosystem of my own plugin
idk where it is
So for things like adding 3114 instead of patching the spawner, I can just patch ServerSetRole and check for RoleChangeReason.RoundStart 
i can confirm
its really funny
^
Actually my GOAT
FBI???
Love this guy
back to lurking
👍🏼 I like this guy
I love being able to make my patches like 2 lines of code
They all look simple like this it's great
Haha nerd
250
I work in an isolated space so I can make them really simple
They don't need scalability or configuration, they just need to do their job how I see fit
Also when we getting Micro events

And when we getting the ability to set max ammo for guns
I did it using 3 harmony patches
you just have to set it every time the item is selected iirc
2 for revolver
1 for regular
It's kinda peak though cause it syncs with the reload animation with revolver
So you'll have a reload animation like you're putting in 6 rounds but it's just one levitating
I will say though I'm rather impressed with myself
I learned LabAPI and all that like 2 weeks ago and I already have a crazy plugin with thousands of lines of code
i need custom objects scpsl on 1.41
Made my own custom item framework and everything!
ask MER
^
yes for maps ask MER
for map building
^
yes...
Ask MER
sl custom objects?
ok
this is chat for coding
MER knows more about maps
because thats their whole purpose
oh ok
do NOT include me in that
Too late
You have a 250 line harmony patch you're officially a degen
^
MER is based
and basegame
ok
Okay yo real talk
Why have separate handlers for revolver when you can just
you!!
me
what can be null?
Exception in FirstOrDefault: System.NullReferenceException: Object reference not set to an instance of an object
- userid
- _collection[0]
Player player = _collection.FirstOrDefault(x => x.UserId == userid);
Logger.Info(player == null)
How do you end up with a null Player 😭
Scary
destroyed
What
no user id
_colection doesnt have player
Then the null check would return false in the lambda
it wouldn't
If the _collection list does not contain a player with the UserId it is looking for, the code will return null
Right
Yeah
The exception happens when iterating
Not after the try-catxh
You managed to put a null user in the collection
Maybe the query result was incomplete and you return null instead of handling the DB error
Log the exception instead of the message to get full context
Logger.Info(_collection == null)
Logger.Info(_collection.Count)
Logger.Info(userid == null)
Logger.Info(_collection.FirstOrDefault(x => x.UserId == userid) == null)
XD
hopefully you have DNT respected
no ofc
and null is completely processed after
DNT is one of the most useless features. For example, all player data can be stored for server security purposes. That is literally the only reason servers keep data.
leveling systems also keep player data and that needs to respect DNT
server security 
why it added 2 times
bruh
As far as I know, you can also save a player’s UserId for XP systems. Also, SteamID and DiscordID cannot be considered personal data of a player in any way. Only the IP address can be considered personal data.
auth token 
Lol
I need to change my stats system XD
jó reggelt (good morning)
VSR enforcers are going to get you soon
it's a simple user request saying you don't want your data to be stored, any kind of data associated with you
implementing that system is another question
but if you ever wanted yourself to be forgotten, then you are allowed to do that
PII or not, you can request removal of data associated with you
SL is probably not the only "platform" that mandates this
you wouldn't share a someone's data with 3rd parties, would you?

Where am I breaking VSR?
a lot of ppl would in fact do this
-# yes you would, a lot of people would
Players don't need to know about this possibility

mhm
If you don’t change your stat system
They will find you
you don't need to know about when Hubert is gonna burn down your house
i mean if you live in a cave (like me) then you're probabl fine
im dont wanna know it
im wanna surprise :<
i didn't know you work in big tech
You didn't understand me. My statistics system now ignores people in DNT, but in VSR it is written that it is not forbidden to store data for statistics
it says it is forbidden
it says you CANT
if they have DNT
it puts leveling and stats as examples of things NOT to do
Huh
John VSR
yea those arent allwoed
including but not limited to
BUT NOT LIMITED
just disable dnt ignore if player.list have .IsNortwoodStaff
that is an example and there other things that fall into that category
all resolve
i would recommend learning a bit more english
"for example but not limited to" is a bit weird imo
maybe i just haven't heard it
"including but not limited to" would definitely be clear
When will the Northwoods write proper rules?
wdym???
its written fine 😭
yesterday
not knowing english is not equal to rules being bad
No. Many people who don't know English so well may get confused.
verif mentioned they wish to change it but to change it, all server owners need to be informed and there is loads of other caveats to doing that so they don't bother
thats not an issue on the english though
maybe im just too good at english
English doesnt have double negation no?
also no
i dont think it does
"not permitted ... not related"
im surprised you took that well eve
aussie
i was expecting a "american???? wtf"
also no
It is easier to consult with one of the “Server Verification” staff on the VSR document
new-zealander
american good at english
nope
Eve is like...

Evil land
🗣️
denmark
im self taught in english other than the basics
i'm gonna invade that country one day
not again
hehehehaw
you mean d*nish
"Not permitted to use any data about the client for purposes not related to Server Security. For example, statistics tracking or leveling systems must exclude players with DNT."
kingdom something
there
d*tch in disguise
im forgot
british server
i'm hungry
because thats where my machine its hosted on is located
it used to be located in germany
Thats waaaay closer than I would ever want to
lol
fucking dublicate
DROP TABLE `Users`
but it dont must be unique
several players can have same ip address
hey eve
what if someone has their name as '); DROP TABLE Users; '
make restapi, use EFT, profit
u should translate the ruei docs when i finish them into danish
- "Not permitted to use any personal data about the client (first nickname, UserId and etc.) for purposes not related to Server Security. For example, statistics tracking or leveling systems must exclude players with DNT."

true
i will use ai
you know the fucking language
im ngl
index by userid i guess
do you not know danish anymore
ive genuinely over used english
i can speak it w parents and stuff
but thats like
but if I had known, I would have done so 
the only time i speak it mostly
do you not use it day to day???
jealousy
it foreign key
w my parents yea
oh well
database management is ugh
like
so ur useless
@terse bone thx for idea
FUCK YOU

later i make rest api for big data
hey thats not nice
☠️
what is this supposed to mean.
ir
GUH
ikr
IM GONNA HURT U BOTH
i think i just need to become fluent in japanese and then i can translate it to that
shut the fuck up
WHY
IVE BEEN LEARNING IT FOR LIKE 4 YEARS
AND???
a few interfaces just for db
do NOT cook again
I DIDNT SAY U WERE
u were implying it
DROP TABLE EVE;
NO???
"japaneseee"
i think we ought to just kill her
IS NOT IMPLYING UR A WEEB
im off my meds. dont mess with me. i will bite.
what is this conversation anymore
idk
about null
its all eve's fault
FYM MY FAULT
see
GO BACK TO BARKING
copium
SELECT * FROM `ip_addresses` WHERE `userId` = '16' AND `address` = INET6_ATON('127.0.0.1');
what wrong?
why cant find
bruh
@hearty shard big brain
do you know?
why would she
a why not
-# neither do i and i'm grateful i don't
i have 1 project w it
never wanna look at it again
i used to use json
and i wanna go back
eve moment
json >>>>
mongodb 
is row userId a number or a string?
mysql> DESCRIBE `ip_addresses`;
+-----------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| userId | int | NO | MUL | NULL | |
| address | binary(16) | NO | | NULL | |
| firstSeen | datetime | NO | | NULL | |
| lastSeen | datetime | NO | | NULL | |
+-----------+------------+------+-----+---------+----------------+
you're comparing int to string
youre a poopy head
now i take my leave
bruh
awee </3
it dont have any error
brought backup
mysql> SELECT * FROM ip_addresses WHERE userId = 16 AND address = INET6_ATON('127.0.0.1');
Empty set (0.00 sec)
same
backup brought itself*
same thing
syntax allowed use '' for numbers
aster is the opposite of backup
she makes the situation worse
put it in a code block
nuh uh
make u worse
dc formatting moment
owned
?
'16' than 16 its not a error
string -> bytes
mysql> SELECT INET6_ATON('127.0.0.1');
+--------------------------------------------------+
| INET6_ATON('127.0.0.1') |
+--------------------------------------------------+
| 0x7F000001 |
+--------------------------------------------------+
Now I take my leave :3
you two are interesting
i bet you dont even know what a plugin is
or a dev
or a chat
you could go with varchar ig
may or may not be more efficient compared to a fixed byte array
string-based representation of the address
then I won't be able to search by ranges
why
you love arguing
consider discussions instead of yelling nonsense at one another
no need for discussions
you might not know when the jokes go too far
Nathan can you delete this
eve said it has no use
yes
also
nathan isnt here anymore
well hes loa
but his spot is vacant
so
YIPPIE
SAFE FROM THE TYRANT
But not from me 
get out
ur fired
Fun while it lasted
WOO
wow
FREEDOm
thanks eve
what!?!?!?!
thanks
wh or u
Dont make me get the anti fungal cream
how do I get a doors position?
r that
Let me make my jokes :(
You know how much of a fungi I am
Currently learning the interactable toys
Is it possible to stop a player from interacting?
Like with some player events, ev.IsAllowed = false could be used, but all the InteractableToy events only use "Player" as a variable and i for the normal player class i cant find any way to stop them from interacting
onsearchingpickup
or something
there is SearchingToy event
how interaction toy works?
just add to gameobject?
and input parent?
you set it's size, collider shape, and search duration
it uses it's own collider as interactable part
Thank you! Will check it out

can someone help me?
player.EnableEffect(CustomPlayerEffects.MovementBoost, 8f);
huh?
Severity Code Description Project File Line Suppression State Details
Error (active) CS0119 'MovementBoost' is a type, which is not valid in the given context NoKeycardHold C:\Users\Admin\source\repos\NoKeycardHold\EventsHandler.cs 49
player.EnableEffect<MovementBoost>();
oh okay
oh okay
this yea
player.EnableEffect<MovementBoost>(2, 8f, true);
this should work then
also how can i even add customitems
ik
ima get an api from #1336031121699377213
is there any wiki for #1357469765421109250 cause i dont know how to use it
Is there some sort of priority system when it comes to player effects? If two player effects modify the player the same way but have a different duration, for example.
use also #1371740029449146389
@restive turret
uhh
ze
for command use /lci
other is check the TestItems or smth named solution
Is it possible to make a Player play the "picking up item" animations per code?
why?
i wish i understood FpcBacktracker
idk
but if you using custom items then possible also wanna custom roles
ok
just a question does the customitems spawn? on the map
Severity Code Description Project File Line Suppression State Details
Error (active) CS0546 'AdrenalineA.Description.set': cannot override because 'CustomItemBase.Description' does not have an overridable set accessor NoKeycardHold C:\Users\Admin\source\repos\NoKeycardHold\Items\AdrenalineA.cs 9
Error (active) CS0546 'AdrenalineA.CustomItemName.set': cannot override because 'CustomItemBase.CustomItemName' does not have an overridable set accessor NoKeycardHold C:\Users\Admin\source\repos\NoKeycardHold\Items\AdrenalineA.cs 8
?
for example
BaseLightUsable is my custom thing just use BaseCustomUsable or whatever i named that
oh ty
how should i detect if use it/ used it cause when i try i keep getting it wrong
wait is the customitemsapi supposed to be in plugins or dep?
plugins
public override void OnUsed(Player player, UsableItem usableItem)
{
base.OnUsed(player, usableItem);
}
public override void OnUsing(Player player, UsableItem usableItem, TypeWrapper<bool> isAllowed)
{
base.OnUsing(player, usableItem, isAllowed);
}
TypeWrapper<bool> ?!?!?!
U can remove the base since it just for logging
insane
Better than out out out things
Idk if worked or not
That my thing is def worked
Also seems players getting random spectator voices??
I didn't even do anything with that
schizophrenia
people on my server are complaining about when someone uses the radio everyone hears it and i dont get that at all
lol
lumi issue ngl
nah
Oh that happens in my server too
chaos radio moment
Also it includes when player using the gramophone too?!
ngl
how is my plugin going to use the api then?
me when i dont use it on my server
There is no chaos radio plugin in server
plugin vs dep is just how it loads
i made the chaos radio plugin
As a normal reference?
dep wont do anything except load into memory
shes referring to me
I meant
plugin calls the plugin class
who r yall
all you need to know about me is that im very awesome :3
false
ur the only one who says that
false
no
ice wadup
Ive made two plugins so far i wouldnt use in my own server i would say, maybe one
long time no see 
Waow saskyc
same to you
I got on discord because textbook was giving me a headache haha
so does labAPI have some kind of suggestion chat or?
i dont use any of my plugins
not the dlls at least
maybe the code
but
not the actual dlls

its probably my first time studying seriously,,,,, american moment
I studied today at like 3AM, because I fucked up my sleep schedule
Well I would definitely want to use my own rp utilities and cassie utilities. But not my Compound V plugin💀
i just prefer to not have to update 4 different files for smth to work

Making plugins you would actually use is better tbh
Hm, Exiled has a Door.GetNearest() method, but that iterates through all doors and compares their Vector3.Distance with the player to find out the closest one.
Is there a more efficient method of getting an aimed-at door?
Raycasting the door and getting a specific component?
so you make it one dll?
yes raycast it
well yeah
my server is 1 dll + ruei + projectmer
Aimed at door is best calculated via raycast yes
No shlaze but thats insane
Door.Getnearest in exiled is for getting near a player
i like clean files but
why
no exiled for me 
I mean. i like being able to manage each plugin individually
thats what im doing
Should i get hitInfo.collider.transform.root and get the Door component there?
Or how could i find the component the best way?
if i wanna disable one i can
why do u need to get the door btw?
use SLs door (BasicDoor) not the Door Wrapper btw
I did try having one huge plugin for my proprietary plugin for a server once (back when i was part of the team) and it lowkey pissed me off so I separated it
I usually make plugins I would find fun
I love having more like big plugins, but I get why it gets messy
My stuff all works well together
Maybe im just better
Maybe
Not if you organise better
making helicopter plugin was so peak :D
you are right
have u ever seen my omni rp plugin
I had a custom rpnane system, custom squad system, custom termination announcement, and jump stamina user
have fun
U issue
and the third section was my own personal library i now use for other projects
Mines how it is cuz of sl
Thank you!
Should i do GetComponent directly on the collider that the raycast hit, or a specific parent, or root?
Not sure when the component is on the Door prefab 🤔
Also working with termination announcements made me realize footprints were lowkey a smart idea
Life ID is also a smart idea
Nw cooked
and then i realized why it was called "footprint"
because its like a permanent marker from a snapshot of that players life
@spare zodiac im bout to go can u suggest the thing for me plss
You can try all possible choise
But should be the one that hit it
I have no clue where though
but I am getting some sleep
Lab github
alright
fun fact
dummies can get banned for teamkill
and if you're testing on a local server, it bans you 
trying to harmony patch a private method, namely OnKill in Respawning.Objectives.HumanKillObjective but i have no idea how. My assembly is publicized but im still lost
instead of using nameof just type the name out lol
nameof returns the string of the name
it’s useful for when there is an update and it tells you if that property no longer exists or whatever
still not working
its the same
as a public method
[HarmonyPatch(typeof(Respawning.Objectives.HumanKillObjective), OnKill)] cannot resolve symbol onkill (I'm very very new, forgive me if the answer is obvious)
Either "OnKill" or nameof(HumanKillObjective.OnKill)
ah ty
smh
hey i said i was new
i assumed you knew that part tbh 😭
i assumed you wouldn’t do that! mb
i have never used harmony before
you need to give it the name and type
a lot less fun than c#
everyone says that
theyre not wrong
You..
Anyone had issues where players randomly hear voices as if they were using the gramaphone?
I'm unable to replicate it but it seems to just be happening completely randomly
It would appear youre the third to say this issue
does it make sense to study .go?
We have nothing that messes with any voice, radio, intercom or gramaphone stuff so idk what's causing it
Exiled and LabAPI fighting each other maybe?
idk
Delete logic
It's like bega hard to replicate so even testing if exiled is an issue will be a pain in the arse
bega?
mega
I got it just now by holding down both talking buttons on radio, then dropping the radio and someone across the map with no radio could hear me

but it only worked once lmao
im considering putting my patch for overwatch to not count as players for round start into secret api
But
I dont want secret api to become smth other than api
So prob not
exiled contributor:
and?
eve moment
no 
i feel like you made a 1 line change at some point but ig not then
I didnt know how to do it before, but now it doesn't make sense
0 commits
and an attempt to update the reboot with knowledge of the Console.WriteLine();
when did that start happening
Idk random noise happening all over the place but this voice bug was new
how new we talking
People say 1 day
also heard people start complaining about hearing other players, also hearing other items and gun shots too
yeah since yesterday
Only complaint we have is vc randomly breaking
CC @harsh thorn
As in can't hear people or they're incredibly muffled
im pretty sure its cedmod
Cinema
i know i looked, but the timing is super suspicious esspecially since no other changes were made before it started happening
the changes were to teslas and item pickups
the other change was in the player position distribution;
Instead of syncing out of range players to Filmmaker it syncs to Spectator (and sometimes overwatch as it used to crash midnight users since today)
whyd it crash them
midnight crashed if you send a position of a player who is a spectator
it was funny
Oh lmao
Kek
they fixed it now
thats rly funny
@icy knoll do u have scpchat or whatever the name on your server?
they also added "unsafe mode" where if disabled it disables all the cheat features that cedmod detects now
We had some yesterday
One of them managed to eat a corpse and also move around
Which was annoying
movement unlock is one of the things i may do next
Cheater mc cheater
anyway, whats the exact nature of these ghost sounds
If i would know
is it always in the exact same space? (could be multiple spaces)
as one things is that it does send a position of a far away player for some of the invisible players, i feel the game might stillsend sounds for out of range players
the vc im not sure why, the game range checks that
HOLY N WORD
There is zero logs.
Mostly can hear random usage of item next to GateB elevator
installed plugins?
😭??
if you have proximity chat then problem in him
that may be possibly related?
as it does use random positions for the midnight crashing stuff
nope, dont use any public plugins other than cedmod also the private plugins dont touch VC at all
the weird thing is, i dont either
i only touch vc to check for the vc exploit
wasnt that fixed basegame now?
nw moment
the talking in question, what kind of talking is it
radio, some scp, etc
Radio, grandaphone , spectator
yeah all of them
odd, humans shouldnt even be getting sent spectator chat
Even without any VC mods, 14.1 has caused issues
If you spawn a ton of dummies you'll find your sound will just break
Same with prox VC
Normal issue
Unless ur referring to being able to hear dead players
While alive
But chat does break at higher player counts
@worthy rune @restive turret i will make and autoupdate that stops moving the invis players to random positions and back to 0 0 0, as midnight fixed their shit crashing now anyway so its not needed anymore
let me know if it stops
Oki idk if auto update on but tmr will see it anyway
if the latest update was installed without any action then it is 
otherwise just run checkforcedmodupdate and installcedmodupdate
Just wait until crashing and it will check for update 
what?
Just ignore I'm in bed and don't wanna touch the panel for these , most NA players leaving at this time i guess so can i can wait and check tmr
Ye probably i don't manage cedmod so
ced the super duper cool awesome dev
did they use it to detect you lol
i think they just check the playerlist title for cedmodverification
that works too
why alive players can hear around died
no clue, they shouldnt be able to


