HotA Crew о Кронверке и будущих обновлениях (часть 2) Какие герои будут вести армии Кронверка? Герои-воины зовутся Вожди, маги — Старейшины. Их параметры и способности подчеркнут сильные стороны...
HotA Crew о Кронверке и будущих обновлениях Важно: весь контент по Кронверку и системе событий находится в разработке, и может ещё поменяться. Итак, следующим городом будет Кронверк. Почему...
Вот и завершается этот год - местами странный, местами крутой, но точно запоминающийся, полный неожиданностей и ярких моментов. Мы благодарны вам за то, что вы были рядом, за все наши совместные...
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...
Я это понимаю. Последний коммент был к тому, что я спрашиваю не о том, как изменить значение константы, а о том, как изменить сам эффект. Простите, что не смог высказать свою мысль достаточно чётко.
К вопросам выше добавляется ещё один вопрос. Как сделать так, чтобы некий товар, который я продаю торговцу, не попадал к нему в инвентарь. Соответственно, чтобы ГГ не смог снова купить этот же предмет.
Если ты знаешь конкретно, что это за предмет, то в диалоге персонажа где вызывается окно торговли надо прописать функцию... Npc_RemoveInvItems(self,инста предмета,количество); И при следующей продаже у него уже не будет этого предмета. если до этого ты продал ему его. Это самый легкий способ.
Я бы лично просто создал несколько видов пива/еды/воды и пораспихивал их по торговцам. При этом можно еще и визуальное отличие использовать. Как в свое время в Возвращении было несколько видов скелетов, демонов и т.д. Так будешь уверен, что все сработает.
А можно, чтобы не создавать свой триггер? Ведь игровые часы как-то работают, значит уже триггер какой-то есть. Можно узнать имя этого триггера, и как через него запустить свой метод? Потому как мне надо выполнять действие привязываясь к игровому времени, а oCTriggerScript, как я понял, привязан к системному времени...
Если надо узнать определенный промежуток времени подойдет функция ниже.
// возвращает 1, если текущее время находится между границами
// (hourLow, minLow – нижняя граница, hourHigh, minHigh – верхняя граница в часах и минутах),
// иначе возвращает 0. func int Wld_IsTime(var int hourLow, var int minLow, var int hourHigh, var int minHigh);
Если надо что-бы действие выполнялось не в рамках задания, а каждый день-час итд, то проще все-же делать триггер-скрипт.
А вообще, в ГотикСоурсере есть достаточно подробное описание внутренних функций, почитайте, половину вопросов отпадет) (Вид - Панель данных - Внутренние функции) Удачи.
Есть нюанс - циклический тригер порой не соответствует реальному таймеру....но реально проще сделать через него. Либо ставь какой нить костыль - там есть возможность обращаться ко встроенным функциям движка.
Приветствую, друзья!
За выходные накопилось несколько вопросов:
1) Какие файлы игры ковыряет Spacer по-умолчанию? Потому как я боюсь случайно что-то поменять в оригинальной игре, хочу, чтобы все изменения были только в рамках проекта мода.
2) После компиляции проекта в .mod, размещении его в \Data\ModVDF, создании mod.ini через Gothic Ini Writer, и попытке запуска мода через \System\GothicStarter_mod.exe запускается оригинальная Готика. Подозреваю, что проблема в mod.ini. Решил проблему копированием файлов Gothic.dat и ou.bin вместо оригинальных, но, понятно, это решение временное. Хотел бы попросить знатоков просмотреть мой ini файл.
3) После попытки изменить отображаемую цену предмета, по-прежнему продолжает отображаться его фактическая цена. Т.е. вот такой вот вариант не работает. Почему?