Sie sind auf Seite 1von 8

1.

HE:R3/$
$ - (set/check/get) enabled (1) or disabled (0) hero
to hire by all players
HE:R3/$1/$2
$1 - (set/check/get) enabled (1) or disabled (0) hero to hire
$2 - (set/check/get) players that may hire (one bit - one color)
Comments:
$2 makes sense (will be set) only if you enable a hero.
If you disable a hero that is owned by any player,
the hero will be killed.
2. OW:V#/$1/$2
# - owner
$1 - left hero to hire in a tavern (-1 = none)
$2 - right hero to hire in a tavern (-1 = none)
Comments:
I cannot guarantee that all will work fine if you set one hero for
several players (and as a second copy for one player).
A hero that is set to be hired in a tavern will be temporarily set
as a disabled one.
3. OW:I#/$1/$2 - additional syntax
# - owner
$1 - AI/human
$2 - Player killed (1) or alive (0)
Comments:
This command may be used to bring a new player (colour) into the game,
even if it didn't start in the game (i.e., didn't start with any
Heroes or towns). To do this, or to resurrect a dead player, you must
first place a hero on the map with HE:P, set the hero's owner with HE:O,
then use the OW:I command to specify if the player is AI or human and set
it to alive. If it's a human player, you should also use OW:G to make it
the player sitting at the computer, and finally, you must reset the
"days to live" for that player with OW:D.
4. New Command !!(#)UN:P$;
$ - =1-standard behaviour for lvl8 dwellings (=0-as usual)
Comments:
Standard behaviour means that the level 8 dwelling will function like
any other dwelling in the game, so you must visit it each week to recruit
level 8 creatures there and they won't appear in the upgraded level 7
dwelling for the associated town.
5. New Trigger: !?BF;
It works when a battlefield is prepared for a battle.
New receiver: !!BF:...
This receiver may be used/called only after combat triggers.
Use !?BF to setup before the battle, or !?BR or !?BG to
change the battlefield objects during the battle.
New commands:
C - do not fill a battle field (every square is accessible)
O#1/#2
#1 - type of obstacle to place (-1,0...90)
#2 - position (0...186)
M#1/#2/#3/#4/#5/#6/#7/#8/#9/#10/#11(/#12)
#1 - bitimage of position 0...16
#2 - bitimage of position 17...33
#3 - bitimage of position 34...
...
#12 - type of obstacle to place (0...90)
Comments:
If a battlefield is not filled, it still will have inaccessible
squares - a bridge in a town siege screen.
You can place a transparent obstacle (obstacle value of -1,
i.e.,: !!BF:O-1/position) that means that the position will not be
accessible but no picture will be shown.
M command automatically includes C command.
If M command has no #12, it places an obstacle 84 (rock)
6. New trigger !?BR; It works at the start of every round of a battle
(for first turn it works twice). Var v997 keeps the
turn number:
-1 - first turn (before tactic phase)
-2 - second turn of tactic phase
...
0 - first turn (after tactic phase)
1 - second turn
2 - third turn
...
Comments:
First turn (-1,0) goes in "darkness" and you will not be able
to show any message, though you can take action.

7. New receiver !!BM#:...;
You may check/set/get some parameters of a stack of monsters
# - number of a stack (0...41). Usually it is used like 0...20
for a first (0) player and 21...41 for a second (1) player.
Commands:
T$ - type of a monster
P$ - position on a battle field
N$ - number of monsters in the stack (current).
L$ - hit points lost by the next monster in the stack
B$ - number of monsters in the stack (at the beginning of the battle).
E$ - number of times a spell-casting monster may cast its spell (not a
number of a spell)
I$ - side index as for heroes (0-left, 1-right)
R$ - number of retaliations each round (check for Royal Griffin)
A$ - attack with bonuses
D$ - defense with bonuses
H$ - hit points
S$ - speed
F$ - monster flags (as for MA:X)
O$ - number of a (hero's) army slot (0...6,-1)
K# - Strike a monster with #damage points
M#1/#2/#3 - apply a spell to the monster
#1 = number of spell
#2 = duration in turns
#3 = level of skill (0-none, 1-basic, 2-advanced, 3-expert)
C#1/#2/#3/#4/#5 - cast a spell from the monster
#1 - spell number
#2 - position to cast
#3 - Monster skill level (0...3)
#4 - Hero (???) Skill level (0...3)
#5 - Check 4 Target Monster existing (alive)
Q#1/#2/#3 put Quick Sand or Land Mine at a position
#1 - type (0=Quick Sand, 1=Land Mine)
#2 - position
#3 - redraw (1) or not (0)
J$ - get or check for number of active spells
G#/$1/$2 - set/check/get an active spell parameters
# - spell number
$1 - set/check/get duration (0=not applied)
$2 - set/check/get level of skill (0-none, 1-basic, 2-advanced, 3-expert)
Comments:
For Q command, the position will be checked automatically
for whether you can place a magic obstacle or not.
You can use a stack number 0 for a left side and 21 for right
side to be always sure that the magic obstacle will be placed
(stack may be dead - all that is needed is a side number).
If O$ is set to -1, the stack will not appear in (hero's) army
after the battle (i.e., summoned creatures and clones).
8. New receiver !!BH#:...;
You may check/set/get some parameters of a hero at # side
(0=left, 1=right).
Commands:
N$ - get or check a number of the hero (-1=no hero).
M$ - disable (1) or (re)enable (0) to cast spell
C#1/#2/#3/#4 - cast a magic
#1 - spell number
#2 - position to cast
#3 - Hero Skill level (0...3)
#4 - Check 4 Target Monster existing (alive)
Q#1/#2/#3 put a Quick Sand at a position
#1 - type (0=Quick Sand, 1=Land Mine)
#2 - position
#3 - redraw (1) or not (0)
Comments:
For Q command the position will be checked automatically
for whether you can place a magic obstacle or not.
If you use the M command to enable the hero to cast another spell, the
spell book still won't reappear until the next stack that you own gets
an action (or the same stack gets a morale bonus).
9. New receiver !!BU:...;
You may check/set/get some universal parameters of the battle
Commands:
S#1/#2/#3/#4/#5/#6 summon a stack of monster on a battle field.
#1 - type of monster
#2 - number of monsters
#3 - position
#4 - side (0=left or 1=right) of owner
#5 - Hero's slot number (-1 -no slot)
#6 - redraw (1) or not (0)
R - redraw a battlefield after taken action
E#/$ - get or check alive monster stack to $ at position #.
-1 if no alive monster stack at that position
D#/$ - get or check a dead monster stack to $ at position #.
-1 if not any monster stack at that position
-2 if there is an alive stack at that position
O#/$ - get or check an obstacle flag to $ at position #.
bit mask:
$=0 if there is NO obstacle at the position
$&1 if there is a magic obstacle at the position
$&2 if there is an obstacle at the position
$&4 if quick sand obstacle (magic)
$&8 if land mine obstacle (magic)
T$ - check if the battle has a tactics phase
$=1 if yes, $=0 if no tactics phase
C$ - check if the battle has ended (at this turn)
$=1 if yes, $=0 if not ended yet
Comments:
Command C may be called from BG1 trigger section
or later.
10. New trigger !?BG; It works at every action taken by
any stack or heroes. Var v997 keeps a number of the turn:
-1 - first turn (before tactics phase)
-2 - second turn of tactic phase
...
0 - first turn (after tactics phase)
1 - second turn
2 - third turn
...
!?BG; or !?BG0; is called before the action.
!?BG1; is called after the action
Comments:
You can use in the section next to the trigger BG receiver to find
a monster stack number (BG:N) and use this number to get access
to this monster set up (!!BM...).
For !?BG1 trigger !!BG receiver keeps the next monster number to act
11. New receiver !!BG:...;
You may check/set/get parameters of the chosen action
Commands:
A$ - type of an action:
0 = No action (cancel action)
1 = Hero cast a spell
2 = Walk
3 = Defend
4 = Retreat from the Battle
5 = Surrender
6 = Walk and Attack
7 = Shoot
8 = Wait
10 = Monster casts a spell (fairy dragons)
S$ - Number of a Spell to Cast
D$ - Destination position (magic to monster, walk or attack to)
E$ - get a destination monster stack (destination position
is used). -1 if no monster stack at that position
N$ - Stack number (0...41)
Q$ (check only!) - current attacking side (0=left or 1=right)
H$ - number of a hero owner (-1=no hero)
Comments:
If a monster cast a spell before an action (enchanter magic
or Troll regeneration), it goes before trigger.
If you want to use up a monster stack's action, you can
"walk" the monster in place (A$=2 and set destination to current
position with D$).
12. New command for BA receiver (in !?BA0 trigger): !!BA:B
B# - set a background pic (1...25,-1=default)
B^file.pcx^ - set a custom picture for a battlefield
Comments:
Path to the file.pcx is taken from DATA folder. As usual
filename+extension must not be longer than 12 chars.
The pcx file must be 256 colours and 800x566 pixels to properly fit.
The top edge of the picture forms the "background" of the battlefield
and the rest is the battlefield area itself. Experiment!

13. New additional syntax for HE:E and HE:R commands
E$1/$2 - hero's experience
$1 - experience points
$2 - hero's level
R4/$ - set/check/get hero's tactic control
$ - 1=enable, 0=disable
14. New command for !!MW# receiver.
E$ - check for existence of this WM number #
$=1 if there is a WM number #, otherwise $=0

15. Extended (additional) syntax for !!(#)UN:V command:
V$1/$2/$3/$4/$5
$1 - get or check the WoG version
$2 - get or check the ERM version
$3 - get or check "one or more humans" in the game
=1 for one human, =2 for more than one human
$4 - get or check "one or more PCs" in the game
=0 for one PC (no net), =1 for more than one PC (net)
$5 - get or check type of the game
=0 - Single Player
=1 - IPX
=2 - TCP/IP
=3 - Hot Sit
=4 - Direct Connect
=5 - Modem
16. New command for !!TR receiver: V.
V$ - set/check/get a visibility of a square (one bit - one color)
Comments:
This is similar to the UN:S and UN:H but for individual squares
and you can check or get the value. Also, monsters have sight (1 hex)
and this can be enabled or disabled -- they have a bit value number of
256.
17. New trigger: !?CM.
It works when you click the right mouse button at any place on the
adventure map.
It sets up an internal ERM structure that can be used with the
!!CM receiver in the following section.
Comments:
Data in the structure will not be saved. This means that
you can use it in a receiver section of this trigger.
For now there is only one CM trigger - !?CM0; (!?CM;)
But later there will be more triggers for other screens.
They will be !?CM1, !?CM2...
18. New trigger !!CM:...
Get/check/set info about mouse click.
Commands:
T$ - type of an action (usually 512)
S$ - subtype of the action (usually 14)
I$ - item (area) of the screen
0=outside of any item
1=small map
37=big map
...
(complete list is at the end of this document)
F$ - flags
& 0x200 means right mouse click
...
A$1/$2 - absolute position of a cursor in pixels
$1-x
$2-y
P$1/$2/$3 - map position
$1-x
$2-y
$3-level
R$ - enable standard reaction (1) or disable (0).
Comments:
P command work only for items 1 (small map) and 37 (big map).
At the moment, T, S and F commands may not be needed so much.

19. Mithril is added as a new custom resource (number 7).
You can get/check/set it with !!OW:R#/7/$
# = player
$ = quantity of Mithril
Comments:
Start playing with this and write scripts for ways to spend it. :-)
20. New command for !!(#)UN:...
B#/$ set operation of new chests and Mithril
#=type (0-Mithril,1...4-new chests)
$=operation (0-standard,1-advanced)
Comments:
For all new chests (type 101, subtype 1...4) standard
operation means a standard Treasure Chest. Extended
gives nothing to a visiting Hero (assumed that all
is defined through the ERM). In both cases, the chest
will disappear after being taken.
For Mithril (type 79, subtype 7) standard operation
means that when you (or AI) pick it up, you will get
a random type of resource (except wood or ore) and
quantity that is set up for the stack in the map editor
(for gold will be *100). Extended operation means
that Mithril will be added to the Mithril stock of the
player and you can check and set it with UN:R#/7/$.
Both work for human or AI. AI treats Mithril as gold
when deciding to pick it up or not.

21. New Commands for !!OW receiver:
A#/$ get/check/(set) active hero number
#=owner (0...7,-1=current)
$=Hero number (0...155,-1=not choosen)
N#/$ get/check/(set) active town number
#=owner (0...7,-1=current)
$=Town number (0...47,-1=not choosen)
W#/$ get/check/(set) number of towns owner controls
(placed in the list)
#=owner (0...7,-1=current)
$=Number of Towns (0...47)
W#1/#2/$ get/check/(set) number of
owner's town in the list
#1=owner (0...7,-1=current)
#2=Towns number in the list (0...47)
$=Town number on map (0...47)
22. I added a new syntax for town receiver !!CA.
You had before:
!!CAx/y/l:...;
!!CA#:...; indirect reference to x=v[#], y=v[#+1], l=v[#+2]
New syntax:
!!CA0/#:...; # is a number (CA:U command)
Also a new command: !!CA:P.
P$1/$2/$3 -get/check/(set) town position
$1=x, $2=y, $3=level

Complete List of CM:I areas
0 - area with no item number
Note: some areas won't even register when right-clicked and others have the
no item number (value 0).
1 - world map (mini map)
2 - border of hero information square
3 - kingdom overview button
4 - surface/underworld button
5 - quest log button
6 - sleep/wake hero button
7 - move hero button
8 - cast spell button
9 - adventure options button
10 - system options button
11 - next hero button
12 - end turn button
13 - hero list: scroll up arrow
14 - hero list: scroll down arrow
20 - hero list: move bar for hero #1
21 - hero list: move bar for hero #2
22 - hero list: move bar for hero #3
23 - hero list: move bar for hero #4
24 - hero list: move bar for hero #5
25 - hero list: mana bar for hero #1
26 - hero list: mana bar for hero #2
27 - hero list: mana bar for hero #3
28 - hero list: mana bar for hero #4
29 - hero list: mana bar for hero #5
30 - town list: scroll up arrow
31 - town list: scroll down arrow
32 - town list: town #1
33 - town list: town #2
34 - town list: town #3
35 - town list: town #4
36 - town list: town #5
37 - adventure map
38 - rollover bar (messages/chat etc.)
39 - hero list: hero #1
40 - hero list: hero #2
41 - hero list: hero #3
42 - hero list: hero #4
43 - hero list: hero #5
1000 - resource/date bar (edges)
1001 - wood value
1002 - mercury value
1003 - ore value
1004 - sulfur value
1005 - crystal value
1006 - gems value
1007 - gold value
1008 - date (month/day/week)
1009 - wood icon
1010 - mercury icon
1011 - ore icon
1012 - sulfur icon
1013 - crystal icon
1014 - gems icon
1015 - gold icon
2000 - hero information square
2001 - hero info square: portrait
2002 - hero info square: name
2003 - hero info square: attack value
2004 - hero info square: defense value
2005 - hero info square: power value
2006 - hero info square: knowledge value

Das könnte Ihnen auch gefallen