#plugins-discussion
1 messages Β· Page 2 of 1
aw
For my example, i want to specifically get rid of the 2 doors in the back of the Class-D Cells, to then build a map extension there.
-# I dislike having to use Teleporters for every map extension...
But as far as i understand it, they dont have the door component so are just static objects
yeah unfortunately you need teleporters for that
aw :c
you just need experience
and maybe some creative thinking
but for programming thats about it
and a fast typing speed π
need to produce as much spaghetti code as possible
if i ever learned how to program
which probably never because i am very lazy
id have very neat code
i mean its kind of like
if you get me to do it i just do it
and could give a shit less
Its nice to think that, most people try to strive for it and some succeed, but the fact is for one reason or another that will be hard to do
no it isnt
im a perfectionist
i wouldnt leave without perfecting the code
and if not id come back the next day and work on it
dont worry about perfecting the code or you will spend hours on something that should be basic
but i like your attitude
that kind of determination is something i need
i mean making the code neat
but my code would be hard to co author probably
im the king at coming up with really out of the box ideas
i mean i guess i know a bit about code but
too lazy to actually learn it lol
if you know what an interface is specifically youre probably doing better than i am
like how to program interface or?
well without interface you wouldnt be able to even communicate with the computer or code
it would just be code
like
think if 0 interface like an experiment with 0 changes
it just runs
you set everything up and it runs
code can do that
interface is like changing variables and such in an experiment
because youre letting the user change values to get different outputs
no like an oop interface
a what
object oriented programming
can you give an example
its a contract of some sort that a class signs that says it will have these specific methods and these specific field/properties
I cant i dont really understand it as ive previously mentioned
and what happens if it doesnt have the specified methods and properties and such?
it just doesnt work??
it wont compile
like authenticating something or
at all
so what can i relate it to just like signing a driver so windows wont give you smart screen?
kind of thing
uhm, its like saying everything with this interface is guaranteed to have these things
if the real world was a program
uhm
IOrganism would have the functions IOrganism.Reproduce() and property IOrganism.Age or something
and the Human class implements IOrganism
so like
let me try to think here
it has that property
and what that does is human is expected to have
said property
than that property grabs certain things
like movement speed and such?
yes
properties are like an access point you can use to modify a variable
so like
if i did
the IOrganism(MovementSpeed = 4.5)
it would change the original value
listed in the IOrganism classifier to that
or
Yes
if the specified object implements IOrganism
ah
Basically you can check if an object implements it like this:
if (object is IOrganism organism)
so like
then you can access that objects organic properties
uhm a classifier can be imagined as a type of object
what does fpc motor even have in it?
I dont know what fpc motor is, i wont try to construct a connection to it
uhm
fpcmotor isnt an interface iirc
Yeah I was gonna say that isnt an interface
i wasnt sure if he was asking what fpc motor implements
or if its an interface
ik π
why do you interrupt mid context
he was referring to classes
o
yes
and for a transpiler ur effectively just changing the compiled code
nothing to do with oop
you developed a program that uses a lot of Interfaces you might be able to help
all i know about a transspiler is that they break the game if theyre built wrong
what program
I dont even remember looking through ruei code tbh
its not very good
like interface would be like
i need to get around to writing it
a class would be a button
rewriting
is clickable = true and such
in the identifiers
and you can change it to false but those are the default parameters or sumn
idk
what is an identifier, is it like a variable?
kinda?
idk i dont know
the official terms
in oop, a class is basically just a thing that stores information (and has methods to operate on that information)
a class is the framework you use to construct an object
or it can be a single instance that can be accessed globally
but generally focus on the first one
yeah like
Button
IsClickable = true
RedirectTo = ''
etc
right?
yea sure but they don't NEED default values
ohhhh
if it helps
thats what you do after
yea u can change the values
an interface is kind of a class except it can't actually store anything
it can only really be inherited
my daily c sharp lesson
one class can inherit multiple interfaces
yea
so theyre generally used to denote that an object is capable of doing X thing
so my IOrganism idea wasnt very good actually
what you can do is essentially convert a class to an interface and use it as that interface
if you do like this
oop is all very stupid
More like IWalkable
So the Dog implements IWalkable because it moves its four legs to walk
and so does the human, but they walk differently
but if you wanna make something walk without worrying about how, you can access its IWalkable and do IWalkable.Walk() and no matter what object it actually is itll walk as long as the interface is properly implemented
Chat, is this too many keycards?
wtf
Imagine the 914 upgrade tree 
imagine like not creating that many keycards because
youll drive people to insanity with upgrade paths
Thats the point!!
for custom keycard, 64 permission combination
-1 if it is impossible to make a card without any permissions
someone make an avengers endgame plugin NOW
what does that even mean
Is is..... Inevitable
Idk collect all 6 infinity keycards and kill half the server
bypass if you obtain all the keycards
Trust
I mean...
people have downloaded the repository 30-50 times, but have not suggested any changes ...
thats how it is
people download it to look or check it out, most lose interest quickly, and of the ones who continue using it not many are interested in requesting specific changes or giving feedback
ive personally been lucky enough to have more than a few gentlemen/women dming me for support and suggestions on one of my plugins due to continued interest and use.
I have literally no skills (chatgpt my love) If I have some lines of code for a plugin, what would I save the file as and where would I save it?
You need a C# compiler
to compile to .dll
you also need an actual C# project
not just a single file
If I installed a scpsl server on steamcmd, will I have LabAPI?
if you installed the beta yes
I have the beta on the server π
"First, find a plugin you may want to download, and open its Github page (or repository, as we often call it)."
The guide thinks I already have a file in that format, I do not. I only have text. How can I compile it to .dll ?
you are reading the installing it
not the creating a plugin
anyway
I am actualy dumb, sorry XD
If I do the project on my main pc, then transfer it to the server, will it still work? It would be so much easier for me to do it on my main pc lol
yes?
all server needs is the .dll compiled
but u need functioning project to compile w references etc
.net desktop environment im pretty sure
ill check
yeah
thanks
I don't know if this will work, lots of the text is being flagged
That is just one of many
learn .net and C# first
gulp, I only want the com45 to shoot grenades...
and you prob forgot to inlcude the LabApi.Features.Loader
you need the labapi references yeah
click on show potential fixes
only works if labapi has been added
also install labapi nuget
yes
yes
go to your references
right click
manage nuget packages
then search for labapi
im so lost
I highly reccomend learning c# itself first..
yeah
well i started with plugin development, didn't even learn c# and got all this way
it really depends on the person
Chatgpt my love π
david give them SL source so GPT can use it 
ok this is the best i could do interms of a tutorial π
He would die
gemini doesnt know shit either π
the gemini API is good tho
lmao
Is this on google or what?
this was made with discord.js and the gemini api, gemini is rlly good, not for exiled tho π
You can build this here
no on visual studio π
Yeah, I knew that! π π
i have a nuget installation tutorial but it would kinda be a bit focused towards exiled
but once you get how nuget works its literally so simple
Wait where? This is what I see:
nooo π
go to your solution explorer
the thing with files
you know what ill just send the tutorial
https://www.youtube.com/watch?v=s9UVJUZXwXs&t=58s
just watch this until the nuget part is over
search for labapi instead of exiled in nuget
WHATS NUGET?
where has Jeppe gone π
saskyc better π£οΈ
package manager
ask gippity ;)
NuGet (pronounced "New Get")[3] is a package manager, primarily used for packaging and distributing software written using .NET and the .NET Framework.
I promise I will learn c# soon
yes
oki
Just to double check I need this as well right?
No you'll be just fine without it
Good job
π
Now you need to create the right project and add the right references and the right usings
Then you can code
huh
This is what chatgpt gave me:
using LabAPI.Events;
using LabAPI.Features;
using LabAPI.Features.Items;
using LabAPI.Features.Players;
using UnityEngine;
namespace Com45GrenadeLabAPI
{
public class Com45GrenadePlugin : Plugin
{
public override string Name => "COM45GrenadeLauncher";
public override string Author => "ChatGPT";
public override Version Version => new Version(1, 0, 0);
public override void OnEnable()
{
EventManager.PlayerShoot += OnPlayerShoot;
}
public override void OnDisable()
{
EventManager.PlayerShoot -= OnPlayerShoot;
}
private void OnPlayerShoot(PlayerShootEvent ev)
{
if (ev.Firearm.ItemType == ItemType.GunCOM15) // COM-45
{
Player player = ev.Player;
// Spawn grenade 1.5m in front of player
Vector3 spawnPos = player.Position + player.Forward * 1.5f;
// Create grenade item
Item grenade = Item.Create(ItemType.GrenadeHE);
grenade.Spawn(spawnPos, Quaternion.identity);
// Throw grenade forward with velocity
Rigidbody rb = grenade.GameObject.GetComponent<Rigidbody>();
if (rb != null)
{
rb.velocity = player.Forward * 15f;
}
}
}
}
}
No way it works right?
I would be pretty surprised if it did
Build it, download 14.1 client and server, put it in labapi folder and try it
Red = bad
π³
Author: ChatGPT π
I use it a bit too but tbh it's so ass
Also you're missing the nuget package because the usings aren't working
Or it's just gpt capitalizing the wrong letters
Happened to me
Should I code this as a test for fun
YES
yes please
π π
is there an easy way of learning c# so I can make quick plugins like making a gun shoot balls or something?
you could watch a few tutorials on youtube
is there a list of all the labapi things? (I don't know what to call them, identifiers?
How are you getting on?
Is there a way to add custom attributes to a weapon? or does that need to be a plugin too...?
Didn't start yet
I might do it if I feel like it but not rn
I'm making other small tweaks
fair
How can I compile it so I can test if it works?
ctrl + shift + b
looks good?
I can't for the life of me find where I need to put the file
First of all it's targeting a com15
waffleohtruffle@obiwanscomlink:~$ cd /home/waffleohtruffle/scpsl-server/
waffleohtruffle@obiwanscomlink:~/scpsl-server$ cd scpsl-server/LocalAdmin/plugins/LabAPI/
-bash: cd: scpsl-server/LocalAdmin/plugins/LabAPI/: No such file or directory
waffleohtruffle@obiwanscomlink:~/scpsl-server$
I changed it to com45
that doesnβt even look like the right route
I have no idea as to what I am looking for lol
yeah, so I can put "my" plugin in there
cd β.config/SCP Secret Laboratory/LabAPI/plugins/globalβ
waffleohtruffle@obiwanscomlink:~$ cd β.config/SCP Secret Laboratory/LabAPI/plugins/globalβ
-bash: cd: too many arguments
I will split it up
you need to use your quotes
mine may be wrong
idk
probably are
replace my quotes with urs
could this be it?
Different quotes ;-;
iphone is yippie
:p
I am there waffleohtruffle@obiwanscomlink:~/.config/SCP Secret Laboratory/LabAPI/plugins/7777$
Or should I have done global at the end?
doesn't really matter if you're only running one server per machine
anyone who ports Exiled plugins to LabApi?
depends on the plugins you want, iβm trying to allow all my plugins to work on labapi too, some are a bit too complicated thoβ¦
I wrote you to the dm
Does custom keycards show permissions in inventory? (Is that fixed in release?)
Not fixed, sorry
I don't speak russian
Never mind
Look at this kitten
Birds are better
IPoAC moment
What
In computer networking, IP over Avian Carriers (IPoAC) is an ostensibly functional proposal to carry Internet Protocol (IP) traffic by birds such as homing pigeons. IP over Avian Carriers was initially described in RFC 1149 issued by the Internet Engineering Task Force, written by David Waitzman, and released on April 1, 1990. It is one of sev...
XD
Packet loss is real 
):
is there any labapi compatible scp proximity chat plugin?
Hello, these values are from 0f-1f
So what you did is 1,1,1,1
=> white)
@ornate oriole
@lavish linden i thought of having an easy-to-declare schema for the plugin manager, either json or yaml
not sure how that would be handled
in a file contained within a zip?
as a release asset?
probably in the repo code
yeah the issue with that is it takes an extra api request
Well, it'd be cool if the metadata was included in one file
maybe include metadata in the DLL?
as an EmbeddedResource perhaps?
i mean you can already embed DLLs if you want dependencies
not a good practice imo
It'd be cool to see what the LA people think
oh?
at zabszk 
another issue with this is you may get duplicate assemblies
make issue on la repo
already did
@fair lintel if you wanna make a comment on there you should
π
There's a reason behind that
read the issue linked to it
Basically this is how it'll work. There will be a list of NWAPI & EXILED plugins which have been submitted and strictly approved by plugin moderators or NW developers.
π

hell nah π
yes let's support unofficial frameworks in the core runner of the server
oh well
i'm not against the person coming up with the whole rewrite thing but "official" exiled plugin installation is not happening
i don't wanna end up suffering the same fate (as in, handing in a proposal, discussing with the LA team and ending up throwing it all out)
Okay time to see how stupid I am
So why doesn't pressing the keybind kill me
Trying to learn SecretAPI so I can make my own settings in the future
No haha
What version?
Secretapi version
And can you try compiling .Examples and trying that one
I feel like I'm overlooking something obvious
Sure lemme download it from the repo
I swear i made 0.5.1
I lied
I didnt
0.5.0 has the fix
idk then
Try a different keybind than 1
like G
Or H
Or smth
I tested it initially w G
Tried different keybind, no dice, I'm gonna compile straight from the example but it might be a couple minutes
^ this is really just gonna be something about me being dumb
i have no clue
Looks fine to me
Check LocalAdminLogs for any errors maybe
SCP Secret Laboratory/LocalAdminLogs i believe has it
Okay gotcha
My log is just a bunch of this lmao
I'll be honest programming makes me feel like a supreme idiot sometimes
Like why 
That stuff is normal
Go towards the bottom
Join and click the button
Keybind wtv
See what it tells you
If theres no error idk
Let me restart my local server, do it, and then grab the latest log
No errors π
Huh.
I'm trying to build the example and now I can't add the references from /Managed and I'm genuinely so lost rn
Now that is interesting
me when no works
I feel like I'm being a major dumbass I just wanna make cool menu guy
Idk it should work
@ruby sand uses it for wrappers and i havent heard any complains recently about it not working
If ur copying my example that should also work cuz thats the code i used to test the wrappers worked
Why is it that every time I've tried to test SSSS today it's completely crapped out on me
I mean I can't even get one project to build I'm feeling like the king of dumbassery today
Am I cooked?
Lol
This community is fr the best where else am I gonna lose my mind about basic shit and drag other people into the most easy to solve mess
do NWAPI plugins work with labAPI
No
what is the best way to test plugins, should I host a server on my pc or get a hosting service?
Download the dedicated from Steam
ok I did, any guides on how to setup?
The tech wiki has a few guides you might find helpful:
https://techwiki.scpslgame.com/books/server-guides
thank you
I got a server running but when I try to connect to the server it says that the specified host is not available, anyone any idea?
it's hosted on the same pc, do I need to port forward?
Are you joining with localhost?
not sure, I just tried to connect to my Ipv4
Do localhost
If you are typing in your external ip, yes
I'd recommend just typing localhost
it doesn't work either
Does anything appear in your server console?
nope
Are you hosting it on a different port than 7777?
no, it's on 7777
the only thing I changed in the config is the server name and ipv4_ip
you typed localhost like this correct?
yes and it says that it couldn't find it
not required
didn't do it either
server console says nothing either
is the server running on your machine?
check what ip it's listening on
same ip as my pc's
me when i open the console and type "lh" then enter
fair enough
in that case you need to specify the IP (if you've set it explicitly in the config)
omitting the IP sets it to localhost (or 127.0.0.1)
if you specify something like 192.168.0.100 then you need to connect to that
in which config btw, steam/common/dedicated only has config templates
%appdata%/SCP Secret Laboratory/config/port/config_remoteadmin.txt
should I leave it blank?
what does the config_template do btw?
theyre templates
A document or file having a preset format, used as a starting point for a particular application so that the format does not have to be recreated each time it is used.
it worked thank you :D

bruh
nothign
lol but does the server copy from the template to appdata or are they just there for guidance?
theyre just for guidance
they do nothing in practice i believe
ah ok, so everything server related is in appdata
guys I didn't need to port forward and my friend is able to join, does this mean it's automatically port forwarded or is something else going on
the server forwards the ports automatically
fyi
just type localhost in client console
connects you to localhost:7777
Doing direct connect is just muscle memory for me now
@dr.dinspit
ΓΆlh<enter>
or
`lh
then enter
and ` again
@fair lintel #1373707916527407296 message
It'd be nice if the jail command had a different name as it conflicts with cedmod's jail command
otherwise plugin is very nice
I've missed my dropsize

alright disabling jail works
Make an issue on GitHub so I don't forget lol
Will do
aint that the truth
Lmao
Please wrap FpcRotationOverrideMessage rotation values with Mathf.Repeat before using InverseLerp otherwise rotations like 500Β° will turn into 360Β° instead of 140Β°
WATCH OUT
thats IL code

I mean you can do that yourself

What are you on about π
Sorry, I just got the impression that for once nw decided to do an update where they actually care about plugin devs, should I not report obvious bugs like that and just patch them on my server/on exiled?
I personally don't consider it a bug cuz you wouldn't really look in an angle outside of the range [0,360[
thats not the issue theyre referrng to tho
they mean that if you add to a rotation, they want it to loop back to 0 and restart the count
and then you ofc make sure its 0-360 still
Yeah but you might as well validate the range yourself
Before passing it to the method
Would it make sense for the method to validate it? Maybe
Is it an issue that it doesnt? Ehhhh
You wouldn't look, but you very much can get an angle like this from math
Look at how quaternion multiplication works
and how it is used
You might as well make a game yourself lol
That argument is just as wrong as it it annoying
I know
I did run into this angle clamping issue not once
Just make an extension method that overrides rotation with Mathf.Repeat
I get that you can get values outside of the 0-360 range but it didn't occur to Northwood and it probably isn't worth for them to fix it
but it didn't occur to Northwood
The only reason it didnt is because they dont use it.
Yeah
The most basic example of quaternion math is that player.Rotation = Quaternion.Euler(0, 180, 0) * player.Rotation; turns the player around. With the current implementation it does so very inconsistently and inverses pitch. This is a design flaw, otherwise known as a bug, by definition
Player.LookRotation gives you angles so you don't have to multiply it
Though it still suffers from clamping
Sorry what?
The code example in my message is (should) turn the player 180 around Y axis
What does it have to do with there being an option of using Player.LookRotation
with the current implementation it does so very inconsistently and inverses pitch
Isn't that the issue with using Rotation?
That is an issue with how it is implemented, which i suggest to change for it to work correctly
Be sure to make an issue on GitHub otherwise it'll be unlikely to get noticed by NW
-# unless if I ping david 
it will be unnoticed in that way too 
Shh
is https://discord.com/channels/330432627649544202/1336031121699377213 the only reliable way to find new plugins made with LabAPI? I have tried searching on github with tags, but quite a lot of plugins either don't have the right tag or are made for exiled exclusively.
Oh, damn, I just realized i never tag my plugins
I think so
LabAPI is relatively new anyways
its been around for like a month
Is Player.UserId the steam id?
Using SqlLite and I need a key to use for each player
Yes
It should return the Steam / Discord / Northwood ID
Gotcha, thanks
storing UserId of DNT players breaks VSR
add a check
How does steam ID break VSR? Steam ID is pretty much⦠everything.
If they have DoNotTrack enabled, then you will not track them
this includes SteamID
there are other ways to keep track of a particular player within the round anyways
like Player::Id (the integer representing them)
Itβs global stats that persist between rounds
if its not security related then you cant track a DNT player's userid
If they don't want to be tracked, then you can't enable global stats for them
so no global stats.
if (player.DoNotTrack)
return;
How to find the elevator the player is in?

foreach(Elevator elevator in Elevator.List)
{
if(elevator.WorldSpaceBounds.Contains(player.Position)
{
// your code
}
}
But when a player rides an elevator, the server understands that the player is inside the elevator in order to move him

wdym
i guess you could use something like this
to get the elevator
probably not as efficient as looping through elevators only
Yeah world space bounds..
They are updated with elevator movement
Oh. Thx for response
Hm, using a raycast to look at a Pickup on the ground, how would go about to get the Pickup as a reference?
GetComponent<Pickup> on the collider?
π€
Pickup.Get(collider.gameObject) i believe
Also prob use #plugins-dev-chat
Sorry
Will move there
Yep bounds in unity are AABB, OBB is too expensive eventualy u can have box collider on the object and use is vertices as bounds
LSD
I do NOT want to figure out how convex hull creation works
Don't the elevators rotate as they go up?

how do u even do that
do u just fuck up the attachment code
by being nw and having source to delete parts 
i feel like u could maybe change attachments to do that though
Idk
I know its possible in plugins
ive seen it before
I had someone tell me something about attachment bytes or something but that didnt really work
I dont think its from michal having source access but that is very much possible
firearm.Base.Status = new InventorySystem.Items.Firearms.FirearmStatus(firearm.Ammo, InventorySystem.Items.Firearms.FirearmStatusFlags.MagazineInserted, 0u);
thats what the guy told me
probably doesnt work for new version but idk
yes

W cursed guns....
recoil must be insane
nw when the snipers will get to me?
im waiting then
this is me in 3 seconds
probably
I have only ever seen that with the 127 plugins π
So good.
no please explain your specifications instead of just saying you want a hud
imagine it took you 28 days to update your plugin because your dumb ass didn't want to mess with it 
Whose plugin is this
my own ;-;
thats the thing_
well WirelessCards is now finally updated ;-;
after one month
because i didn't had motivation
I wonder what plugins I could be missing out on which haven't been posted in #1336031121699377213
loads of exiled plugins
what?
my server is running on alpine linux
ok?
exiled aint an option for me
not sure why that's a blocker
Alpine Linux has barely any mono support, which makes it really shit for anything C# (Unity).
Haven't really tried getting Exiled yet, but I'm unsure as of now because of Alpine's lovely libs
My ass
You can download latest .net sdk
On alphine
Also mono stuff included in the sl server
So again MY ASS
With .NET's latest SDK (9.0)
The application runs perfectly on ubuntu docker containers.
Maybe dependencies not installed?
Check your logs
There is a linux dependency .txt read it
Sadly, Mono isn't available on Alpine.
I'm vexed that this doesn't come up on apk list
yo does anyone do commisions here
i could prob help but i am new but i could try to do a commision
The permissions file is sometimes just deleted( empty)
And no default config is getting deployed which resluts in the server not starting at all
does it happen with every plugin you have?
Its the lab api permission file
Thats why the server wont even run
I could reproduce this error when the storage was full
It broke the file
Then after ofc having 200 gb available again it does not make a default config even tho it is an empty file
Or whatever
Its konda strange
(so when storage is full and the server is running ig the permissions of labapj get deleted for some reason
And then then the server just wont work
Not a huge issue
holy moly that's a lot of people
Holy shit is that the man, Hubert Moszka z Polski?
I need someone's help
Server loves crashing randomly on waiting for plays and it's not Exiled related so idk wtf it is
But I need to know if I'm the only one
Thanks captain obvious
But I have in fact checked that, like amillion times
Either way someone helped me so I think it's gone now idk
Remove some plugins and see if it happens still
use 2 cores than 1
it's not really gonna make a difference for the single-threaded nature of unity
I literally just said it's fixed
Also yeah Ax was right it's not a cores issue
It was some random LabAPI plugin
which one? contact the dev, maybe they can fix it
I can't remember I just removed random ones
Might've been Facility Manager
Which I don't even know what the fuck it's there for
owner moment
Made some tools for admin toys, cant wait to use this on an actual server with players 
Is there a labapi equivalent of SCPUtils?
godzilla is die

is there scpswap for labapi? becuase the one i found is for exiled 1.0.0.0 and exiled is currently at 9. something
Thats the plugin's version not the api's
1.0.0.0 only mean he didn't set the version it's was build on
If it's load it's more likely than it's up to date
A 1.0.0 would not even load at start of the server
thanks
no, it was crashing actually. like ti said it failed to load becuas eit didnt find exiled 1.0.0.0
is there a labapi equivalent to Item.Create in exiled?
nvm i found a way easier way to do what i'm doing
Is there a way to have scales be reliable yet? Like persist after rejoining/joining
scalechange does change scale but have another join and their scale will be reset to 1 but their position will not (floating midair)
Sorry for any troubles caused. I checked our last internal version and it seems to be fixed
If you want workaround for now, wait 1-2 frames after player joins and then send him the FpcScaleMessages again
Thanks, works for me. π Just had to vary the Scale by a small random amount so that it's properly updated and not floating midair
@slate jacinth Or you can patch FpcScaleController.OnPlayerAdded(ReferenceHub hub)
and add the delay there
No it got fixed with the instant rolesync
Yea
YIPPIE
I fixed it when cyn told me about that
It also fixes the black screen on miniwave respawn
if you die and instantly respawn
what was fix
Division by 0 happened
cause there was a chance for a frame to have sum of maxhp to be 0
sobs
sob
typical nw moment
Anyone know how I can change the damage of a live grenade?
there should be a AnimationCurve in the grenade
ExplosionGrenade::_playerDamageOverDistance
its private but if you use a publicizre you can make it public
you could use ExplosionSpawningEventArgs and set ev.Settings._playerDamageOverDistance
what does this means?
you didnt install ruei which is a dependency of UltimateHUD
contact the support for UltimateHUD
look below
they may have installed both versions
probably didnt read install guide
ultimatehud has 2 versions
ruei and hsm
this person may have installed both and didnt read the install guide
all good it works now
good to hear
footgun
make sure to instantiate a new animation curve
otherwise you change the damage of every single grenade
PlayerEvents.Spawning
PlayerSpawningEventArgs
UseSpawnPoint property is always true, despite what you set it to in Remote Admin, does anyone else experience this?
i would have thinks it's was a new instance everytime
@fair lintel
nevermind
unity is weird
YES FUCK YES
Same
How can i place blood to the floor?
https://github.com/northwood-studios/LabAPI/blob/master/LabApi%2FEvents%2FArguments%2FPlayerEvents%2FPlayerPlacingBloodEventArgs.cs
https://github.com/northwood-studios/LabAPI/blob/master/LabApi%2FEvents%2FArguments%2FPlayerEvents%2FPlayerPlacedBloodEventArgs.cs
that's not what they asked for
they wanna know how to place blood
not how to track
unless they asked wrong
how can i get a room on what elevator located?
Elevator didnt have a ConnectedRooms property ? Or something like that
i need a plugin that lets scps talk to other players
Mb for double ping lol

did you give up with ur prox chat plugin then?
EWWW WHY DOES IT NEED HSM
WTFFFFFF
also breaks other plugins using settings
that plugin does? then why are we recommending itβ¦
buhhh
thanks!
in other words, donβt use the pluginβ¦
No
I just need a few less excuses
i can put the plugin on my server to test for u :3
if ur worried about tests that is
Um
when i speak as scp the other classes dont hear me
i already tried setting the keybind in server specific setting
default
Follow the guide in the README to set it up
Hello, is it possible to have a role with different colored letters? If it cannot be done naturally, can it be done using plugins? Thank you
owner_badge: '<color=#5bc0eb><b>C</b></color><color=#f4d35e><b>R</b></color><color=#f5f5f5><b>E</b></color><color=#5bc0eb><b>A</b></color><color=#f4d35e><b>D</b></color><color=#f5f5f5><b>O</b></color><color=#5bc0eb><b>R</b></color>'
owner_color: blue
owner_cover: true
owner_hidden: false
owner_kick_power: 255
owner_required_kick_power: 255
β€οΈ
What is the LabAPI equivalent to MapEditorReborn?
The unity shit can't find NewtonSoft, what do I do?
contact PMER
Doesn't help that I'm in a slightly newer version but I'm not switching
they have a discord
Where do I find it?
Thanks
np
Oh π
can i ask what plugins are ?
Plugins are basically server-wide mods.
Its basically just Drag from downloads and drop into the correct plugin directory.
plugins operate on the entry point defined by labapi and on events being subscribed
is there full mods for both client and server side ?
like new maps and such
No
its only serverside
well...
kind of...
They operate server-side but work across clients
Its a bit difficult to explain.
are they loaded on server join ?
They get loaded when the server is turned on
you can spawn primitives on the server to create "maps"
#1339593773788958852 #1338613365555335300 #1338831766592684063
Not a hack
well, creating a level at server start through code is def a hack
no
It isn't
you build the objects in unity or blender
then export them and load them in SL
like this
They were asking about plugins in general
ah
no i was speaking about building 3d things
Ohhh
like doing with plugins is a hack
generally, people use Map editor reborn
cause this would be a pain to model and not great for performance
talk about servers that have tens of thousands of primitives loaded at the same time
i wish this project was open source π
Stuff like that is on the MER workshop
and primitives aren't really too heavy on servers
When you have a lot of them, then its a problem
they are rather heavy on servers, not so much on clients
yeah on server they can be ignored if just for rendering
unless u have physics on them
That's what I meant. Used the wrong word.
Primitives don't have physics
they are static props
By default they don't though
and they most definitely don't have to be static
a part from colision
why would they be heavy on server then
yeah well
collision is physics
since the game engine has to check it for physics collision
because they're not server optimized at all currently
next update should bring improvement to that
people usually don't mark their objects as static, leading to load on the server because it sends updates of non-moving objects
that makes much more sense
what do they use for networking ? photon ?
still not the perfect framework but eh
Mirror is a base-game plugin SCP SL Uses, its in the game's files and is essential for some things to work.
at least its open source
there is also network for gameobjects by unity
imagine sending a letter to another country, waiting for it to return and doing this 2 more times
"give me your positoin"
"rotation"
"scale"
and you gotta find out where to send the letter to every time you wanna send it
analogy for getting transform 3x in the same method
and setting position, rotation and scale for mirror to send to clients
i'm not talking about networking
for controllers u use input replication
just unity interop
going to the c++ runtime to get everything
multiple times in the same method when you could do it once
u mean read and writes
the 3 transform getters are horrible
for a couple primitives you wouldn't notice, but with thousands, there is a noticeable drop in TPS
usually people use the MEROptimizer plugion along with MER to lift this load (by creating client-only primitives)
What if I make this by hand and hardcode it
I have a slight wanting to learn blender but goddamn that sounds like a pain
I also wanna maybe learn Unity sometime cause I feel like that may be important for what I do
But we'll see
Can I make dummy walk to diff positions? Or reload gun...?
yes and yes
check what the game does for following player
theres a follow player script but afaik it uses Vector3.Move or something
reload gun you have to use what SL does for emulating keypresses on server side for dummies
You can set the ReceivedPosition on the FpcMotor (I think)






