Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

Город Джунов _ Программирование _ Плагин для ПЗ (Plugin for EI)

Автор: Demoth Воскресенье, 15 Января 2012, 12:20

Плагин Присоединённый файл  EI_Plugin.zip ( 64.91кб ) Кол-во скачиваний: 641
добавляет в движок ПЗ большое количество изменений.
Часть из них настраивается в конфиге (файл EI_Plugin.ini).

Установка: распаковать архив в папку, где установлены Проклятые Земли.
Например "C:\Program files\Проклятые Земли\".
После этого настраивается EI_Plugin.ini - параметры смотри выше.

 
Список всех изменений, которые вносит плагин

 
Историй изменений

Автор: Demoth Вторник, 17 Января 2012, 14:08

Если есть предложения по добавлению в ПЗ новых возможностей (в рамках разумного, разумеется), я бы с радостью их реализовал, но учтите, что вполне может оказаться, что предложенная вами идея невыполнима, тогда я просто скажу, что этого сделать нельзя.
Стандартный ответ на вопрос "почему нельзя это реализовать?" - нереальная сложность этого.
К примеру: нереально сложно сделать возможность езды на лошадях, сделать новые ячейки для доспехов (чтобы какие-нибудь щиты добавить) и тому подобное.
Тем не менее кое-что сделать все же можно, в качестве примера посмотрите список реализованного. Предлагайте свои идеи, вместе мы сделаем мир ПЗ лучше! Спасибо. smile.gif

Автор: Fayter Вторник, 17 Января 2012, 15:30

У меня есть много идей, вполне выполнимых, надо только вспомнить... biggrin.gif
Ну например увеличить рост персонажа до отметки 120(выполнимо? думаю да)
свыше 120 при силе 15, голова персонажа залезает за границы, 120 это придел.

Автор: Fayter Вторник, 17 Января 2012, 16:04

Для сингла, можно реализовать замену стартовой зоны, по умолчанию gz1g, что бы можно было стартовать, хоть на базе, да вообще на любой карте. smile.gif
Плагин если сможешь, сделай его отдельно, хотя хз, можно и в этот добавить, но что б в нем было прописана именно оригинальная зона gz1g.

Автор: Demoth Вторник, 17 Января 2012, 16:04

Ну да, это легко сделать, правда не очень ясно зачем... Понимаю силу/ловкость/разум, но их границы менять это уже чит... Будет время сделаю, т.с. спешл фо ю.
Насчет сингла, то менять gz1g на что-то другое попросту лишено смысла. В map.txt задается, какая локация соответствует названию gz1g.

Автор: Fayter Вторник, 17 Января 2012, 16:11

Насчет роста. Ну ведь надо расширять границы, для чего тогда плагины?
Насчет стартовой. Это да, оно там прописано, но ведь если заменить там стартовое имя на bz1g то вылетает с ошибкой что не может найти gz1g.

Автор: Demoth Вторник, 17 Января 2012, 16:31

А менять надо не gz1g а зону, которая ему соответствует - zone1 вроде.

Автор: Fayter Вторник, 17 Января 2012, 16:44

Я это давно понял, но ведь геморойно, в Map.txt менять параметры зоны.
Да и развалины переименовывать, в другую зону, тоже не очень.
Я вот и предложил тебе зделать, такую возможность быстрой смены, для разработчиков сингла(если такие найдутся)(я все таки думаю что найдутся, я в том чесле). Ну а менять эту зону обычным игрокам, нет резона так как, я не пойму например зачем нужно делать стартовой зоной последнюю карту(карту с проклятьем), ведь это не MP что бы показать свою круть(пупсовасть).

Автор: Demoth Вторник, 17 Января 2012, 17:02

В map.txt все равно придется задавать стартовую зону именем gz1g, т.к. нельзя расчитывать на то, что установлен плагин.

Автор: Kalessin Воскресенье, 22 Января 2012, 21:24

Плагин, конечно, замечательный жаль он не был выпущен раньше... Что касается добавления новых возможностей, я бы предложил усовершенствовать пк: добавить получение опыта за убийства и возможность поднимать лут других игроков, а не только свой. Это, несомненно, добавило бы сетевой игре... остроты smile.gif

Автор: Вельхеор Воскресенье, 22 Января 2012, 21:50

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

Автор: Fayter Воскресенье, 22 Января 2012, 23:30

Несколько вопросов, о возможностях плагина(о твоих возможностях).
1)Хотел спросить, можно ли реализовать сброс перка, возможно ли такое?
2)Можно ли продлить время бега, за счет уменьшения потребления маны во время бега?
2.1)Если да, то таким образом, можно совсем отменить расход маны, во время бега?

Автор: Demoth Понедельник, 23 Января 2012, 00:12

Kalessin, Вельхеор, над созданием полноценного пвп было много мыслей, и тут много проблем баланса:
1) Преимущество всегда на стороне сервера, особенно если если сделать легальную возможность лута чужих трупов. Так же сервер управляет паузой, что немаловажно при пвп.
2) Нужно сделать раздельное зрение, чтобы другие игроки на сервере были как мобы, т.е. когда их не видишь, то не видишь даже на миникарте.
Тем более что никто не отменял возможность бекапа своего перса, т.е. если тебя поубивают несколько раз, то убийца обогатится, а ты ничего не теряешь, т.е. дисбаланс.
Файтер,
1) аццки трудно, т.к. придется добавить новый элемент интерфейса для этого,
2) в принципе реально, только вот притчуствие, что это и так регулируется в ai.reg, не помню точно, мб это и не так,
2.1) тем более реально, т.к. в ПЗ это частично уже сделано (смотри godmode), остается только использовать.

P.S. насчет игры за монстров, то тут однозначный провал. За скелетов и орков было реально сделать благодаря их высокой схожести с людьми, все остальные монстры о-очень сильно отличаются. А арену можешь и сам сделать, Робин выложил замечательный редактор.

Автор: Влесам Понедельник, 23 Января 2012, 12:54

Сброс перков и изменение длительности бега затрагивают баланс весьма сильно. Так что лучше не трогать, если в этом нет надобности для нового мода.
К написанному Демозом о ПВП добавлю то, что оно всё равно будет сводится к пилеву на спец аренах с отдельным балансом и случайным респом игроков. тк для спонтанных сражений в ПЗ нет ни баланса(все моды рассчитаны на ПВЕ), ни обстоятельств(на карте в ПЗ мало что стимулирует к сражениям, к тому же в ПЗ такой контингент, что нападение без предупреждения равно куче ругани и бану. Ну или просто бану, если убитый покультурнее).

Автор: Вельхеор Понедельник, 23 Января 2012, 22:14

Demoth, можно договориться с другими игроками, чтобы сервер не участвовал в пвп, а был только судьей, которому участники сдают либо какое-то количество денег, либо шмот. По окончанию битвы судья распределяет эти деньги и шмот между игроками победившей команды. А насчет сбора чужих трупов- лично я против этого.

Автор: Kalessin Вторник, 24 Января 2012, 13:06

Проблема баланса действительно имеется. Но пк в том виде, в каком он есть сейчас, вообще лишен смысла. Я подразумевал не создание арены со своим балансом в отдельно взятом моде (хотя это, безусловно, можно сделать), а улучшение пк для его использования во всех модах и оригинале. Ну а вопрос игровой этики - это совсем отдельный вопрос.
Что касается игры монстрами - ведь не обязательно делать полноценных персонажей, достаточно, чтоб монстры были с текстурами. Для этого нужно переместить ресурсы из соответствующих контейнеров, изменить датабазу, и т.д. Можно написать мануал по "текстурированию" монстров, и пусть все желающие играют ими. На здоровье! biggrin.gif По мне так игра скелетами-орками просто дурака валяние, но пусть каждый решает сам за себя.

Автор: Demoth Вторник, 24 Января 2012, 13:53

Kalessin, в игре за монстров куча багов с анимацией, и к плагину это уже не имеет отношения. Если хочешь, поковыряй anm и adb файлы, попробуй собрать играбельную модель какого-нибудь монстра.

Автор: Kalessin Вторник, 24 Января 2012, 14:38

Я и не утверждал что это имеет отношение к плагину. smile.gif Это были мысли вслух, поскольку эта тема была уже затронута. Вообще играть монстрами несерьезно, разве что шутки ради. Или просто из исследовательского интереса к ресурсам игры.

Автор: Demoth Вторник, 24 Января 2012, 14:46

Ахах, да играть вообще не самое серьезное дело. Я лично делал игру за монстров по двум причинам:
1) интересно,
2) нужны были скелеты лучники и скелеты-маги, а раз я их очеловечил, то почему бы их не сделать играбельными.

Автор: Kalessin Пятница, 28 Сентября 2012, 14:21

QUOTE
Убрана возможность вводить в имя/клан персонажа/имя сервера любые символы

Спрашивается зачем? blink.gif Можно же было разнообразить ники. И было бы нелишним увеличить максимальную длину ника/названия сервера хотя бы до 15 символов.

Автор: Demoth Пятница, 28 Сентября 2012, 15:31

QUOTE(Kalessin @ Пятница, 28 Сентября 2012, 14:21)
Спрашивается зачем? blink.gif Можно же было разнообразить ники. И было бы нелишним увеличить максимальную длину ника/названия сервера хотя бы до 15 символов.
*


Да там на самом деле надо бы тупо пофиксить и убрать возможность вводить символ "|", из-за которого можно было сделать перса с пустым ником, но мне было лениво и я просто убрал это. Потом починю и увеличю предел длины ника/имени серва.

Автор: Kalessin Суббота, 29 Сентября 2012, 16:29

Что ж, хорошо wink.gif Правда, непонятно чем так страшны персы с пустыми никами ph34r.gif

Автор: Devastator Среда, 24 Октября 2012, 07:45

Прежде всего хотел бы выразить благодарность Demoth и Bargest за замечательный плагин!

У меня возник вопрос можно ли увеличить вокруг игрока "радиус жизни AI" (расстояние на котором мобы что либо делают)?

Дело в том что в некоторых написанных мною квестах для сетевой игры NPC должны действовать на достаточно удалённой дистанции от персонажей (а именно перемещаться сражаться и.т.п.). Можно ли увеличить эту дистанцию с помощю плагина или правкой конфигов игры?

Автор: Demoth Среда, 24 Октября 2012, 10:35

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

Автор: Bargest Среда, 24 Октября 2012, 18:42

QUOTE(Devastator @ Среда, 24 Октября 2012, 07:45)
Можно ли увеличить эту дистанцию с помощю палагина или правкой конфигов игры?

В теории конечно можно, другой вопрос, надо ли оно. Игра не рассчитана на обработку всей карты и может начать подтормаживать.

Автор: Devastator Четверг, 25 Октября 2012, 07:40

QUOTE(Bargest @ Среда, 24 Октября 2012, 19:42)
Игра не рассчитана на обработку всей карты и может начать подтормаживать.
*




Скорее всего да, будет подтормаживать. Не просто же так разрабы сделали такое ограничение. Но с другой стороны это игра 2000 года и на современных машинах возможно лагов не будет. В любом случае если будет возможность, посмотрите как оно будет реально работать.

Автор: Bargest Пятница, 26 Октября 2012, 19:26

QUOTE(Devastator @ Четверг, 25 Октября 2012, 07:40)
В любом случае если будет возможность, посмотрите как оно будет реально работать.

Уже смотрел. На карте с "поросенком пятачком" вся карта немножко подтормаживала с моими 3.6 ггц на 8 ядер и GF 560 GTX (хотя возможно из-за отрисовки, т.к. я сделал всех видимыми и рисовались видимо все, кто на экране и около него). На карте большего размера вполне возможно будет лагать сильнее.

Автор: Devastator Суббота, 27 Октября 2012, 07:51

Я тоже проводил эксперимент подобного рода. Своему тестовому персонажу установил параметр "зрение мертвеца" радиусом 3000 (большее значение не срабатывает почему то). На маленьких картах этого хватало на 90-100% всей территории, на средних 50%, и на гигантских порядка 25%. Этим персом я тестирую все свои квесты и вроде бы FPS сильно не падает. Падает только если (при активированной камере Чейза) очень высоко поднять камеру. Машина у меня в принципе тоже не слабая 2,6ГГц 8 ядер, GTX 580 1,5ГГб видеопамяти, 8 ГГб оперативы. Интересно как это будет работать без отрисовки монстров на карте, но с увеличенным радиусом?

Автор: Devastator Воскресенье, 18 Ноября 2012, 08:45

У меня возник ещё один интересный вопрос. Можно ли сделать так что бы в сетевом персонаже сохранялись его квестовые предметы? На данный момент они удаляются при выходе с сервера.

Автор: Demoth Воскресенье, 18 Ноября 2012, 12:06

Мы думали над этим. Это реализуемо, но добавлять скорее всего не будем, т.к. есть другая задумка, компенсирующая эту - сохранять набор переменных в персонаж. Например все переменные с префиксом static_. Тогда при следующем заходе в игру, можно посмотреть на значение переменной и в зависимости от него дать игроку квестовый предмет или не давать.

Автор: Devastator Воскресенье, 18 Ноября 2012, 18:00

QUOTE(Demoth @ Воскресенье, 18 Ноября 2012, 13:06)
Мы думали над этим. Это реализуемо, но добавлять скорее всего не будем, т.к. есть другая задумка, компенсирующая эту - сохранять набор переменных в персонаж. Например все переменные с префиксом static_. Тогда при следующем заходе в игру, можно посмотреть на значение переменной и в зависимости от него дать игроку квестовый предмет или не давать.
*



Замечательно! Если реализуете, то нужно будет пересмотреть концепцию выдачи наград и дополнительных заданий. Что и говорить с этим нововведением можно даже последовательное прохождение сетевой как в сингле забомбить.

Ещё вопрос, вы не пробовали реализовать брифинги на LMP картах? А именно, что бы при наведении курсора на NPС открывалось диалоговое окно с топиками разговора и.т.д. На данный момент я делаю диалоги на LMP картах с помощью "дипломатической" паузы и скриптовых сценок между игроком и NPC, а хотелось бы по божески как на базах.

Автор: Bargest Воскресенье, 18 Ноября 2012, 22:26

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

Автор: Fayter Суббота, 22 Декабря 2012, 15:55

Самый эффективный и самый простой способ, это переименовать все чит-коды, чтобы название каждого или выборочного (на ваше усмотрение) чита состояла из тех символов которых не настучишь на клавиатуре, к примеру godmod - ☼☺₡₪₹ ۩ (или попроще ©®§¥«¦»).
В принципе, можно ограничится всего одним нестандартным символом в слове, и читерства - нет.

Автор: Bargest Суббота, 22 Декабря 2012, 20:47

И переписать все стандартные ПЗшные скрипты, чтобы пзшка работала?smile.gif Ведь пзшка сама все скриптовые функции использует. Тем более, что это обходится без особых проблем.

Автор: Fayter Суббота, 22 Декабря 2012, 21:24

Я не программист. На сами процедуры (какое действие то или иной скрипт производит) повлиять не должно\не получится, повлияет всего лишь biggrin.gif на Мобы. Но, ведь можно затронуть только мастер-чит, он то не где вроде не используется, в мобах скрипты без него работают?

Автор: Bargest Суббота, 22 Декабря 2012, 23:49

Нет никакого "мастер-чита". Те самые "читы", вводимые в консоль, в абсолютном большинстве (99.9999%) являются вызовами функций скрипта. Обрабатываются они тем же движком, что и скрипты в mob'ах. Если изменить имена функций в движе, то перестанут работать все скрипты, написанные нивалом. Игра, в лучшем случае, будет висеть без движения, хотя скорее всего просто слетит с ошибкой. А обойти это не так уж и сложно, команда exec позволяет подавать на вход любой текстовый файл, который может содержать "читы" с совершенно любыми символами.
А если под "мастер-читом" имеются ввиду эти самые спец команды (thingamabob, exec, give...) - то ввести их тоже не трудно: либо используя Alt+NumPad, либо (если консоль не съест) - маленьким патчиком, который будет подключать к игре внешнюю консоль, переваривающую любые символы. Такой патч делается элементарно.
Через внешнюю консоль опять же можно вводить совершенно любые последовательности байт, и еще проще с использованием программируемой клавиатуры/мыши с макросами.
Да и вообще, скриптовые функции можно использовать и в обход консоли, просто вызвав движок, передав ему любую строку.

Автор: Fayter Воскресенье, 23 Декабря 2012, 19:15

Понятно. sad.gif

Я не ошибусь если скажу, что плагины не очень подходят на роль античита, в первую очередь из-за своей способности замещать\перекрывать функции ПЗ - ограничивая злостных читеров(которых очень много), что само по себе, не идет на пользу плагину и тем самым популярность плагина упадет? Если нет, то читеры "настукивают" скрипты без плагина, убирая его в сторонку, а потом снова ставят на место и прибывают в ПЗ как ни в чем не бывало. smile.gif

Автор: Bargest Воскресенье, 23 Декабря 2012, 20:33

QUOTE
Если нет, то читеры "настукивают" скрипты без плагина, убирая его в сторонку, а потом снова ставят на место и прибывают в ПЗ как ни в чем не бывало.

Ну это как раз первое, от чего мы нашли решение (и реализовали).smile.gif Сейчас думаем над защитой от читов на базе и над защитой самого плагина.

Автор: Fayter Воскресенье, 23 Декабря 2012, 21:41

- "Мы нашли решение"
Данное решение будет затрагивать только онлайн игр и\или, соло тоже затронет? Если под этим "решением" подразумевается онлайн отчетность в реальном времени, то читеры будут временно блокировать доступ в интернет и пользоваться беззащитностью ПЗ.

Автор: Bargest Понедельник, 24 Декабря 2012, 00:08

Нет, просто персонажи, созданные под плагином, будут несовместимы с персонажами, созданными снаружи. Под плагином читов нет, а без него персонаж просто не загрузится. Ну и еще одна фишка, более важная, которую пока раскрывать не буду.smile.gif

Автор: Devastator Понедельник, 24 Декабря 2012, 07:26

Приятно видеть, что работа над плагином продолжается. Защита от читов это правильно. Интересно, а если читак додумается отредактировать датабазу(поставит себе крутую снарягу и кучу опыта при старте), тогда что? Ещё хотелось бы уточнить удалось ли реализовать увеличенный радиус жизни AI и сохранение переменных в сетевого персонажа?

Автор: Fayter Понедельник, 24 Декабря 2012, 08:52

QUOTE(Bargest @ Понедельник, 24 Декабря 2012, 00:08)
Нет, просто персонажи, созданные под плагином, будут несовместимы с персонажами, созданными снаружи. Под плагином читов нет, а без него персонаж просто не загрузится.
*


Суровое, но правильное решение. cool.gif
QUOTE(Bargest @ Понедельник, 24 Декабря 2012, 00:08)
Ну и еще одна фишка, более важная, которую пока раскрывать не буду.
*


Я полагаю, что эта фишка будет играть роль того самого "пряника"(читер -> laugh.gif ) или все же "кнута" (читер -> dry.gif )?

Это пока все, что хотелось мне узнать.

Автор: Bargest Понедельник, 24 Декабря 2012, 19:54

QUOTE
Ещё хотелось бы уточнить удалось ли реализовать увеличенный радиус жизни AI и сохранение переменных в сетевого персонажа?

Радиус жизни AI - нет, даже не старался особо. Сохранение переменных - отчасти. Сам механизм добавления данных в персонажа есть и работает (некоторые свои доп данные сохраняются), но с переменными пока не работали.

Автор: Fayter Пятница, 01 Февраля 2013, 14:41

QUOTE(Bargest @ Понедельник, 24 Декабря 2012, 00:08)
Нет, просто персонажи, созданные под плагином, будут несовместимы с персонажами, созданными снаружи. Под плагином читов нет, а без него персонаж просто не загрузится.

Эту защиту легко обойти, ведь речь идет о, как я понял, переименовании пары рас. Я пользовался одним способом и создавал орка когда еще плагина не было, без скриптов и при этом стартер работал, хотя и вылезала ошибка.

Автор: Bargest Пятница, 01 Февраля 2013, 16:34

QUOTE
ведь речь идет о, как я понял, переименовании пары рас

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

Автор: Fayter Пятница, 01 Февраля 2013, 16:55

Так или иначе, меня это не коснется - играю я только соло, плагин мне для игры соло не необходим, и хорошо, что не замена рас...
Возможно ли такое: Играя соло взять с собой нескольких персонажей из своего списка (при выборе сетевой игры), чтобы играть ими как в сингле, но в сетевой игре, почему бы так не сделать? biggrin.gif

Автор: Bargest Пятница, 01 Февраля 2013, 17:04

Потому что уж если за законностью прокачки сетевого персонажа как-то следить можно, то за сингловым следить невозможно в принципе.

Автор: Fayter Пятница, 01 Февраля 2013, 17:18

Играть в сетевую игру несколькими своими персонажами, это же смак! Как, такое не под силу самым продвинутым местным програмистам? А каму нужна слежка? Я играю как мне нравится, с бредет мне сделать нубского чита - сделаю, найдет ностальгия создам нового - пройду все аллоды соло как задрот.

Автор: Тайсон Воскресенье, 31 Августа 2014, 13:04

Demoth, можешь подсказать Mirilledu, если есть такая возможность, как именно
можно при добавлении в базу к примеру боевого каменного меча и других
вещей, вернуть старые без модовские лица при выборе персонажа, не такие как
еи или хг, форма лица не округлая, а та которая идет стандартная- без мод.
Можно ли делать такие изменения в Figures?

Автор: Demoth Воскресенье, 31 Августа 2014, 15:46

Тайсон, для этого необходимо распаковать unhuma(fe).bon и .mod оригинальные и ЗвА-шные.
И из архивов ЗвАшных перенести все файлы с именем basesword* в оригинал.
После этого обратно пакуете измененный оригинал и вуаля. На самом деле не обязательно все basesword-ы переносить, но какой конкретно вам понадобится я не знаю.

P.S. В будущем задавайте аналогичные вопросы в какой-нибудь другой теме или на крайняк в ЛС.

Автор: Тайсон Воскресенье, 31 Августа 2014, 17:57

Ок smile.gif спасибо за подсказку.

Автор: MageNuada Вторник, 09 Сентября 2014, 00:16

Охренеть!
Demoth, классно, что дорабатывается плагин.=)
Вообще нет желания с нами ПЗ на новом движке попилить?(мы живы, мы те самые, что на NeoAxis делаем, просто работа иногда неспешно движется, а показать сырые скрины можем не всем, вернее всем не можем, но можем если не захочем - стесняемся, короче=)) )

Автор: Demoth Вторник, 09 Сентября 2014, 00:20

MageNuada, Bargest добавил всё это еще очень давно, просто это не выкладывалось в публичный доступ.
Честно говоря, лично у меня желания не особо много этим заниматься.
Но я очень рад, что вы еще живы и продолжаете работу над переносом ПЗ на новый движок.

Автор: MageNuada Вторник, 09 Сентября 2014, 00:24

QUOTE(Demoth @ Tuesday, 09 September 2014, 01:20)
MageNuada, Bargest добавил всё это еще очень давно, просто это не выкладывалось в публичный доступ.
Честно говоря, лично у меня желания не особо много этим заниматься.
Но я очень рад, что вы еще живы и продолжаете работу над переносом ПЗ на новый движок.
*


Только сейчас рассекретили, значит.))
Эх, жаль.)
Угу, надеюсь, что немного нам осталось до альфа-демки(это без магии и сети.), которая всех ужаснёт.=)

Автор: Demoth Вторник, 09 Сентября 2014, 00:27

QUOTE(MageNuada @ Вторник, 09 Сентября 2014, 00:24)
Только сейчас рассекретили, значит.))
Эх, жаль.)
Угу, надеюсь, что немного нам осталось до альфа-демки(это без магии и сети.), которая всех ужаснёт.=)
*


Я думаю, что все прекрасно понимают, чего ждать от альфа-демки.
Скорее всего она не ужаснет, а наоборот вселит в людей надежду на новую жизнь для ПЗ. smile.gif
Лучше выкладывай скрины почаще, хоть какие-нибудь, чтобы напоминать о себе.

P.S. Давай больше не будем тут оффтопить, а то новость найти будет сложно.

Автор: Bargest Вторник, 09 Сентября 2014, 00:33

Нехороший человек несколькими постами выше в анонсе не описал функции скрипта, потому что ему лень.
Вот полный гайд.
GetPlayerOfUnit(unit: object) : float
- Получить номер плеера для юнита (если имеется; для всех бесплеерных юнитов будет 0)
GetUnitExp(unit: object) : float
- Получить опыт юнита
GetArmor(unit: object, part: float, id: float) : float
- Получить броню юнита; part - часть тела: 0-5 соответственно голова-торс-руки-ноги. -1 - общее.
id - тип брони индексом 0-6 (impaling, slashing, crushing, termical, chemical, electrical, general)
GetObjectStringID(object) : string
- Получить ID объекта как строку.
FloatToStr(float) : string
- Перевести число в строку.
StrToFloat(string) : float
- Перевести строку в число
StrCat(string, string) : string
- Сложить строки.
StrLen(string) : float
- Длина строки.
Sin(float) : float
- Синус
Cos(float) : float
- Косинус
Pow(base : float, pow : float) : float
- Степень (base ^ pow)
DistancePointPoint(x1: float, y1: float, x2: float, y2: float) : float
- Расстояние между точками
NearestUnit(x: float, y: float, r: float, flags: float) : object
- Ближайший к точке (x,y) юнит. Поиск ведется в радиусе r.
Если flags = 1, то учитываются живые объекты.
Если flags = 2, то учитываются неживые объекты.
Если flags = 3, то учитывается всё.
UnitsNearPoint(x: float, y: float, r: float, flags: float) : group
- Получить список юнитов возле точки. Правила аргументов как для NearestUnit.
InvokeScript(script: string, count: float)
- Выполнить строку script, в качестве скрипта count раз.
В script используются одинарная кавычка вместо двойной для записи строк.
Пример script: "WorldScript(ConsoleString('Hello!'))".

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

Автор: MIRILLED Вторник, 09 Сентября 2014, 10:23

А нужно что-то настраивать что бы работали новые скриптовые функции?
Пробовал юзать их через консоль: Unexpected token 'getplayerofunit'.
Пробовал учитывать регистр, не помогло.

Автор: Demoth Вторник, 09 Сентября 2014, 10:27

QUOTE(MIRILLED @ Вторник, 09 Сентября 2014, 10:23)
А нужно что-то настраивать что бы работали новые скриптовые функции?
Пробовал юзать их через консоль:  Unexpected token 'getplayerofunit'.
Пробовал учитывать регистр, не помогло.
*


Нет, ничего не нужно для этого. Если плагин работает, то функции должны были добавиться автоматически. Регистр для стандартных функций в ПЗ не учитывается. Скорее всего, ты что-то делаешь не так.
Самый простой способ убедиться, что они работают - вбить в консоли команду "#Cos(3.14)".

Автор: MIRILLED Вторник, 09 Сентября 2014, 10:31

Спасибо, забыл, что не все функции вызываются через "@"

Автор: DemoNCS Понедельник, 08 Декабря 2014, 18:22

He is currently : GiveUnitSpell(Unit: object, sSpell: string)
Missing: DeleteUnitSpell(Unit: object, sSpell: string)

Used commands to the mission (boxes), but useless for multiplayer:
GiveItem(nPlayer: float, Item: string)
GiveMoney(nPlayer: float, Money: float)

It lacks something of the likes of:
GiveUnitItem(Unit: object, Item: string) [for mobs or player]
GiveUnitMoney(Unit: object, Money: float) [for mobs or player]
What made it possible to also add to the mobs of these values and the box would also give things a player who opened the box, and not just only the host.
GiveUnitExp(Unit: object, exp: float) - leveling build missions, such a feature would be most welcome to the difficult mission.

I miss a command such as
DeleteUnitItem(Unit: object, Item: string)
DeleteUnitArmor(Unit: object, part: float)
DeleteUnitWeapon(Unit: object, nWeapon: float)
DeleteUnitQuickItem(Unit: object, nQuickItem: float)

But also:
GetUnitArmor(Unit: object, part: float) : string (part : 0 to 5 parts)
GetUnitWeapon(Unit: object, nWeapon: float) : string (nWeapon: Position 1,2,3,4)
GetUnitQuickItem(Unit: object, nQuickItem: float) (nQuickItem: Position 1,2,3,4)
GetUnitSpell(Unit: object, nSpell: float) (nSpell: from 1 to 8)
GetUnitNickName(Unit: object) : string
GetUnitStrength(Unit: object) : float
GetUnitDexterity(Unit: object) : float
GetUnitIntelligence(Unit: object) : float
GetUnitMoney(Unit: object) : float is only GetMoney(nPlayer : float) : float which only to the host
GetUnitSpellDamage(Unit: object, nSpell: float) : float
GetUnitWeaponDamage(Unit: object, nWeapon: float) : float

GetUnitSpeed(Unit: object, nSpeed: float) : float (nSpeed = 1 (Run), 2 (Walk), 3 (Sneak), 4 (Crawl))
GetUnitLocomotion(Unit: object) : float
GetUnitActions(Unit: object) : float

Sorry about that, so that much.
This is just my suggestion smile.gif
And I'm sorry for my english xD

Regards, DemoNCS.

Автор: Zakx95 Понедельник, 08 Декабря 2014, 21:42

I have a few ideas to change EI Addon:
1.Add more than 6 colors, because other players always have a white
2.Further reduce the size of the avatar, because the overlapping.
3.Add in option download mob files(if it is wise) and save to a selected folder.
4.Repair Administrator panel to quick copy our characters.
5.Expand the field to display the name of mods.
6.Improve the list of servers to choose without scrolling
That all for now.
Zak.

Автор: Влесам Вторник, 09 Декабря 2014, 02:06

DemoNCS:
Troubles with not 0 player already fixed.

This functions sometimes can be useful:
GetUnitStrength(Unit: object) : float
GetUnitDexterity(Unit: object) : float
GetUnitIntelligence(Unit: object) : float
GiveUnitExp(Unit: object, exp: float)

Even this:
GetUnitSpellDamage(Unit: object, nSpell: float) : float
GetUnitWeaponDamage(Unit: object, nWeapon: float) : float
GetUnitActions(Unit: object) : float
GetUnitSpeed(Unit: object, nSpeed: float) : float (nSpeed = 1 (Run), 2 (Walk), 3 (Sneak), 4 (Crawl))
GetUnitLocomotion(Unit: object) : float

Speed and locomotion in names probably must be switched.

But honestly, these functions are questionable. Of course it can be used but in some rare situation.
DeleteUnitItem(Unit: object, Item: string)
DeleteUnitArmor(Unit: object, part: float)
DeleteUnitWeapon(Unit: object, nWeapon: float)
DeleteUnitQuickItem(Unit: object, nQuickItem: float)
GetUnitArmor(Unit: object, part: float) : string (part : 0 to 5 parts)
GetUnitWeapon(Unit: object, nWeapon: float) : string (nWeapon: Position 1,2,3,4)
GetUnitQuickItem(Unit: object, nQuickItem: float) (nQuickItem: Position 1,2,3,4)
GetUnitSpell(Unit: object, nSpell: float) (nSpell: from 1 to 8)
GetUnitNickName(Unit: object) : string

Zakx95:
1, 4, 5 - good
2 - already reduce for 12 players.
3 - terrible idea. If you want play together use the same mod.
6 - what do you mean?

Автор: Zakx95 Среда, 10 Декабря 2014, 00:44

6.Selecting the main server list without scrolling. You can see all the servers immediately.

Автор: Jet Среда, 10 Декабря 2014, 08:16

QUOTE(Zakx95 @ Wednesday, 10 December 2014, 00:44)
6.Selecting the main server list without scrolling. You can see all the servers immediately.
*



Next time, just change your original message. excl.gif

Автор: Demoth Пятница, 30 Января 2015, 22:15

Вышла новая версия плагина.
Механизм работы с новым мастер-сервером был основательно переделан.
Официальный мастер-сервер будет использоваться по-умолчанию. Плагин будет автоматически переключаться на новый мастер-сервер, если официальный перестанет работать.
Качать, как обычно, из первого сообщения:
http://www.gipat.ru/forum/index.php?showtopic=3513

Автор: mukas Суббота, 31 Января 2015, 03:05

последня версия плагина не отображает сервер ни в вашем мастер сервере ни в ниваловском.
плагин от 19 01 работает нормально - отображается везде.

Автор: Demoth Суббота, 31 Января 2015, 14:27

mukas, возможно ты забыл снять галку "закрытый сервер". Или же у тебя в папке с ПЗ есть бекапы старых версий EI_Plugin-а (какой-нибудь EI_Plugin_1.asi). Их нужно удалить, т.к. они будут конфликтовать с новой версией.

Автор: Demoth Воскресенье, 01 Февраля 2015, 14:35

И вновь новая версия плагина. Последняя, которую нужно скачать самостоятельно.
В ней исправлены некоторые стандартные вылеты ПЗ, а так же добавлено автообновление плагина при запуске игры.
Качать отсюда:
http://www.gipat.ru/forum/index.php?showtopic=3513

Автор: Miklas Понедельник, 02 Марта 2015, 02:15

Во-первых , будет ли реализовано в плагине создание персов одним щелчком (без выбора характеристик по заранее определённому шаблону , а через выбор одной из 3-х специализаций классов во всплывающем контекстном меню)? Это раз. Во-вторых , будут ли добавлены магические жезлы воинам и сохранится ли возможность пройти сетевуху одним персом? Это два.(Лечиться воином в модах ХГ совершенно невозможно , из-за его низкого разума получается очень большой расход маны). В-третьих , будет ли поддержка Без Мода и EI 303 на плагине? Очень хотелось бы знать! (Ненавижу моды ХГ с самого их создания , во-первых ,из-за шаблонной системы прокачки перков без одного действия выбора , во-вторых , из-за отсутствия мультиклассов). А вообще , борьба с читерством это не есть хорошо , я бы предложил убрать только злостные читы ( такие , как парализация на 1000 секунд и сверхбыстрый бег в сочетании со сверхмалым размером перса , плюс заклинания на поле действия , на офигительную площадь ) , а остальные оставить. Кому надо - те будут играть у себя на сервере , а читеров банить. По-моему , вы , господа , фигнёй страдаете , кто захочет играть с читами - тот и в локалке создаст игру , или через Tunngle. А вы сейчас наплодите кучу несовместимых плагинов , и дело на том и заглохнет.

Автор: Demoth Понедельник, 02 Марта 2015, 19:02

QUOTE
Во-первых , будет ли реализовано в плагине создание персов одним щелчком
Нет, не будет.

QUOTE
Во-вторых , будут ли добавлены магические жезлы воинам и сохранится ли возможность пройти сетевуху одним персом?
Магические жезлы и возможность пройти сетевую игру одним персом к плагину не имеют никакого отношения.

QUOTE
В-третьих , будет ли поддержка Без Мода и EI 303 на плагине?
Функционал плагина действует на ВСЕ моды.

QUOTE
А вообще , борьба с читерством это не есть хорошо , я бы предложил убрать только злостные читы
Защита от читов есть только в моде ХГ4.

QUOTE
А вы сейчас наплодите кучу несовместимых плагинов , и дело на том и заглохнет.
Плагин есть только один, и никаких других больше не предвидится.

Автор: Miklas Вторник, 03 Марта 2015, 04:39

Что я ещё бы хотел знать - с плагином сохранять файлы сетевой игры будет возможно? То есть, выцепить файл перса и забэкапить его , с тем , чтобы штрафа большого не было в случае , если убьют , или чтобы предметы не потерять ? Я бы согласился играть без читов , при условии , что все полученные предметы будут сохраняться и после смерти перса , плюс при условии , что штраф опыта будет в 10 раз меньше или его не будет вообще.
Кстати , есть у меня идея , как сделать баланс интереснее: сделайте так , чтобы при телепортации перса за пределы зоны видимости атакующего моба , моб терял его из поля зрения и переставал агриться на игрока до момента , когда игрок будет замечен им повторно. Это было реализовано в Аллодах , почему бы не сделать это и здесь?

Автор: Demoth Вторник, 03 Марта 2015, 15:13

QUOTE
Что я ещё бы хотел знать - с плагином сохранять файлы сетевой игры будет возможно? То есть, выцепить файл перса и забэкапить его , с тем , чтобы штрафа большого не было в случае , если убьют , или чтобы предметы не потерять ?
Плагин не мешает сохранять файлы сетевой игры и восстанавливать их из бэкапа.
QUOTE
Кстати , есть у меня идея , как сделать баланс интереснее: сделайте так , чтобы при телепортации перса за пределы зоны видимости атакующего моба , моб терял его из поля зрения и переставал агриться на игрока до момента , когда игрок будет замечен им повторно. Это было реализовано в Аллодах , почему бы не сделать это и здесь?
Когда-нибудь в каком-нибудь моде это быть может и будет реализовано, но не в плагине.

Автор: Miklas Среда, 04 Марта 2015, 05:23

Юрий Котов написал в группе ВК , что "вылеты были в старом плагине , в новом они исправлены" - что-то вроде этого , хотя у меня вылеты как были , так и остались , после переустановки плагина на новый (в папку с игрой). Кто-нибудь может подсказать подробнее про падение игры с данным плагином на Семёрке 64 бита в связи со сворачиванием окна игры , и при выходе другого игрока с сервера? Да , кстати , насчёт пожертвований для разработчиков - готов жертвовать 1000 р в год персонально тому человеку/команде которая держит альтернативный мастер-сервер , особенно , в случае , если они не являются членами клана "Хонест Груп". На разработку модов не дам ни копейки , ХГ-дерьмо , без баланса , и с урезанными возможностями игрока , плюс невнятное создание перса с перками по шаблону , которое , к тому же , сжирает весь начальный опыт перса. Впрочем , если они всё-таки Хонесты , то могут использовать эти деньги как им захочется , я просто сообщаю , что на моды денег не даю принципиально. Номер кошелька , или ссылку на тему с номером кошелька дадите в этой теме? Хотелось бы кинуть деньги именно тому , кто Мастер-серв держит.

Автор: Demoth Среда, 04 Марта 2015, 11:52

Miklas, можешь сделать скриншоты после вылетов? И насколько часто они вообще происходят?

Автор: Miklas Среда, 04 Марта 2015, 12:05

Могу , это очень просто , только скрины будут не из окна игры , а с рабочего стола с ошибкой. Вылеты происходят , как только сворачиваешь окно сетевой игры , как только разворачиваешь свёрнутое окно обратно.

Добавил: Miklas [mergetime]1425459925[/mergetime]
Я сделал лучше - вот репорт об ошибке!!

Имя события проблемы: APPCRASH
Имя приложения: Game.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 3abf0db3
Имя модуля с ошибкой: StackHash_257d
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: 15977959
Версия ОС: 6.1.7600.2.0.0.256.1
Код языка: 1049
Дополнительные сведения 1: 257d
Дополнительные сведения 2: 257d8f504c598531c429b24cac277ae5
Дополнительные сведения 3: d5eb
Дополнительные сведения 4: d5eb780bbb250888f391ffff6b3b8dff

А ошибка была "Can't flip Surface!". Я нажал Принт Скрин , но что-то принтскрин не вставился в буфер.

Автор: Demoth Среда, 04 Марта 2015, 12:12

Miklas, а без плагина этой проблемы не было?

Автор: Miklas Среда, 04 Марта 2015, 12:26

http://radikal.ru/fp/a7920feec8724cf390f3850dd8bcd0f9

Вот надпись , слово "render" забыл. У меня такое чувство , что проблема связана не с плагином , а с новым Мастер-сервером. Да , у меня ещё роутер и антивирус стоят. Без плагина , на основном Мастер-серве , игра висла при сворачивании моего окна игры у других игроков , у меня не вылетала.

Автор: Demoth Среда, 04 Марта 2015, 12:31

Miklas, можешь проверить, будет ли происходить эта ошибка, если ты перенесешь EI_Plugin.asi в другую папку временно?

Автор: Miklas Среда, 04 Марта 2015, 12:36

А к Мастер-серверу присоединение будет происходить? Счас проверю! Вылазит ошибка. Но уже другая , "No spell prototype" , тоже при сворачивании окна . Может , это из-за датабазы Калессина происходит , он сказал , что исправлял вылеты с помошью неё , вот я себе её и поставил.

Автор: Demoth Среда, 04 Марта 2015, 13:05

Miklas, значит дело не в плагине, и как следствие - не в новом мастер сервере, т.к. он без плагина не работает. Очень может быть, что все проблемы у тебя как раз из-за датабазы Калессина, потому что за довольно продолжительное время ты единственный, кто жаловался на слеты из-за плагина. У осталтных после обновления всё работает как надо.

Автор: Miklas Среда, 04 Марта 2015, 13:35

Счас буду восстанавливать датабазу из бэкапа , посмотрим что к чему.

Добавил: Miklas [mergetime]1425465317[/mergetime]
С первого раза не выкидывает стабильно после сворачивания. Со второго раза иногда выкидывает , хотя может зависеть от времени , которое прошло после сворачивания окна.

Автор: Demoth Среда, 04 Марта 2015, 17:26

Miklas, в общем постараюсь разобраться с вылетами, хотя полезной информации сейчас крайне мало, которая бы помогла исправить проблему.

На счет пожертвований, с радостью их приму. Вот кошелек Яндекс.Денег (рубли): 410011571830257.
1000р - это 10 месяцев работы нового мастер-сервера, кроме него деньги ни на что другое не пойдут.

Автор: Kalessin Среда, 04 Марта 2015, 21:07

К созданию совместимой базы для безмода я не имею никакого отношения.
http://www.gipat.ru/forum/index.php?showtopic=3514
Но я вполне мог порекомедовать ее для лечения вылетов связанных с заходом на сервер безмода игроков с модом. При этом надо понимать, что база обеспечивает совместимость (причем, не 100%) только с версией 3.6 и с другими версиями (как и другими модами) может быть совместима лишь частично либо вовсе несовместима. Описанные ошибки говорят о том что игра работает нестабильно в среде W7*64 на конкретном железе, причем одна из ошибок связана с рендером. А это никакого отношения к датабазе не имеет. Тем более, что до установки "плагина", судя по сообщению, все работало корректно. Причину нестабильности стоит поискать методом исключения: проверить работу "чистого" безмода, затем только с совместимой базой, после чего с "плагином" и оригинальной базой. Сравнение будет наиболее достоверным, если со времени стабильной работы пз ничего не поменялось - не установлена заново ОС, новые программы, другие версии драйверов и т.д. После чего уже делать выводы.

Автор: MageNuada Четверг, 05 Марта 2015, 03:29

Эээ, причём тут плагин, какая-то ошибка из-за конфликта при отрисовке 3д - вполне возможно, что какое-то ещё приложение, использующее 3д отрисовку, К примеру, даже простая опера вин 8 тоже вроде является приложением, использующим директХ.

Автор: Miklas Четверг, 05 Марта 2015, 05:58

QUOTE(Demoth @ Среда, 04 Марта 2015, 17:26)
На счет пожертвований, с радостью их приму. Вот кошелек Яндекс.Денег (рубли): 410011571830257.
1000р - это 10 месяцев работы нового мастер-сервера, кроме него деньги ни на что другое не пойдут.
*


Раньше апреля месяца закинуть не смогу , у меня и так все деньги расписаны. Апрель это единственный месяц , когда у меня доходы более-ли-менее будут. Ничего скопить не удаётся , все лишние деньги куда-то уходят , то друзьям , то на исторические семинары , то на концерты... вот такие дела...

Автор: Demoth Четверг, 05 Марта 2015, 06:03

Miklas, тогда лучше не стоит. Потрать на что-нибудь более важное.

Автор: Miklas Четверг, 05 Марта 2015, 06:28

Да нет , стоит , дело важное для меня! Пацан сказал - пацан сделает!

Автор: Demoth Четверг, 05 Марта 2015, 06:38

Miklas, дело твоё, разумеется, родина тебя не забудет. smile.gif
Но 1к это всё же довольно крупная сумма, чтобы тратить её на игру. Сама ПЗ столько не стоила в своё время. Я и без пожертвований продолжу оплачивать сервер, т.к. обитаю тут всё время, да и 100р/мес для меня не столь большая сумма денег. Так что за существование мастер-сервера переживать не стоит.
В общем смотри сам, пожертвование - дело добровольное.

Автор: Sagrer Пятница, 06 Марта 2015, 09:57

забавно, первый раз вижу живого донатера, желающего забашлять на кошелёк разработчику чего-либо %).

Автор: Тайсон Суббота, 07 Марта 2015, 14:36

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

Еще всем советую установить фикс от вылетов на базе, если заходят с других модов к вам на серв. Спасибо Demothu, очень полезная штука.

Автор: Demoth Суббота, 07 Марта 2015, 14:54

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

Фикс от вылетов тоже встроен в плагин и ставить его отдельно не нужно.

QUOTE
отображается новый мастер-сервер, если ставлю только сам плагин без
файла- параметры конфигурации
А если ставишь вместе с файлом, то не работает что ли?

Автор: Тайсон Суббота, 07 Марта 2015, 15:10

В том то и дело что не работает, а вот без параметров конфигурации пашет отлично.

Автор: Demoth Суббота, 07 Марта 2015, 15:12

Тайсон, ну вот об этом и надо говорить. Это же проблема, её надо исправлять, а не давать вредные советы.

Автор: Тайсон Суббота, 07 Марта 2015, 15:16

Таки да biggrin.gif это проблема, значит я правильно написал за нее?

Автор: Demoth Суббота, 07 Марта 2015, 15:19

Тайсон, пока не знаю. Мне не удаётся её воспроизвести - всё работает нормально.
Перезалил плагин в первом сообщении. Попробуй ещё раз.

Автор: Тайсон Суббота, 07 Марта 2015, 15:37

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

Автор: Demoth Суббота, 07 Марта 2015, 15:39

Тайсон, поживем - увидим. Может когда-нибудь она снова проявится и удастся разобраться в чем было дело.

Автор: Sagrer Воскресенье, 08 Марта 2015, 20:59

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

Автор: Miklas Суббота, 14 Марта 2015, 20:26

Ребят , не в курсе , почему на Ингосе появляются просветы между кусками текстуры стволов деревьев? До того , как старую базу восстановил , такого не было , как только заменил датабазу на самую старую версию ( без модификации Калессина , которую он сам не делал , только перекинул мне ) , то на стволах деревьев на Ингосе появились ощутимо заметные швы , через которые просвечивают текстуры окружающего ландшафта ( конкретно на Ингосе - снежная текстура поверхности позади дерева) .

Автор: Devastator Пятница, 22 Мая 2015, 12:54

Доброго времени суток! Хочу задать пару вопросов разработчикам плагина.

1) Будет ли реализована функция сохранения переменных в сейвах? Мы уже обсуждали это вопрос ранее и Bargest писал что это добавлено и работает. Если да, то как этим пользоваться?

2) Снова задам вопрос можно ли увеличить радиус жизни АИ (дистанция на которой боты занимаются своими делами)? Очень прошу реализовать данную функцию реально нужна! Если все же сможете реализовать, то добавьте в конфиги плагина возможность редактировать это значение.
З.Ы. эта функция "есть не просит" и кому она не требуется для мода, то он может не трогать значение по умолчанию. Я к тому что она не увеличит количестов лагов в других модах и никому не навредит.

Так же хочу внести следующие предложения:

Диалоги на картах. Ниже привожу примеры новых скриптовых функций:

AddDialog( nPlayer : float , dialog : string , aVar : float ) , где nPlayer - номер игрока, dialog - имя диалога, aVar - вариант ответа (может принимать только целочисленные значения, по умолчанию устанавливать на 0).
Скрипт добавляет пременную которая хранит в себе значение float выбранный вариант диалога (кнопку нажатую во всплывающем окне на манер обучающих экранов ПЗ).

ShowDialog( nPlayer : float , dialog : string ) , где nPlayer - номер игрока, dialog - имя диалога.
Скрипт выводит на экран диалоговое окно с вариантами выбора. Сами диалоговые окна создаются отдельно и хранятся в ресурсах игры (как и обучающие экраны). После показа экрана диалога игрок должен выбрать какой либо вариант ответа, нажав соответствующую кнопку. Номер кнопки нажатой в окне соответственно будет присваивать значение aVar в переменную dialog (1,2,3 и.т.п.).

GetDialog( nPlayer : float , dialog : string ) : float , где где nPlayer - номер игрока, dialog - имя диалога.
Скрипт возвращает значение выбранного диалога (по сути номер нажатой кнопки).

DelDialog( nPlayer : float , dialog : string ) , где nPlayer - номер игрока, dialog - имя диалога.
Удаление переменной диалога.

Прочие полезыне скрипты:

GetGender( GetUnitOfPlayer( nPlayer : float , nUnitInCurrentParty : float ) ) : float Возвращает значение 1 или 2 male или female соответственно. GetUnitOfPlayer стандартная функция скриптового языка для идентификации игроков.

GetPose( GetUnitOfPlayer( nPlayer : float , nUnitInCurrentParty : float ) ) : float
Возвращает позу персонажа, имеет 4 варианта 1 - лежит, 2 - сидит, 3 стоит, 4 бежит.

Heal( unit ) - убрать переломы у юнита игрока или непися. Unit может быть GetObject() либо GetUnitOfPlayer().

Интересно можно ли помимо атаки реализовать какое либо действие с неписем скажем с какой нибудь зажатой кнопкой. Например: Использование предметов на нпс (как ключи на рычаги). Например удерживая CTRL+(1,2,3 и.т.п.) использование соответсвтующего итема на непися. Ну или мышью, но с зажатым CTRL.

В принципе еще хотелось бы увеличить количество магазинов более 5. И если получится добавть скрипт входа в магазин прямо на игровых картах. Например у бродячего торговца.
Уже не помню как вызывать экран магазина. Но точно помню что давным давно эксперементировал с этой функцийей на игровых картах и при вызове этого скрипта ничего не происходило.

Автор: Bargest Суббота, 23 Мая 2015, 14:58

День добрый.

QUOTE
1) Будет ли реализована функция сохранения переменных в сейвах?

Она работала не очень стабильно и ее вроде как выпилили. Пока не знаю, вернем ли назад.
QUOTE
2) Снова задам вопрос можно ли увеличить радиус жизни АИ (дистанция на которой боты занимаются своими делами)?

Может быть сделаем, если найдем это в коде.
QUOTE
Диалоги на картах. Ниже привожу примеры новых скриптовых функций:<...>И если получится добавть скрипт входа в магазин прямо на игровых картах. Например у бродячего торговца.

Есть заготовки для диалогов и магазинов на картах в несколько ином виде. Если взлетит, то когда-нибудь доделаем и выложим.
QUOTE
GetGender

Интересно, а зачем оно? А то добавление таких функций связано с некоторыми трудностями, и не факт, что трудности меньше пользы от такой функции.
QUOTE
GetPose

По идеи возможно. Был уже один мини-патч на позы в тестах, а значит, скорее всего, найти место хранения позы будет несложно.
QUOTE
Heal

С этим сложнее. Может проще кастануть мощную хилку?
QUOTE
Интересно можно ли помимо атаки реализовать какое либо действие с неписем скажем с какой нибудь зажатой кнопкой.

Почти нереально. В игре все сделано так, что фиг добавишь. Да и это уже не просто мелкий патч-фикс - это уже надо писать гору кода, что, как показывает опыт, в случае патча часто приводит к нестабильности.

Но все это если и будет, то нескоро. У всех сейчас сессия и прочие проблемки.smile.gif

Автор: Devastator Воскресенье, 24 Мая 2015, 08:14

Спасибо за развернутый ответ.

Из из предложеных мной идей реально очень нужен только увеличеный радиус АИ, остальное просто было бы очень полезно, но обойтись можно. Зачем мне нужны дополнительные магазины и диалоги думаю объяснять не надо, а вот с GetGender, GetPose и Heal поясню.

Я реализовал довольно неплохо дополнительные квесты на картах. В журнале появляется дополнительные задания, а сценки взятия и сдачи квеста анимированы. Вобщем не хватает только окон диалога, хотя бы с вариантами Принять/Отклонить.
Для чего мне GetGender: дело в том что у женских и мужских персонажей анимации имеют разные номера, а скрипта определяющего гендер нет в природе. Соответственно я не могу полноценно анимировать в диалогах персов игрока. И это лишь один примеров применения этой команды.
GetPose мне нужен для квестов с последователями. Если бы была такая команда, то можно было бы улучшить АИ последователя (например если персонаж игрока присел, то и непись тоже присел и его труднее заметить вражинам). На данный момент я уже сделал так что болванчики при следовании за персонажем переходят с шага на бег и обратно, если отстанут. Так же непись последователь в моем моде никогда не запрет персонажа в тупике. Достаточно просто близко подойти к нему и он выпустит персонажа игрока из тупика. Это бывает порой полезно например в пещерах если у игрока нет феерверка.
Что до Heal, была идея сделать на больших картах "лагеря для отдыха" места которых персонаж разводит костер и садится возле него на отдых, соответственно параметры персонажа востанавливаются. Хилка в случае с переломами увы не поможет, приходится презаходить на карту. На огромных картах топать к выходу довольно долго, а подобный вариант решения проблемы, как мне кажется, был бы очень кстати.

Автор: dadonnik Среда, 22 Июля 2015, 20:52

Доброго времени суток, товарищи программисты !
Вопрос №1. Каким образом можно создать собственные скриптовые функции/процедуры, вызываемые консольно/в скрипт-модуле карты ? Например, как это реализовано в вашем плагине ?
Вопрос №2. В последних версиях плагина реализована раздельная видимость, для группы игроков. Если можно без рекомпиляции это отключить, то как ?
P.S. в ПК режиме, кроме урона по своим ничего не должно быть.
Вопрос №3. Возможно ли попросить у вас исходники библиотеки (EI_Plugin.asi) ? Или хотя бы пояснения, каким образом реализована работа с памятью/ресурсами игры ?

Автор: Bargest Четверг, 23 Июля 2015, 00:38

Добрый вечер.

QUOTE
Например, как это реализовано в вашем плагине ?

Очень сложно и долго. Множеством патчей машинного кода модифицирован движок скриптов ПЗ и туда жестко запихана возможность обработки новых функций. Их реализация, разумеется, находится в самом плагине. Добавление каждой отдельной функции сопряжено с некоторыми трудностями с т.з. интеграции с ПЗ, поэтому мы стремимся не делать лишнего.
QUOTE
Если можно без рекомпиляции это отключить, то как ?

Никак. ПК режим принципиально предназначен для немного иного геймплея, где "каждый сам за себя".
QUOTE
Возможно ли попросить у вас исходники библиотеки

Проект не является opensource, поэтому исходники предоставить не можем.
QUOTE
Или хотя бы пояснения, каким образом реализована работа с памятью/ресурсами игры ?

Не понял, что имеется в виду.

Автор: dadonnik Четверг, 23 Июля 2015, 09:34

Благодарю за развёрнутый ответ !

QUOTE
Или хотя бы пояснения, каким образом реализована работа с памятью/ресурсами игры ?

Не понял, что имеется в виду.

Фактически вы уже ответили на этот вопрос, отвечая на вопрос №1

Автор: Devastator Среда, 16 Марта 2016, 07:45

Всем привет!

Есть ли какие то подвижки в разработке плагина? Ждать ли новых версий или уже реализовано все что возможно? По прежнему актуальны вопросы по поводу реализации сохранения переменных в персонажа и радиуса жизни АИ.

Автор: Demoth Среда, 16 Марта 2016, 12:00

Devastator, на данный момент работа над плагином не ведется, но это временно, т.к. я занят другим проектом, связанным с ПЗ. Сохранение переменных в персонажа скорее всего будет в новой версии.

На счёт того, когда ждать новую версию - надеюсь, что в этом году. smile.gif

Автор: Hakase Среда, 23 Марта 2016, 22:09

Напоминаю про баг торговца

 
У кого слабая сила воли - не смотреть biggrin.gif

"Чтобы не забыть хотелку"

Автор: MIRILLED Четверг, 24 Марта 2016, 19:24

QUOTE(Hakase @ Среда, 23 Марта 2016, 22:09)
Напоминаю про баг торговца
 
У кого слабая сила воли - не смотреть  biggrin.gif

"Чтобы не забыть хотелку"
*


Это не баг, это фича. biggrin.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)