#plugins-dev-chat
1 messages · Page 57 of 1
.
That would be hell
public static void SendFakeSyncVar<T>(this Player target, NetworkBehaviour networkBehaviour, ulong dirtyBit, T syncVar)
how i can use it to change category?
what category?
limits
that's a sync list
i know
Hes blind dw
i tried using PocketDimension.ForceInside but the player gets still tipped outside the pocket dimension
reál
to fake sync
Slejm... what if you added XML docs, maybe people would not understand more
desiredPlayer.SendFakeSyncListSet<sbyte>(ServerConfigSynchronizer.Singleton, 0, CategoryIndexHere, ValueHere);
why 0
0 should be good otherwise you can check the index of the list by.
Going into the ServerConfigSynchronizer ctor. (You will see a list being added there
In the ctor you prob need to see
AddSyncObject(blablabla)
You can calculate of the index of it by just.
First of it is 0
Second is 1
Ye perfectly, my horrible explanation vs a horrible doc made by me
probs noone reads this except me xd
write what?
Documentation

Not this

I agree
public static bool Prefix(NetworkConnection conn, VoiceMessage msg)
{
if (msg.SpeakerNull || msg.Speaker.netId != conn.identity.netId)
return false;
if (msg.Speaker.roleManager.CurrentRole is not IVoiceRole voiceRole)
return false;
if (!voiceRole.VoiceModule.CheckRateLimit())
return false;
Player p = Player.Get(msg.Speaker);
if (p != null)
{
var ev = new VoiceChattingEventArgs(p, msg, voiceRole.VoiceModule);
Exiled.Events.Handlers.Player.OnVoiceChatting(ev);
if (!ev.IsAllowed)
return false;
if (msg.Channel == VoiceChatChannel.Radio)
{
var ev2 = new TransmittingEventArgs(p, voiceRole.VoiceModule);
Exiled.Events.Handlers.Player.OnTransmitting(ev2);
if (!ev2.IsAllowed)
return false;
}
}
if (VoiceChatMutes.IsMuted(msg.Speaker, false))
return false;
VoiceChatChannel sendChannel = voiceRole.VoiceModule.ValidateSend(msg.Channel);
if (sendChannel == VoiceChatChannel.None)
return false;
foreach (ReferenceHub receiver in ReferenceHub.AllHubs)
{
if (receiver.roleManager.CurrentRole is not IVoiceRole receiverVoiceRole)
continue;
VoiceChatChannel receiveChannel = receiverVoiceRole.VoiceModule.ValidateReceive(msg.Speaker, sendChannel);
if (receiveChannel == VoiceChatChannel.None)
continue;
msg.Channel = receiveChannel;
if (receiveChannel == VoiceChatChannel.Radio && !receiver.CanReceiveRadioTransmition(msg.Speaker))
msg.Channel = VoiceChatChannel.Proximity;
receiver.connectionToClient.Send(msg, 0);
}
return false;
}`
when they talk theres no sound
just the radio static
it also removes all talking
Thank you for contacting labAPI devs & plugin devs, someone will reply
Why are you doing this in the first place?
There's gotta be an easier way to do whatever it is you're trying to do
I mean in every code path you're just choosing not to run the original code
What function are you patching?
Also
You're using exiled?
Wouldn't it be better to ask in the exiled discord and not the LabAPI discord (the thing you're electing not to use)?
I presume it's ServerReceiveMessage in VoiceTransceiver but there's a small chance I'm wrong
We do not provide support for Exiled. But it appears that your missing the voiceRole.VoiceModule.CurrentChannel setter after the validation before the foreach
VoiceChatChannel validatedChannel = sender.VoiceModule.ValidateSend(msg.Channel);
if (validatedChannel == VoiceChatChannel.None)
return;
sender.VoiceModule.CurrentChannel = validatedChannel;
morning david
we're gonna break Vector3 

viva la dirt league moment
public Vector3(float x, float y, float z)
{
this.y = x;
this.z = y;
this.x = z;
}
``` 
Yo stupid question if i have a transform and the transform is (1, 2, 4) in size and i add inside the transform an InteractableToy it will take that size or its separated (non networked)
if you use lossyScale it will have the "actual" transform
also works if you have it parented with localScale 
InteractableToy = InteractableToy.Create(transform);
Im just doing this lol
is it enough
no
then you have to set the properties manually
so i just InteractableToy.Scale = transform.lossyScale;
yep
set the networkscale on the toy base
wait what
wdym
oh the time
yeah make it 0.1
InteractableToy::InteractionDuration
i cannot
its a single
so 1 will do the trick
ok yea it works
Thank you so much. I know you don’t officially provide support for Exiled, but honestly, I think you are much more efficient at answering questions and offering help.
Soon, as soon as I finish a few things I need to take care of, I’ll also explore LabAPI.
@restive turret my god
how i can use it? https://github.com/KadavasKingdom/LabApiExtensions
just copy directories?
In actions you find the dll
And you same as other place, you add the DLL into your project
why here sort?
What
Because indexing needs ti be smaller to bigger
cuz of the .Where, so they prob ensure its ordered correctly
Yes
Lmao
What the value of WeaponList.Count
Does your player have armor on?
no
The index should be the index of the ServerConfigSynchronizer.Singleton.CategoryLimits's index
Firearm category is prob 5?
Check the enum and report what the value of ItemCategory.Fireaem is
4
Also I dont get this message
that?
ok
Bro
Remove the index searching
Set the value just to 4
0,
4,
(sybte)WeaponListCount
¯_(ツ)_/¯
Idk never tested it
Check client Player.log file
And server .log too
need additional big brain
where it
Index: 2
int index = InventorySystem.Configs.InventoryLimits.StandardCategoryLimits
.Where(x => x.Value >= 0)
.OrderBy(x => x.Key)
.ToList()
.FindIndex(x => x.Key == ItemCategory.Firearm);
``` but same dont works
Ok, I'm gonna just ignore you
GameObjectPools.PoolObject:SetupPoolObject()
PlayerRoles.PlayerRoleManager:InitializeNewRole(RoleTypeId, RoleChangeReason, RoleSpawnFlags, NetworkReader)
PlayerRoles.RoleSyncInfo:.ctor(NetworkReader)
PlayerRoles.PlayerRolesNetUtils:ReadRoleSyncInfo(NetworkReader)
Mirror.NetworkReader:Read()
Mirror.<>c__DisplayClass8_0`2:<WrapHandler>b__0(NetworkConnection, NetworkReader, Int32)
Mirror.NetworkClient:UnpackAndInvoke(NetworkReader, Int32)
Mirror.NetworkClient:OnTransportData(ArraySegment`1, Int32)
Mirror.LiteNetLib4Mirror.LiteNetLib4MirrorClient:OnNetworkReceive(NetPeer, NetPacketReader, Byte, DeliveryMethod)
LiteNetLib.NetManager:ProcessEvent(NetEvent)
LiteNetLib.NetManager:PollEvents()
Config Synchronizer (netId=424): ServerConfigSynchronizer OnDeserialize size mismatch. It read 17 bytes, which caused a size hash mismatch of 11 vs. 1A. Make sure that OnSerialize and OnDeserialize write/read the same amount of data in all cases.
``` 
?
I gonna search what is that and how
Since apparently wants 9 more bytes
I get the 8 byte but wtf is the last
What if you set the Ammo limits to max values and patch the limit on the server
how can i teleport an player to another room?
Player::Position = Room::Position
Add Vector3.one
got an small example for me maybe :P
I don't get this message is it too much or too few??
might be but my brain can't really think of a way to get rooms by their name and also their position
idk
him need 26
but he received 17
0x11 and 0x1A
chatgpt said must be 18
SyncObject ID (ulong), count (uint), type (byte), index (int), new value (sbyte) = 18 bytes
8 4 1 4 1
slejm moment
Bro I said check the index on your IDE or dnspy for the index value
You didn't do that
I just assumed its a 0
same drop items
bruh
i can pickup
but it drop items
if i select someone weapon
it write 1
Do you want to patch out the weapon dropping shit with the armor thing?
Why desync, just prevent the server from dropping
but why it drops
if i return 8
and client too have
which method need patch there?
Lemme find it, 1 second
dirtyArmorPlayer.inventory.RemoveEverythingExceedingLimits();
it?
private static void UpdateDirty()
{
if (BodyArmorUtils.DirtyArmorPlayers.Count == 0)
return;
if (NetworkServer.active)
{
foreach (ReferenceHub dirtyArmorPlayer in BodyArmorUtils.DirtyArmorPlayers)
{
if (!(dirtyArmorPlayer == (ReferenceHub) null))
dirtyArmorPlayer.inventory.RemoveEverythingExceedingLimits();
}
}
BodyArmorUtils.DirtyArmorPlayers.Clear();
}
this
Almost
keep the dirty update intact as you'll do some funky stuff
prevent this function from running via a Prefix tbh
I know this pain, cause I suggested in the LabAPi suggestion channel for a toggle for this annoying code
Like I cannot test in Tutorial without getting instantly monitor smash mad due to weapons dropping
does anyone have an small example how i get the rooms and their position by their name?
REAL
Room.Get
which players contains BodyArmorUtils.DirtyArmorPlayers?
why it make like the player is dirty
Look at functions which use SetPlayerDirty
it just add the player
to it
public static void SetPlayerDirty(ReferenceHub player)
{
BodyArmorUtils.DirtyArmorPlayers.Add(player);
}
Yes, but look at function which USE that function
Search for references
there are 5 of them, each adding the player for different reason
but TLDR: player has armor, needs update, thus is dirty
I assume it's a bugfix or a backup dirty check if the others failed
For example it happens in tutorial, cause you can add 5 items in your inventory, you want to switch and then the guns explode out of you like confetti
Also your braincells out of frustration, but it's just a ketchup bottle you smashed into the wall
and now you have to clean it up
good job
You can create a HasPlayer which uses ReferenceHub
if you want a more optimized version
Also Player.Get() uses UserID + Cache, so I do not think it's that slow?
it's a dictionary lookup which is as fast as you can go
hash code is from the cached ptr stored in the Object class
after subsequent looksup 
huh?
I'm seeing this for the Get part:
public static bool TryGet(string? userId, [NotNullWhen(true)] out Player? player)
{
player = (Player) null;
if (string.IsNullOrEmpty(userId))
return false;
if (Player.UserIdCache.TryGetValue(userId, out player) && player.IsOnline)
return true;
player = Player.List.FirstOrDefault<Player>((Func<Player, bool>) (x => x.UserId == userId));
if (player == null)
return false;
Player.UserIdCache[userId] = player;
return true;
}
this is a lookup by referencehub
You can check the UpdateDirty when it is ran
why i cant compile in release mode?
he cant find dependencies
but in debug mode he found
Csproj skill issue?
Try dotnet build -c:Release
wait you are supposed to build in release mode
idk
Northernwood 😭
The default csproj has optimized code in release, there isn't much difference
I just have Optimizations enabled pretty much always, this way I don't have to switch configurations
do you have conditions in your csproj?
what the fuck is happening here
Wtf
What happens if you build with VS
why the fuck did your dotnet start speaking minecraft enchanting language
actually scratch that
Не удалось найти тип или имя пространства имен
it's cat calling sounds
error

XDddd
wait, actually I think this is a unicode error
What language is your OS in
cause those Рќ looks like a double byte letters
and the rendering is shit
oh yeah you have korean, switch to that and run dotnet
(or other non roman typeset language, sorry if I got it wrong)
where do you run the dotnet? terminal or rider?
find dependencies
Ok I'm slowly believeing AI is useful for random shit
Which reference does it not found?
all
The error lists all dependencies?
or not
Show your csproj
so the $(OTHER_REFERENCES) doesn't work
Protected IV
protection from nato*
???
just replace \u with \\u
i.e. just replace 1 backslash with 2
that's what i do
it help me break n list?
huh
ohhhh i thought someone was using this in a plugin you have to break out of noparse or smth
mb
thx for way
break it
@_@
its a setting lol
What’s the best way to check Cuffed/cuffer related info in labapi? Migrating an exiled plugin to labapi and couldn’t really find anything easy
on desktop version
IsDisarmed and DisarmedBy
Player properties
Thank you, that’s should have been obvious but I just didn’t know what term to search for lmao
accept the csg and just restart ur server?
if you dont accept them youll eventually just not have ur server verified probably
me need only delete it
why not just accept?
tell the owner to accept it lol
easier patch it
im not sure they'd like the consequences of doing that but sure
idk the method tho
*hopefully it's a generic method so it cant be patched
*
bruh
each message from console send to discord channel
cool
detonate easier
how to explode discord
You shouldn't patch it. Either accept it or disable listing on server list
This is one of those things that requires attention to fix
prob easier to spam the owner of the server to accept it
can I keep the LightSourceToy directly in front of the player's view without using any Update?
Funny thing, I thought it did
But just checked and I needed a patch earlier
I created a issue awhile ago for attachment events
https://github.com/northwood-studios/LabAPI/issues/123
Something we work on merging in yea
Does someone know if i can get the client position?
Because by the FPCmotor i know you can and i want to try and just see whats the difference between the 2 because desync is going crazy quite alot
receivedposition i guess?
receivedposition is not the one in the server?
/// <summary>
/// Gets or sets the player's relative position as perceived by the server.
/// </summary>
public RelativePosition RelativePosition
{
get => new(Owner.Position);
set => Owner.Position = value.Position;
}
/// <summary>
/// Gets or sets the player's relative position as perceived by the client.
/// </summary>
public RelativePosition ClientRelativePosition
{
get => FirstPersonController.FpcModule.Motor.ReceivedPosition;
set => FirstPersonController.FpcModule.Motor.ReceivedPosition = value;
}
from exiled
Hmm so yea
ok nice to know
[HarmonyPatch(typeof(FpcMotor), nameof(FpcMotor.ReceivedPosition), MethodType.Setter)]
public class ReceivedPositionTest
{
public static bool Prefix(FpcMotor __instance, ref RelativePosition __result)
{
Logger.Info(__result.Position);
return true;
}
}
I guess it doesn't work lol
idk
im going based off yamato
yamato made that change or told me to i cant remember
How can i send every player a hint at the same time?
-# just loop through Player.List? :x
Player.ReadyList
but yeah just loop through
*dont do Player.List because if someone is connecting at the same time... yeah ur fucked 😭 *
at the same time impossible
FpcSyncData::TryApply
Here is where server process player's input
Nah i got it
ok
I just did it differently but it works
you use it too...
I do not care
i am going to fight you
my money's on someone didn't realize that was a thing
when .editorconfig in labapi
and they just made it the code style
vs users (and also rider users) ignoring the IDE yelling at them
because this was old code
and that wasn't a thing
is not was added later than is
damn
4 years ago..
i guess they didn't upgrade the C# version
no they did
not at that point
i made a pr with it without changing lang version
when they started
this was made when is not wasn't a thing
labapi?
rignt now the codebase is full of is not

it was david...
which is pretty weird
david is weird...

lets blame eve
FpcModule.Position = Position in real time in the server
FpcModule.Motor.ReceivedPosition = Last received position by the client on the server which is used to interpolate
Create a PR then
i said i did
guh
Proof
check github 
i also removed 2 weird
catch()
{
throw;
}
cuz why throw after a catch
Probably had internal write error
its meant to throw exception, but its weird to catch it and then throw it back
Useful to do some handling before rethrowing the exception
But theres no handling
Its try finally statement
Finally returns after even if exception
What SlejmUr said
Ignore what i just said
Probably
idk what sjelm is saying
There probably is something in the catch statement
But it's stripped out from our version
eve moment
very big change
oh
lol
why it looks that
!(shit is otherShit)
who wrote this
git blame the file
Just blame the file
amazing
i said 50 times who 😭
it wasnt meant to be a big pr, just changing stuff that looks weird to me
What about IsJumping, IsReloading, IsUsingStamina? I swear I'm looking i just don't see anything that isn't event based
IsUsingStamina doesnt rly have anything rn but SecretAPI has an effect that disables stamina usage
Isjumping can be replaced with a grounded check (i dont remember the logic for that one)
let me search for grounded but i guess otherwise check difference between position and room position or sumn?
is character controller a built-in to the game instead of labapi?
its unity iirc
oh sick ty
anyway
if (player.RoleBase is not IFpcRole fpc)
return;
Then use fpc and get the motor or wtv, should have info
Okay you're a lifesaver
so
p.RoleBase is IFpcRole fpc && !fpc.FpcModule.CharController.isGrounded;
equals IsJumping/Airborne yes? more or less?
should
❤️
isgrounded means theyre on the ground
right so not necessarily jumping but fucking close enough lmao
any way to tell if a player or weapon is reloading?
no clue, probably via the firearm item
yeah couldnt find in Firearm so probably some similar Unity check that I'm too unity-noob to know about lol
Firearms should not be unity
But it is basegame FirearmItem or wtv not labapi
And then some module idk
sorry me = noob but what is wtv again?
heard
WhaTeVer
im the youngest boomer i know at 28
im assuming theres not like a public repo for base game code so i can just ctrl+shift+f instead of just digging through assemblies in VS
Yep
hooray lol
wait im stupid i can just look at exiled's code maybe
yep
firearm.TryGetModule(out IReloaderModule module) && module.IsReloading;
IsJumping:
player.RoleBase is IFpcRole fpc && fpc.FpcModule.Motor.IsJumping;

What's the best way to initialize ServerSpecificSettingsSync.DefinedSettings for compatibility with other labapi plugins with SSsettings? I have
ServerSpecificSettingsSync.DefinedSettings ??= new ServerSpecificSettingBase[1]; followed by an Append(...).ToArray() call but like, won't that limit the size for other plugins
bc if i have no other plugins on the server then DefinedSettings is always null for me
No plugins it will always default to null
yeah def, but since it's an array, like how do i pick a good size
i mean then other plugins have to check for resizing right? seems bad but i might be dumb
When you .ToArray() the size is done properly
Since its a new array
Just dont modify the existing array
yooooo pls advertise
theres examples and im working on expanding the functionality to improve per player settings
oh I've heard about SecretAPI. Sounds dope but I was worried about creating plugin-conflicts bc my plugins are already buggy as hell when randos try to use them
i mean secretapi settings break if a new plugin calls the setting thing
you can fix it urself by just patching and calling secretapi method or
welp
ayo hotfix? lol
a beta release*
im releasing 2.0.0-beta1 tmrw lol
i just havent had time lately
stressing out xd
or ill try to
😭
it has breaking changes so i might just release a hotfix alongside it, since its easy patches to just copy paste for fix
gasp
hi pai
u
Nerd chat
Quick question, is there a way to change the name of an item when you hover over it in the inventory?
No its client side unless its a custom keycard
Hm, that's okay I guess, I can work around that
You can send a hint like this to say the name
Yeah that's what I was thinking
port all exiled stuff to labapi
and then eventually realize
exiled was labapi already
me when just use the labapi versions
i dont believe such a thing exists yet
I have one but that just yaml shit
uci is funny
ive heard so many people complain about how complicated uci is 😭
and i just find it ironic based on the name
But a great project, for items I don't think great for yml
Same as my SimpleCustomRoles
Definitely not simple
UCR is also on LabAPI but not in the forum
Theres only beta builds for UCR on LabAPI rn
UCR is good but i had to delete it because it was responsible for mysterious crashes
sadly i had to make my own alternative
SCR had some crashes but because of Scaling
Is it OS?
?
Open Source
half and half
it has a plugin i use to use the roles, but the actual role system is in an open source
i was just too lazy to open source the plugin
wqit
its for exiled
still i dont recommend using my library for your projects
Skill issue
its literally only made for me
Worst for you i guess
*works
yeah
if i do a major migration to Lab API i will update this lib to lab api also
Maybe I can start by porting Compound V to lab api
yeah
Im overly obsessed with this kind of uniformity if you know what i mean
i wanted to make these puzzle pieces fit together even when they arent meant to
Y'know what sad?
Some server instance doesnt have mono installed
Do my script loader doesnt work
Also i trying to move everything to labapi so doesn't have to deal with exiled
Nuh uh
Custom keycards does
Not items generally
Afaik
same here
ax said they are working on an scp prox chat clone for labapi so im waiting for that and then ill do the rest of the plugins myself
Me when Secret API 2.0 soon-ish
Funny is my plugins now completely on labapi, so I have to deal with Kadava's plugin to port into labAPI and clean up
wait ur waiting for secretapi 2.0?
Idk
Prox chat
Is easy
I haven't checked if there are breaking changes with SSSS
there is
Exactly my point
Why wait on a prox chat clone
When you can just
Make it yourself?
Cuz some people don't want to code
because i trust ax's code over mine
Definition of insanity
Fair 'nuff
Typically I just expect people who are looking for a plugin for their server to have a plugin dev to do it
The definition of insanity is to do something over and over the same way, expecting a change
🤫
seems a lot of servers have no such plugin dev
they rely on scraping up plugins online
Yup
Me throwing guns into 914 to get a Micro:
*loud incorrect buzzer*
Lol
So I just kind of assumed it was the norm
So much cool with just "omg 9 custom stuff" and basically it's just used plugins
I thought there'd be enough dumbasses like me around
REAL
only a few servers really do that lol
SO REAL
Can confirm
Maybe some people know how to tweak open source code
Like a little bit
I seen Hungarian servers that just copies plugins but doesn't have a dev
Interesting
server staff just do not tend to be the most sane people
Funny af
Real
Can confirm
The old dev nuked the server lmao
cc @ kadava 

Wait, quick question
one of my plugins saw use in a roleplay server who had literally no dev

How do I redirect incoming player connections
so they had several plugins from different sources
to other servers?
Uh
Like
Preauth
Something
minecraft lookin ass
Yeah
We have two servers rn and I wanna redirect people trying to connect to 1 when it's full
And send them to 2
Let me guess, they weren't compatible
No it was just funny seeing a hodgepodge of plugins
i do remember actually
NWAPI had a sorta easy way to do this iirc
Lmao
theu tried installing one of my plugins but immediately uninstalled it because my plugin had too many features
XD
which conflicted with existing plugins
"I wonder what happens if I install a plugin that does everything"
it seemed to me from their conversations to each other that they barely read about it or read the configs before installing it
no disrespect but it was kinda funny
honestly
it was probably better for them that they didnt use my plugin
it was unstable
now i use it regularly myself and its so much more stable than it used to be and now I think its something im proud of.

i think roleplay servers dont appreciate plugins enough, i dunno. i join them and they always host the same scenario every single day with small variations
and it always takes forever to set up
so that they can do another testing day
or containment breach
or whatever
maybe my lack of patience is why i dont fully appreciate rps
The first thing I see is "Roleplay server" next to Plugins or Vanilla i just "huh, why?"
i have done good (to my specific standard) roleplays, but ive never seen a server that hosts them
There is already like 3 Hungarian vanilla server I am like "why are you trying to be the 4th??"
the roleplay is always run by power trippers, i swear
so noone joins any of them 
REAL
🥺
There is like less than ~100 Hungarian players and most of them not want to play vanilla
Check how the proxy one works
join their discord department and spend hours in the game without losing your duolingo streak if you want to have any lore relevance or power
How wah
also, throwing snowballs and shooting guns is a warnable offence
because civilians are apparently retards to whom reloading a gun is impossible and too complicated of a task
Real
Aren't some class D's are murderers? So uhh
amnestics

oh wait they don't get those when they are "drafted" to the foundation 😭😭
apparently civilians are known to never touch guns in their lives unless theyre specially trained to use it
That's crazy
not like millions of people grow up learning how to shoot. or they live in countries where guns are easily obtainable. or guns are not HARD to operate
Watching countless films, yes you can figure out how to reload a gun, for recoil ofc you dont know but after some time you can know
USAAAAAA 🦅🦅
I saw someone say "Im sick of the myth that hollywood films can teach people how to use guns"
people wil go to hell and back to justify not allowing scientists to pick up guns
just press R 
that is just one of the many weird rules that are designed (whether intentionally or unintentionally) to make the experience unpleasant for newer players

You want to shoot a gun to defend yourself? Well, apply for a gun license in our Discord! If you don't, a mod will either broadcast to you or spawn as a tutorial to scold you for having a gun in your hands as a civilian.
"Do not look directly at the operational end of The Device"
just say that you've got anomalous powers from an SCP you were testing with the other day
And yes, all of our regulars will defend this rule because it does not affect them.
Never understood how you can do RP in SL
like
Its just bunch of fellas that dont want anyone else within
Your new? Cant do shit
Nah theres a rule against that and I think its actually fair
Literally
bruh
Except....
Real
if youre an established member of the community
i thought it was meant to be played as if it were in the foundation's universe
you can get an anomalous character in most servers
Literally
Its to avoid people posting dogshit anomalous OCs
are you telling me that servers make players create OCs just to roleplay in SL
furries....
🙄
I am an anonkmalkuzs guy who can read peoples minds
well I thought that was a given
its roleplay
you are playing a character
Roling on the play
yeah
most people prefer to play their own character
i guess
Oh man I remember playing on some server
during christmas when they added particle disruptor
Site 12, the biggest server, is not welcoming at all
Isn't some server just give you a blank char?
And some admin fella had great idea
to do RP Event
30 minutes in cell just waiting for something to happen
We waited for the tree SCP to spawn near us
XDDDD
💀
got disruptor and shot each other
I cannot even have a conversation in S 12 without people bothering me about how I dont have a high enough talk score
Then one of the rp hosts had slight mental breakdown or idk
that we are ruining the rp
gotta get that yapping diploma yk
And obviously if I challenge the established rules then they will also get mad
Average SL rp
Oh and then when I started plugin dev
I just abused my dev role
and made myself a ghost
during RP
best rp ever
people loved it
I run light rp events
i want to publish the server
either i will find my people
or i will realize theres a reason why most rp servers are the way they are
Nah just dont host RP
I just find the departments systems and the failrp shit gross
Also don't host vanilla either
I already invite my friends, its a fun time
Roblox SCP be like:
I think that if there wasnt admins breathing over your necks and a power hungry roleplayer whose character is a high ranking administrative personnel at the site with anger issues roleplay would be much more fun
perhaps
and if you were allowed to be anything other than an intern or d class as a newcomer
I know so, because I was in a server which was like that
This is why you should add some sort of class d zone
Where they can do stuff
I make it a point that there should be a d class common area which isnt just the vanilla room with the doors locked
Ye
its fucking lazy when they just plop d class in the 1x2x1 cell for 30 minutes
and make them wait
only to be tortured
Pretty much
Why do people think guns are so hard
I mean for real it's point and shoot
Gun safety training is just all common sense
"Always treat a gun as if it's loaded"
Me when someone makes buckshot roulette in SL
i can understand the physical aspects
I know how to safely handle a gun
im not confident i could handle the recoil of every gun i would come across
Me neither
But I could use one
Yeah like I would understand that underweight Class D couldnt lift the chaos machine gun
But like
Com15?
Saying the average person doesn't know how to use a gun is like saying the average person doesn't know how to make a PB&J
bruh
I think someone already did it
erm scientists are untrained personnel
they wouldnt even know how to operate iron sights!!
Just only 9x scope
maybe they wouldnt know how to unload and reload a gun, or handle the recoil, or understand gun safety
but at the very least
concede to me
please
that a scientist would be able to point a gun and pull the trigger
Their vision of what would scientist do
Here at Aperture Science, we fire the whole bullet
Thats 2 bullet per bullet
Flashback to Jesse and Walter failing to open a revolver
No way nah
65% more bullet per bullet
This week's reason to pre-invest in Aperture Laboratories: CEO and founder Cave Johnson's announcement that the applied sciences company is making its military-grade turret line available to consumers.
Also a risk i have wondered about
if i made a light rp sl server
i may just attract trolls only
lcz onyl?
Every server has one
Light rp as in light failrp rules and little to no departments
i just see that kind of stuff as breeding gatekeeping
Department of head
Did you call me
Never anything different
I wanted to port a game campaign to sl
Can you make such a thing
Portal would be hard because its physics dependent
sl doesnt have the greatest physics
and the player itself doesnt even have real physics
Half Life would be hard because it has NPCs but a lot easier i imagine
Send letters to david
I don't know where to start 🥺
all you need to do is make NPCs with voice chat support and combat and then youre basically mostly golden
did you look at the plugin you were told about
What
sorry for the dumb question
I was told "look at the proxy one"
but was it just unhelpful
but holy god, would NPCs be a huge deal
well, i dunno but i imagine it wouldnt be pleasant to make
the voice lines would be simple enough
They're dummies that shoot people
did you find a robust way to make them shoot
You use dummy actions
the only solutio i ever found was using dummy actions
which isnt reliable to always populate and is frighteningly similar to RA commands in code
oh well
it might be good enough tbh
Never have any issues
youve never had an npc fail to populate actions
XProxy
I had that but I found the cause for it
If you SetRole on the same frame as you spawn the dummy it breaks
H.E.V suit please
that makes life easier
Thats require to put those into player
So I just
Then
idk why
not like a full visual look it just adds some AHP and it regens the players health
Than getting a cached action a million times
The problem is I don't think you can force a player to shoot
Or ADS
Those are client-side actions
yes you can
You can lol
You can only fake it to other players
thats how dummies work
But you cant make them see it 1st person
but its just too hard for me to reverse engineer
^
if you do it on real players
so i might just do dummy actions
Dummies doesn't need those tbh
You can decompile and see how and what the dummy calls
You can just call that too
Oh, we talking about dummies not real players, right
I have
Me2
Its an interface
Inside some DummyController
Or whatever
Its starting with D
A namespace
Just see how the RA code does it
That's what I said 😭
I know how it does it
I had to do write my code
thats the thing
The problem is the specific actions
Like what
Specific actions like
What
You have to give them gun for gun actions to unlock
How do I figure out the code for the shoot action
the RA code does basically the same thing
it calls using strings
I think you're missing the original topic of this conversation
sec
The point is I call the dummy actions
Similar to the RA
@restive turret is suggesting I find how the dummy action I'm looking for actually works
And use that instead of looking through the dummy cache
I'm saying idk where that code is
I saying, you can just completely ignore the Dummy actions, and call what the dummy actually would do, for example looking right 10 you can do is.
Fpc.Motor.VerticalPosition +=10; for example
Yes
I do that for positioning
I don't know how to do it for shooting
Or ADS
Or reloading
Or anything like that
for shooting and others its more complex
You can go to the Namespace of where the DummyActionCollector are and find the interface for populating the action
I use the motor to do positioning
And search for what and ehere is jt using it
Since I am definitely NOT home to search those for you, you have to do it yourself
Aha found it

typoi






