2020. 2. 26. 13:39ㆍ카테고리 없음
The purpose of this guide is to offer simple, clear and powerful explanations, tips and tricks as to how the CoH2 World Builder functions in order to help mappers or content creators in general create high quality maps for CoH2. These maps can then be shared with the rest of the CoH2 community to enjoy in multiplayer/comp-stomp matches or they can be used to create compelling custom single-player or multiplayer scenarios. This guide should also be a solid introduction to beginners, or even present a good source of information for more advanced mappers.ANY CONTENT PRESENT IN, OR PLANNED TO BE ADDED TO, THIS GUIDE IS SUBJECT TO AN INDEFINITE NUMBER OF MODIFICATIONS OF ANY EXTENT, WITH NO PRIOR NOTICE WHATSOEVER.The content of this guide is offered to the community with no legal restrictions. However, if you wish to use/publish any content present in this guide in your own work, please If you wish to use this material without contacting the author, please consider giving them credit for it.▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬COPYRIGHT NOTICE: Any and all present copyrighted material and/or content are property of their respective owners. The author(s) claim(s) absolutely no ownership to that material and/or content, unless stated otherwise. Continuation of the Function Manual table in Pt.
01.References and explanations:1: The most frequently used method for copying any objects in W.B. Is by holding down the 'c' key, lef-clicking the object (or group of selected objects) we wish to copy, dragging in a different location in W.B. And by releasing the mouse button: The copies of that object (or objects) are placed in that location.2: Object controls - While you have an object selected, you may:. Left-click, hold and drag to move objects - Release the left mouse button to exit this mode. Hold 'Shift' key, left-click and hold, then drag to the left or right to rotate the object in that direction - Release the 'Shift' key to exit this mode.
Hold the 'H' key on your keyboard, and pan your mouse up to elevate the object, or pan it down to lower the object - Release the 'H' key to exit this mode.3: More info. On SCAR markers found in 'Scenario Creation Pt.
02' section of this guide, under the 'Basic level SCAR coding' feature. On Action Markers found in the 'Level Design' section of this guide.4: More info. On terrain impassability and movement/LOS/shot blocking found in the 'Level Design' section of this guide.5: More info. On texture tile painting found in the 'Level Design' section of this guide.6: More info. On texture splat placement found in the 'Level Design' section of this guide.7: More info. On the spline placement tool found in the 'Level Design' section of this guide.8: AUTHOR'S NOTE: Little is known by the author as far as NIS animation is concerned. Though the author will attempt to research the NIS animations included in the Campaign and Theater of War missions for pertaining information, it is kindly requested that anyone who has any knowledge regarding the matter share it with the community.
Once reasonable information has been gathered for the tool, it will probably be published under the 'Scenario Creation' section of this guide.9: More info. Regarding virtual distance measurement found in the 'Level Design' section of this guide.10: More info.
On stamps found in the 'Level Design' section of this guide.11: More info. On grass editing found in the 'Level Design' section of this guide.12: More info. On winter battlefield design found in the 'Level Design' section of this guide.13: More info. On waypoint placement and use found in the 'Scenario Creation' section of this guide.14: More info.
On territory mapping found in the 'Level Design' section of this guide.15: Basic info. On interactivity stages found in the 'Level Design' section of this guide. Advanced info. On interactivity stages found in the 'Scenario Creation' section of this guide.16: Currently deactivated/unavailable.
World Builder For Coh Patch Free
(requires more research). DESIGN INTRODUCTIONMap designing involves a lot of work. The trick is to start out tough, then as you gain more experience and learn new stuff you will be able to do more impressive work, getting ever closer to the most perfect rendering of your ideas.So, if we wanted to translate the overall creative process into a list of steps, the first one would be:- Start sketching.Really. If you ever want to get a map designed the way you initially wanted, I would strongly advise you to make quick (very low detail) sketches of your maps, preferrably by pencil and paper (or even MS Paint, if wanna be that sloppy), and keep those sketches on your desk or under your keyboard while designing at all times. Really - it helps that much. Tip: Try to work out your own set of global symbols to use on your sketch to help you out: e.g.
A blown-out, large, circled 'S' for strategic points or a similarly drawn 'M' for munition points and an 'F' for fuel points - anything that suits your style best.Once you've sketched your map out a couple of times and you've decided which design you like best, then it's time to go digital. BASICS Now, I will be honest with you. As far as basic map settings are concerned, OnkelSam from has devoted a lot of effort in creating quality tutorial videos for the subject.
![World Builder For Coh Patch World Builder For Coh Patch](https://steamcdn-a.akamaihd.net/steam/apps/681590/ss_090492fc4a54c8708fb0dc95fa8e9a1167ce41a1.1920x1080.jpg?t=1525936611)
www.coh2.org and we'll continue from where he leaves off in the video. This is for saving some resources for this guide to progress in content, so we can advance further into map making. If I have more time in the future, I might write about these basic map settings by myself.
As of now, please consider the option above, as the most viable one to date. Create your map, set it's size and playable area, mark its boundaries for your convenience, set teams, place starting positions, shared starting position territory, map entry points (and optionally bunker markers), and assign the last 3 (and the bunker markers, should they exist) to the teams/players they belong to. Place the 4 territory points, and then define the territory sectors using the 'Calculate Voronoi' function of the Territory tool.Once you've reached the point that the above images illustrate, we are ready to move on to one last technical detail and start placing objects, splats, painting texture tiles, and much, much more. So what we have to do to make our map in terms of basic gameplay functional, is to define the interactivity stage of 50. That is the interactivity stage from which units are called in, i.e. That is where the mapentrypoint object should normally be placed, for the unit off map call-ins (=call-in commander abilities) to work properly.To do this, we are going to use the Interactivity Stage Editor tool (see Function Manual).
Let us get started: First, select the tool by clicking on its icon in the W.B. Taskbar (see image below). Then set the Interactivity Stage to 50. Make sure it is 50, as that is very important. After that, right-click, hold and drag outside of the grid lines you set in your map, to paint that interactivity stage.
See example image. OBJECT PLACEMENTIn this section we will be covering basic object placement. First things first, before we get down to what an object is (although quite obvious) we must find out how to place (or 'spawn') one. To place an object, you must first select the Object Placement tool. That opens up a new panel on the right side of the W.B. Explanation: Every tool uses the panel on the right side of the W.B.
World Builder For Coh Patch Free
Application window, to display its settings and configurable options, which can be modified by the user to suit their current needs. Its layout changes automatically, based on which tool is selected.In the panel that opens when you select the Object Placement tool, there are many options to choose from. Right now, you need to scroll down and find the 'Objects' rollout.You should see three expandable/collapsible tree lists, which can be expanded or collapsed, as in the image below. The lists are 'ebps', 'sbps' and 'visuals'.
The first are entity blueprints, which are mostly world/nature/NPC objects (squads or entities). The second are squad blueprints, which are playable/controllable squads.
The last one is mainly used for NIS animations more information required. We are first going to place a World-owned building, as an example.Since we are going for a world-owned object, we expand the 'ebps' tree as such: ebps environment artambient buildings easternrural logwooden2x3x1cottage01Select the logwooden2x3x1cottage01 object by left-clicking its entry in the list (it will be highlighted until placed in the map), and right-click anywhere on the map to place the object. Follow the steps in the image for a better explanation. INTRODUCTION TO SCAR CODING SCAR ( SCripting At Relic) is a very powerful, and at the same time very understandable scripting language, based on a modified version of the www.lua.org.
It can be used to implement additional gameplay functionality to your maps (e.g. A classic “King of the Hill” multiplayer/co-op mission) or a full-blown, compelling single-player scenario or series of scenarios – a campaign (think CoH2, or even CoH1, single-player campaigns). Just imagine recreating the Battle of Stalingrad – your own version, with your own hero units, or a more historically accurate one.SCAR, being based on LUA, does present identical, or at least similar, syntax and structure.Once again, both SCAR and LUA are very easy to comprehend, fun to use and slightly challenging, yet quite tempting, to master. That simply would mean that using SCAR in Company of Heroes 2 makes the whole scenario creation process extremely interesting and very, very exciting. Note that very limited basic knowledge of programming and programming languages is needed (hence the ease), as the basics will be covered within this section of the guide.The next subsection will cover the application types/categories required for SCAR scripting (as well as specific applications of each type preferred by the author), sources for SCAR (/LUA) functions and information, i.e. Where and how to get it, and some miscellaneous notes and information.
RESOURCES AND TOOLSSCAR is a scripting language, which would mean that a SCAR script is comprised of numerous lines of code.In order to manage those lines of code (=text), we need a versatile and powerful “text editor”. Now, for a start, we could work with MS Notepad; however, as pointed out earlier in this guide (specifically in “Design Introduction”), we need to start out tough and organized, in order to effectively produce high quality work. A far more dynamic text editor and counterpart to MS Notepad (and the tool preferred by the author) is the free, open-source ' Notepad'.These are the download locations for the application:. notepad-plus-plus.org (RECOMMENDED - download installer for easier and faster setup)OR. portableapps.com (ADVANCED USERS ONLY - portable - can run on any PC whilst preserving settings and has the same functionality, but is more difficult to install and run for less experienced PC users)Once you've downloaded and installed the application, you're ready to do a little bit of configuring.
This is how Notepad looks like:(click image to enlarge)Now we are going to make one small, but very important and helpful modification to the settings. Simply click Language L LUA. That configures Notepad to recognize LUA syntax and structure characteristics and transform the text layout accordingly.
See image tutorial:(click image to enlarge)Now check out a little comparison of the text editor with the setting on (left image) and off (right image):(click images to enlarge)Once we've configured those settings, we are ready to begin SCAR coding.Coding complex and captivating scenarios is not always a matter of being a coding expert. It usually comes down to how well you understand the basic, fundamental commands and functions of the programming language. If you know the basics (and some more advanced stuff here and there, i.e. Some tips and tricks) then you can easily build upon that knowledge and accomplish even more goals in your code.Theoretically, there are probably tens (or even hundreds) of pre-programmed SCAR functions, for example: SGroupCreateIfNotFound or UtilCreateSquads.
However, very few of them are commonly used. That does not mean, though, that the rest are useless. Function mytestfunction1-Code is placed hereendHowever, whenever a small extract of code, e.g. A simple command or function, is presented, it will be so in italic type. For instance: UtilCreateEntitiesAlright, closing up with this subsection of the guide, we have the miscellaneous stuff. I would like to point out that any tools used in this guide are only the recommended/preferred/tested-and-working ones.
If you have a text editor or any other program that you like using and would also like to use in this case, there will be no objection. If you, however, encounter any problems regarding how the application handles SCAR code, that may be an obstruction to your work.Should you encounter any such problems with SCAR coding, map editing, or modding of the game in general, it is suggested that you should ask for help in the comments of this guide, if your query is simple enough, or in the forums.relicnews.com. Other than that, I guess we can safely say we are all set and ready to go.CONTINUE TO PT. BASIC LEVEL SCAR CODING— SCAR script and World Builder integrationIn order for a scenario to be fully functional, there must be something that the code can use to execute its commands in the right place and the right time, somewhere in the map (i.e. The 'playing field'). Something that links SCAR scripts with parts of the map the scenario is using. The means for accomplishing this is referred to as 'SCAR markers' (not to be confused with the 'Action Markers' that are used for visual FX elements, e.g.
A fire or smoke rising from debris - more details in the Level Design section). They are WB objects/elements that can be placed anywhere on the map, and they are not rendered in the scenario (i.e. They are invisible) when they are loaded into the game, and by themselves as map elements do not affect gameplay at all. They only represent positions on the map (i.e.
They represent XYZ coordinates for a specific, unique location) which essentially tells the code where the actions it is programmed to execute should take place.I would recommend creating your own set of generic SCAR marker names, preferrably short, and very descriptive. Examples would contain sforestnorth1, where 's' stands for ' spawn', and the part on the right of the underscore would represent the map-specific location, along with additional information, which should be helpful for you in your scripting, without having to switch back and forth from the text editor to the WB.
The number '1' is used just in case there are other markers with the same name. To place a SCAR marker in your map, simply use the Render Marker Prox. Tool, and select SCAR markers in the right pane. The ones we will be using for now will be the three Ally and three Enemy markers. For now, you may select the Ally Spawn marker, and right click anywhere in your scenario to place one. Then double click its name to change it to spathfield1. Explanation image:— Function structure and basic functionsIt is time to start with our very first SCAR function (advanced coders: notice the LUA-similar syntax).
Function OnGameSetupplayer1 = WorldGetPlayerAt(1)player2 = WorldGetPlayerAt(2)endThis is what we call a 'function'. Functions in SCAR always start with function, followed by a space, and the name of the function - in this case OnGameSetup (PLEASE NOTE the two parentheses ' are essential and must always be there) - and must end with end. The function part tells the game that we want to create a new function.
World Builder For Coh Patch 2017
The OnGameSetup is the name of the function, which is unique for every function, and is associated with what each function does. The end part tells the game that the function is complete, and that only the code between the beginning and the end of the function is to be executed.Specifically for this example:The OnGameSetup (case sensitive!) is a very basic and special function; it is ran automatically upon loading the map/scenario, and it must be present in all SCAR scripts for their proper functioning. This is where we place all the commands that configure basic settings for the players of the map/scenario, such as: 1. The name of each player (human or AI) 2. The choice of army (e.g. Soviet, German - or even custom armies for mods) It also provides the capability for coders to run desired commands at the start of the map (we will get to that later on).Now then, the player1 = WorldGetPlayerAt(1) for player 1 (and player2 = WorldGetPlayerAt(2) for player 2, and so on for any other player) are essential for EVERY map.
![Coh2 world builder controls Coh2 world builder controls](https://www.coh2.org/file/2916/width-modification.jpg)
Simply put, they tell the game that player 1 and 2, for example, exist, and we wish to include them in the map. They tell the game the location of those players in the map, as defined in the WB.The actual function that's important is WorldGetPlayerAt(N ), where N is an integer, starting from 1. We place it in a variable ( player =.), i.e. A custom name for it, so we can refer to it more easily, without having to type it all over again.Now, the WorldGetPlayerAt function does not change any settings for the target player. If we wish to change any settings for a player, we do the following.
Function OnGameSetupplayer1 = WorldGetPlayerAt(1)player2 = WorldGetPlayerAt(2)player2name = PlayerGetDisplayName(1)SetupPlayer(player2, player2name, 'german', 2) -We can also use 2 instead of player2, to directly define the map location.endIn this example we keep all the settings for player one, stating only his position in our scenario. Now for the second player, we use the SetupPlayer function. The first argument we use defines which player we want to change the settings for. The second defines the player name (in this case we use a function, stored in a variable, that retrieves the current name of the player, so that they have their in-game username). The third defines the player race, and is either 'soviet' for Soviets, or 'german' for Germans, including quotes(!).
The last defines the player's team. (in this case player one is on team one by default in W.B., and we set player two to team two). You will see more complex examples as we move on to create some basic missions, however, if you wish, you can view OnGameSetup examples drive.google.com ( download them, and open them with MS Notepad or Notepad).Do not worry, however; all this trouble just for the basic function that will always be pretty much be the same. It is only this function (as well as one more) that are all the trouble for SCAR scripting. The rest are much more enjoyable, and it is where you will truly experience the true capabilites of SCAR.— Final explanationsWe managed to create our very first function. Now, if we were to place it in a SCAR file for our maps to use, we would notice an error upon execution.
That is because, our overall SCAR script is not functional yet.We are missing one very important command. At the very start of EVERY SCAR file, we have to place the import('ScarUtil.scar') command. This command is extremely important, as it tells the game to import the complete code library from Relic, which contains all commands and game functions, and instructions on how they should run. Note that it is possible to set it up at the beginning of every SCAR file we make (or even import one of our own), but it is preferred to use the one provided by Relic, mainly because it is global, meaning it will work for every unmodified copy of the game.If your SCAR file is missing this single command, it will simply not work.CONTINUE TO PT. Import('ScarUtil.scar')function OnGameSetup-Player locationsplayer1 = WorldGetPlayerAt(1)player2 = WorldGetPlayerAt(2)-Player setup (only player two, we keep the player 1 settings unchanged, except for race)-Valid races are: soviet german aef westgerman and they must always be put in quotation marks when they are used as arguments in our commands, e.g.
'soviet', because they are considered text stringsSetupSetPlayerRace(player1, 'soviet')SetupPlayer(player2, 'German Waffen SS', 'german', 2)endFinally, note the lines that begin with double dashes ' - '. The double dashes denote comment lines, which do not affect the code at all, and are only used for directions or to make notes, for the developers. Generally, in a large script, it is recommended to place explanations before every command, to avoid confusion.TO BE CONTINUED.