Гипат.org

MODный форум - EI Plugin

Demoth - 09 сентября 2014, 00:49
Всем привет!
Многие из вас знают про EI Plugin, который добавляет движку ПЗ много возможностей.
Сегодня вышла новая версия плагина, в которой:
- исправлено много разных ошибок,
+ улучшен режим PK,
+ добавлены новые функции в скриптовый язык ПЗ.

Узнать подробности и скачать плагин можно ЗДЕСЬ.
читер30 - 09 сентября 2014, 08:42
Я по ходу третий :-). Ну ты ваще молодца, делай ещё, хоть кому-то это точно понадобится :-D. А ты ещё если можешь то тогда ещё сделай скрипт на нормальное добавление монстриков на карту :-).
Demoth - 10 сентября 2014, 13:32
В плагине были обнаружены серьезные ошибки и он был перезалит.
Всем, кто успел скачать, срочно качать по-новой!
Приносим свои извинения за доставленные неудобства.
>>> Клик! <<<
читер30 - 10 сентября 2014, 13:54
Демош, сделаешь?
Demoth - 10 сентября 2014, 14:09
Читер30, время появится - сделаю.
Вообще говоря, текстурированных мобов призывать можно уже в этой версии плагина.
Вот инструкция, как это можно сделать:
1. Взять оригинальный скин из textures.res,
2. Сохранить его в том же формате, что и текстуры из redress.res,
3. Перенести его в redress.res с именем: <имя_модели>skin_00.mmp.
Например для юнита Rick имя будет такое: unmoriskin_00.mmp.
читер30 - 10 сентября 2014, 14:18
Я же говорил, что знаю технологию респауна. (ты тогда ещё помог);), просто лагает он.
читер30 - 10 сентября 2014, 14:20
И разве так нельзя сделать без плагина?
Demoth - 10 сентября 2014, 14:36
Читер30, насколько я помню, раньше это работало только с людьми и орками.
читер30 - 10 сентября 2014, 14:37
А что дает плагин (я про это)?
читер30 - 10 сентября 2014, 14:49
Ты по ходу меня не понял. Я веду к тому что по идее это реально без плагина.
Demoth - 10 сентября 2014, 15:00
Читер30, плагин убирает ограничение для монстров.
Слева - без плагина, справа - с плагином.

Ресурсы в обоих случаях одинаковые, отличие лишь в плагине.
В качестве текстуры была взята одна из текстур человека.
Команда призыва:
Код:
@AddUnitToServer("123", "Rick", "321", GetX(GetLeader()), GetY(GetLeader()), 0)

читер30 - 10 сентября 2014, 15:03
Но выше описанным тобою способом можно и без плагина, я правильно мыслю?
Demoth - 10 сентября 2014, 15:05
Читер30, да сколько можно... Нет, ты не правильно мыслишь.
Раньше даже таким способом было нельзя. Вообще никак, только без текстуры.
Без плагина этот метод работает только для людей и орков.
читер30 - 10 сентября 2014, 15:12
Понятно, спс. :-D
читер30 - 10 сентября 2014, 15:16
Я телефона поэтому пишу галимо. Видимо я не смог нормально описать вопрос а ты поэтому ответить. :-(
MIRILLED - 10 сентября 2014, 20:49
Офф топ конечно, но читер зачем тебе в сингле респ?
Я понимаю PvP мод делал бы. там респ нужен, что бы качать перса. А в сингле, ну совсем не пойму, зачем он нужен?
Sagrer - 10 сентября 2014, 21:08
на самом деле почему бы и нет если хочется сделать некий опенворлд и чтобы там ещё НПСи какими-то своими делами занимались (в том числе на мобов охотились), другое дело что не факт что это нормально реализуемо на имеющемся движке и скриптовом языке, как минимум мешать должна заморозка юнитов вдали от игрока (либо тормоза при её отключении) и, собсно, отсутствие в движке нормальной возможности для бесконечного и безглючного респавна, собсно проблему респавна эта встройка в движок похоже и решает.

Я когда-то вообще пытался маньячить на тему стайного инстинкта для групп одинаковых мобов - пробовал делать чтоб у меня тигры кучей бегали по карте и всякую живность жрали )).
Demoth - 10 сентября 2014, 21:19
Sagrer, на самом деле, отсутствие обработки мобов, которые находятся вдали от игроков, не такая уж и большая проблема.
Какая разница, что они делают, если ты их не видишь?
С одной стороны хочется, чтобы они "жили своей жизнью", но с другой, кто это заметит? :)
Можно периодически их перераспределять по карте случайным образом, для большей реалистичности.
S.K. of Lich - 10 сентября 2014, 21:25
Цитата (Sagrer):
Я когда-то вообще пытался маньячить на тему стайного инстинкта для групп одинаковых мобов - пробовал делать чтоб у меня тигры кучей бегали по карте и всякую живность жрали )).

А что из этого выходило?
читер30 - 10 сентября 2014, 23:20
Да, Сагрер, именно. Мне респ нужен так как ты сказал в продолжении истории ат-зако , а респ в EIF - для мини-прокачки. Понятно?
Sagrer - 11 сентября 2014, 17:22
Цитата:
А что из этого выходило?


пришёл к выводу что вполне реально намутить весьма сложное поведение юнитам (каждому юниту привязывается постоянно ждущий "событий" "скрипт"-поток, получается этакий бот тем или иным образом реагирующий на происходящее вокруг) но без модификации движка оно бесполезно - если не бегать рядом своими персонажами оно всё не шевелится.

Цитата:
С одной стороны хочется, чтобы они "жили своей жизнью", но с другой, кто это заметит?

тогда придётся "виртуально" просчитывать происходящее чтобы хоть с каким-то приближением к примеру популяция и расположение кластеров хищников и их жертв соответствовало тому каким оно было бы при честном обсчёте всех их действий ). Рандомно что-то рисовать не вариант - оно отличается от честного просчёта так же как, к примеру, игровой мир в Космических Рейнджерах отличается от игрового мира в ExMachina.

В первом случае все существующие в игре корабли реально летают, добиваются каких-то своих целей, если торговец закупился скажем в одной системе на планете грузом и полетел его продавать в другую систему - игрок вполне может встретить его там в той системе и в трюме увидеть тот самый груз. Даже сами корабли там не появляются из ниоткуда - их действительно строят на планетах причём скорость производства и итоговый обвес по оборудке зависит от населения планеты, её типа и расы.

Во втором случае (ExMachina) всё тупо рисуется вокруг игрока из воздуха, если не накатить моды враги там порой вообще материализуются из ничего прямо перед носом. И к этому принципиально разное отношение у игрока может быть - не знаю кому как а мне вот интересно играть во что-то где происходящее подчиняется каким-то законам логики, а когда есть какая-то живущая сама по себе без участия игрока песочница вообще отлично - получается как бы словно ты гость в каком-то реально существующем и живом мире а игра - окно в этот мир... а вот когда всё рисуется из воздуха просто "потому что так надо для геймплея" и при этом игрока пытаются убедить что "вот это у нас живой мир, тут у нас торговцы вон ездят, вон бандиты корованы этих торговцев ограбляют, вон ещё чего-то мы нагенерировали" - оно на самом деле жутко бесит а играть в такую картонную игру с пластиковыми декорациями, кое-как расставленными для галочки где попало - нифига не интересно, разве что красивая графика и сюжет спасут.

Это не только имитации живого мира касается - скажем первый и третий массэфекты - в первой части если мы высаживаемся в какие-то агрессивные условия, пусть даже на астероид на котором вакуум и вообще дышать нечем - все персонажи будут в наглухо закрытых скафандрах, если к шлему полагается подводить кислород через шланг - этот шланг как ни странно будет наличествовать, если шлем или другие части скафандра подразумевают возможность открываться (то же забрало например) - открытыми они будут только при входе в помещение с нормальной атмосферой а в вакууме - всё закрывается... короче это очень прикалывает и вообще нагоняет ощущения реализьму. Начав играть уже во вторую часть был очень удивлён тому как половина персонажей запросто разгуливает в вакууме в обычной одежде, нацепив для вида стеклянный "респиратор" на нос, а те у кого всё-таки остался скафандр бегают с открытыми и не подключенными к скафандру шлемами (дырка под шланг при этом в шлеме есть а самого шланга нет) - в общем на такие "мелочи" забили. И это очень печально.

Цитата (читер30):
Понятно?

нет, не понятно. :roll:
Demoth - 11 сентября 2014, 23:10
Sagrer, в целом ты прав, пожалуй.
Однако наградить "интеллектом" всех мобов на карте в любом случае ресурсоемко.
Но сделать интеллект небольшим группам (суммарно 1-5% от всех мобов на карте) и удерживать их обработку в теории можно.
Так что почему бы и нет, главное, чтобы оно того стоило. :)
читер30 - 12 сентября 2014, 08:55
Ну например в ЗвА была фича что можно с карты собирать всякие камни, грибы... А у меня в продолжении истории Ат-зако будет фича респаун. Например на зачищеной карте можно будет увидеть как разбойники грабят путника. Но в моде EI-FOREVER респаун только чисто для прокачки. Понятно теперь?
Sagrer - 12 сентября 2014, 12:16
нет, не понятно

:eyes: :roll:
читер30 - 12 сентября 2014, 12:35
Ты издеваешся? Что именно тебе не понятно?
Sagrer - 12 сентября 2014, 13:49
в первую очередь не понятно что и зачем мне должно быть понятно )))) а какой ещё реакции ты ждал на фразу типа "слышь, типа эта, бла бла бла, ну ты понел?!" )))
читер30 - 12 сентября 2014, 14:09
Ну ведь ты же сам начал обсуждать написанное мною! Я решил разъяснить!! Ааа!!!
читер30 - 12 сентября 2014, 14:10
Ну ведь ты же сам начал обсуждать написанное мною! Я решил разъяснить!! Ааа!!!
ERaserkry - 12 сентября 2014, 14:43
А если сделать ИИ на базе псевдослучайного числа? Для рандомности поведения мобов.
Т.е. допустим есть волк или зайчик который стоит в т. X Y а в момент времени A поперся а точки X+M и Y+N координаты M и N

М и N рандомные координаты выбираемые как функция взаимодействия между текущим временем и допустим координатой текущего положения игрока

А чтоы не нагружать проц, делать это с шагом раз в 30 сек для каждого моба.
Sagrer - 12 сентября 2014, 15:53
Цитата (ERaserkry):
А если сделать ИИ на базе псевдослучайного числа? Для рандомности поведения мобов.
Т.е. допустим есть волк или зайчик который стоит в т. X Y а в момент времени A поперся а точки X+M и Y+N координаты M и N

М и N рандомные координаты выбираемые как функция взаимодействия между текущим временем и допустим координатой текущего положения игрока

А чтоы не нагружать проц, делать это с шагом раз в 30 сек для каждого моба.


гм? это детали реализации, можно хоть так хоть сяк хоть ещё как то делать. Или имеется в виду чтобы рандом был движущей силой ИИ? ))). Тогда это даже не искуственный идиот а искуственный шизик сбежавший из дурки будет ). Я пытался сделать чтобы скажем у тигров был приоритет найти и сожрать что-то не являющееся тигром + приоритет двигаться стайно, для этого у меня один моб был вожак и куда он пойдёт за ним все остальные ломятся а вожак просто был озадачен ходить в рандомном порядке между заранее прописанными в скрипт координатами в которых теоретически должно быть что-то для тигров съедобное. Ну и реакции в стиле увидел жЫвотное - переключиться из походного режима в режим охоты, дальше если режим охоты, видим животину то если это вожак и пока никого ещё не атакуем - значит атаковать, если не вожак - если животина уже атакована вожаком - атаковать её тоже... короче чтоб на одну тварюшку все агрились ).
Demoth - 16 сентября 2014, 02:53
Тот герой, которого так долго ждали в ПЗ. :roll:

читер30 - 16 сентября 2014, 08:10
Браво, Демош, браво. Твой плагин просто прелесть;-)!
Нуада - 22 сентября 2014, 11:26
Цитата (Sagrer):
на самом деле почему бы и нет если хочется сделать некий опенворлд и чтобы там ещё НПСи какими-то своими делами занимались (в том числе на мобов охотились), другое дело что не факт что это нормально реализуемо на имеющемся движке и скриптовом языке, как минимум мешать должна заморозка юнитов вдали от игрока (либо тормоза при её отключении) и, собсно, отсутствие в движке нормальной возможности для бесконечного и безглючного респавна, собсно проблему респавна эта встройка в движок похоже и решает.

Я когда-то вообще пытался маньячить на тему стайного инстинкта для групп одинаковых мобов - пробовал делать чтоб у меня тигры кучей бегали по карте и всякую живность жрали )).

Sagrer, привет, а у тебя эти скрипты ещё остались? Вставлю в движок(если есть возможность взять что-то готовое, то лучше. ибо сейчас времени ни на что не стало хватать) :D
Sagrer - 22 сентября 2014, 14:50
именно те вряд ли найду но общий принцип управления мобами тот же по которому управляются надсмотрщики (охрана каравана) в технодемке ВнД можешь там посмотреть, там на каждого вешается то ли не убивающийся то ли самовозобновляющийся "скрипт" насколько помню с кучей условий для реакции на разные события, учитывая что каждый "скриптовый скрипт" (по сути функция) скриптового языка ПЗ исполняется явно в отдельном потоке с реакцией на события (уж не знаю создаётся ли поток на уровне операционки или всё это организовано виртуально где то в рамках одного потока но в движке все они исполняются как бы параллельно это точно) - этого вполне достаточно чтобы запилить сколь угодно хитрого искуственного идиота ).
Demoth - 01 февраля 2015, 15:36
И вновь новая версия плагина. Последняя, которую нужно скачать самостоятельно.
В ней исправлены некоторые стандартные вылеты ПЗ, а так же добавлено автообновление плагина при запуске игры.
Качать отсюда:
http://www.gipat.ru/forum/index.php?showtopic=3513
читер30 - 01 февраля 2015, 16:35
Имхо - Молодец демош ;-)..!
Либерти - 08 июля 2015, 10:02
Нашел вот такие ф-ии:
GiveUnitExp(Unit: object, exp: float)
GiveUnitItem(Unit: object, Item: string) [for mobs or player]
GiveUnitMoney(Unit: object, Money: float) [for mobs or player]
GetUnitNickName(Unit: object) : string

У меня вопрос - они рабочие или нет?
Demoth - 08 июля 2015, 11:10
http://www.gipat.ru/forum/index.php?showtopic=3513&st=40&p=41636&#entry41636
Либерти - 09 июля 2015, 19:10
Блин... как же тогда дать опыт "герою которого все давно ждали"? Только ф-ией GiveSkill?
А если нужен свободный опыт?
Demoth - 09 июля 2015, 20:18
Может быть добавлю такую функцию в будущем. А пока видимо никак.
Sagrer - 10 июля 2015, 15:09
Ну что значит никак? Засчитайте игроку невидимый, нигде не отображающийся но выдающий опыт квест. Или убейте "от его имени" где-то в углу карты специального моба... надо мыслить шире! ))).
Либерти - 10 июля 2015, 16:07
Цитата:
Засчитайте игроку невидимый, нигде не отображающийся но выдающий опыт квест.

можно поподробнее?
Цитата:
убейте "от его имени" где-то в углу карты специального моба...

:D Интересный вариант... жертвоприношение.
Sagrer - 17 июля 2015, 05:46
чего подробнее то ? Выполнить скриптовую команду на зачёт квеста, который ранее не был активирован - сразу выдаст прописанную в базе награду. Вроде через брифинги ещё можно выдавать хотя детали сейчас не вспомню, суть в том что статус квеста меняется по завершению брифинга, игра при этом пишет мол получена такая-то награда. Речь, понятно, о сингле, хотя я не тестировал, возможно это всё сработает и в мульти. А так в мульти я б делал через моба.
Либерти - 17 июля 2015, 09:40
Цитата:
Выполнить скриптовую команду на зачёт квеста, который ранее не был активирован - сразу выдаст прописанную в базе награду.

в какой базе? как это сделать? :spy:
Sagrer - 17 июля 2015, 22:30
Цитата:
в какой базе? как это сделать?


В базе данных игры, в таблице с квестами. Отредактировать или создать новую запись. Редактором.
Часовой пояс: GMT +4:00
Форумы Поселка созданы на базе phpBB2 2.0.4 © phpBB Group