IPB

Здравствуйте, гость ( Вход | Регистрация )

7 страниц V  « < 5 6 7  
Reply to this topicStart new topic
> Era II [ENG], New concept in modding
Berserker
сообщение 27 Jan 2020, 21:58
Сообщение #121

Immortal
Сообщений: 1 468
Спасибо сказали: 1151 раз






Version 2.9.5

[+] New version of WoG Native Dialogs plugin released by igrik. Now IF:D dialogs are rendered using
native Heroes 3 engine, compatible with HD mod scaling, unless avi/gif images are used.
The Sphinx dialog is also remade.

[+] Included new powerful ERM Editor, based on Sublime Text.

[+] Added "OnBuildTownBuilding" event, occuring when current PC human or AI builds town building.
Parameters: x1 = Town ID, x2 = Building ID.

[+] Added "OnOpenTownScreen" and "OnCloseTownScreen" events with the only x1 parameter: ID of town,
that was entered initially. Towns may be switched between inside town screen without generating Enter/Leave events.

[+] Added "OnSwitchTownScreen" event (x1 = Town ID), occuring when player switches towns in town screen.

[+] Added "OnPreTownScreen" and "OnPostTownScreen" events (x1 = Town ID), occuring right before/after showing
town screen for particular town. Both events occur, whether town screen is opened/closed or switched.
They can be used to pre-change buildings/names/dwellings and revert changes afterwards, for instance.

[+] Events "OnOpenHeroScreen", "OnCloseHeroScreen" and "OnUpdateHeroScreen" now receive x1 = Hero ID parameter.
In "OnCloseHeroScreen" x1 is the same as in "OnOpenHeroScreen", thus it's the first hero, screen was opened for.
Hero screen dialog allows to switch between heroes, without generating new Open/Close events.

[+] Added "OnPreHeroScreen" and "OnPostHeroScreen" events (x1 = Hero ID), occuring right before/after showing
hero screen for particular hero. Both events occur, whether hero screen is opened/closed or switched.
They can be used to pre-change creatures/names/skills and revert changes afterwards, for instance.

[+] Included Smacker (smk producing tools) in the package. Thanks to wessonsm. False positive detection by AVG/Avira possible.

[*] Labels in ERM triggers may now be duplicated, overwriting previous ones. Example:
!?XX;
[:loop]
...
[:loop] new loop will use the same label "loop", overwriting label position
...

[*] Events "OnEnterTown" and "OnLeaveTown" were renamed to "OnEnterTownHall" and "OnLeaveTownHall".

[*] SN:E result is stored in e1 only for FLOAT_RES convention (+4), otherwise in v1. The behavior is the
same, as it was before Era 2.9.x branch.

[-] Fixed crash when using temp variables f..t with GET syntax.
[-] Fixed invalid parameters of RD:I in town hord dwelling dialog.
[-] Fixed crash, caused by invalid town dialog detection.
[-] Fixed a small bug in structure address, thanks to gamemaster.

Скачать



Version 2.9.6

[+] 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^.

Examples:
- Concatenate string with existing variable and display result.
!!SN:W^report^/^Today we met a few strangers. They were^;
!!SN:W^report^/d&^ orcs^;
!!IF:M^%S(report)^; Today we met a few strangers. They were orcs

- Get current MP3 theme into named variable
!!MP:C?s^theme^;
!!IF:M^Current theme is %S(theme)^;

- Multiply number of creatures in the first slot of recruit dialog by 10 and display it
!!RD:C0/?t/d*10; type not changed, number multiplied by 10
!!RD:C0/?t/?i^numMons^;
!!IF:M^There are %I(numMons) creatures to hire^;

[+] 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.

Скачать


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 31 Jan 2020, 23:42
Сообщение #122

Immortal
Сообщений: 1 468
Спасибо сказали: 1151 раз






Version 2.9.7

Код
[+] Added possibility to query function arguments count for functions, called via FU:P, FU:D, DO:P.
    New command !!FU:A?$ returns number of x-arguments (not including x16 for DO:P), received by function.
    This mechanism allows to write functions with optional parameters (parameters with default values) and
    functions with variadic arguments number.

    Example 1:
    !?FU(KillHero);
   ; Kills specified hero. Demonstration of optional parameters.
   ; [x1] - hero ID. Optional. -1 by default
    !!FU:A?k;       get number of function arguments
    !!VRx1&k=0:S-1; set x1 to -1, if no arguments passed
    !!HEx1:K;       killed hero

    !?CM0;
    !!FU(KillHero):P; kill current hero
    !!FU(KillHero):P155; kill Xeron

    Example 2:
    !?FU(sum);
   ; Calculates sum of all passed arguments.
   ; x1..x[n] - arguments to sum
   ; x[n+1] - result
    !!FU:A?k;  count function arguments
    !!VRxk:S0; set result to 0

    !!VRi:S0;
    !!SN&i>=k:G[end-for]; repeat k times
    [:for]
    !!VRxk:+xi; add next argument value to result
    !!VRi:+1;
    !!SN:G[for];
    [:end-for]

    !?CM0;
    !!FU(sum):P100/200/300/400/?s; get 100 + 200 + 300 + 400 into "s" quickvar
    !!IF:M^%Vs^; displays "1000"

[+] VR:C now supports v, y, x and w-variables.
[+] Improved MR:N and OnBattleRegeneratePhase:x1. Now stack ID is returned more accuratly. Thanks to Heromant.
[+] Small improvements of ERM Editor. Better 'for'-loop snippet, syntax fixes, 'iff' for !!IF, etc.

[*] Map resources, like ERM or Lua scripts were previously located in Maps/[MapName] directories. In order
    to support HD-mod maps grouping into folders, the location was changed to Maps/Resources/[MapName].

[-] Fixed wrong/unstable round, used by WoG for creature autosummoning via creature experience system.
[-] Fixed bug: w-variables in SN/MP/RD were always related to current hero.
[-] VR:R will no more crash on invalid value.


Скачать


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 04 Feb 2020, 01:51
Сообщение #123

Immortal
Сообщений: 1 468
Спасибо сказали: 1151 раз






Version 2.9.8

Код
[+] Introduced high-level fastest loops in ERM via new receivers: !!re, !!br, !!co.
    
    !!re $1[/#2/#3/#4].
      ...
    !!en:;

    $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.

    Examples:

   ; Endless loop of annoying messages:
    !!re i:;
      !!IF:M^Donate, please!^;
    !!en:;

   ; Clear current hero army
    !!re i/0/6:;
      !!HE-1:C0/i/-1/0;
    !!en:;

   ; Display 10, 8, 6, 4, 2 (1 will not be displayed, same as 0)
    !!re i/10/1/-2:;
      !!IF:M^%Vi^;
    !!en:;

   ; Display number of the first hero empty slot, if it's found
    !!re i/0/6:;
      !!HE-1:C0/i/?t/?k;
      
      !!if|t=-1/k=0:;
        !!IF:M^Free slot number is %Vi^;
        !!br:;
      !!en:;
    !!en:;

    !!IF&i>6:M^No free slot was found^;

[+] Added possibility to query syntax, that was used for particular function parameter.
    !!FU:S#1/?$2;
    #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
    checked now.

[+] 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 Help\Erm 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.


Скачать


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

7 страниц V  « < 5 6 7
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28 March 2024 - 18:50
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика