Внимание, народ! Вопросы как что можно изменить задаются в специальных темах! В теме "Всего по чуть-чуть" выкладываем мелкие уроки или гайды для которых открываться отдельную тему нет необходимости.
Благодарю за внимание! Что толку, если не можешь сделать мир лучше.
Есть вопрос по теме. Играю в КПС, добавил модель Беатрис Шарп и заменил нею квестого персонажа. Проблема в анимации и иконке этого персонажа. В скрипте указывается модель, пол и анимация перса, остальное он ставит сам, т.е если ставлю модель Яна Стейса, то иконку он каким-то образом находит сам. А здесь - нет. В общем заменил я этого офицера Беатрис и также создал в HeroDiscribe персонажа с той же моделью, анимацией и прочим. Когда играю этим персонажем - всё отлично, а точно такой же персонаж, но как квестовый офицер - корявая анимация. Всё на скриншоте: На абордаж!
Сообщение отредактировал PsychoShooter - Пятница, 25.09.2015, 20:07
Хм... Всё элементарно. Анимация прописывается там же, в инишнике офицера. Я по традиции добавляю такие инициализации в файл LSC_Q2Utilite, а диалоги для них (если нужны) - в файл ForAll_dialog. Обычно инициализация выглядит вот так.
Выделенным шрифтом я отметил название модели, которое и прописано в упомянутом выше файле characters_face, а также анимацию. В данном случае - это "man".
Если вы заменили квестового офицера - ищите его базовый инишник. Там должна быть объявлена анимация. Иконка с портретом задаётся любому персонажу в файле characters_face внутри функции FaceMaker() и задаёт номер для всех портретов этого персонажа. Обратите внимание, что иконка связывается не с идентификатором NPC, а с его моделью.
Файл Hero_Describe.txt предназначен исключительно для задания атрибутов ГГ, для создания прочих NPC он не подходит.
P. S. В очередной раз отмечу, что эта тема - не место для вопросов. Тут публикуются уже готовые и зачастую интересные авторские решения для пользователей. Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
теоретически можно реализовать хождение с факелом...
Довольно интересно выглядит!.. Создаётся впечатление, что персонаж носит в рукаве или кармане фонарь. Или светится изнутри, в то время как при оригинальном освещении свет падает как бы со стороны.
В связи с этим вопрос - а можно ли как-нибудь сделать этот свет поярче?
Вот как это у меня выглядит, например...
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
В связи с этим вопрос - а можно ли как-нибудь сделать этот свет поярче?
источники света правятся в resource/ini/lights.ini
тестировал свой код на КТБ, у меня там другая система освещения, там все нормально работает в ГПК/ККС из-за статического освещения может работать иначе
в КТБ выглядит так:
ВАЖНО источник света в руке погасает при переходе из локации в локацию, его надо включать заново в идеале - при загрузки новой локации и если у персонажа есть атрибут
//генератор "отбермуженных" статов для кораблей с ручным рандомом void SetTuningShipStatesRandom(ref chr, int iRand) { ref rShip = &RealShips[sti(chr.ship.type)];
if(rShip.class == 7) return; //мелкие корабли отсекаем if(rShip.stolen == 0) return; //генератор будет только на захваченных в море
подключаем через #include "qwerty.c" в нужный вам файл в characterUtilite.c находим функцию void SetBaseShipData(ref refCharacter) и в нее подключаем генератор комментарии в коде есть, так что разобраться будет несложно (надеюсь)
найдете косяки - отпишитесь, т.к. генератор еще в процессе тестирования
Генератор "отбермуженных" характеристик для кораблей
Как я понял, после ввода данного кода в игру в игре начнут появляться отбермуженные корабли? Или же это рандомно изменяет параметры уже отмермуженного корабля, который плавает в игре?
Поменял вчера для себя кое-что в интерфейсе вывода логов на экран... Речь идёт о формулировках вида: "На корабле <таком-то> крысы сожрали..." Основная идея - дополнение информации, теперь указывается тип каждого корабля, если у вас, например, целая эскадра. Вдруг кому-то это будет интересно!..
Теперь у меня это выглядит примерно вот так:
Чтобы внести такие изменения, необходимо открыть файл \program\scripts\food.c. В теле функции DailyRatsEatGoodsUpdate() найти строчку, в которой запрограммирован вывод этой строки и вместо текста "На корабле..." вписать нечто вроде такого кода...
Текст можете писать в каждом конкретном примере свой собственный, неизменными должны быть только выделенные куски. Точно так же можете найти любые другие формулировки вида: "На корабле..." и вставить ссылку на конкретный тип корабля вместо слова...
И ещё одна немаловажная деталь... Внутри функции XI_ConvertString() у меня указан предложный ("Voc") падеж. Если у Вас его нет - его нужно вставить в файле:
Можно, в принципе, ничего не добавлять и не изменять, но тогда велика вероятность того, что у вас будут неправильно склоняться слова, ибо в оригинальном common.ini некоторые падежи, мягко говоря, переставлены местами и написаны неправильно. Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Суббота, 28.11.2015, 00:23
фиксим "черный квадрат"! для этого открываем файл Evening.c (путь до файла Program\Weather\Init) и находим там блок для 9 вечера
Код
Weathers[n].id = "21 Hour";
листаем вниз, нам нужны настройки солнца нам нужны строки
Код
Weathers[n].Sun.Glow.Enable = false;
и
Код
Weathers[n].Sun.Overflow.Enable = false;
заменяем в них false на true и сохраняемся у меня после таких манипуляций "черный квадрат" исчез
теперь фиксим отсутствие должного освещения в пещерах и светящуюся траву во время дождя вся соль проблемы в том, что используется освещение storm1, а для локаций пещер присутствует только evening23 и поэтому движок не может найти нужный файл с освещением нам надо добавить дополнительное условие в код, чтобы в пещерах во время дождя срабатывало освещение evening23 для этого открываем файл WhrWeather.c (путь до файла Program\Weather) и находим там функцию
для того, чтобы притемнить траву мы находим файл globals.c внутри папки Program и находим там функцию
Код
int EventReturn_isGrassLightsOn() { // trace("EventReturn_isGrassLightsOn"); это я перевел на 1 раз за все время создания травы // 1 - светится, 0 - темная if (bSeaActive || bStorm || bTornado) { return 0; }
int EventReturn_isGrassLightsOn() { // trace("EventReturn_isGrassLightsOn"); это я перевел на 1 раз за все время создания травы // 1 - светится, 0 - темная //Mett: теперь проверка по WeatherParams if(CheckAttribute(&WeatherParams, "Rain") && sti(WeatherParams.Rain)) { return 0; }
if (bSeaActive || bStorm || bTornado) { return 0; }
Можно сделать - просто нарезать кадры из анимации спокойного шага с оружием в руках.
Что ты имеешь ввиду? Ты знаешь, как кадры нарезаются?
ЦитатаMett ()
теоретически можно реализовать хождение с факелом, но нет подходящих анимаций
Такую анимацию легко создать. Достаточно зафиксировать руку в согнутом положении для анимаций стояния и хождения. Поскольку я не знаю, как воткнуть в файлы анимаций дополнительные кадры и могу редактировать только те, что уже есть, файлу отвечающему за анимации придется быть отличным от "man" (например, "man3"), а факелу останется надеваться только по аналогии с тем, как надевается мушкет. (т.к. к мушкету тоже идет отдельный файлик анимаций) Если в коде можно как-нибудь прописать изменение анимации в зависимости от пола, то нет никаких проблем и с созданием анимаций для женщин. Иначе можно будет создать отдельно женские, отдельно мужские факелы ))
Добавлено (22.02.2016, 18:41) --------------------------------------------- Ах, ещё одна "вроде бы мелочь" )
Сам факел нужно будет замоделить и впихнуть в него локатор, который будет отвечать за горение в правильном месте.
Дальше останется только впихнуть эту палку в правильный, другой локатор в руке.
Вы даже представить себе не можете, насколько просто и легко все то, что кажется вам сложным.
Сообщение отредактировал Королёв - Понедельник, 22.02.2016, 18:37
Что ты имеешь ввиду? Ты знаешь, как кадры нарезаются?
Я имею ввиду кадры анимации. Это параметры start_time и end_time в .ani-файлах. Самый простой вариант, без создания новой анимации, даже ничего и "резать" не нужно. Файл man.ani
Код
;Ходьба вперёд с клинком в руке [fight walk] start_time = 6318 end_time = 6333 speed = 0.8 data = "Blend time", "0.2" ; sec data = "Walk speed", "1.8" ; m/sec data = "Turn speed", "5.5" ; rad/sec event = "RStep", 6321, normal event = "LStep", 6329, normal
Достаточно
Код
[fight walk]
переименовать в название для "новой" анимации хождения с факелом, например
Код
[torch walk]
Можно сюда же и звук горящего факела запихнуть до кучи. Дальше в скриптах ловить момент "одевания" факела и включать этот кейс. Запрещать бегать, чтобы не ваять ещё и анимацию бега с ним. Да и по логике, ходим-то мы в темноте, какой бег? ) А анимацию стояния с факелом в руке уже можно "нарезать", найдя более подходящую в AnimViewer'е. Ну, я бы так сделал, ибо в моделинге полный 0, или даже -1.
Сообщение отредактировал PirateModder - Понедельник, 22.02.2016, 20:21
Да, знаем мы такой способ. Такие анимации будут кривоваты, а кадры можно будет запускать только в прямом или обратном порядке, согласно их номерам, и тут даже не перепрыгнуть через "лишнее". К тому же факел будет держаться криво, и ещё хуже будет происходить доставание меча. Плюс, вы предложили запретить ему бег. Нельзя запрещать бег, никто из игроков не перемещается пешком, никто никогда не отключает "автоматический" бег во время игры.
Сам в моделинге ноль... Спалю кое-что... NikK писал, что с таким факелом отблесков на стенах не будет, так как свет задается кулами, и "смысла в факеле немного".
Тут нужно делать факел не в правую руку, а в левую, а после доставания меча, нужно либо убирать факел, либо делать анимации для боя с факелом. Даже при том, что факел не будет полностью выполнять свое прямое назначение, это можно рассматривать, как новую фишку...
Сейчас сделать всё это реально. Можем попробовать. Вы даже представить себе не можете, насколько просто и легко все то, что кажется вам сложным.
Нельзя запрещать бег, никто из игроков не перемещается пешком, никто никогда не отключает "автоматический" бег во время игры.
Факел можно сделать только в качестве единичного элемента по какому-либо квесту, не более. Зачем он на постоянной основе? ) Ещё и анимацию ему делать новую.
ЦитатаКоролёв ()
Сейчас сделать всё это реально. Можем попробовать.
Творите, ребят. Если есть время, то чего бы и не попробовать? )
Анимацию не показать без видео, но с видео было больше трудностей, чем с анимацией
ЦитатаPirateModder ()
Зачем он на постоянной основе? )
Стражникам ночью можно раздать + бандитам в джунглях, патрулям.
ЦитатаPirateModder ()
Закончу на этом про факела флудить
Да ладно, надуюсь, модератор перенесет все сообщения в правильную тему Вы даже представить себе не можете, насколько просто и легко все то, что кажется вам сложным.