﻿
MISI
build v0.3.3b, 30 mar 2018 by DenLover
MD5 7f1844637131252def3e8cb70166aba2 MISI.ASI


Лицензия:

Данная MISI библиотека (далее "приложение") распростряняется по 
лиценции (Public Domain) бесплатное программное обеспечинье "как есть" 
без каких либо гарантий.

Данное приложение (далее "проект") является 
общественным достоянием GTAMP сообщества. 
Все исходные коды, логотипы, тексты, названия проекта открыты, 
являются плодом совместной работы людей объединеных общей идеей и мечтой. 

Каждый желающий может использовать данный проект без ограничений 
по своему усмотрению: 
Компилировать, изменять, исправлять, дополнять, обновлять, продавать, 
распространять под своим брендом и маркой.


Спасибо:

Спасибо авторам и их ресурсам:

Sector за поддержание игрового 
сообщества GTA2 благодаря ему и его комрадам люди не забывают 
об этой прекрасной игре. Так же за найденные им полезные 
адреса и методы для работы с памятью игры. 
http://www.gtamp.com

Vike за патчи для игры. Так же за поддержание сообщества GTA2
http://gtamp.com/forum/viewtopic.php?f=4&t=73

robotanarchy за найденые и описанные полезные адреса.
https://github.com/Bytewerk/gta2-hackers-remix

Jones за найденые и опубликованные им адреса памяти.
http://gtamp.com/forum/viewtopic.php?f=4&t=700&start=20#p9357

BeepBoop за найденые и опубликованные им адреса памяти
http://gtamp.com/forum/viewtopic.php?f=4&t=1123

Jernej за полезные программы 
благодаря которым я начал изучать модмейкинг в GTA2
http://www.gtatools.com

BenMillard за вклад в развитие моддинга в GTA2
За написание туториалов
http://projectcerbera.com

Так же благодарю всех людей которые публиковали полезные 
материалы и учавствовали со мной в обсуждениях 
на http://www.gtamp.com

Dark Byte за полезную программу
http://www.cheatengine.org

Take-Two Interactive за создание чудесной игры GTA2
https://www.take2games.com

Library LUA http://www.lua.org

Inno Setup http://www.jrsoftware.org

Examples https://www.stackoverflow.com


Участники:

Люди внесшие активный вклад в развитие проекта.

Sector 
Полезный адрес http://gtamp.com/forum/viewtopic.php?f=4&t=1124#p10549
Данный адрес позволил создать "Конструктор уровня" 
в котором можно динамически создавать/удалять игровые объекты.

Так же Сектор внес большой вклад в саму возможность создания библиотеки, 
размещая открыто найденные им адресса памяти в теме. 
Эти адреса были использованы для создания бызовых методов MISI
http://gtamp.com/forum/viewtopic.php?f=4&t=700#p8337

BeepBop
Нашел и предоставил полезный адрес
http://gtamp.com/forum/viewtopic.php?f=4&t=700&start=60#p10564

Так же в этой теме были опубликованы адресса которые так же был использован в MISI
http://gtamp.com/forum/viewtopic.php?f=4&t=1123#p10326

elypter
За активность в теме проекта
http://gtamp.com/forum/viewtopic.php?f=4&t=1136#p10511

DenLover 
Идея, программирование, логотип, документация.
Email: logofero@gmail.com


Установка:

* Требуется установленная игра GTA2 v11.44

1. Запустите инсталятор misi_setup.exe
2. Выберете язык установщика
3. Прочитайте и примите лицензионное соглашение
4. Выберете корневой каталог игры
5. Из спика выберете компоненты для установки
6. Потвердите установку
7. Установка завершена


Обработка ошибок:

При первом запуске MISI создает лог файл 
MISI.log в корне куда сохраняет свое состояние 
(загрузилась, выгрузилась). Так же в лог будут выводиться 
ошибки из LUA скриптов. В описании ошибки будет указан 
путь до скрипта, номер строки и причина. 

Если ваша игра 
будет вылетать но в логе будет чисто, попробуйте перенести 
все ваши скрипты из папки scripts и проверте их по очередно. 
Если падение игры повторяется но в логе нет записей пробуйте 
запустить игру без скриптов, для исключения падения из-за 
MISI.ASI перенесите или удалите библиотеку из корня игры.


Что это?

Библиотека для запуска LUA скриптов в GTA2. 
Библиотка подгружается при старте игры и дает вам доступ 
к игровому миру (на столько на сколько известно автору 
полезных адрессов в памяти игры).

Название MISI пришло ко 
мне от производного слова гташных исходных скриптов *.MIS 
(что в переводе наверное значит миссии) а вместе с 
расширением ASI (которое используется в игре) получилось 
довольно созвучно  MISI.ASI.


Для чего это?

Для легкого и 
быстрого создания/редактирования игровых миссий, тренеров. 
Благодаря простому синтаксису LUA любой желающий сможет его 
изучить и написать простенький скрипт для GTA2 не затратив 
при этом много времени.  Достаточно установить MISI в игру, 
создать текстовый *.TXT либо *.LUA файл (назвать его как 
пожелаете), закинуть в корневую папку script расположеную 
в корневом каталоге игры (там где находится gta2.exe), 
после этого можно запускать игру и наслаждаться своим 
творением.


Безопасно ли это?

На столько на сколько вы готовы 
видеть опасность например: "увидев свою тень". 


Библиотека 
действует как драйвер для трансляции команд из пользовательских 
LUA скриптов в память игры. При неправильном написании скриптов 
максимум что может произойти это вылет игры, если это произойдет 
проверте на ошибки свой скрипт в папке script после этого 
еще раз запустите игру. Для восстановления обычного состояния 
игры просто удалити все файлы из папки script в директории GTA2. 


Как узнать причину вылета/ошибки?

По умолчанию MISI создает 
лог в корне игры MISI.log в нем выводятся все основные ошибки 
в ходе загрузки библиотеки. Там так же можно прочесть ошибки 
скриптов указывающие на строчки кода. Чтобы не затормаживать 
систему слабых ПК лог будет автоматически перезаписываться 
при достижении объема больше 2 Мб (стоит по умолчанию). 
Максимальный допустимый размер, устанавливаемый через
SetLogSize(size) павен 1 Гб.


Где взять API для MISI?

Всю документацию на MISI вы можете найти в отдельном файле 
внутри архива под именем DOCRU. Документация будет по 
возможности, и необходимости дополнятся новыми функциями.

Для изучения LUA API советую посетить оффицальный сайт 
его разработчиков. В библиотеке MISI используется 
версия LUA 5.3.4 Ссылка на оффицальную документацию по 
всем базовым модулям https://www.lua.org/manual/5.3


Какие лимиты?

Библиотка MISI поддерживает мультипоточность. 
Каждый файл - это отдельный поток. Вы можете одновременно 
загрузить 2000 скриптов. Важно помнить что каждый скрипт 
имеющий в основании безконечный цикл - это снижение общей 
производительности рекомендуется (при заметном 
замедлении стартовой загрузки) использовать задержки wait
 в теле цикла: 

while(true) do 
	wait(200) 
end 

Так же гораздо меньше будут снижать 
производительность скрипты которые выгружаются сразу 
после выполнения. Старайтесь не добавлять в игру большое 
количество скриптов с бесконечными циклами иначе это может 
привести к замедлению всей системы.


Какая нужна версия игры?

Текущий билд MISI v0.3.3b, 30 mar 2018
будет работать с версией игры v11.44.


Где можно посмотреть историю изменений?

В файле CHANGES 
в архиве с данной библиотекой.


Чем я могу помочь проекту?

Вы можете 
внести вклад в развитие MISI переведя русскую версию 
справки и документации на граммотный английски 
(так как я не обладаю знаниями языка использую 
машиный перевод). 
Вы можете 
перевести документацию на свой родной язык. 
Так же принимаются исправления граматики и пунктуации переводов. 
Вы можете 
написать примеры скриптов или написать туториал "как начать пользоваться MISI"
Ваш вклад будет учтен и отмечен в следующем релизе в списке Contributers.
