Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Xeдин, работает как надо, спасибо.
***
пример использования в г2
instance ItMi_Flask_fake(c_item) { ItMi_Flask(); };
func int C_MobInter_UseWithItem(var string sceme, var int useWithItem)
{
Hlp_PrintConsole(Str_Format(" call C_MobInter_UseWithItem sceme: %s, useWithItem: %i"...
Ксардасу тоже надо дать ауру. что бы рядом с ним у героя мана восстанавливалась. а Ватрас пусть баф делает, на скорость +ловкость+сила на 5 минут. а после смерти скелета лорда надо герою полностью восстанавливать ману и жизни. вообще паладину стоит дать пару аур для команды, что бы на Бифа...
теперь наверное надо как то прикрутить парсер скриптовой функции что бы уже на уровне скриптов расписать тонкую обработку под свои нужны
func int C_MobInter_UseWithItem(var string sceme, var int useWithItem)
{
return useWithItem;
};
теперь наверное надо как то прикрутить парсер скриптовой функции что бы уже на уровне скриптов расписать тонкую обработку под свои нужны
func int C_MobInter_UseWithItem(var string sceme, var int useWithItem)
{
return useWithItem;
};
MobInter содержит «вшитую» проверку на предмет необходимый герою для взаимодействия с Mob'ом. Данный плагин «отвязывает» проверку на WithItem , осуществляя перехват функции разрешающий взаимодействие с объектом в новой общей Condition функции вызываемой из скриптов.
Спасибо ElderGamer за...
вообщем тут надо как то строчки zstring сравнивать.
_this->useWithItem и FocusHero->useWithItem
если совпадают то возвращать 0.
какая функция сравнивает строчки я не знаю :-(
//0x0071DB40 public: virtual int __thiscall oCMobInter::GetUseWithItem(void)
int __fastcall...
там есть здравые моменты. на мой взгляд Готика 2 писалась быстро и многие вещие были реализованы так как они реализованы в Готики 2 из соображение сделать побыстрее, потопорнее. в то время как с крипты Г1 и сиквела проработаны на более детальном уровне. ну это мне так показалось :-)
тогда на...
если на проект потрачено значительное кол-вл времени то проще отказаться от UseWithItem вынеся вставки фейковых предметов в слоты руки:
для НПС в zs_ , что бы в конце/начале их тут же удалять:)
для героя в ConditionFunc
я к такому выводу пришёл просматривая скрипты сиквела :)
***
сначала...
это всё надо будет прописывать в новом кондишионе. то есть учитывать требования для героя и прочих НПС и вставлять им заготовки.
или в zs_
func void ZS_....()
{
....
Npc_RemoveInvItems(self,ItMi_fake,Npc_HasItems(self,ItMi_fake));
Npc_RemoveFromSlot(self,"ZS_RIGHTHAND",0)...
ElderGamer а ты не пробовал на движке Г1 использовать AI_CallScriptдля вывода текста на экран например при записи в журнал ? я помню что у тебя в коде как то хитро ставилось в очередь AI такие вещи :-)
// func void NPC_CloseInventory(var c_npc);
функция закрывает инвентарь. мне эта функция понадобилась для закрытия инвентаря когда герой употребялет "Северный Тёмный". Применять вы её можете там где инвентарь мешает, например при игре на лютни, использование метлы и так далее
если герой...
Замена торговца
func void NPC_SetTrader(var c_npc newnpc)
Может решать такие задачи как:
создание общего ассортимента для нескольких торговцев
использования клона НПС для торговли (нельзя будет ограбить)
пример использования
функцию добавил в плагин. плагин обновил в первом сообщение.
p.s...
// Ставит вызов функции funcName в AI очередь
// и при ее вызове помещает значения slf & oth
// в глобальные self & other (соотвественно)
func void AI_CallScript(var string funcName, var C_Npc slf, var C_Npc oth)
ставим в очередь проигрывания звука о повышение уровня. B_GivePlayerXP...
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.