#plugins-dev-chat

1 messages · Page 57 of 1

random scaffold
upper vapor
#

.

restive turret
#

That would be hell

random scaffold
#

public static void SendFakeSyncVar<T>(this Player target, NetworkBehaviour networkBehaviour, ulong dirtyBit, T syncVar)

#

how i can use it to change category?

upper vapor
#

what category?

random scaffold
#

limits

upper vapor
#

that's a sync list

random scaffold
#

i know

upper vapor
#

look in the repo 😭

#

there, Slejm linked it

restive turret
viral rivet
#

i tried using PocketDimension.ForceInside but the player gets still tipped outside the pocket dimension

random scaffold
#

mirror is hard

#

bruh

#

where i can find guidelines

upper vapor
random scaffold
#

to fake sync

upper vapor
#

Slejm... what if you added XML docs, maybe people would not understand more

restive turret
#

desiredPlayer.SendFakeSyncListSet<sbyte>(ServerConfigSynchronizer.Singleton, 0, CategoryIndexHere, ValueHere);

random scaffold
#

why 0

restive turret
#

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

random scaffold
#

lol

#

slejm in future

restive turret
#

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

restive turret
upper vapor
#

copilot

#

-# it will not be good

restive turret
#

(imagine writing a documentation)

#

Even AI will probably see as "wtf"

upper vapor
#

probs noone reads this except me xd

icy knoll
#

me when i wrote so much documentation for discordlab

restive turret
#

Lumi

#

Can you write it for me

#

:flowercat:

icy knoll
#

write what?

restive turret
#

Documentation

hearty shard
restive turret
#

Not this

hearty shard
humble haven
#
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

restive turret
#

Thank you for contacting labAPI devs & plugin devs, someone will reply

slate flume
#

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)?

slate flume
unique crane
#
VoiceChatChannel validatedChannel = sender.VoiceModule.ValidateSend(msg.Channel);

if (validatedChannel == VoiceChatChannel.None)
    return;

sender.VoiceModule.CurrentChannel = validatedChannel;
restive turret
#

morning david

restive turret
#

What your plan today, how much stuff we gonna break today?

upper vapor
restive turret
royal mica
celest thorn
#

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)

upper vapor
#

if you use lossyScale it will have the "actual" transform

#

also works if you have it parented with localScale toomuchtrolling

celest thorn
#

is it enough

upper vapor
#

um

#

no

#

wait

#

does the client know about the parent transform?

celest thorn
#

no

upper vapor
#

then you have to set the properties manually

celest thorn
#

so i just InteractableToy.Scale = transform.lossyScale;

upper vapor
#

yep

celest thorn
#

and how can i make it that is instant

#

0.1?

#

because 0 most likely locks it

upper vapor
#

set the networkscale on the toy base

#

wait what

#

wdym

#

oh the time

#

yeah make it 0.1

celest thorn
#

i cannot

#

its a single

#

so 1 will do the trick

upper vapor
#

0.1f

celest thorn
#

ok yea it works

humble haven
random scaffold
#

@restive turret my god

#

just copy directories?

restive turret
#

In actions you find the dll

#

And you same as other place, you add the DLL into your project

random scaffold
#

why here sort?

restive turret
#

What

random scaffold
#

.OrderBy

#

why

restive turret
#

Because indexing needs ti be smaller to bigger

hearty shard
restive turret
#

Yes

restive turret
#

Lmao

random scaffold
#

why patch works but it same drop items

#

@restive turret big brain why

restive turret
#

What the value of WeaponList.Count

random scaffold
#

5

#

due 5 pairs

restive turret
#

Does your player have armor on?

random scaffold
#

no

restive turret
#

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

random scaffold
#

4

restive turret
#

Then set that to 4

#

Index = 4

#

Recompile and check again

restive turret
random scaffold
random scaffold
restive turret
#

Bro

#

Remove the index searching

#

Set the value just to 4

#

0,
4,
(sybte)WeaponListCount

random scaffold
#

drop items

restive turret
#

¯_(ツ)_/¯

#

Idk never tested it

#

Check client Player.log file

#

And server .log too

random scaffold
#

need additional big brain

random scaffold
restive turret
#

bro

#

open the game folser

#

And start the log.bat

#

(or log)

random scaffold
#

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
restive turret
#

Ok, I'm gonna just ignore youSteamHappy

random scaffold
# restive turret Ok, I'm gonna just ignore you<:SteamHappy:1157333712950800497>
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.
``` ![SteamHappy](https://cdn.discordapp.com/emojis/1157333712950800497.webp?size=128 "SteamHappy")
restive turret
#

Thank you atleast that helps

#

9 bytes???

random scaffold
#

?

restive turret
#

I gonna search what is that and how

#

Since apparently wants 9 more bytes

#

I get the 8 byte but wtf is the last

upper vapor
#

What if you set the Ammo limits to max values and patch the limit on the server

fresh zenith
#

how can i teleport an player to another room?

icy knoll
upper vapor
#

Add Vector3.one

fresh zenith
#

got an small example for me maybe :P

icy knoll
#

it's as simple as that?

#

bruh

restive turret
fresh zenith
random scaffold
#

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

restive turret
#

Oh

#

Change the 0 to 1

#

The ListIndex

random scaffold
#

slejm moment

restive turret
#

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

random scaffold
#

same drop items

#

bruh

#

i can pickup

#

but it drop items

#

if i select someone weapon

#

it write 1

royal mica
#

Do you want to patch out the weapon dropping shit with the armor thing?

random scaffold
#

i dont have armor

#

but i wanna desync category limit with the server config

royal mica
#

Why desync, just prevent the server from dropping

random scaffold
#

if i return 8

#

and client too have

royal mica
#

Cause the armor logic drops it

#

InventorySystem has additional layer for Armor

random scaffold
#

which method need patch there?

royal mica
#

Lemme find it, 1 second

random scaffold
#

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();
    }
royal mica
#

Almost

#

keep the dirty update intact as you'll do some funky stuff

#

prevent this function from running via a Prefix tbh

restive turret
#

Ye probably exiled has some patches with this shit

#

Not my field

#

Skill issue

royal mica
#

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

fresh zenith
#

does anyone have an small example how i get the rooms and their position by their name?

random scaffold
#

which players contains BodyArmorUtils.DirtyArmorPlayers?

#

why it make like the player is dirty

royal mica
#

Look at functions which use SetPlayerDirty

random scaffold
random scaffold
#

public static void SetPlayerDirty(ReferenceHub player)
{
BodyArmorUtils.DirtyArmorPlayers.Add(player);
}

royal mica
#

Yes, but look at function which USE that function

#

Search for references

#

there are 5 of them, each adding the player for different reason

random scaffold
#

why holstered using it

royal mica
#

but TLDR: player has armor, needs update, thus is dirty

royal mica
#

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

random scaffold
#

is it optimized?

#

each time call Player.Get

royal mica
#

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?

upper vapor
#

hash code is from the cached ptr stored in the Object class

royal mica
#

after subsequent looksup mmLol

royal mica
# upper vapor hash code is from the cached ptr stored in the Object class

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;
  }
upper vapor
royal mica
#

fucking bruh

#

It navigated to the ICommandSender one icant

upper vapor
#

logic gun trying not to delete their own messages/attachments:

random scaffold
#

a synclist once per session, or is it synced somewhere else?

royal mica
#

You can check the UpdateDirty when it is ran

restive turret
#

On start and when the thing change

#

So basically startup, client connection

random scaffold
#

why i cant compile in release mode?

#

he cant find dependencies

#

but in debug mode he found

upper vapor
#

Try dotnet build -c:Release

royal mica
#

wait you are supposed to build in release mode

upper vapor
#

Release builds...

#

Like libraries

#

That are used by others

random scaffold
upper vapor
#

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

royal mica
random scaffold
random scaffold
#

$(SL_DEPENDENCIES)

#

only

royal mica
upper vapor
random scaffold
#

lol

#

ide language

upper vapor
#

What happens if you build with VS

royal mica
#

why the fuck did your dotnet start speaking minecraft enchanting language

#

actually scratch that

random scaffold
#

Не удалось найти тип или имя пространства имен

royal mica
#

it's cat calling sounds

random scaffold
#

error

royal mica
upper vapor
royal mica
#

wait, actually I think this is a unicode error

#

What language is your OS in

#

cause those Рќ looks like a double byte letters

random scaffold
royal mica
#

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)

random scaffold
#

same

#

but he still cant

royal mica
#

where do you run the dotnet? terminal or rider?

random scaffold
#

find dependencies

random scaffold
royal mica
#

LMAO

#

Не удалось найти тип или имя пространства имен

royal mica
#

Ok I'm slowly believeing AI is useful for random shit

#

Which reference does it not found?

random scaffold
#

all

royal mica
#

The error lists all dependencies?

random scaffold
#

or not

upper vapor
#

Show your csproj

random scaffold
#

,

#

ProjectMER
LabApiExtensions

#

also possible other

#

no

#

other works

royal mica
#

so the $(OTHER_REFERENCES) doesn't work

random scaffold
#

bruh

royal mica
#

classic typoi

random scaffold
#

you russian?

#

n list breaker

royal mica
#

HUH

#

I'm not actually

#

I'm Hungarian

#

oh that was testing back in the day

unique crane
random scaffold
unique crane
#

???

icy knoll
#

i.e. just replace 1 backslash with 2

#

that's what i do

random scaffold
#

it help me break n list?

true cedar
#

huh

icy knoll
#

ohhhh i thought someone was using this in a plugin you have to break out of noparse or smth

#

mb

true cedar
#

@_@

random scaffold
#

< 3

#

how remove fucking auto replace in discord

#

me need use : ) except :)

true cedar
#

its a setting lol

fair rain
#

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

random scaffold
#

i cant find it

true cedar
random scaffold
#

on desktop version

unique crane
#

Player properties

fair rain
random scaffold
#

how disable it

#

which method need patch

icy knoll
#

accept the csg and just restart ur server?

random scaffold
#

no

#

bad way

#

which other

icy knoll
#

if you dont accept them youll eventually just not have ur server verified probably

random scaffold
#

me need only delete it

icy knoll
#

why not just accept?

random scaffold
#

why

#

also im not owner

#

xd

icy knoll
#

tell the owner to accept it lol

random scaffold
#

easier patch it

icy knoll
#

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 TrollDespair *

random scaffold
#

each message from console send to discord channel

#

cool

carmine prawn
#

find the central server and block it

random scaffold
#

detonate easier

upper vapor
royal mica
#

This is one of those things that requires attention to fix

restive turret
#

prob easier to spam the owner of the server to accept it

tulip kiln
#

Why is there no attachment event

upper vapor
#

nwapi had this, no? Heartbreaking

#

make an issue

carmine prawn
#

can I keep the LightSourceToy directly in front of the player's view without using any Update?

tulip kiln
#

But just checked and I needed a patch earlier

static meteor
unique crane
celest thorn
#

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

upper vapor
#

receivedposition i guess?

celest thorn
hearty shard
# celest thorn 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

celest thorn
#

ok nice to know

celest thorn
hearty shard
#

idk

#

im going based off yamato

#

yamato made that change or told me to i cant remember

plain gazelle
#

How can i send every player a hint at the same time?
-# just loop through Player.List? :x

icy knoll
#

but yeah just loop through

#

*dont do Player.List because if someone is connecting at the same time... yeah ur fucked 😭 *

unique crane
#

Here is where server process player's input

celest thorn
unique crane
#

ok

celest thorn
#

I just did it differently but it works

hearty shard
#

and not

#

is not

unique crane
#

I dont know

#

and

hearty shard
#

you use it too...

unique crane
#

I do not care

hearty shard
#

i am going to fight you

true cedar
upper vapor
#

when .editorconfig in labapi

true cedar
#

and they just made it the code style

upper vapor
limber silo
#

and that wasn't a thing

#

is not was added later than is

hearty shard
#

damn

upper vapor
#

4 years ago..

hearty shard
#

but its used the same in labapi

upper vapor
#

i guess they didn't upgrade the C# version

hearty shard
#

no they did

upper vapor
#

not at that point

hearty shard
#

i made a pr with it without changing lang version

upper vapor
#

when they started

hearty shard
#

idk

limber silo
#

this was made when is not wasn't a thing

hearty shard
#

labapi?

limber silo
#

rignt now the codebase is full of is not

hearty shard
limber silo
#

labapi is another story

#

the programmer who coded that decided to use that

hearty shard
#

it was david...

limber silo
#

which is pretty weird

hearty shard
#

david is weird...

limber silo
true cedar
#

lets blame eve

limber silo
restive turret
hearty shard
restive turret
#

Proof

hearty shard
#

check github trolling

#

i also removed 2 weird
catch()
{
throw;
}

#

cuz why throw after a catch

restive turret
#

Probably had internal write error

hearty shard
#

its meant to throw exception, but its weird to catch it and then throw it back

restive turret
#

Which ifdef ed out from our version

#

throw just rethrow the exception

grand flower
#

Useful to do some handling before rethrowing the exception

hearty shard
#

Its try finally statement

#

Finally returns after even if exception

grand flower
#

What SlejmUr said

hearty shard
#

Ignore what i just said

grand flower
#

Probably

hearty shard
#

idk what sjelm is saying

grand flower
#

There probably is something in the catch statement

#

But it's stripped out from our version

hearty shard
#

well its a copy paste

#

well not copy paste but yk

#

its a copy

grand flower
#

Idk then, NW moment

hearty shard
#

david moment

random scaffold
#

eve moment

#

very big change

#

oh

#

lol

#

why it looks that

#

!(shit is otherShit)

#

who wrote this

icy knoll
#

git blame the file

restive turret
#

Just blame the file

hearty shard
hearty shard
#

it wasnt meant to be a big pr, just changing stuff that looks weird to me

fair rain
hearty shard
#

Isjumping can be replaced with a grounded check (i dont remember the logic for that one)

fair rain
hearty shard
#

It should be in character controller

#

Or the fpc role

fair rain
#

is character controller a built-in to the game instead of labapi?

hearty shard
#

its unity iirc

fair rain
#

oh sick ty

hearty shard
#

anyway

if (player.RoleBase is not IFpcRole fpc)
return;

#

Then use fpc and get the motor or wtv, should have info

fair rain
#

Okay you're a lifesaver

fair rain
hearty shard
#

should

fair rain
#

❤️

hearty shard
#

isgrounded means theyre on the ground

fair rain
#

right so not necessarily jumping but fucking close enough lmao

hearty shard
#

I dont rly work with it so i vant give further info on it

#

cant*

fair rain
#

any way to tell if a player or weapon is reloading?

hearty shard
#

no clue, probably via the firearm item

fair rain
#

yeah couldnt find in Firearm so probably some similar Unity check that I'm too unity-noob to know about lol

hearty shard
#

Youd have to check basegame firearm

#

Not the labapi wrapper, thats not complete yet

hearty shard
#

But it is basegame FirearmItem or wtv not labapi

#

And then some module idk

fair rain
#

sorry me = noob but what is wtv again?

fair rain
hearty shard
#

WhaTeVer

fair rain
#

holy fuck im just stupid

#

😄

hearty shard
#

nah its weird

#

xd

fair rain
#

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

fair rain
#

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;

random scaffold
fair rain
#

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

hearty shard
fair rain
#

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

hearty shard
#

When you .ToArray() the size is done properly

#

Since its a new array

#

Just dont modify the existing array

fair rain
#

ok guess im just bad at c#

#

ty queen

hearty shard
#

otherwise uh

#

Im self advertising a bit but

#

I made awesome wrappers for SSSS

fair rain
#

yooooo pls advertise

hearty shard
#

theres examples and im working on expanding the functionality to improve per player settings

fair rain
#

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

hearty shard
#

i uhh

#

need to fix some stuff

#

but

fair rain
#

LOL

#

RELATABLE

hearty shard
#

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

fair rain
#

welp

hearty shard
#

Wait like

#

1 day

#

And i can make a release

fair rain
#

ayo hotfix? lol

hearty shard
#

a beta release*

#

im releasing 2.0.0-beta1 tmrw lol

#

i just havent had time lately

#

stressing out xd

hearty shard
#

😭

#

it has breaking changes so i might just release a hotfix alongside it, since its easy patches to just copy paste for fix

true cedar
hearty shard
true cedar
lethal atlas
#

Nerd chat

covert flame
#

Quick question, is there a way to change the name of an item when you hover over it in the inventory?

static meteor
#

No its client side unless its a custom keycard

covert flame
#

Hm, that's okay I guess, I can work around that

static meteor
#

You can send a hint like this to say the name

covert flame
#

Yeah that's what I was thinking

teal junco
#

port all exiled stuff to labapi

#

and then eventually realize

#

exiled was labapi already

icy knoll
teal junco
icy knoll
#

custom items does

#

unsure about roles

restive turret
#

I have one but that just yaml shit

restive turret
#

uci is funny

icy knoll
#

ive heard so many people complain about how complicated uci is 😭

#

and i just find it ironic based on the name

restive turret
#

But a great project, for items I don't think great for ymlFear

restive turret
#

Definitely not simple

static meteor
#

UCR is also on LabAPI but not in the forum

restive turret
#

I saw it

#

Or was haluc

static meteor
#

Theres only beta builds for UCR on LabAPI rn

teal junco
#

sadly i had to make my own alternative

restive turret
#

SCR had some crashes but because of Scaling

restive turret
teal junco
restive turret
#

Open Source

teal junco
#

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

restive turret
#

Skill issue

teal junco
#

its literally only made for me

restive turret
#

*works

teal junco
#

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

teal junco
#

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

restive turret
#

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

slate flume
#

Custom keycards does

#

Not items generally

#

Afaik

icy knoll
#

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

upper vapor
restive turret
# icy knoll same here

Funny is my plugins now completely on labapi, so I have to deal with Kadava's plugin to port into labAPI and clean up

icy knoll
upper vapor
#

Idk

upper vapor
#

I haven't checked if there are breaking changes with SSSS

upper vapor
#

Xd

slate flume
#

Why wait on a prox chat clone

#

When you can just

#

Make it yourself?

upper vapor
#

Cuz some people don't want to code

icy knoll
#

because i trust ax's code over mine

upper vapor
#

Like

#

Ppl who just wanna install the plugin and have it work

restive turret
slate flume
#

Typically I just expect people who are looking for a plugin for their server to have a plugin dev to do it

upper vapor
upper vapor
#

UnityEngine.Random

teal junco
#

they rely on scraping up plugins online

restive turret
#

Yup

slate flume
slate flume
#

I mean

#

I'm a plugin dev for a server

upper vapor
slate flume
#

So I just kind of assumed it was the norm

restive turret
#

So much cool with just "omg 9 custom stuff" and basically it's just used plugins

slate flume
#

I thought there'd be enough dumbasses like me around

teal junco
upper vapor
#

SO REAL

teal junco
#

like its not a super small number, its fairly prevalent

#

but its not at all the norm

restive turret
upper vapor
#

Like a little bit

restive turret
#

I seen Hungarian servers that just copies plugins but doesn't have a dev

slate flume
#

Interesting

teal junco
#

server staff just do not tend to be the most sane people

restive turret
#

Funny af

slate flume
#

The old dev nuked the server lmao

restive turret
#

cc @ kadava ClassDTroll1

slate flume
#

Wait, quick question

teal junco
#

one of my plugins saw use in a roleplay server who had literally no dev

upper vapor
slate flume
#

How do I redirect incoming player connections

teal junco
#

so they had several plugins from different sources

teal junco
upper vapor
#

Like

#

Preauth

#

Something

teal junco
#

minecraft lookin ass

slate flume
#

We have two servers rn and I wanna redirect people trying to connect to 1 when it's full

#

And send them to 2

upper vapor
teal junco
#

i do remember actually

upper vapor
teal junco
#

theu tried installing one of my plugins but immediately uninstalled it because my plugin had too many features

upper vapor
#

XD

teal junco
#

which conflicted with existing plugins

upper vapor
#

"I wonder what happens if I install a plugin that does everything"

teal junco
#

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.

upper vapor
teal junco
#

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

restive turret
#

Some rp's are good, but long af

#

And really not my cup of coffee

teal junco
restive turret
#

The first thing I see is "Roleplay server" next to Plugins or Vanilla i just "huh, why?"

teal junco
#

i have done good (to my specific standard) roleplays, but ive never seen a server that hosts them

restive turret
#

There is already like 3 Hungarian vanilla server I am like "why are you trying to be the 4th??"

teal junco
#

the roleplay is always run by power trippers, i swear

restive turret
#

There is like less than ~100 Hungarian players and most of them not want to play vanilla

restive turret
teal junco
slate flume
teal junco
restive turret
#

I FUCKIN HATE DISCORD SEARCH

#

in labapi plugins you find a lobby or proxy thing

teal junco
restive turret
#

Aren't some class D's are murderers? So uhh

upper vapor
#

oh wait they don't get those when they are "drafted" to the foundation 😭😭

teal junco
#

apparently civilians are known to never touch guns in their lives unless theyre specially trained to use it

slate flume
#

That's crazy

teal junco
#

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

restive turret
# teal junco

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

slate flume
#

I literally have a gun license

#

And I'm a nerd on the internet

upper vapor
#

USAAAAAA 🦅🦅

restive turret
#

I dont have a gun license

#

But i technically know how to

teal junco
#

people wil go to hell and back to justify not allowing scientists to pick up guns

upper vapor
#

just press R shrug

restive turret
#

Press AltF4

#

And never play there

teal junco
#

that is just one of the many weird rules that are designed (whether intentionally or unintentionally) to make the experience unpleasant for newer players

restive turret
slate flume
#

And do a lot of training and shit

teal junco
#

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.

restive turret
upper vapor
#

just say that you've got anomalous powers from an SCP you were testing with the other day

teal junco
#

And yes, all of our regulars will defend this rule because it does not affect them.

unique crane
#

like

#

Its just bunch of fellas that dont want anyone else within

#

Your new? Cant do shit

teal junco
upper vapor
#

bruh

restive turret
teal junco
#

if youre an established member of the community

upper vapor
teal junco
#

you can get an anomalous character in most servers

unique crane
#

Literally

teal junco
upper vapor
#

are you telling me that servers make players create OCs just to roleplay in SL

#

furries....

#

🙄

restive turret
#

I am an anonkmalkuzs guy who can read peoples minds

teal junco
#

its roleplay

#

you are playing a character

restive turret
#

Roling on the play

upper vapor
#

yeah

teal junco
#

most people prefer to play their own character

upper vapor
#

i guess

unique crane
#

Oh man I remember playing on some server

#

during christmas when they added particle disruptor

teal junco
restive turret
#

Isn't some server just give you a blank char?

unique crane
#

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

upper vapor
#

XDDDD

unique crane
#

got disruptor and shot each other

teal junco
#

I cannot even have a conversation in S 12 without people bothering me about how I dont have a high enough talk score

unique crane
#

Then one of the rp hosts had slight mental breakdown or idk

#

that we are ruining the rp

upper vapor
teal junco
#

And obviously if I challenge the established rules then they will also get mad

unique crane
#

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

upper vapor
#

🧑‍🔬 : "there's a reality bender!"

teal junco
#

I run light rp events

unique crane
#

That was during the halloween event

#

With the white candy

teal junco
#

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

unique crane
#

Nah just dont host RP

teal junco
#

I just find the departments systems and the failrp shit gross

restive turret
#

Also don't host vanilla either

teal junco
unique crane
teal junco
#

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

unique crane
#

perhaps

teal junco
#

and if you were allowed to be anything other than an intern or d class as a newcomer

teal junco
unique crane
#

Where they can do stuff

teal junco
unique crane
#

Ye

teal junco
#

its fucking lazy when they just plop d class in the 1x2x1 cell for 30 minutes

#

and make them wait

#

only to be tortured

slate flume
#

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"

unique crane
#

Me when someone makes buckshot roulette in SL

teal junco
#

I know how to safely handle a gun

#

im not confident i could handle the recoil of every gun i would come across

slate flume
#

But I could use one

unique crane
#

Yeah like I would understand that underweight Class D couldnt lift the chaos machine gun

#

But like

#

Com15?

slate flume
#

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

unique crane
#

bruh

restive turret
unique crane
#

Ik

#

I saw it

teal junco
#

they wouldnt even know how to operate iron sights!!

restive turret
#

Just only 9x scope

teal junco
#

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

teal junco
#

that a scientist would be able to point a gun and pull the trigger

unique crane
#

Their vision of what would scientist do

grand flower
#

Here at Aperture Science, we fire the whole bullet

unique crane
#

Okay guys

#

Whos gonna make Portal turret

#

in SL

restive turret
teal junco
restive turret
unique crane
teal junco
#

Also a risk i have wondered about

#

if i made a light rp sl server

#

i may just attract trolls only

restive turret
#

lcz onyl?

restive turret
teal junco
#

i just see that kind of stuff as breeding gatekeeping

restive turret
#

Department of head

teal junco
#

and more creativity

#

because jesus christ

#

its always a fucking test day

restive turret
teal junco
#

Never anything different

teal junco
#

youre still alive

restive turret
#

I'm still alive, still alive

#

Also portal in SL?

teal junco
restive turret
#

Can you make such a thing

teal junco
#

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

restive turret
#

Send letters to david

slate flume
teal junco
#

all you need to do is make NPCs with voice chat support and combat and then youre basically mostly golden

teal junco
teal junco
#

sorry for the dumb question

slate flume
#

I was told "look at the proxy one"

teal junco
#

but was it just unhelpful

slate flume
#

I don't know what that means

#

I don't know what this means

teal junco
#

yeah ur right

#

i couldnt find

teal junco
#

well, i dunno but i imagine it wouldnt be pleasant to make

slate flume
#

I kind of made NPCs

teal junco
#

the voice lines would be simple enough

slate flume
#

They're dummies that shoot people

teal junco
slate flume
teal junco
#

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

teal junco
slate flume
#

I mean

#

It works for me

teal junco
#

it might be good enough tbh

slate flume
#

Never have any issues

teal junco
restive turret
#

XProxy

slate flume
#

If you SetRole on the same frame as you spawn the dummy it breaks

cyan crown
slate flume
#

Otherwise

#

It always works

teal junco
#

that makes life easier

restive turret
slate flume
#

So I just

hearty shard
#

pretty sure dummies have that on round start

#

i mean

#

in lobby

#

and just lobby

slate flume
hearty shard
#

idk why

restive turret
#

Tbh

#

I rather call the actual event with the dummy

cyan crown
restive turret
#

Than getting a cached action a million times

slate flume
#

Or ADS

#

Those are client-side actions

restive turret
#

You can lol

unique crane
#

You can only fake it to other players

teal junco
#

thats how dummies work

unique crane
#

But you cant make them see it 1st person

teal junco
#

but its just too hard for me to reverse engineer

slate flume
unique crane
#

if you do it on real players

teal junco
#

so i might just do dummy actions

restive turret
#

You can decompile and see how and what the dummy calls

#

You can just call that too

unique crane
#

I said real players

#

ik dummies doesnt need that

restive turret
#

Oh, we talking about dummies not real players, right

slate flume
#

I have

restive turret
#

Me2

slate flume
#

No idea where the dummy actions are

#

🤷🏼

restive turret
#

Its an interface

#

Inside some DummyController

#

Or whatever

#

Its starting with D

#

A namespace

unique crane
#

Just see how the RA code does it

restive turret
#

That's what I said 😭

slate flume
#

I had to do write my code

teal junco
slate flume
#

The problem is the specific actions

restive turret
#

Like what

unique crane
#

What

#

You have to give them gun for gun actions to unlock

slate flume
#

How do I figure out the code for the shoot action

teal junco
#

it calls using strings

slate flume
slate flume
#

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

restive turret
#

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

slate flume
#

I do that for positioning

#

I don't know how to do it for shooting

#

Or ADS

#

Or reloading

#

Or anything like that

teal junco
restive turret
#

You can go to the Namespace of where the DummyActionCollector are and find the interface for populating the action

slate flume
#

I use the motor to do positioning

restive turret
#

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

unique crane
#

Aha found it