Traditional Culture Encyclopedia - Photography major - Seek the complete tutorial of Warcraft production

Seek the complete tutorial of Warcraft production

RPG map making tutorial

Teach you how to make your own RPG- Cartography Teaching Speaking of warcraft 3, you will be familiar with it. Have you ever thought about making your own map after playing different maps? Those who shake their heads and refuse to hear me out. Actually, making maps is not as difficult as you think. Below I will briefly introduce how to make a map with several common functions, and interested friends may wish to follow suit.

What we are going to do this time is a character selection function of 3C, that is, the elf chooses the corresponding hero after entering the energy circle, which is the most common selection function of 3C. Then do it.

First, find the map editor, which is located in the World of Warcraft directory and named WorldEditor.exe. Double click to open it. When using the map editor for the first time, the system will automatically create a new map with the size of 64*64 and the environment of Radling in summer. If you want to create a new map manually, you can create it by clicking File-New Map/File-New Map in the menu bar. If you want to turn off the function of creating a new map when you open the editor, you can do so by choosing File-Parameter Settings-General-Create a new map when you open it/File-Preferences-General-Create a new map when you start it and unchecking the previous tick.

After creating the map, you see the composition of this map editor. Press G 2 to turn off the display of the coordinate grid. Before doing the functions mentioned above, let's do some preparatory work. First of all, since heroes are chosen, heroes are naturally essential. Press u to open the unit editing panel, where we can select the units we want and put them on the map. I chose the demon hunter, bloodmage, and the Lich King. Of course, if you like other heroes, please feel free. This will not affect the subsequent production. By the way, the way to switch races in the unit panel is to select the desired race from the extended menu on the left side of the third line. Because the hero you see when you choose a hero is beyond our control, you must choose first and then you can control it. So the general practice is to replace heroes with neutral units. The way to change it is to double-click the hero placed on the map and select/General-Player-Neutral Passive. Be careful not to be too far apart between heroes, otherwise it will be very troublesome for elves to run around. After putting the hero away, of course, put an energy circle in front of the hero as an entry choice for the elves. The energy circle can be found in the neutral hostile branch of the unit panel. Finally, put on the elves who choose heroes. Because the principle of choosing heroes by multiple players is the same, we only choose three players here, so we only put elves belonging to three powerful players. such as

Even if the work has been completed, then start to do the functional part and use the trigger.

Because this is the first introduction, in order not to disturb everyone's thinking, I won't introduce the principle of trigger. You just need to know that the function of triggers is to realize some functions in the form of events. Press F4 to open the trigger editor/trigger editor and delete the default trigger, which is for MEELE. As you can see, in the Warcraft map editor, a trigger consists of three parts: events, conditions and actions. The relationship between these three parts can be illustrated by a simple example: "gunpowder explodes after contact with fire." Here, the contact between gunpowder and fire is an event, and only when the two are in contact will subsequent actions occur; The object of gunpowder contact must be fire to explode, so fire is a necessary condition to limit gunpowder explosion as an environment here; Gunpowder explosion is an action, which is triggered after contact with fire. In the trigger, we can modify the contents of events, environments and actions according to our own needs. For example, we can change the contact explosion between gunpowder and fire into the contact explosion with water. Then, with the above concepts, let's take a look at the production method of choosing heroes. First of all, you must choose a hero after an event. This event is here: the elves enter the energy circle; However, there must be restrictions here. Only when the elves enter the energy circle, the heroes will be selected, and nothing will happen when other types of units enter, so the whole trigger environment-that is, the restrictions are also there, that is, the type of units entering the energy circle is "elves"; Finally, the action is to choose a hero. In fact, the action of choosing a hero is to change the hero from a neutral unit to a unit controlled by the player's power. Write the steps mentioned above in a triggered way, which is like this:

Event (event)

One unit enters the energy circle.

Condition (condition)

The entered unit category is "Elf"

Action (action)

Replace the controller of the hero corresponding to the energy circle with the player who chooses the hero.

Now find the corresponding option in the map editor according to the prepared trigger.

Create a new trigger/new trigger by right-clicking the window on the right side of the trigger editor and selecting New.

The panel has been automatically switched to the area panel (the shortcut key for opening the area panel directly is R). Click the button with similar coordinates on the panel to make it in the pressed state, hold down the right button and drag the mouse to draw an area on the energy circle, click the button on the panel again to make it pop up, and then click the area just placed, which will automatically switch back to the trigger editing window, and the red font part will be replaced by the name of the area just selected. Confirm it twice in a row, and the event will be settled.

Secondly, the environment/conditions, select and limit the unit type entering the area to "elf"

Among them, the incoming unit means "incoming unit", and here refers to the unit entering the area, which means "equivalent".

Finally, action/action. Let's sort out what we need to do first:

1, because the elves will disappear after choosing a good hero, they should be removed from the game at the beginning of the action.

2. Change the power of the selected hero to the power of the player.

3. Move the selected hero to the designated place, which is the base of 3C.

4. Because the hero can only be selected once, the whole trigger should be turned off at the end of the action, so that it will not be executed.

The operations corresponding to the above four items are:

1, new action-unit-remove-remove from the game/new action-unit-remove-unit-remove from the game (enter the unit).

2,< New Action-Unit-Change Owner-Change the owner of the Devil Hunter to the owner of the entry unit and change the color/New Action-Unit-Change Owner-Unit-Change the owner of Demonhunter 0002 < gen> to (the owner of the input unit)) and change the color.

3. New Action-Unit-Move-Move Demon Hunter to Regional Center 00 1/ New Action-Unit-Move Demon Hunter 0002

4. New Action-Trigger-Close this trigger/New Action-Trigger-Close (this trigger)

This completes the whole trigger, and the other two heroes will choose according to this trigger. Finally, save the map. When saving, you will be reminded to place the starting point of each force. If not, it will be automatically placed in any area of the map for you. The manual placement method is to select the icon of the starting point in the unit panel and then place it. Press Ctrl+F9 to test after saving the map. Also, don't forget to set-player/story-player > in the menu bar to set the controllers of Force 2 and Force 3 as players/users, otherwise Force 2 and Force 3 cannot be selected in the game.

Brush soldiers (some places call this hatching eggs, which I can't understand at all). The simple explanation is that some units are generated regularly near the base, and there is not much nonsense. Here's how to make them.

As we all know, in 3C, soldiers are automatically generated on a regular basis. In the trigger, we call this kind of periodic automatic event "periodic event". Generally speaking, the periodic occurrence of events is often realized in the following two ways:

= = = = = = = = = = = = = = = = = Method1= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

The first one is realized through the loop event in the trigger (also called loop). Create an action in the trigger and find a sentence in the drop-down menu-for each integer a, do multiple actions (for all integer values a, do multiple actions). After clicking OK, you will see that this kind of operation has been added under the operation category:

For each (integer a) from 1 to 10, perform (operation).

do action

(For all integer values A, from 1 to 10, an action loop-action is executed)

Let me explain the function of this action in detail. For each (integer a) from 1 to 10 (for all integer values a, from 1 to 10) means repeating the cycle-

In the same way, if the following from 1 to 10 (from 1 to 10) is changed from 1 to 20 (from 1 0)

The action will be repeated 20 times, assuming that it is from 5 to 10, then the action will only be performed 5 times. As for why from 1 to 5 is not used directly, but from 5 to 10 is necessary in some cases.

As for the specific timing of the function used, in order not to confuse everyone, I won't explain it for the time being until I encounter similar situations in actual use.

-examples.

Now, to illustrate this function more vividly, let's make a simple example. Press F4 to open the trigger editor and press the next event: Player-Player 1 (red).

Skip a movie sequence "Player-Player 1 (red) Skip a movie sequence", and this event is established by right mouse button-New Event.

Player-movie skip. The function of this event is to trigger an action when the player 1 presses the ESC key. Then add an action.

For each (integer a) from 1 to 10, perform (operation).

do action

In this way, the number of actions that need to be repeated is set to 10, and then these actions are added in turn under Loop-Actions:

Game-Show text to (all players): (String ((integer A)))

(Game-Display information to all players: Convert the value of the integer A of the circular sequence into a string type [not much explanation here, you only need to know that only data of string type can be displayed as information]. The "integer a is a cyclic sequence" here is actually a numerical value, which is used to record how many times the action is repeated. ) The order of adding this action is new action-game -TextMessage (displaying information and automatically adjusting the information display time).

Wait 1.00 seconds

(Wait 1.00 seconds, so that after each action is performed, the next action will be performed at an interval of 1 second. ) The order of adding this action is New Action-All-Wait.

Then add this after the whole loop action (note that it is after the whole of each integer, so don't add it under the loop action).

Action (action):

Game-Show Text to (All Players): (Done)

Function is to display a sentence after the end of the whole cycle, indicating the end of the cycle. Of course, you can change the paint as you like.

Finally, delete the trigger of melee initialization, put the player's starting point on the map, and press Ctrl+F9 to enter the game test. As you can see, after pressing the ESC key in the game, the numbers of 1 ~ 10 will be displayed in turn every second, and finally finish will be displayed. It can be clearly seen from this example. For each (integer a) from 1 to 10, do (actions) can make the actions below the loop-the number of actions repeated from the last number+1 to 10 minus the previous number. When all repetitions are completed, the actions behind the whole loop will continue to be executed. It is very simple and convenient to implement periodic events in this way, but the periodic events realized by this action have two shortcomings. First of all, the number of times of loop execution is limited. You can see that in this action, two numbers are needed to determine the number of times of execution. The second is that there is a minimum time interval between each action. In the above example, everyone changed the waiting time of 1.00 seconds to wait for 0.00 seconds, and then entered the game test. You will find that even if it is 0 seconds, there will be a small waiting time (about 0. 1~0.4 seconds, depending on the situation. It is completely impossible to realize some periodic events with small repetition intervals. For periodic events that must be excluded from the above two restrictions, another method, periodic events, must be used. Unlike every integer, this is an event rather than an action.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

The method of adding this event: new event-time-periodic event. After adding, you can see that such events appear under the event category:

Time-every 1.00 seconds of game time.

(Time-every 1.00 seconds of game time) The effect is obvious, that is, all Actions contained in actions will be executed once every 1 second, and the number in every 1.00 seconds is used to specify the number of seconds to execute the action. For the role of this event, we can still use 1 a simple example to illustrate.

-examples.

Create a new trigger. The event will use the above event to adjust 1.00 to 0.50, that is, every 0.5 seconds 1 time, and then press Ctrl+B to open the variable editing panel. (Because the variable is the first contact, I won't explain it in detail for the time being. Just do as I say, and I will introduce variables and data types in detail later. Click the green cross button at the top of the panel, select Integer from the drop-down menu at the bottom of the window that appears, and then give this variable a random name in the input field above. [Figure: var.gif] The name I use here is i 1, which is convenient for the following unified introduction, thus establishing a variable of type "Integer". Put this variable here for later use, return to the trigger you just built, and add the following Actions to the actions class:

Set i 1 = (i 1+1)

Add Order: New Action-All-Set Variable.

The function of this operation is to make the value of the integer i 1 equal to its current value+1 every time the operation is executed in a loop. For example, the current value of i 1 is 5, so the value of i 1 after the operation is performed is

5+ 1, which is 6.

Then add:

Game-display text to (all players): (String(i 1))

The addition method is the same as above, and its function is to display the value of i 1.

Then enter the game test, and you will see that the number is automatically displayed every 0.5 seconds in the game, and the value is the last displayed number+1. It is concluded that the characteristic of periodic Events is that all actions contained in the actions will be repeatedly executed at the time interval specified in the event after the trigger is activated, and will continue to be executed as long as the trigger is not closed.

========================================================================

The above are the two most common methods to realize periodic events, so on the basis of this theory, I will briefly describe the principle of brush trigger.

The trigger of the brush soldier is a periodic event, and the content of its action is to create a unit at a specified position. Let me briefly write this trigger and add a little explanation. I believe everyone should understand the truth immediately after understanding the above contents.

Untitled trigger 003

event

Time-every 3.00 seconds of game time [this is the aforementioned periodic event, where the interval of the cycle is set to 3 seconds]

situation

(Farm 0009 & ltgen & gt is alive) is equal to truth [Farm 0009 here]

action

Unit-is the player 1 (red) facing the default building in farm 0009 & ltgen & gt.

[Unit-Make a wolf for player 1 (red), facing the default direction of the system at the position of farm 0009]

The whole trigger, if expressed in words, is that every three seconds, as long as farm 0009 is still alive, a wolf is created at the farm site.

After entering the game for testing, it should not be difficult to find that this trigger has such a disadvantage: there is no limit on the number of units created, even if there are hundreds of wolves on the map, as long as Farm 0009 is still alive, new wolves will appear constantly. In this case, we can limit it by adding the following simple conditions:

(The number of matching units in (playable map area) ((unit type of matching unit)) is equal to the giant wolf and ((matching unit is alive) is equal to true)) is less than 5.

If the number of all surviving wolves on the map is less than 5, the Actions specified in the actions class will continue. Among them, units in Units in (playable map area) refers to the units on the whole map, while (unit-type of) equals to giant wolf refers to all units that meet the condition of "unit type is wolf", and (matching unit is alive) equals to true refers to all units that are still alive. Due to the complexity of this situation, the detailed adding methods are listed below:

New condition-integer comparison (integer judgment)

-Select "Units in Area Matching Criteria" from the drop-down menu.

-select "and" in the drop-down menu-click "condition1"-select "company type comparison" in the drop-down menu.

-Click "Trigger Unit" to change it to "Matching Unit"-Confirm it twice in succession, and click "Infantry" to change it to the production unit type you specified in the operation. Here I select "Wolf", and then click "Condition 2"-click the position shown in the figure [figure BOLC. GIF]-select "unit is alive" in the drop-down menu-click "trigger unit" to change it to "matching unit" and confirm it twice continuously.

Finally, click OK all the time to return to the first menu, change the middle "equal" to "less than", and then click the last 0 to change it to the maximum number of troops you want, and the whole condition is completed.

The above is a basic principle, which limits the maximum number of soldiers to send troops, but it is not so simple in actual production and needs to be adjusted according to many situations. You can study it yourself if you are interested.

Q: What is an object editor?

Object editor is an object editor, including unit editor, skill editor, decoration editor, technology editor and so on. It allows map makers to modify the existing above objects or create new ones.

The way to open the Object Editor is to press F6 in the map editing window or click the helmet button in the shortcut toolbar.

Q: What is a trigger?

The trigger is the trigger. Press F4 in the map editing window, or click the button with the word A in the shortcut toolbar to open the trigger editor.

Triggers are tools for controlling events in the map editor. The basic trigger consists of three parts: event, condition and action. We use a simple example to illustrate the relationship between these three parts: "Any valuable questions you raise in this forum will be answered."

If the above sentence is regarded as a fuse, then "you ask questions" is the whole fuse event, and everything that will happen next, whether it is "we answer questions for you" or "we ignore you", will happen after "you ask questions".

The condition that limits whether your question will be answered is "your question is valuable", that is, the condition of the whole trigger directly affects whether you will be answered by us.

Finally, when the question you ask meets the condition of "value", the action of "We will answer the question for you" will occur, which is the action of the whole trigger.

Q: What is JASS?

JASS is a simple language for editing maps, which can be said to be a trigger (map script) after textualization, but the trigger does not provide what JASS has.

All functions, so it can be said that JASS is an extension of the trigger function in a sense.

There are three ways to edit jas:

1, in the trigger editor, through the menu->; Edit-> Convert to custom text can convert the currently selected trigger into script mode, that is, the mode edited with JASS.

2. Click the top mapping name of the trigger tree in the trigger editor, and you can enter the user-defined script function block, where you can write the required functions with JASS and call them through commands in other triggers.

3. You can insert a line of JASS script code into the trigger by using the ACTIONS of the custom script in Actions.

Q: What is "Advanced-Gameplay Constants"?

The top menu is the fourth option in the seventh menu from the left. This option contains many useful settings that T can't modify, such as the distance of buying and selling things, the damage of various attack types to defense types, the hero's level experience resurrection data and so on.

Q: What do you mean by W3M, W3X, W3N and W3G in map extension?

W3m: roc version of the map.

W3x: Frozen Throne (tft) map.

W3n: Campaign map can only be used if it is placed in the campaign folder under the War3 directory.

W3g: The video of the game is located in the Replay folder in the War3 directory.

E: map type description

Melee-Battle Map, which is the default game mode of War3, BN ladder specifies the game type.

Non-melee-all types except melee.

Custom-unofficial map, but usually refers to unofficial non-melee map.

RPG- role-playing game ~ ~ But now many people call all non-melee maps RPG.

Mini-mini-games usually refer to maps with no prominent plot, fast pace, short game cycle, no fixed game mode and no rpg.

Off- usually refers to antagonistic maps, and sometimes refers to some maps with the theme of attacking npc.

A 3C attack, originally just the name of a map, usually refers to an office with three attack routes.

Arena-off, arena, usually refers to the map of choosing heroes and fighting in a fixed area.

Defense-usually refers to the defense map, and sometimes refers to some defenses and counterattacks under the premise of unbalanced NPC attacks.

A type of TD defense, building a tower to defend against the conventional attacks of NPC.

Cut animation-usually refers to editing a movie, the content is relatively simple. (non-CG)

Cinematic-usually refers to a complete film with rich content. (non-CG)

FREQUENTLY ASKED QUESTIONS

Q: I set the race of the player 1 to human. Why did I change back to random when I entered the map?

A: put Scenario => Mandatory Attribute => Fixed player settings, so the race, controller and color set in the previous player attributes will be locked.

Q: How to enter negative numbers in the object editor in WE without automatically returning to zero?

A: Because club B is worried that some illegal values will affect the stability of the game, it limits the range of values. After WE are entered, the toolbar File => Preference => allows negative real values in the object editor, and you can enter real negative values in the object editor without automatically returning to zero (integers will still automatically return to zero). In addition, hold down shift+enter and modify the value without any restrictions. Please note that although you can enter values without restriction, if the computer can't read them because of illegal values, you may crash when playing games.

Q: How to improve the speed of the World Editor?

A:

Close the brush-put the window on the toolbar = > brush list to close it. Can greatly improve the speed.

Reduce custom data-custom objects are allowed in the object editor, but the more custom objects, the more lag we will have, especially the custom order position. I have set up more than 200 custom spaces, and the result is that the WE speed is about 1/3, and every time I press a key, it will lag. Later, the self-ordered space was deleted and the built-in unit was modified directly, which greatly improved the speed. So try to directly modify the built-in objects (including units, destructible objects, items, skills, ...), and rarely use custom objects. Reduce the preset objects-the more units, objects, destructible objects and ornaments are placed, the slower (but not obvious) our speed will be. The influence of area, camera and terrain is very small and can be almost ignored.

Q: Why are all the random values the same when testing the map? For example, the first attack of a samurai (infantry, dmg= 12~ 13) must be 12?

A: After entering WE, the toolbar File => Preferences => Test Map => Uncheck with fixed random seeds.

Q: How to set the upper limit of hero level above 10? Q: How to make a hero fight a neutral monster after level 5, with experience value? Q: Even if the hero in the Q:TFT version is not on the battlefield, you will get experience values, such as