Heroes 3.5: Wake of Gods Portal > ERA 2.9.9 update + download
ERA 2.9.9 update + download
|How to install ERA|
ERA 2.9.9 Changelog:
- Added support for loop level in !!br (BREAK) and !!co (CONTINUE) loop controlling receivers.
!!br 1:; is the same as !!br:; and means break current (innermost) loop.
!!br 2:; will break outer level loop, !!br 3:; even higher level.
[*] XX:Z command is no more a special command. Disabling ERM receivers is not supported.
57 – freelancers guild.erm will not work propertly.
- [-] Fixed wrong ERM interpreter handling of spaces as commands. Example: !!VRy1:Sj +100 used to treat
space as command and silently consume ‘+100’. Now spaces between subcommands are fully supported.
!!VRy1:Sj +100 *4 -7;
- Fixed occasional savegames data corruption.
ERA 2.9.8 Changelog:
- [+] Introduced high-level fastest loops in ERM via new receivers: !!re, !!br, !!co.
$1 – loop counter var like ‘i’ or ‘y6’.
#2 – counter start value. Optional. Default: initial value of loop counter var.
#3 – counter stop value. Optional. Default: initial value of loop counter var.
#4 – step. Optional. Default: 1, if stop value is set, 0 otherwise.
Repeats block of code. Only the first argument is obligatory.
At first loop counter variable is initialized.
Counter stop and step values are remembered for the whole loop and won’t be evaluated on each iteration.
Step determines, what value must be added to counter variable after each iteration. It also determines type of iteration stop condition.
Positive step checks if counter > stop value. Negative step checks if counter < stop value.
On !!re it’s checked, if counter reached stop-value or exceeds it. If true, execution is passed to corresponding !!en block.
On !!en counter is increased by step and if stop condition is not met, next receiver after closest !!re will be executed.
If stop condition is not met, execution goes to the next receiver after closest !!re.
!!br (BREAK) with optional condition immediately jumps after loop !!en receiver.
!!co (CONTINUE) with optional condition immediately jumps to loop !!en receiver, which will be executed as usual.
- [+] Added possibility to query syntax, that was used for particular function parameter.
#1 – argument index
?$2 – syntax type (0 – get, 1 – set, 2 – add)
Add syntax is applied via ‘d’ prefix like FU:Pd200.
Using this receiver scriptmakers can write functions which act the same as normal ERM commands.
For instance, one function to get/set/add dwelling population amount.
- [+] Rewritten ZvsCheckFlags routine. Now e-variables can be compared to integer variables and constants.
All logical operations are supported for strings. Variable indexes were not checked at all, but are
- [+] Adapted wonderful PA and QU receivers by gamecreator with Pandora and Seer Hut Quests API.
From now these receivers are officially part of Era. See HelpErm Help directory for details.
Be sure to delete “pandora’s api.era”, “receiver pa.era”, “receiver qu.era” from old mod packages.
- [+] WoG scripts were extractd to a separate mod “WoG Scripts”. Some fixes by igrik/Algor were applied.
- [+] Included updated TxtEdit and MMArchive by GrayFace.
- [*] Replaced ‘for’ snippet in ERM editor with ‘re’ snippet, other syntax file corrections.
- [*] Maximum 16 nested IF/RE blocks are allowed.
- [-] Fixed crash caused by invalid RD:M second parameter handling.
ERA 2.9.6 Changelog:
- [+] SN and RD receivers syntax was improved. Now any command can use string concatenation (like d&z2),
integer modification (like d*5), SN:W string variable in the form of [?]s^var name^, SN:W integer
variable in the form of [?]i^var name^.
- [+] Added support for SN:W variables interpolation inside ^…^. %S(var_name) for string values, %I(var_name)
for integer values. The total length of interpolated string must not exceed 1 MB.
- [+] Replaced Heroes 3 random generator routine with world-wide known Mersenne Twister, generating
qualitative uniformly distributed sequences with huge periods.
- [+] Added new ERM command BM:U6/?$, returning stack actual speed, including slow spell effect.
Note, BM:S always returns speed without slow spell effect.
- [*] VR:T is deprecated and is equal to VR:R now. To get current time in milliseconds the following code can be used:
!!UN:C6529876/4/?t; t = timeGetTime function address
!!SN:Et/1; v1 = result
Use VR:R0/#new_seed to reseed random number generator.