Current time: 13.07.2024, 05:35 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Школа ERM 2
» ERM 2.0 для ERA III
Author Message
Berserker Offline
Administrators

Posts: 16546
Post: #61

Заменяем:
На:


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
24.10.2020 02:42
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #62

Заменить на:


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
24.10.2020 02:50
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1294
Post: #63

Berserker, да, точно - в функцию можно передать координаты через х1, х2, х3.
Насчёт всего остального понял. Спасибо!

P.S. А вот с циклом нужно разобраться. Много нового. 36


Карта-мод "Война на Холсте"
(This post was last modified: 24.10.2020 03:06 by SergOz.)
24.10.2020 03:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #64

Смотри, я прохожусь от i = цвет первого игрока до цвет последнего игрока
Вот эти константы:
Далее, тебе нужен был массив из 8 счётчиков. Скажем, visits[8] выделит
[y20, y21, y22, y23, y24, y25, y26, y27] под это дело.

visits[0], где 0 - логический индекс элемента в массиве (всегда от нуля), скомпилируется в y20.
visits[1] в y21 и т.д.

А @visits или @visits[0] скомпилируется в индекс без y-префикса: 20.

@visits[0] = 20
@visits[7] = 27.

Тогда данная строка просто вычислит индекс y-переменной счётчика для i-го игрока
!!VR(visitPtr:y):S(@visits) +i;
=>
!!VR(visitPtr:y):S20 +i;

А значит y(visitPtr) означает y20..y27 поочерёдно. То есть буквально y-переменная с индексом, хранимым как число в переменной (visitPtr)


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
24.10.2020 03:16
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1294
Post: #65

Berserker, а с какой версии Эры начинают работать !?OB(OBJ_KEYMASTERS_TENT); и другие константы?
И где можно скачать эту версию, если нет доступа к Яндексу?


Карта-мод "Война на Холсте"
(This post was last modified: 24.10.2020 13:28 by SergOz.)
24.10.2020 03:23
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #66

Вот же...
(24.10.2020 01:32)Berserker Wrote:  Обновление: https://dropmefiles.com/PSvrC
24.10.2020 03:29
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #67

С 3.0.1, если не ошибаюсь. Но мод Era Erm Framework (должен быть включён) обновляется с каждым релизом Эры.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
24.10.2020 04:14
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #68

Задача: сделать возможным переопределять глобальные переменные мода из json-конфига с поддержкой констант.
Требования: Era 3.2.0+, Erm Framework Mod 3.2.0+
Решение:


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
25.10.2020 06:25
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1294
Post: #69

Berserker, спасибо за код скрипта с палатками. Разобрался полностью.
(24.10.2020 04:14)Berserker Wrote:  Задача: сделать возможным переопределять глобальные переменные мода из json-конфига с поддержкой констант.
Если можно, то небольшой пример, пожалуйста, в каких целях это можно применить


Карта-мод "Война на Холсте"
25.10.2020 12:24
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #70

SergOz, я выпускаю мод на смешанные нейтралы с json-файлом настроек в Lang. Ты выпускаешь свой мини-мод настроек смешанных нейтралов по каждому типу монстров и заодно меняешь глобальные настрйки так:
Code:
{
  "mix": {
    "global": {
      "minNumNeutralStacks":        "2",                // Minimum number of mixed neutral stacks in battle.
      "maxNumNeutralStacks":        "4",                // Maximum Number of mixed neutral stacks in battle.
      "neutralStackSpread":         "MIX_SPREAD_SPACE_BETWEEN", // Default spread strategy for neutral stacks.
                                                        // Possible values:"sp_no", "sp_random", "sp_top_down", "sp_near_center", "sp_away_form_center", "sp_space_between".
      "neutralStackScale":          "125",              // Multiplier for original neutrals quantity on adventure map in percents.
      "netralStackScaleForHuman":   "200",              // Additional multiplier of neutrals power only for humans in percents.
      "noNeutralsMorale":           "1",                // If 1, neutrals will have no morale at all.
      "generateMonstersByFactions": "1",                // If 1, additional generated monsters will belong to the same faction.
      "allowAlliedFactions":        "1",                // If 1, allied faction monsters will also be generated.
      "moveNeutralsToFactions":     "1",                // If 1, all WoG neutral monsters will be assigned a faction / town.
      "registerRegularMonsters":    "1",                // If 1, all regular WoG creatures are registered and will become accessible for generation.
      "registerFactionAllies":      "1",                // If 1, configurates each faction allies and their association level.
    },

    "mon173": {
      "custom": "1",
      
      "slot0": {
        "type": "MIX_MON_TYPE_ALLIED_FACTION",
      }
    }
  }
}

Мой мод отображает глобальные настройки из json на глобальные именованные переменные. А ты, как пользователь-настройщик, в ЕРМ файлы не лезешь, но можешь использовать константы в виде значений. Скажем, тебе нужно в слоте сгенерировать монстра той же фракции или союзной фракции.
Ты пишешь: "type": "MIX_MON_TYPE_ALLIED_FACTION" вместо -3, например.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
25.10.2020 16:08
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #71

Berserker, как я понимаю, последовательность !?FU и !#VA не принципиальна, и можно
в обратном порядке вызывать?
25.10.2020 19:01
Visit this user's website Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1294
Post: #72

Berserker, в коментах научных каналов часто можно видеть такое:
"Ничего не понятно, но афигенно интересно".
Здесь примерно то же самое, но суть я уловил. Перечитывая, раза с N-ного дойдёт. 97
Спасибо!


Карта-мод "Война на Холсте"
25.10.2020 19:15
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #73

Bes, нельзя.
Глобальные переменные — это i^..^, s^...^. а (такиеПеременные) — сугубо локальные от !?XX до следующего !?XX.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
25.10.2020 21:43
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #74

а чего тогда ты сделал объявление локальной через синтаксис !# ? (сразу провокация на выход из твоих примеров использования 148)
25.10.2020 21:54
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #75

Чтобы выделить данную конструкцию визуально. Она работает только на этапе прекомпиляции как команда-пустышка, но все объявленные в ней переменные остаются.
Иными словами нет разницы между:

и


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
25.10.2020 22:33
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group