Evil Islands Addon library
~~~~~~~~~~~~~~~~~~~~~~~~~~
Что нового в последней версии
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Важное замечание!
[*] - Изменение.
[-] - Исправлена ошибка.
[+] - Нововведение.
---------------------------------------------------------------------------
Версия: 0.10.0.0 [02.08.2020 21:30]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
[Addon]
AttackAnimSpeed=1 - Включить динамическую скорость анимации атаки и каста.
NewRunes=1 - Включить поддержку новых типов рун.
UsePrototypeActionsForMobAttack=1 - Использовать параметр действий из прототипа юнита для атаки моба.
UsePrototypeActionsForMobCast=1 - Использовать параметр действий из прототипа юнита для каста моба.
FastTeleport=1 - Уменьшить минимальную длительность каста с 30 до 1 игровых секунд.
DisableCrippledHL=1 - Отключить ломание конечностей.
UnlockExperimentalSpell=1 - Разблокировать экспериментальные заклинания.
[+] Добавлены новые скриптовые функции:
1. Eval(script: string, count: float)
Выполнить строку script, в качестве скрипта. В script используются одинарная кавычка
вместо двойной для записи строк. Пример script: "ConsoleString('Hello!')".
2. GSSetPlayerVar(nPlayer: float, name: string, value: float)
Установить значение переменной для конкретного игрока nPlayer. Имеет смысл только для
сетевой игры, т.к. в одиночной игре она эквивалентна команде GSSetVar.
В сетевой игре переменные, создаваемые командой GSSetVar общие для всех игроков.
3. GSGetPlayerVar(nPlayer: float, name: string) : float
Возвращает значение переменной, установленной командой GSSetPlayerVar.
4. GiveExp(nPlayer: float, exp: float)
Выдать опыт игроку с номером nPlayer. Если игрока с таким номером нет (например, -1),
то опыт выдаётся всем игрокам в пропорциях аналогичным стандартной выдаче опыта
при убийстве монстра.
5. StartCameraSave(path: string)
Начать запись движений камеры в файл path.
6. StopCameraSave()
Завершить запись движения камеры.
7. Say(message: string)
Написать сообщение message в чат.
8. And(a: float, b: float, ...) : float
Логическое "И". Возвращает 1, если все аргументы равны 1. Иначе возвращает 0.
9. Or(a: float, b: float, ...) : float
Логическое "ИЛИ". Возвращает 1, если хотя бы один аргумент равен 1. Иначе возвращает 0.
[+] Из EI Plugin перенесено исправление номеров игроков, которое позволяет многим скриптам указывать
отличное от 0 значение. Т.е. nPlayer в параметрах функций - реальный номер игрока.
Чтобы получить номер игрока, используйте GetPlayerOfUnit. Важно учитывать, что этот номер
может меняться в течении игры (например, при заходе/выходе игроков на карту).
[+] Так же из EI Plugin перенесены новые скриптовые функции:
1. GetPlayerOfUnit(unit: object) : float
Возвращает номер плеера для юнита, если имеется. Для всех бесплеерных юнитов возвращает 0
2. GetUnitExp(unit: object) : float
Возвращает общий опыт юнита, полученный за всё время игры
3. GetArmor(unit: object, part: float, id: float) : float
Возвращает броню юнита.
part - часть тела: 0 (голова), 1 (торс), 2 (л.рука), 3 (п.рука), 4 (л.нога), 5 (п.нога), -1 (общая броня)
id - тип брони: 0 (impaling), 1 (slashing), 2 (crushing), 3 (termical), 4 (chemical), 5 (electrical), 6 (general)
4. GetObjectStringID(object) : string
Возвращает ID объекта в виде строки
5. FloatToStr(float) : string
Перевести число в строку
6. StrToFloat(string) : float
Перевести строку в число
7. StrCat(string, string, ...) : string
Объеденить две и более строк в одну
8. StrLen(string) : float
Длина строки
9. Sin(float) : float
Синус
10. Cos(float) : float
Косинус
11. Pow(base : float, pow : float) : float
Возвести число в степень (основание ^ степень)
12. DistancePointPoint(x1: float, y1: float, x2: float, y2: float) : float
Возвращает расстояние между точками
13. NearestUnit(x: float, y: float, r: float, flags: float) : object
Ближайший к точке (x,y) юнит. Поиск ведется в радиусе r
Если flags = 1, то учитываются одушевленные объекты (люди, монстры и т.д.)
Если flags = 2, то учитываются неодушевленные объекты (дома, деревья и т.д.)
Если flags = 3, то учитывается все объекты
14. UnitsNearPoint(x: float, y: float, r: float, flags: float) : group
Получить список юнитов возле точки. Правила аргументов как для NearestUnit.
[+] Изменено несколько существующих скриптовых функций:
1. Add(a: float, b: float, ...) : float
В отличие от оригинальной функции Add, поддерживает более двух аргументов.
2. Mul(a: float, b: float, ...) : float
В отличие от оригинальной функции Mul, поддерживает более двух аргументов.
[+] Добавлена возможность сохранять переменные (GS vars) в файле персонажа сетевой игры (.mp-файл).
Для работы с такими переменными нужно использовать функции GSSetPlayerVar/GSGetPlayerVar.
Сохраняются только те переменные, имя которых начинается с "gvar.".
[+] Добавлено несколько новых консольных команд:
1. execs - запуск указанного скрипта из указанного текстового файла.
Разница с командой @AddMob("...") в простоте (не нужно создавать .mob-файл ради скрипта) и
в возможности запускать скрипт несколько раз (.mob-файл можно добавить только один раз)
2. listgvar - выводит список глобальных переменных (GlobalVars)
[+] Добавлена поддержка аргументов командной строки и команда для проверки скриптов на наличие ошибок.
Для удобства работы с командной строкой аддона добавлен скрипт addon.bat.
Если с его помощью открыть .mob-файл, то скрипт в файле будет проверен на ошибки.
[-] Исправлены несколько багов скриптового движка игры:
1. Баг циклов For и ForIf, в которых было невозможно использовать аргументы скрипта
2. Баг обработки переменных, начало имён которых совпадает с именем какой-либо функции: например caster: object
3. Баг функции ResetTarget, из-за которого игра завершалась с ошибкой
4. Баг, из-за которого не работали скрипты в главном меню игры
[-] Исправлен баг игры, из-за которого было возможно открывать сундуки при недостаточных характеристиках персонажа
[-] Исправлен баг аддона с загрузкой .mob-файлов мода из папок с нестандартными аттрибутами
---------------------------------------------------------------------------
Версия: 0.9.0.0 [07.06.2019 21:00]
---------------------------------------------------------------------------
[+] Добавлена экспериментальная поддержка широго экрана
Параметр WideScreen, 1 - включен, 0 - выключен. По-умолчанию равен 0
[+] Добавлена настройка дальности отрисовки объектов
Параметр ObjectsDrawRadius, от 1 до бесконечности. По-умолчанию равен 100
[+] Добавлена настройка дальности отрисовки ландшафта
Параметр LandscapeDrawRadius, от 1 до бесконечности. По-умолчанию равен 100
Перечисленные параметры находятся в ключе реестра:
HKCU\Software\Gipat.Ru\EI_Starter\Settings
---------------------------------------------------------------------------
Версия: 0.8.0.0 [23.03.2019 21:12]
---------------------------------------------------------------------------
[+] Экспериментальная функция автоматического бэкапа персонажа в случае вылета игры
Если игра завершилась с ошибкой, addon попытается сохранить персонажа в папку mp\backup
N.mp - основной сейв, lootall-N.mp - вместе с персонажем сохраняется весь лут на карте
[+] В случае падения игры сохраняется дамп памяти процесса, который поможет найти баг
[+] Добавлено логирование (addon.log) + логирование срабатывания патчей
[+] Добавлена настройка для config.reg:
[MOD]
AddonVersion=A.B.C.D - Задать минимальную версию addon.dll, необходимую для запуска мода.
Например, 0.8.0.0. Или короче: 0.8.
[*] Множество внутренних изменений (рефакторинг)
[-] Исправлен баг, из-за которого в игре мог пропадать звук
---------------------------------------------------------------------------
Версия: 0.7.0.16 [21.01.2019 1:41]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
[Addon]
ShowAllQuests=1 - Показывать все квесты, а не один радомный на зону.
[-] Различные мелкие фиксы.
---------------------------------------------------------------------------
Версия: 0.7.0.15 [31.12.2018 13:30]
---------------------------------------------------------------------------
[+] Добавлены настройки для ai.reg:
[Addon]
DistanceModifier=1 - Отключить моддификатор расстояния при вычислении аттаки.
WeightBonus=1 - Отключить бонус веса при вычислении аттаки.
[-] Исправлен серьезный баг, приводивший к вылетам игры в произвольные моменты времени.
---------------------------------------------------------------------------
Версия: 0.7.0.14 [01.01.2015 14:39]
---------------------------------------------------------------------------
[+] Добавлена поодержка binkw32.dll из ЗвА (нужно скопировать этот файл в папку стартера).
[+] Добавлена возможность переопределить файлы config/lights*.ini.
[+] Добавлены настройки для ai.reg:
[AddonExp]
Limit=N - Установить ограничение максимального размера опыта.
[Addon]
MagicRandom=0...1 - Значение рандомизации магического урона (от 0 до 1 - доля от эффекта).
AllowMagicNegative=1 - Разрешить отрицательный урон магии.
DeagrPlayerOnLoose=1 - Игрок перестаёт гнаться за противниками вне зоны видимости.
DisableRunaway=1 - Запретить уворачиваться от удара.
ArchersDefence=1 - Включить защиту лучникам.
[-] Убрано ограничение на число .mob файлов в папке maps.
[-] Исправлена ошибка, из-за которой addon.dll всегда писал логи и замедлял игру.
---------------------------------------------------------------------------
Версия: 0.7.0.13 [27.11.2007 01:15]
---------------------------------------------------------------------------
[-] Исправлен порядок просмотра перехвата figures.res. В первую очередь просматривается figures.res из папки мода.
---------------------------------------------------------------------------
Версия: 0.7.0.12 [21.12.2005 09:35]
---------------------------------------------------------------------------
[-] В некоторых ситуациях файл speech.res не перехватывался.
---------------------------------------------------------------------------
Версия: 0.7.0.11 [07.12.2005 02:38]
---------------------------------------------------------------------------
[-] Следующие файлы подключались не полностью: Figures.res, Textures.res,
Redress.res и Menus.Res
---------------------------------------------------------------------------
Версия: 0.7.0.10 [27.11.2005 00:08]
---------------------------------------------------------------------------
[-] При использовании GameDebugFile в файле настроек мода - игра
не запускалась. Ошибка появилась с версии 0.7.0.6
---------------------------------------------------------------------------
Версия: 0.7.0.9 [11.11.2005 00:27]
---------------------------------------------------------------------------
[-] Игра не производила поиск файлов "pers *" в ресурсах мода.
Из-за этой ошибки у новых персонажей отсутствовали имена.
---------------------------------------------------------------------------
Версия: 0.7.0.8 [31.10.2005 06:54]
---------------------------------------------------------------------------
[+] Реализована совместимость с Английской и Немецкой версией game.exe
---------------------------------------------------------------------------
Версия: 0.7.0.7 [31.10.2005 03:30]
---------------------------------------------------------------------------
[+] Подключен файл streamsn.reg
[CONFIG]
streamsn.reg=config\streamsn.reg
[+] Проигрываются .mp3 файлы из папки Stream мода.
[+] Проигрываются .cam файлы из папки Camera мода.
[+] Подключен файл Movie.Ini
[CONFIG]
Movie.Ini=config\Movie.Ini
[+] Подключен файл Tutorial.ini
[CONFIG]
tutorial.ini=config\tutorial.ini
[+] Принудительное включение подсказок.
[MOD]
ForceShowTutorial=1
---------------------------------------------------------------------------
Версия: 0.7.0.6 [28.10.2005 09:07]
---------------------------------------------------------------------------
[-] Серьезная ошибка, приводившая к тому, что часть ресурсов просто не
перехватывалась!
[+] Возможность отключить оригинальные ресурсы игры.
Первый символ имени должен быть знак: -
[RES]
speech.res=-Ignore
sfx.res=-
[+] Проигрываются .BIK файлы из папки Movies мода.
[+] Подключен файл music.reg
[CONFIG]
music.reg=config\music.reg
---------------------------------------------------------------------------
Версия: 0.6.0.5 [09.12.2003 17:01]
---------------------------------------------------------------------------
[+] Добавлена возможность отключить автоматический запуск анимации в зоне
"Развалины".
Для отключения, в файле настроек мода config.ini, нужно указать:
[MOD]
PreventZone1Animation=1
---------------------------------------------------------------------------
Версия: 0.6.0.4 [24.07.2003 20:15]
---------------------------------------------------------------------------
[+] Добавлена обработка папки Camera.
---------------------------------------------------------------------------
Версия: 0.6.0.3 [16.05.2003 14:20]
---------------------------------------------------------------------------
[-] Для работы библиотеки требовалась PSAPI.DLL, которая отсутствует в
Windows 95, 98, 98SE, ME.
---------------------------------------------------------------------------
Версия: 0.6.0.2 [04.05.2003 23:56]
---------------------------------------------------------------------------
[-] Устранена ошибка с глобальными переменными. Не функциональная.
[+] Чат теперь сохраняется в HTML, Ники подкрашиваются цветами как в игре.
[+] Добавлена поддержка Английского и Русского game.exe для следующих
функции:
Установка лимитов для Perks
Альтернативный расчет Exp
Отключение доступа к пунктам меню "Сетевая игра", "Новая игра",
"Старая игра".
Хранить сейвы в папке мода
Привязка имен файлов зон ZoneXX к аллодам (для сетевой игры).
Вывод отладочных сообщений об ошибках игры в файл
Сохранение чата на сервере сетевой игры
Подключение ресурсов мода.
---------------------------------------------------------------------------
Версия: 0.6.0.1 [02.05.2003 21:47]
---------------------------------------------------------------------------
[+] Добавлена поддержка перехвата функций в Game.exe для
Английской и Немецкой версии.
На данный момент реализованы следующие функции:
работа с папкой Maps и подключение файла Config.reg.
---------------------------------------------------------------------------
Версия: 0.5.0.6 [26.04.2003 18:45]
---------------------------------------------------------------------------
[+] В файле настроек мода config.ini, добавлены новые ключи:
[MOD]
Multi=0 - Запрещает доступ к пункту меню "Сетевая ига".
Multi=1 - Разрешает доступ к пункту меню "Сетевая ига". (По умолчанию)
[MOD]
Single=0 - Запрещает доступ к пунктам меню: "Новая игра", "Старая игра".
Single=1 - Разрешает доступ к пунктам меню: "Новая игра", "Старая игра". (По умолчанию)
[MOD]
GameSaves=0 - Запрещает изменять путь к сейвам игры "Saves" и "Mp".
GameSaves=1 - Разрешает изменять путь к сейвам игры. (По умолчанию)
(Для мода - "Игра Без модов").
..[lost in space]..
---------------------------------------------------------------------------
Версия 0.4.0.0 [20.02.2003 21:35]
---------------------------------------------------------------------------
Основное
~~~~~~~~
[+] У пользователей WinXP, Win2K имеется проблема с переключением
на русский язык во время игры.
В этой версии библиотеки, Мы реализовали один из придуманных нами
способов решения этой проблемы.
Суть способа заключается в следующем: при запуске игры мы удаляем
процесс ctfmon.exe, из-за которого, собственно говоря, и возникает эта
проблема. После завершения игры мы вновь запускаем этот процесс.
(c) 2003-2019 Gipat.ru Dev team.