#MapEditorReborn (ProjectMER) for LabAPI
1 messages · Page 1 of 1 (latest)

<!> THIS VERSION IS CURRENTLY IN BETA A LOT OF THINGS WILL CHANGE <!>
mega win
I can slave work properly now
you still get lunch breaks
also dont use the the slave word i prefer "happy worker"

Very happy worker
damn, just use .json files and you should be fine. Also recording where you position things if needed since they did announce the map files won't be compatible.
I love being called "they" lol
Lmao
I was just referring to you, i'm kind of just waiting for the new MER release so i'm not getting kicked in the shins
fyi a few years ago I didn't realize your pfp was a cat
and because the profile image is small it looked like some weird anime character 
only realized it was a cat a few months ago
you're not the only one, someone once told me that they thought I have some werid gas maks a profile picture
like wtf
In a matter of a week I should have my map files backed up out of the map config files and maybe into schematics
From far it's can also look like dog skull
i thought it was some flower 😭
I thought it was a seal
xD
@modern briar is there some API in this already, like in old one?
not yet
(Cooking)
I hope I am not pain in the ass right now just asking again if it is there, because that is the last thing we are waiting for before we can go on this version of plugin
what do you need exactly
Playing animations, button API, event API the schematic methods like getting it and doing something with it (the animation thing) also primitives to do stuff with them
I haven't worked on porting these yet, AnimationController will be probably a copy paste, schematic events should be fairly easy to do I think, the Button API requires me to implement items first, lol
Included these in the new testing release, let me know if everything is fine
Yes I also contacted mujshing the creater or AMERT so he could contact you about more things
Also do you know what features are missing from old MER into this and are you planning on readding them?
If I don't, people will tell me anyways, lol
How exactly does the configs work?
Because I can't create the schematics
Not sure what you are asking about exactly?
You spawn stuff, save the map and load the map
Schematics are created in Unity project
I can't create schematics
can you show me the mp list output?
can you show me schematics folder?
hmm, strange it should work
what does mp cr itself output?
it is strange, that you are getting that error
you should get either of these
do you have permissions to mp cr command?
also, you can also spawn a schematic using the toolgun
press T until you find one of the schematics and you can set the exact one here
Okay I mightve had the wrong version because I reinstalled it with latest version and it worked and where tf are the schematics?
LabAPI-Beta/configs/{port}/ProjectMER/Schematics
No like they dont work?
the error tells you that it does not exist
It works for a couple but others have this
Your schematic contains locker or something like that, which wasn't yet ported
And got this too
Oh
Old Map files aren't compatible
Idk, I have a problem with porting stuff like lockers or teleports cause I am not sure whether I want to rework them a bit or something
Okay, just had to ask because our server reworks guards and the entrance zone and it includes thngs like pickups and teleports.
atm all guards are just default simply because maps dont work anymore
PlayerSpawnpoints are implemented and should work, unless you mean something else
Geting this error now
Also no I don't think so
show em your config.yml
on_waiting_for_players:
on_round_started:
- TempVer
on_lcz_decontamination_started: []
on_warhead_started: []
on_warhead_stopped: []
on_warhead_detonated: []
on_waiting_for_players: []
on_round_started:
- load:TempVer
on_lcz_decontamination_started: []
on_warhead_started: []
on_warhead_stopped: []
on_warhead_detonated: []
It works thank you
hey @modern briar did you add the possibility of getting the mer schematic/object from raycast and then getting the parent or child?
I'm not sure wdym
let me elaborate then.
I would like to shoot a raycast from player and get mer object or schematic the player is looking at.
Then if it's a schematic I would like to check a child inside it like "oven" and do something with that objects.
ok, then what is stopping you from doong that
no I am just asking if that is possible (the raycast thingy)
it is
@modern briar Trying to create one of my schematics in-game but it won't load nor does it give me and error or anything, tried several times nothing works
Why the teleporter is not spawning?
It has not been reimplemented
It's as simple as that I'm afraid, it should honestly be next since I estimate 90% have them in some way
Usually because people use this plugin for new areas
theres no such thing
well i did open a pr for a rudimentary teleporter, so i can wait til michal rejects or merges it
[2025-05-14 17:27:58.666 +09:00] [ERROR] [LabApi] 'IndexOutOfRangeException' occured while invoking 'OnServerRoundStarted' on 'SCPDiscord.EventListeners.ServerEventListener': 'Index was outside the bounds of the array.', stack trace:
at ProjectMER.Events.Handlers.Internal.MapOnEventHandlers.HandleActionList (System.Collections.Generic.List`1[T] list) [0x00020] in <cdfb61e91fd04323b7a0ec37cbbb0a4f>:0
at ProjectMER.Events.Handlers.Internal.MapOnEventHandlers.OnServerRoundStarted () [0x0000b] in <cdfb61e91fd04323b7a0ec37cbbb0a4f>:0
at LabApi.Events.EventManager.InvokeEvent (LabApi.Events.LabEventHandler eventHandler) [0x0001d] in <d02c18da28a644e7972ce3e6c924181c>
I cannot spawn a schametic
: (
Use mp cr "schematicname"
I think I already try...
but same things happend...
https://github.com/Michal78900/ProjectMER/releases/tag/2025.5.15.1
This update contains a breaking change. Please read the changelog.
I think auto select message is not working...
auto_select: true
⌨️ hanbin (76561199133709329) used the command mapeditor cr CustomRoom:
at ProjectMER.Features.Serializable.Schematics.SchematicBlockData.Create (ProjectMER.Features.Objects.SchematicObject schematicObject, UnityEngine.Transform parentTransform) [0x00051] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateObject (ProjectMER.Features.Serializable.Schematics.SchematicBlockData block, UnityEngine.Transform parentTransform) [0x00005] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateRecursiveFromID (System.Int32 id, System.Collections.Generic.List`1[T] blocks, UnityEngine.Transform parentGameObject) [0x00020] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateRecursiveFromID (System.Int32 id, System.Collections.Generic.List`1[T] blocks, UnityEngine.Transform parentGameObject) [0x000cf] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.Init (ProjectMER.Features.Serializable.Schematics.SchematicObjectDataList data) [0x00066] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Serializable.Schematics.SerializableSchematic.SpawnOrUpdateObject (LabApi.Features.Wrappers.Room room, UnityEngine.GameObject instance) [0x000b5] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Serializable.MapSchematic.SpawnObject[T] (System.String id, T serializableObject) [0x0003e] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.ToolGun.ToolGunHandler.CreateObject (UnityEngine.Vector3 position, ProjectMER.Features.Enums.ToolGunObjectType objectType, System.String schematicName) [0x000f8] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Commands.ToolGunLike.Create.Execute (System.ArraySegment`1[T] arguments, CommandSystem.ICommandSender
when this issue is solved??
When I implement missing stuff like lockers
Oh....
no, lockers for example are not yet implemented
oh thanks
why when I put a map that I had before with my coordinates it now doesn't appear anywhere?
no more errors appear because I removed the boxes, but now the map doesn't appear
Surface position has been changed
what are the new coordinates of the surface?
I think Y 300
when the CustomObject is updated??
it is on the dev branch, but the old version also works
hmm....
I think.. the locker is not updated... right?
[2025-05-19 18:19:41.947 +09:00] Command execution failed! Error: System.NotImplementedException: The method or operation is not implemented.
at ProjectMER.Features.Serializable.Schematics.SchematicBlockData.Create (ProjectMER.Features.Objects.SchematicObject schematicObject, UnityEngine.Transform parentTransform) [0x00051] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateObject (ProjectMER.Features.Serializable.Schematics.SchematicBlockData block, UnityEngine.Transform parentTransform) [0x00005] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateRecursiveFromID (System.Int32 id, System.Collections.Generic.List`1[T] blocks, UnityEngine.Transform parentGameObject) [0x00020] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.CreateRecursiveFromID (System.Int32 id, System.Collections.Generic.List`1[T] blocks, UnityEngine.Transform parentGameObject) [0x000cf] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Objects.SchematicObject.Init (ProjectMER.Features.Serializable.Schematics.SchematicObjectDataList data) [0x00066] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Serializable.Schematics.SerializableSchematic.SpawnOrUpdateObject (LabApi.Features.Wrappers.Room room, UnityEngine.GameObject instance) [0x000b5] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.Serializable.MapSchematic.SpawnObject[T] (System.String id, T serializableObject) [0x0003e] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Features.ToolGun.ToolGunHandler.CreateObject (UnityEngine.Vector3 position, ProjectMER.Features.Enums.ToolGunObjectType objectType, System.String schematicName) [0x000f8] in <a938707099754dde9878f32bc9cb190c>:0
at ProjectMER.Commands.ToolGunLike.Create.Execute (System.ArraySegment`1[T] arguments, CommandSystem.ICommandSender sender, System.String& response) [0x001a7] in <a938707099754dde9878f32bc9cb190c>:0
at ParentCommand.Execute (System.ArraySegment`1[T] arguments, CommandSystem.ICommandSender sender, System.String& response) [0x00041] in <158158ea93084dd89d9e4efbe961aec2>:0
at (wrapper dynamic-method) RemoteAdmin.CommandProcessor.RemoteAdmin.CommandProcessor.ProcessQuery_Patch0(string,CommandSender)
same....
and map is not automacally load....
(config is not working...)
yes
- load:mapName
the command is working well but I mean the config load is send a error
this error?
lockers are not implemented yet

Fixed AutoSelect not working in Create command
Fixed Schematic collection related properties not working, if object was removed
Made load map on event actions case insensitive, added comment that e...
how can I find permissions?
Fixed issue where the room index would show invalid values
did I using properly?
Open permissions.yml file
default:
inherited_groups: []
permissions: []
owner:
inherited_groups: []
permissions:
- mpr.*
can you tell me the file path?
oh sorry
I find now
default:
inherited_groups: []
permissions: []
C:\Users\hero7\AppData\Roaming\SCP Secret Laboratory\LabAPI\configs
auto_select: true
# Use load:map to load, use unload:map to unload.
on_waiting_for_players: []
on_round_started:
- load:TempVer
on_lcz_decontamination_started: []
on_warhead_started: []
on_warhead_stopped: []
on_warhead_detonated: []```
Why does it not auto load @modern briar
idk, it should work
Wel it doesn't and I'm not getting an eror
Like it even says in the RA it's not loaded so wtf
Worked fine before I updated it and changed literally nothing besides added a new schematic that previously did not work
And that loads just fine when I use the command
before you mean when
oh okay, it loads when you use the command
idk, it's should auto load too
auto loading works for me on the latest version
@modern briar Can I just say, MER is amazing
thanks
This is where the config shuld be yes?
yes
Still nothing
Okay so setting it to load on round start doesn't work but on generated does???
That makes sooo much sense
Both events work for me
not sure why one wouldn't work for you
you spawn it and mp mod targets add otherID
ok
teleports are linked to eachother using IDs
not sure what you mean
IDs are lowercase, even tho they look uppercase
oh oh
that is how it works?
not sure what is the problem
no your saying in they have the eachothers id in the target
i meant if they have the same target
it works now
where can i download 0Harmony
Either take one from EXILED or from here I guess https://github.com/pardeike/Harmony/releases
Think one should be fine
for net48
OK
is there a way to clone?
i found a way to clone
how do i add multiple options to my requiredPermissions for my door
add values together
so perm + perm
yes
@modern briar can you add so like you can disable that the doors can get destroyed?
@modern briarWhen you add lockers for SCPs and GUNs?
I don't wanna ping him so I'm just gonna ask it, but do Custom Items not work yet? They won't spawn in my schematics, I tried debug number and the name of the item neither work
However before they did spawn and the parameters for the customitems are still in the Unity component so I'm confused
Its LabAPI
so no support for exiled features
as long as michal doesnt remove the custom item id field, it should be fine tho
just make an exiled extension
Yeah it doesnt
but im saying if michal leaves it in, it should work fine
as long as its explicitly programmed in by a third party
does items in schematics work normally?
They spawn, they just don't spawn as a custom item. For example, I have two syringes in my medibay, but they spawn as normal adrenaline
So they spawn just not as a custom item.
Okay
well if I can figure out how theyre spawned I can whip up a solution for this later
post it on the MER discord
Bet
I don't mind getting pinged with valid questions
For now CustomItems are not supported as there isn't an equivalent of CustomItems in LabAPI
K, I was asking because on our server we use the Exiled Custom Items to make them. Didn't relize you couldn't use the IDs anymore
Also nah, three pings goes crazy
I could try supporting it back if it's really important
I wonder whether I can do it without needing to load the entire EXILED
Won't it be easy. just tell the plugin to grab an EXILED custom item if this is filled try and get the filled in id or whatever
I think this should be last since I really want the lockers to come back and shit. But I doubt this would be very hard
I'm working with Lockers currently and adding CustomItem functionality there would require me patching many things, lol
YIPPEE
Can't wait for my armory to come back
Yes, maybe use reflection
i know what this is for :}

It's not for that
:(
@modern briar I found a bug where if you have ammo placed it will just infinitely spawn, allowing players to just keep going back and grabbing it again
Me and another player sat near one trying to see if you could pick them all up, and in the 5 minutes we sat there we still had more left
Update the plugin, this bug should've been already fixed
K
This is fixed thanks
Also will text toys be implemented in MER
they already are
in toolgun
not yet implemeted in Unity
@modern briar is it possible to make my remotekeycard work with these doors that i have made?
they should work by default I guess
weird then
is there a way to add a chance for it to spawn and different items can spawn with different chances @modern briar
I actually was thinkin of asking this I forgor tho. I'm surprised it's not a thin tbh
yeah
[2025-06-14 23:09:44.677 +09:00] [ERROR] [LabApi] 'FileNotFoundException' occured while invoking 'OnServerRoundStarted' on 'ProjectMER.Events.Handlers.Internal.MapOnEventHandlers': 'Failed to load map data: File SurfaceWorkShop4.yml does not exist!', stack trace:
at ProjectMER.Features.MapUtils.GetMapData (System.String mapName) [0x0002e] in <f7c13e52e5f84324bc791f847c8a3594>:0
at ProjectMER.Features.MapUtils.LoadMap (System.String mapName) [0x00000] in <f7c13e52e5f84324bc791f847c8a3594>:0
at ProjectMER.Events.Handlers.Internal.MapOnEventHandlers.LoadMap (System.String mapName) [0x00000] in <f7c13e52e5f84324bc791f847c8a3594>:0
at ProjectMER.Events.Handlers.Internal.MapOnEventHandlers.HandleActionList (System.Collections.Generic.List`1[T] list) [0x00042] in <f7c13e52e5f84324bc791f847c8a3594>:0
at ProjectMER.Events.Handlers.Internal.MapOnEventHandlers.OnServerRoundStarted () [0x0000b] in <f7c13e52e5f84324bc791f847c8a3594>:0
at LabApi.Events.EventManager.InvokeEvent (LabApi.Events.LabEventHandler eventHandler) [0x0001d] in <ed207da941d64f12942f0c5cc79632fc>:0
I think plugin cannot read .yml files...
i believe MER uses json
Your map file is more than likely from pre-LabAPI on Exiled, only thing I can think of that would give that exception
I don't think so...
They aren't compatible from old version to new version
on_waiting_for_players:
- load: Workshop4
on_round_started:
- load: Workshop4
on_lcz_decontamination_started:
- load: Workshop4
on_warhead_started: []
on_warhead_stopped: []
on_warhead_detonated: []
did I use config properly?
Why do you have it loading three times
@modern briar For some reason it's not spawning the players it keeps putting them in spectator and round is forever in Lobby
what is not spawning
The players themselves
They won't spawn normally and are just put in Spectator. I went through every plugin and it only happens with yours for some reason smh
u only have to do it on on_round_started
YAY LOCKERS
good thing i know how to edit the save file cause i had to remove stuff i couldn't remove 😄
if you mean that you couldn't select them you can always remove them by ID
you can also change IDs
oh
i just saved and then removed them from the file lol
when the Custom-Objects will be update??
use dev branch
uh..I mean when the new locker will be add? in dev branch?
if you want to be loaded always you only have to use on_round_started
i need some help
it says that i dont have perms to use commands
but i am the owner
ok well i got it to work but i cant add anything using the tool gun
not working for me
@limpid lake ?
i dont know whats wrong
anyone willing to help me out?
On waiting for players is incorrectly formatted
a List in yaml, if empty looks like [], but if not empty then its a set of dashes followed by the entry
Ok
also, you should only have it load once
also also, i think you remove the space in between "load:" and the map
even when you do mp load McDonalds?
did you try removing the one from waiting for players
put brackets at waiting fornplayers
kk
no errors in console?
[]
WARN] [ProjectMER] Locker is not yet implemented. Object will be an empty GameObject instead , are the lockers not yet implemented?
@modern briar
They are implemented as ToolGun object, they are not implemented as part of a Schematic
When I use the toolgun, the name of the object doesn't appear and I don't see any lockers, only pedestals
you can change its type using mp mod Type
@Pre-release Version Tester https://github.com/Michal78900/ProjectMER/releases/tag/2025.7.25.1
I also updated SL-CustomObjects a bit (dev branch) https://github.com/Michal78900/SL-CustomObjects/archive/refs/heads/dev.zip
- Added new menu item called "MER Blocks" to the Right Click menu (it's recommended way of creating blocks, instead of placing prefabs)
- Removed AutoComponent added in favor of the new way creating blocks
- Added Text and Interactable blocks
- Rewrote the schematic decompiler
- Added ability to mark object as Static which will be reflected in-game.
To move your existing schematics you need to use the built-in decompiler, instead of moving files directly. Create a new project, make backups.
I think there has an error in dev branch...
Teleports are not yet implemented
I think the SL-CustomObjects compile is not working...💀
Remove Schematic builder, errors are most likely related to it
https://github.com/Michal78900/ProjectMER/releases/tag/2025.8.4.2
https://github.com/Michal78900/SL-CustomObjects/archive/refs/heads/dev.zip
don't working, i try to add but not appeared the plugin configs
Are you sure you installed dependencies?
I don’t fuond the dependience in GiHUB
Have you read installation wiki?
Emh… no
Yes
I wront (i don’t speak english)
Whait i traducting the message
Please, send me the dependience
(In DM if possible)
I'm currently not able to, I'm not home
Most possibly you are missing harmony dependency
Ok
Idem
Ok, i add the dependience, and work the ProjectMER
Yes there is
Idk about using MER if that's what you mean specifically but it's really easy to make a door unable to be blown up
@fringe pebble can you help me with it???
and i also need help removing some items from the actual code
and add em using mer plugin
public class IndestructibleMicroDoor : CustomEventsHandler
{
public override void OnServerWaitingForPlayers()
{
BreakableDoor microDoor = BreakableDoor.List.First(x => x.DoorName == DoorName.HczHidChamber);
microDoor.IgnoreDamageSources = DoorDamageType.Grenade;
}
}
Just get a list of BreakableDoors you want to be invulnerable to grenades, and then change the BreakableDoor.IgnoreDamageSources to be DoorDamageType.Grenade
thanks
No new release??
Anyone else having problems with pickups from schematics? They only become visible for a player if he reconnects. Only happened after the 14.1.4 release
Probably a sync issue
Yea, thought so - i delayed the spawn of my machines by 2 seconds - the interactive button is now being visible for everyone but not the normal pickups which are behind a glass x) I've ran out of ideas but at least they work now. But yea there are still some pickups not synced
it's NW Issue
they broke IsKinematic freezing
you need to spawn them before player joined
so with OnWaitingPlayer event
The Keycard which i use as a button spawns perfectly normal - its also frozen etc - but not the normal pickups - im still gonna try what you said
im still a bit stuck on making the doors unexplodable
and btw the gravity doesnt work
@forest tree I'm confused as to what your confusion is
well i have made a schematic and using mer i spawned a door in
and im trying to make that specific door unexplodable
Does anyone know the correct ra command to give a teleporter a target? Mp mod add id didn’t work
mp mod targets add [targetId]
You forgot to put what property you are modifying.
Thank you also I wanted to ask if there is a way to make it invisible
What you see when you are editing a map is an indicator. They can be shown or hidden through mp i if I am correct.
However these automatically get hidden when you save the map.
Does someone have problem with doors? When i place them, some times people start to drop under map. When i delete doors, people get teleported back. Someone know how to fix it?
That's common, doors break things and usually shouldn't e modified when theres people in the server
Generally just join the MER discord for support
I’ve had this problem and from my experience it’s more common with LCZ doors.
A schematic must have the fully compiled folder including the .json file
When you deleted any object that have a WaypointId for relative position that would happen
Nope that related to any WaypointId
Does anyone know how I’d go about making it to where the game will randomly choose out of maps I specify to load at the beginning of a round?
It's right in the config file
# Loads ONE of the maps listed, chances are equal, you can increase them by typing same map name multiple times```
Thank you so much
so like this?
bc its still not working :(
Your spacing on line 43 isn't right
Is the rest of it correct?
It looks correct, sr the server and see if an error shows up from the ProjectMER/config.yml
do you know how to fix map objects not loading in? all of the teleporters primatives and lights are gone.
That's a troubleshooting issue... go to the actual support channel and slowly add the items back into the map files. 
Currently trying to figure out how to fix the pick map from list command sometimes choosing a vanilla map instead of the 3 I gave it, anyone know how to do this?
Does anyone know how to fix the game not loading a map when using the load a| | b | |c command?
no
- load:test1```
is easy
This spawns all of the maps. Im trying to have it randomly select one map out of the 3 maps I have but the command that’s supposed to do it does not consistently spawn one in
im gonna use it on my gamemode server
||jailbreak cs 1.6 but scpsl mod||
There is an issue with this where sometimes multiple different rooms can have the same schematic, e.g. Both Junk Main and the default Three Ways in Heavy Containment Zone can have the same schematic when index is -1
It happens with other rooms like the room variants in Heavy Containment and Entrance Zones
That's a feature
Um
No
It's not lol
If it is its very strange that I can have the exact same schematic for Junk Mains and ThreeWays. They should be separate room types.