Jump to content

[Extended mapping] Spawn Map-Objects - Enhance your maps !


Onkeen

Recommended Posts

Spawn Map-Objects Utility - Enhance your maps !

687474703a2f2f692e696d6775722e636f6d2f69

Workshop link

What is this mod ?

While I was working with the map editor, I got frustrated some items could not be placed using it. For instance, barricades and campfires. So we decided with a friend to solve this problem... Once done we decided to make this mod and make it as generic as possible ! This should allow any mapper to use our object-spawning system to make better maps and any modder to upgrade it with ease.

I'm a player, what do I need to know or do ?

Nothing. This mod should be a dependency mod for any map that uses the Spawn Map-Objects Utility. One you have this mod installed, it should work without needing you to do anything.

I'm a mapper, what is this mod doing precisely and how does it works ?

Tell me more about it !

This mod will allow you to place items & events within the map editor like campfire, tents, wall frames, zombies... Those placeholders will be converted into their working version inside the map once loaded. This means you will be able to place pick-up-able tents, light-able campfires, thumpables wooden and metal structures, break windows, spawn zombies at precise places and even more !

Interesting... So how do I use it ?

The installation is very simple, once you have subscribed and download this mod, locate it's installation folder :

 

\Steam_Installation_Folder\steamapps\workshop\content\108600\974718243\mods\SpawnMapObjectsUtil

 

Once inside the mod folder, you should see a Tiles folder. Open it, and then open the 2x folder. You should see all the placeholders images you will need.

 

Copy all these .png files to the 2x folder of your Tilezed.

 

Now, you should be able to use the placeholders via the tilset list. I usually place those on the Furniture layer but it should work on other layers too.

 

687474703a2f2f692e696d6775722e636f6d2f71

 

If you want to test the features, check out the building we are using for internal testing : https://rbfi.io/dl.php?key=/0Sol/testmap.tbx

Once your map is finished and you are ready to publish it to the workshop make sure to add this mod to the dependencies of your map. So that it will be prompted to the players to install it with your map.

Great, but before I install it, can you showcase some features ?

Of course, here is the list of what you can do with the current version of Spawn Map-Objects Utility.

  • Place thumpable walls of all possible quality with adjusted durability (Logs, wood, metal).
  • Place fences adjusted durability too (Sandbags, wood, metal plates or bars).
  • Place thumpables and working-properly barricades on windows (1,2,3 or four planks, metal sheet, metal bars)
  • Place upgradable by player walls frames.
  • Place weapons, literature, trash and food items on the floor.
  • Place properly-interactable camping materials (tents, campfires and compost)
  • Zombies-spawner at specific places (Horde inside a tower away from the city or a lone zombie in a specific room...)
  • Add water collecting barrels already full of water
  • Place fishing-nets on your lake or generators in a specific room
  • Break specific windows on the map (with them still barricadable and full of dangerous shards).
  • Break and remove glass from windows and keep it barricadeable
  • Place sheetropes on windows.

We also plan to add more to this list with upcoming updates, things like traps, sound events and such.

What are those red tiles on your placeholders images ?

As said earlier, we are planning to add more tiles to the placeholders. You can use the blue ones, but if you try to place a red one, it won't work. The red tiles are the not-implemented-yet features. But we kept it so that it will be easier to update once done.

Please do not use the red placeholder tiles.

I'm a modder, you said I could expand your utility ?

Even more ! We made functions for you to easily add your own placeholders or remove the "default placeholders" shipped with the mod. Let me explain.

Create your custom placeholder

Once you have created the png of your custom new placeholder, you will need to code the replacement function in lua. To do it, you can write your lua file using this template :

require "WorldManager/SpawnFromPlaceholder";

MyPlaceholder = {};
MyPlaceholder.replace = function(square, tileObject)
    -- Your code goes here
    
    -- indicate that the method has worked properly
    -- and the placeholder tile can be removed
    return true; 
end

-- register and identify the placeholder in the system
SpawnFromPlaceholder.Add({ name = "MyPlaceholder" });

Here are the explanations :

First, you need to implement the method MyPlaceholder.replace(square, tileObject) which will be called for each object found in each square loaded. This method need to return a Boolean (true or false) to indicate if the method has worked. If the method return true the program will automatically delete the tile placeholder else it does nothing.

Be careful of the optimisation of this method because it will be called a large number of times and may produce lag. To avoid bad performances, you should not log messages inside the console (do not forget to remove them after use if you do). Also, make sure tile you are currently checking matches your placeholder name unsing the startString method before doing anything complex.

The second step is to register your placeholder in the system with the method SpawnFromPlaceholder.Add(placeholderInfoObj). The parameter expect two important properties :

  • name : the name of your object which contains at least the method replace()

Remove default placeholders

This mod allow you to remove unused shipped placeholders to save resources and gain performance. To remove the placeholders, you can use this snippet :

require "WorldManager/SpawnFromPlaceholder";

SpawnFromPlaceholder.Remove({ "WallsPlaceholder", "ZombiePlaceholder", "..." });

The method will remove the placeholders listed in the array when the event OnGameStart is fired.

Shipped placeholders list

  • BarricadePlaceholder
  • CampingCompostPlaceholder (campfire, tent and compost)
  • CarpentryAndConstructedPlaceholder (sandbag, barrel, rain collector, lamp)
  • DroppedFoodItemsPlaceholder
  • DroppedTrashItemsPlaceholder
  • DroppedWeaponsItemsPlaceholder
  • GeneratorPlaceholder
  • TrapsPlaceholder
  • WallsPlaceholder
  • WindowStuffPlaceholder (smash & clean window, sheet rope)
  • ZombiePlaceholder
Edited by Onkeen
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...