Wake of Gods Forum | Форум Во Имя Богов

Full Version: ERA II
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
daemon_n, предложил файлы карт переместить из Maps\ИмяКарты в Maps\ОбщаяПапка\ИмяКарты, аргументируя тем, что HD позволяет выбрать карту из подпапки, отчего крайне неудобно видеть большое число технических папок в списке.

Предлагаю Maps\Resources\ИмяКарты.
Из минусов — при удалении нужно зайти в папку Resources и удалить одноимённую с картой подпапку.
Berserker, мне нравится. Но я всё равно за Mapscripts.)
в чем же минус? Одноимённую папку удалять требовалось и ранее. Проблема в лишнем двойном клике?
В том, что можно забыть зайти в подпапку, а позже использовать старые ресурсы при накате обновлённой карты. Минус не критичный. Таких карт — раз-два и обчёлся.
Quote:Предлагаю Maps\Resources\ИмяКарты.
Из минусов — при удалении нужно зайти в папку Resources и удалить одноимённую с картой подпапку.
Реализация в Фан-Патч МоР кнопка "Delete" - при нажатии сразу всплывается окно выбора: удалить выбранный файл из папки random или отмена.

Источник (есть исходный код)
Image: M2wZAaoLIi8.jpg
daemon_n, судя по всему, решено единогласно.
Image: update-sm.jpg

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;
    [:for]
    !!SN&i>=k:G[end-for]; repeat k times
    !!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.

Скачать
Berserker, хорошо)
Решение из MoP также одобряю. С кучей случайных карт очень удобно: сразу видно описание карты, игроков и прочее.

О-о-о, уже 2.9.7. Супер. Спасибо!

Надеюсь, смогу сделать завтра сборку.

UPD: насчёт русификатора понял.
Также мне кажется, что пока ру кампании не переделаны, то следует удалить скрипты вог-кампаний, чтобы текст не двоился (в сборке).
daemon_n, если будешь обновлять русификатор, перемести из Maps папки в подпапку Resources.
(01.02.2020 01:16)Berserker Wrote: [ -> ]daemon_n, судя по всему, решено единогласно.
решили ночью поднять вопрос, в самый час пик посещений форума, дельцы? ))) 132

Berserker, поздравляю с обновлением, респект за труд
Bes, просёк фишку, просёк 148
Спасибо!
(01.02.2020 01:41)Berserker Wrote: [ -> ]Version 2.9.7
[-] Fixed wrong/unstable round, used by WoG for creature autosummoning
Ну наконец то!
igrik, твоими молитвами…
Часто бывает, что нужно написать функцию, которая может и получать, и устанавливать значение, но не позволяет религия нет возможности сделать это просто и красиво. Или есть?
Berserker, здорово) но не все понял.
То есть если там нет юнитов, то тогда функция их туда поместит?
Скорее нет. Если ты хочешь получить количество монстров в слоте 0 текущего героя, то вызываешь функцию так:
!!FU(Slot0):P?y1; теперь y1 - число монстров

А если хочешь установить кол-во монстров в слоте 0, то вызываешь так:
!!FU(Slot0):P700; установить в 700 монстров

Ранее функция Slot0 не могла различить тип аргумента: это установка или получение (с ?__). Поэтому обычно первые аргументы были те, что просто используются или устанавливаются, а последний — куда записывалось результат-значение. Теперь можно писать одну функцию с поддержкой чтения/записи одновременно.
Reference URL's