#Dynamic 914 - Custom 914 recipes

1 messages · Page 1 of 1 (latest)

bright rampart
#

https://github.com/TeamEXAngus/Dynamic914-LabAPI

Allows for custom SCP-914 recipes with support for random outputs, outputting multiple items, and outputting ammo in specific quantities.

Also supports the creations of addons to extend functionality.

Please note the attached videos use both this plugin and the Dynamic Keycards plugin.

GitHub

SCP:SL plugin for creating custom SCP-914 recipes. - TeamEXAngus/Dynamic914-LabAPI

rare socket
#

nice plugin

digital abyss
# bright rampart https://github.com/TeamEXAngus/Dynamic914-LabAPI Allows for custom SCP-914 reci...

This comes up only with this error

[2025-11-20 14:57:56.881 +08:00] [ERROR] [Exiled.Loader] System.IO.DirectoryNotFoundException: Could not find a part of the path "C:\Users\Gamer\AppData\Roaming\SCP Secret Laboratory\LabAPI\configs\10001\Dynamic 914\config.json".
                                   at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x00164] in <13c0c460649d4ce49f991e2c222fa635>:0
                                   at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize) [0x00000] in <13c0c460649d4ce49f991e2c222fa635>:0
                                   at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int)
                                   at System.IO.File.Create (System.String path, System.Int32 bufferSize) [0x00000] in <13c0c460649d4ce49f991e2c222fa635>:0
                                   at System.IO.File.Create (System.String path) [0x00000] in <13c0c460649d4ce49f991e2c222fa635>:0
                                   at Dynamic914.JSONConfig.LoadRecipes () [0x0004f] in <60c236c14f874202a6b8b872c8040673>:0
                                   at Dynamic914.Dynamic914.Enable () [0x000a5] in <60c236c14f874202a6b8b872c8040673>:0 
                                   at Exiled.Loader.Loader.EnablePlugins () [0x00183] in <999228f222704ec190924fa3bbc155fd>:0```
digital abyss
#

Nvm I fixed it and now I just gotta figure out where the configs are

summer cipher
#

You dont have Newtonsoft.Json installed as a dependency

digital abyss
summer cipher
#

¯_(ツ)_/¯

digital abyss
#

People wont use a plugin when they aren't provided with everything they need lol

#

Its common sense for everything really

summer cipher
digital abyss
green patrol
#

Though it doesn't help if the author doesn't disclose the need to install deps

digital abyss
#

Its clunky

green patrol
#

Yeah

digital abyss
#

Like why put the 914 dependency but not the newtonsoft

green patrol
#

@bright rampart I'd recommend to move to System.Text.Json

  • it's faster
  • it's bundled with the game
#

Why do you even need two projects though

final pilot
#

don't put them in exiled

#

exiled's labapi loader doesn't work properly

bright rampart
digital abyss
#

Thanks for tyhe info

#

But uh they aren't in exiled

#

:/

final pilot
#

oh, you moved it

#

nice

digital abyss
#

I didn't show logs lol

final pilot
#

the message i responded to is a log

digital abyss
#

I'm not gonna question that

bright rampart
#

anywys the dependency is now properly in the installation guide

digital abyss
#

K

#

Is there a proper example on what the config is supposed to be

digital abyss
bright rampart
#

why not

digital abyss
#

Every single config is always something like this;

  Rough:
  - original: 'KeycardO5'
    new: 'MicroHID'
    chance: 0
    count: 1
  Coarse:
  - original: 'MicroHID'
    new: 'GunE11SR'
    chance: 100
    count: 1```
bright rampart
#

Couldn't have the same level of versatility with that

final pilot
#

I imagine you could of

#

yaml is just a fancier JSON

bright rampart
final pilot
#

not really

#

Plugin::LoadConfig(...)

green patrol
digital abyss
final pilot
digital abyss
#

Hmm I love 1 singular 9mm bullet

bright rampart
#

Well you could make it any amount

digital abyss
#

I love default configs being goofy tho ngl

bright rampart
#

1 coin turns into 1 bullet makes sense tho

green patrol
#

in LoadConfigs()

final pilot
#

that's the recommendation

green patrol
#

oops wrong reply

digital abyss
#

Why is type here?
"type" : "item"

green patrol
bright rampart
digital abyss
#

k

#

Kinda makes sense i suppose

bright rampart
#

You define a class for your config and then load it

green patrol
#

it's similar, yeah

#

uses the same deserialzier

bright rampart
#

I don't think that would work for my use case

green patrol
#

yeah cuz you'd need properties

digital abyss
#

What does rolls do

#

I have it set to 3 and its not doing much

bright rampart
#

If there's multiple output it's the chance of getting it

#

If there's only one output it does nothing

digital abyss
#

Okay idk

#

it keeps giving me the 18 when it should be stay as the 15

bright rampart
#

Shwo config

digital abyss
#

"veryfine" :
[
{"type" : "item", "value" : "GunCOM18", "rolls" : 3},
{"type" : "item", "value" : "GunCOM15", "rolls" : 1},
],

bright rampart
#

Yeah so there should be a 25% chance of Com15 and 75% chance of Com18

digital abyss
#

Oh i see what you did

#

yyyeah there we go

raven berry
#

@bright rampart howd you incorporate custom keycards into JSON file?

summer cipher
#

Do Yaml instead ClassDTroll

bright rampart