Помощь - Поиск - Пользователи - Календарь
Полная версия: Проблемы с установкой аддона и технические вопросы.
Форум студии Seaward.Ru > Форумы аддонов к играм ПКМ, КВЛ, ГПК > Возвращение Морской Легенды
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
BUKA_E}l{EBUKA
Среди всего, что может быть в инвентаре мертвеца, есть ли вещи с весом = 0 (не считая денег и items.unarmed)?
Может квестовые предметы какие-нибудь?
ALexusB
Вообще не помню. Может и так, письма какие-то или квестовое. Кстати, с не удалением трупа атрибутом - он работал в режиме их пропадания специально, чтоб квестовые НПС не таяли и предмет в них был и не пропал.
BUKA_E}l{EBUKA
Если править файлы "init_", эффект будет только на новой игре? Конкретно - init_pc.c

UPD: на сейве изменения не работают, на новой игре все ок
Пробовала править "options" в корне игры и RESOURCE\INI\TEXTS\RUSSIAN\ControlsNames.txt, не помогло
DukeWinchester
Не знаю, только у меня это или еще у кого.
Во время абордажа (и после него вплоть до выхода на карту мира) пропадает эффект дождя. Остается звук, но капель нет. В целом не критично, но абордажи во время шторма или ливня сразу теряют львиную долю эпичности.

Версия аддона у меня старенькая, ставил ее еще до того как скрипты выложили. Скрипты вроде тоже потом ставил, пару лет назад, но баг с дождем они тоже не пофиксили. Это у всех так или только на моей стороне что-то? Как пофиксить, идеи есть?
Loginor
Доброго времени суток. Вопрос: Работает ли аддон и сама игра на windows 10? Попробовал запустить после многолетнего перерыва, даже смог начать игру, но при переходе в следующую локацию выкидывает темный экран с иконкой персонажа и активным инвентарем/меню. Старые сейвы при этом вроде как работают нормально, но там уже почти что конец игры, а я не хочу продолжать старую, я перепройти хочу. Кто-нибудь здесь знает, как решить проблему?

Поставил патчи с 29ой страницы. Проблема с черным экраном не исчезла. Только мне удалось ее локализовать - черный экран выкидывает лишь на выходе из города. Ни в какой город нормально не зайти, игра стала невозможной(. Эх. Никто случаем не знает, как решить проблему?

В любом случае - большое спасибо товарищу ALexusB за создание и поддержку мода. Наконец-то смогу погрузиться в ностальгию по играм нулевых, если смогу решить вопрос с черным экраном.
ALexusB
на вин10 работает
нужно ставить фикс на 60фпс из темы про ПКМ
вылеты похожи на нет моделей или текстур для городов, не прошел клон моделей в сеткп.ехе

мой мануаль на 29 стр мне помог
http://www.seaward.ru/forum/index.php?s=&a...st&p=349724
DukeWinchester
Цитата(Loginor @ Aug 24 2020, 19:38) *

Только мне удалось ее локализовать - черный экран выкидывает лишь на выходе из города. Ни в какой город нормально не зайти, игра стала невозможной(. Эх. Никто случаем не знает, как решить проблему?


Вылеты только в локациях с морем? Т.е. порты, бухты, открытое море? Если да, то ты случаем не на ноутбуке игру запускаешь?
Loginor
Всем спасибо - нашел другой репак, поставил все с нуля по совету Алексуса, заработало. Наслаждаюсь 1.gif
BUKA_E}l{EBUKA
не актуально >
Проблема: очень быстро летит время на карте мира

Напала на купца по наводке алкаша, захватила. Вышла на карту мира чтоб сохраниться - а там сутки сменяются с лютой скоростью.
Изгалялась по-всякому, но проблема не исчезла. Скрепя сердце (с матроса упал крысобог! второй за все мое длинное прохождение!) загрузила сейв до нападения.

Снова захватила. Снова вышла на карту. И снова эта проблема.
Но на сей раз я точно сбрасывала ускорение на х1 перед переходом на карту!

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

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

1. Почему это стабильно происходило несмотря на сброс ускорения перед переходом на глобалку?
2. Как избежать проблему в будущем?
Есть идеи?
не актуально <

UPD: Проблема решена, невиновные наказаны, непричастные награждены

Сообразила поздновато, когда захватила другой корабль. Я ведь сбила паруса до 0%!
Нет, я конечно в курсе что скорость на глобалке зависит от самого медленного юнита эскадры, но не ожидала что так сильно ohmy.gif
(почти двое суток в секунду! весь экран в голодающих матросах laugh.gif )

Столь позднее озарение стоило мне крысобога
Press F
('-...-)7
Серебристый Дракон
Не знаю, куда написать, но хоть тут.
А нельзя ли выпустить патч/фикс или что-то подобное, чтобы в игре поменялись местами названия "боцман" и "квартирмейстер"? Потому что их понятия перепутаны и это каждый раз сбивает с толку. Или может это где-то в файлах можно исправить? Хотя лучше всё же патчем.
ALexusB
Есть открытые скрипты - там можно себе менять что угодно.
Но сделано все корректно по влиянию скилов на ГГ, кто за абордаж и порядок на корабле, а кто за торговлю.
Серебристый Дракон
А где именно там поменять? Я не сильно в этом разбираюсь. Менять ведь названия надо в диалогах, в выборе профессии у хозяина таверны и в данных самих офицеров.

Корректно ли? Боцман отвечает за порядок на корабле. Это сохранилось и на сей день. Квартирмейстер отвечал за абордаж, и название не образовано от слова "квартира"))) Со скиллами всё в порядке, просто названия напутаны. Только их бы изменить.
BUKA_E}l{EBUKA
1. Качаем, распаковываем в отдельную папку

2. Notepad++ > Shift+Ctrl+F
Directory - указываем ту папку. Галочки: In all sub-folders и Match case. Search mode: normal.

3. Find what: боцман
Replace with: zkjhwsap
Жмем replace in files

4. Find what: Боцман
Replace with: Zkjhwsap
Жмем replace in files

5. Find what: квартирмейстер
Replace with: боцман
Жмем replace in files

6. Find what: zkjhwsap
Replace with: квартирмейстер
Жмем replace in files

7. Find what: Zkjhwsap
Replace with: Квартирмейстер
Жмем replace in files

8. Копируем (с заменой) содержимое папки в ВМЛ.
Готово

zkjhwsap и Zkjhwsap просто плейсхолдеры из рандомных букв, иначе у нас будут только боцманы (только квартирмейстеры)

P.S. Насколько могу судить по читанным в детстве (на английском) книжкам про пиратов, quartermaster был чем-то вроде интенданта, как и в ВМЛ. Насчет boatswain не помню
AgentOfLiberty
Народ, кто может помочь разобраться с проблемой?
Нигде не нашел решения... Суть такая. В меню загрузки или сохранения начинаются лютые тормоза, а кнопки совершенно неактивные (т.е. нажимаешь, но ничего не происходит)
Играю на десятке. Фикс на 60 фпс поставил, но толку 0
В чем может быть проблема? sad.gif
ALexusB
читать советы в теме
http://www.seaward.ru/forum/index.php?s=&a...st&p=350504
там еще ехе нужно
AgentOfLiberty
Цитата(ALexusB @ Nov 3 2020, 19:37) *

читать советы в теме
http://www.seaward.ru/forum/index.php?s=&a...st&p=350504
там еще ехе нужно


Все получилось! Спасибо! biggrin.gif
Orvas
ВМЛ не реагирует на настройки файла init_pc.c. Это нормально? Где в таком случае можно увидеть/изменить текущую раскладку клавиатуры.
ALexusB
Цитата(Orvas @ Aug 8 2021, 13:25) *

ВМЛ не реагирует на настройки файла init_pc.c. Это нормально? Где в таком случае можно увидеть/изменить текущую раскладку клавиатуры.

В ини
Грузится текущая раскадка
Из .с только кнопкой По умолчанию, а не просто поменял и сразу
bereaver
Не нашёл другой подходящей темы так что напишу тут.
Вопрос по ПКМ (корсарам 2) с паком моргана 1.02 (этот вот) https://corsairs-harbour.ru/infusions/downl...load.php?did=22
в борделе и в каюте дико жмыхает бабские модели (в борделе хозяйку Селестину Монассан, в каюте даньку с улицы кербадокостилеса за борделем) да жмыхает так что текстуры размазываются по всему зданию (картинка лица которая должна была наложиться на 3д модель) Помогите сие исправить (хотя бы модельки заменить на не багнутые, как это сделать??. где найти??.) Играть в пак не перестану, он похардкорнее вмл будет и больше мне нравится + моргану достать легко, не надо для этого всю линейку квестов проходть.
ALexusB
Заменить модели или текстуры к ним на похожие из папки ресурсов или взять похожее что-то из ВМЛ.
Модели и текстуры просматривать тулзами - были в теме модов (сами ссылки могут уже не живые быть, искать тогда по др сайтам)
bereaver
Цитата(ALexusB @ Dec 8 2021, 15:40) *

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

Дарова, Алексус) Всегда хотел тебе сказать что твой аддон уенен, постоянно только в него играю, десяток лет уже (обожаю хардкор, правда жаль что из-за авторских прав пришлось перейти на этот унылый движок от 3х корсаров, особенно ненавижу васянские подделки блекмарков), вот решил попробовать моргана (сначала он понравился большими возможностями, например автолутом и халявным опытом с перком герой-любовник) а сча не могу справиться с фортом гринфорда, меня тупо из пистолей гасят а десант союзных кораблей не работает совсем, вот те и хардкор. На счёт селестины, это та же моделька что и "прекрасной изабеллы", не знаю где это всё искать, нельзя ли просто файлы переместить и переименовать чтобы всё нормально стало??. Может проблема в том что в config.eхе выставлено разрешение 640 на 480 и 16 бит??. (в инишке 1360 на 768 стоит) Можно подробнее о замене моделек??. (не шарю в этом) И ещё у меня в Артуа Вуазье стрелять не хотят, наверное это баг английской версии на которой базируется пак моргана, можно это как-то пофиксить??. (хочу дюпать опыт со священника) Или где больше всего можно опыта достать, не с мановаром ли в штормах??. (не могу нормально прокачаться, после 20го уровня опыта требует лямами, а в штормах по косарю дают)
Ещё спросить хотел. Какие умения и характеристики жмых перенимает от своих офицеров??. Вот например быстрая починка работает от оффа и передаётся жмыху навсегда, но жмыхает интерфейс, после неё в окне торговли нельзя ничего купить, надо сначала продать единицу товара или починить корабль (можно ли это исправить??.) Речь о том же паке моргана.
nathfade
Всем привет,
В первую очередь хотел сказать спасибо за потрясающий аддон.

Столкнулся с технической ошибкой.

Поставил ПКМ 1.03, наверх него аддон ВМЛ а потом и скрипты.
В скриптах поменял управление диалогами как в ККС, WASD и мышка вместо стрелок и пробела.
Поставил обновленные текстуры для Blaze с кирасами

Играл так неделю, все было отлично, вылеты были но крайне редко.
Вчера при переходе с суши в море в бухте получил черный экран, выключил через alt+f4. Ничего необычного, такое бывало и ранее. Обычно помогал рестарт, но в этот раз при повторном запуске игры получил ошибку:
Код
Microsoft Visual C++ Runtime Library

Runtime error
Program C:\Games\potc\ENGINE.exe

abnormal program termination


До ошибки и с ее появлением игра была на диске D, сейчас перекинул на C и там такая же ошибка.

После этого пытался следующее:
  • переустановил игру с самого начала
  • обновил/(удалил и установил) все Visual c++ redistributable с 2005 по 2022 как x64 так и x86. Пробовал запускать игру после каждого апдейта/инстала.
  • обновил .net framework
  • запускал от имени админа и в режиме с совместимостью
Ни один из этих пунктов не решил проблему, игра запускается все так же с той же ошибкой.
Похоже у меня сломалось что-то в системе касающее этой игры. Искал какие-то записи в реестре чтобы удалить, appdata и в других местах - ничего не нашел.
Интересно, что ККС и ПКМ 1.03 запускаются без проблем

Накануне ошибки ничего в скриптах не менял, вообще файлы игры не трогал.

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

Подскажите, пожалуйста, в каком направлении копать? Event Log windows-а пустой, ошибок там никаких. Пытался найти что-то интересное в Process monitor - тоже ничего не заметил.

Подскажите, кто знает, где можно посмотреть лог ошибки кроме как error.log или других .log файлов в разделе с игрой (у меня они не создаются)?

Может кто знает какие разделы реестра пишет игра или какие файлы/папки создает игра в системе? Кажется, что проблема за пределами папки с игрой и не касается visual c++ redistributable.
Leviafan
Поставь ПроцессМонитор, запусти игру, чтоб появилась ошибка и выложи лог - м.б. будет понятно, куда копать

https://docs.microsoft.com/en-us/sysinterna...wnloads/procmon

Лог в Процесс Мониторе сохраняется через меню File -> Save -> PML-формат;
nathfade
прикрепил лог свежего запуска игры
спасибо за готовность помочь

закинул в zip так как сайт не позволил загрузить pml
erebus
2nathfade

Попробуйте удалить файл options в корневой папке игры.
nathfade
удалил options, ошибка та же
bereaver
Цитата(nathfade @ Dec 28 2021, 12:35) *

удалил options, ошибка та же

Зачем все ставят патч 1.3??. Написано же в инструкции ставить на чистую игру от 1С версии 1.0 или 1.01 или же английскую. читай "база" аддонна и как правильнр установить, ВМЛ сделан на английской версии без старфорса, от этого и все конфликты. Если не веришь то попробуй запустить в игре ролик с титрами. У тебя этого не выйдет аки все ролики должны быть не в папке russian и без дописки _rus а с оригинальным названием в папке со всеми роликами (достаточно ролик переместить/переименовать и всё воспроизведётся в самой игре). Кстати что за скрипты??. Поделись как из запилить (прям заинтриговал). На счёт ошибки - она у меня каждый день выпрыгивает, появляется из-за переполнения оперативной памяти, виноваты сейвлоады и долгое нахождение в игре. Немного помогает если поставить галку "только чтение" в файле options. Лично я всё равно этого делать не рекомендую - появляются другие проблемы посерьёзней, не сохраняются настройки, игра вылетает при любых нестандартных действиях, невозможно создать другого персонажа. Что я рекомендую: установить нормально игру, настроить, удалить ролики со смертями жмыха, переименовать ролик с титрами, поставить управление по умолчанию, настроить его, настроить config.exe, убрать в нём безопасный звук, поставить минимальное разрешение (потом изменить его в engine.ini на своё), поставить 16 бит, заархивировать папку с игрой без сжатия и тянуть игру с каждым вылетом в корень диска С (замена options не поможет, игра продолжает вылетать всё чаще и чаще, только полное перемещение всей игры из архива).
nathfade
я не ставил специально патч 1.03, он был в сборке которую я скачал. но не похоже что проблема в этом, так как до трагического момента игра работала исправно.
Однако я пробовал: ставил аддон на чистую английскую версию, и ошибка была та же.

Что касается скриптов, то речь шла об открытых исходниках ВМЛ.
bereaver
Цитата(nathfade @ Dec 29 2021, 14:46) *

я не ставил специально патч 1.03, он был в сборке которую я скачал. но не похоже что проблема в этом, так как до трагического момента игра работала исправно.
Однако я пробовал: ставил аддон на чистую английскую версию, и ошибка была та же.

Что касается скриптов, то речь шла об открытых исходниках ВМЛ.

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

Вот процитирую пару решений на семёрку (не моё):

У меня был типичный крах игры начала новой игры на Windows 7 и перепробовал много вариантов. Ничего не работал, пока я не нашел сайт (http://www.techradar.com/news/computing/pc/how-to-make-old-programs-work-on-windows-7-922313. Я скачал "Microsoft Application Compatibility Toolkit 5.6" (http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=7352 скачал "ApplicationCompatibilityToolkitSetup.exe". Он включает в себя программу под названием "Compatability Administrator (32-разрядная версия)", в списке игр, на удивление упоминиется - Пираты Карибского моря от Акеллы. Установить исправление, после этого запустить игру и перезагрузить компьютер, игра теперь работает.

У кого на Win10 (а также судя по всему XP и 7) после нажатия "Новая Игра" вылетает - идём в папку с игрой

C:\Program Files\1C\Пираты Карибского Моря\RESOURCE\Textures\WEATHER\SEA\BUMP_G3

И удаляем нафиг файл

bump.zap

При запуске игры он пересоздастся и игра заработает.

Решение из этого же форума
nathfade
Ребята, всем спасибо за готовность помочь, проблема решилась сама собой. Сегодня в отчаянной попытке после запуска компьютера даблкликнул на ярлык и игра чудом запустилась без ошибки. Я не знаю что произошло, вчера она не работала, я ничего не менял и сегодня уже работает. Тут одно из двух: либо какая-то привязка чего-то к дате (что звучит бредово и маловероятно), либо при перезапуске винда запустила обновление чем обновила пакеты VCPP, .net framework или еще что-либо. Сейчас винда обновляется так, что я даже не замечаю эти обновления, так что наверняка сказать не могу было оно или нет.




Цитата(bereaver @ Dec 29 2021, 14:25) *

Скрипты это ясно, а как сделать например управление в диалогах на мышку??. Есть где-нибудь подробная инструкция??

Нет нужды в подробных инструкциях, все достаточно просто. Нужно поставить открытые скрипты ВМЛ, открыть файл PROGRAM\controls\init_pc.c в блокноте или в чем-то подобном как текст. Листай в этом файле до строчки-комментария // Dialog =========== . В строчке с DlgAction меняешь пробел (SPACE) на VK_LBUTTON. Помимо этого, в строчке с DlgUp я поменял с VK_UP на KEY_W а в DlgDown поменял на KEY_S.
В итоге получилось так:
Код
// Dialog =====================================================================
    CI_CreateAndSetControls( "DialogControls", "DlgAction", CI_GetKeyCode("VK_LBUTTON"), 0, false );
    CI_CreateAndSetControls( "", "DlgCancel", CI_GetKeyCode("VK_ESCAPE"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgUp", CI_GetKeyCode("KEY_W"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgDown", CI_GetKeyCode("KEY_S"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgScrollUp", CI_GetKeyCode("VK_PRIOR"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgScrollDown", CI_GetKeyCode("VK_NEXT"), 0, false );

Работает и в ПКМ с открытыми скриптами, даже в к3 такое работает.

По поводу английской версии - отправил, дай знать получил ли
bereaver
Цитата(nathfade @ Dec 29 2021, 17:43) *

Ребята, всем спасибо за готовность помочь, проблема решилась сама собой. Сегодня в отчаянной попытке после запуска компьютера даблкликнул на ярлык и игра чудом запустилась без ошибки. Я не знаю что произошло, вчера она не работала, я ничего не менял и сегодня уже работает. Тут одно из двух: либо какая-то привязка чего-то к дате (что звучит бредово и маловероятно), либо при перезапуске винда запустила обновление чем обновила пакеты VCPP, .net framework или еще что-либо. Сейчас винда обновляется так, что я даже не замечаю эти обновления, так что наверняка сказать не могу было оно или нет.
Нет нужды в подробных инструкциях, все достаточно просто. Нужно поставить открытые скрипты ВМЛ, открыть файл PROGRAM\controls\init_pc.c в блокноте или в чем-то подобном как текст. Листай в этом файле до строчки-комментария // Dialog =========== . В строчке с DlgAction меняешь пробел (SPACE) на VK_LBUTTON. Помимо этого, в строчке с DlgUp я поменял с VK_UP на KEY_W а в DlgDown поменял на KEY_S.
В итоге получилось так:
Код
// Dialog =====================================================================
    CI_CreateAndSetControls( "DialogControls", "DlgAction", CI_GetKeyCode("VK_LBUTTON"), 0, false );
    CI_CreateAndSetControls( "", "DlgCancel", CI_GetKeyCode("VK_ESCAPE"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgUp", CI_GetKeyCode("KEY_W"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgDown", CI_GetKeyCode("KEY_S"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgScrollUp", CI_GetKeyCode("VK_PRIOR"), 0, false );
    CI_CreateAndSetControls( "DialogControls", "DlgScrollDown", CI_GetKeyCode("VK_NEXT"), 0, false );

Работает и в ПКМ с открытыми скриптами, даже в к3 такое работает.

По поводу английской версии - отправил, дай знать получил ли

Спасибо. Пока качать и тестить не буду, у меня беды с оригинальным вмл (попрошу чтобы мне твою скачали, потом посмотрю), завалил алексуса вопросами по игре, он не отвечает. Есть пару глитчей и вредных багов которые недавно сам нашёл, ещё думаю как бы умыкнуть циклопус и пойти в английскую линейку. Испанская то куцая и вообще это и не ленейка так то а небольшой квестик из пака моргана. Очень дико то что из-за квестовой линейки приходится лишаться самого мощного корабля в игре. Спасибо что рассказал про переназначение клавиш, надеюсь там и другие переназначить можно, пауза на R, перемотка на Т и управление стрелками в магазине очень бесят. Ещё поставлю стандартные F5/F9 для сейвскама. А про твою проблему, как говаривали нпс в готике "некоторые проблемы решаются сами собой") Такое иногда бывает, когда файлы повредились система требует виндовый диск и восстанавливает что надо. Мб игра так же чего херит, тем не менее лучше заархивируй игру, мало ли чо.
nathfade
У меня есть подозрение, что проблема заключается в файлах mrg*.tmp в папке temp винды. Игра туда их пишет, и, по всей видимости, читает. Пару раз эта проблема вылезла опять, спустя 5 минут пропала. Потом еще раз вылезла и после чистки папки temp опять заработала. Пока не уверен на все 100, посмотрим как пойдет
nathfade
Должен сказать, что после чистки папки temp, игра стала существенно шустрее, загрузки ускорились.

Между прочим, видел в теме выше обсуждали пропажу трупа при обыске. Вот мой вариант:

Файл PROGRAM\loc_ai\LAi_utils.c
Код

.....
void Dead_OpenBoxProcedure()
{
    ref chr = GetMainCharacter();
    int dchr_index;
    ref deadCh;
    ref chrdead;
    dchr_index = Dead_FindCloseBody();
    if (dchr_index == -1) return;
    
    deadCh = &Dead_Characters[dchr_index];
    
    Dead_LaunchCharacterItemChange(deadCh);

    //added corpse disappear when it is empty
    if (GetItemsWeight(deadCh) < 0.001) {
        Dead_DelLoginedCharacter(deadCh);
        chrdead = &Characters[GetCharacterIndex(deadCh.id)];
        CharacterExitFromLocation(chrdead);
    }
}
....


Проверка на пустоту трупа и его удаление идет после комментария. Не нашел более изящного решения чем проверять вес всех предметов в трупе. Посмотрел все предметы и их вес - только у рукопашки вес 0.0, у остальных > 0.1. Новая игра не нужна.
nathfade
У меня на высоких уровнях часто умирают офицеры с важными перками. Как правило из-за того, что не всегда удается следить за наличием лечилок у них. Поэтому добавил фичу на автозакупку пуль и лечилок для офицеров в портах. Добавил ветку диалога офицерам, похожую на участие в абордаже и завязался на триггер "GenLand_EnterPort" (тот же, что спавнит ОЗГ в порту). Можно выбрать дорогой, дешевый и средний пакет закупки.

Функция закупки выглядит так:
PROGRAM\characters\CharacterUtilite.c
Код

void BuyAmmoForOfficer(ref PChar, ref officer) {
    if (sti(officer.BuyAmmo) == 0) {
        return;
    }

    object itemsToBuy;
    string itemId;
    int i, itemsCount, totalCost;
    aref itemAttribute;
    ref itemRef;
    float totalWeight;
    totalWeight = 0.0;
    totalCost = 0;

    switch (sti(officer.BuyAmmo)) {
        case 1:
            itemsToBuy.bullet = 5;
            itemsToBuy.potion1 = 3;
            break;
        case 2:
            itemsToBuy.bullet = 10;
            itemsToBuy.potion1 = 5;
            itemsToBuy.potion2 = 1;
            itemsToBuy.potion3 = 1;
            break;
        case 3:
            itemsToBuy.bullet = 20;
            itemsToBuy.potion1 = 8;
            itemsToBuy.potion2 = 5;
            itemsToBuy.potion4 = 2;
            break;
    }


    for(i = 0; i < GetAttributesNum(itemsToBuy); i++) {
        itemAttribute = GetAttributeN(&itemsToBuy, i);
        itemId = GetAttributeName(itemAttribute);
        itemsCount = GetAttributeValue(itemAttribute);
        itemsCount = itemsCount - sti(GetCharacterItem(officer, itemId));
        if (itemsCount < 1) {
            itemsToBuy.(itemId) = 0;
            itemsCount = 0;
        } else {
            itemsToBuy.(itemId) = itemsCount;
        }
        itemRef = ItemsFromID(itemId);
        totalWeight = totalWeight + stf(itemRef.Weight) * itemsCount;
        totalCost = totalCost + GetBuyPriceByCharacter(sti(itemRef.price), officer) * itemsCount;
    }

    if (totalCost < 1) return; //dont buy anything

    if (sti(Pchar.Money) < totalCost || (GetMaxItemsWeight(officer) - GetItemsWeight(officer)) < totalWeight) {
        Log_Info("Недостаточно места или денег для закупки амуниции для " + officer.name + " " + officer.lastname);
        return;
    }

    for(i = 0; i < GetAttributesNum(itemsToBuy); i++) {
        itemAttribute = GetAttributeN(&itemsToBuy,i);
        itemId = GetAttributeName(itemAttribute);
        itemsCount = GetAttributeValue(itemAttribute);
        TakeNItems(officer, itemId, itemsCount);
    }
    AddMoneyToCharacter(PChar, -totalCost);
    Log_Info("Закуплена амуниция для " + officer.name + " " + officer.lastname);
}

Чет простыня получилась, но не знаю как грамотно распихать по отдельным методам, вечно краш получаю когда пытаюсь сделать красиво.

Добавил еще функцию на получение цены предмета на основании навыка торговли у офицера. Пришлось копипастить, так как существующая функция завязана строго на ГГ.
PROGRAM\store\StoreUtilite.c
Код
int GetBuyPriceByCharacter(int itmprice, ref character)
{
    float skillDelta = GetSummonSkillFromNameToOld(character,SKILL_COMMERCE);
    Log_Info("Character delta: " + skillDelta);
    float skillModify;
    skillModify = 1.4 - skillDelta*0.019;
    if (CheckOfficersPerk(character,"AdvancedCommerce")) {
        skillModify -= 0.2;
    }
    else
    {
        if(CheckOfficersPerk(character,"BasicCommerce")) {
            skillModify -= 0.1;
        }
    }

    return makeint(makefloat(itmprice)*skillModify);
}

Как-то с этими скриптами не все очевидно, поэтому буду рад критике.
Кому интересно попробовать, прикрепил архивом измененные файлы.
bereaver
Цитата(nathfade @ Jan 4 2022, 23:13) *

У меня на высоких уровнях часто умирают офицеры с важными перками. Как правило из-за того, что не всегда удается следить за наличием лечилок у них. Поэтому добавил фичу на автозакупку пуль и лечилок для офицеров в портах. Добавил ветку диалога офицерам, похожую на участие в абордаже и завязался на триггер "GenLand_EnterPort" (тот же, что спавнит ОЗГ в порту). Можно выбрать дорогой, дешевый и средний пакет закупки.

Функция закупки выглядит так:
PROGRAM\characters\CharacterUtilite.c
Код

void BuyAmmoForOfficer(ref PChar, ref officer) {
    if (sti(officer.BuyAmmo) == 0) {
        return;
    }

    object itemsToBuy;
    string itemId;
    int i, itemsCount, totalCost;
    aref itemAttribute;
    ref itemRef;
    float totalWeight;
    totalWeight = 0.0;
    totalCost = 0;

    switch (sti(officer.BuyAmmo)) {
        case 1:
            itemsToBuy.bullet = 5;
            itemsToBuy.potion1 = 3;
            break;
        case 2:
            itemsToBuy.bullet = 10;
            itemsToBuy.potion1 = 5;
            itemsToBuy.potion2 = 1;
            itemsToBuy.potion3 = 1;
            break;
        case 3:
            itemsToBuy.bullet = 20;
            itemsToBuy.potion1 = 8;
            itemsToBuy.potion2 = 5;
            itemsToBuy.potion4 = 2;
            break;
    }
    for(i = 0; i < GetAttributesNum(itemsToBuy); i++) {
        itemAttribute = GetAttributeN(&itemsToBuy, i);
        itemId = GetAttributeName(itemAttribute);
        itemsCount = GetAttributeValue(itemAttribute);
        itemsCount = itemsCount - sti(GetCharacterItem(officer, itemId));
        if (itemsCount < 1) {
            itemsToBuy.(itemId) = 0;
            itemsCount = 0;
        } else {
            itemsToBuy.(itemId) = itemsCount;
        }
        itemRef = ItemsFromID(itemId);
        totalWeight = totalWeight + stf(itemRef.Weight) * itemsCount;
        totalCost = totalCost + GetBuyPriceByCharacter(sti(itemRef.price), officer) * itemsCount;
    }

    if (totalCost < 1) return; //dont buy anything

    if (sti(Pchar.Money) < totalCost || (GetMaxItemsWeight(officer) - GetItemsWeight(officer)) < totalWeight) {
        Log_Info("Недостаточно места или денег для закупки амуниции для " + officer.name + " " + officer.lastname);
        return;
    }

    for(i = 0; i < GetAttributesNum(itemsToBuy); i++) {
        itemAttribute = GetAttributeN(&itemsToBuy,i);
        itemId = GetAttributeName(itemAttribute);
        itemsCount = GetAttributeValue(itemAttribute);
        TakeNItems(officer, itemId, itemsCount);
    }
    AddMoneyToCharacter(PChar, -totalCost);
    Log_Info("Закуплена амуниция для " + officer.name + " " + officer.lastname);
}

Чет простыня получилась, но не знаю как грамотно распихать по отдельным методам, вечно краш получаю когда пытаюсь сделать красиво.

Добавил еще функцию на получение цены предмета на основании навыка торговли у офицера. Пришлось копипастить, так как существующая функция завязана строго на ГГ.
PROGRAM\store\StoreUtilite.c
Код
int GetBuyPriceByCharacter(int itmprice, ref character)
{
    float skillDelta = GetSummonSkillFromNameToOld(character,SKILL_COMMERCE);
    Log_Info("Character delta: " + skillDelta);
    float skillModify;
    skillModify = 1.4 - skillDelta*0.019;
    if (CheckOfficersPerk(character,"AdvancedCommerce")) {
        skillModify -= 0.2;
    }
    else
    {
        if(CheckOfficersPerk(character,"BasicCommerce")) {
            skillModify -= 0.1;
        }
    }

    return makeint(makefloat(itmprice)*skillModify);
}

Как-то с этими скриптами не все очевидно, поэтому буду рад критике.
Кому интересно попробовать, прикрепил архивом измененные файлы.

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

Что касается редких вещей, так с помощью скриптов можно что угодно сделать.
Я не стесняюсь пользоваться скриптами в целях экономии времени)
bereaver
Цитата(nathfade @ Jan 6 2022, 17:05) *

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

Что касается редких вещей, так с помощью скриптов можно что угодно сделать.
Я не стесняюсь пользоваться скриптами в целях экономии времени)


Вообще-то плюшки для экономии времени продаются в разных играх за реальные деньги. Некоторые игры (а особенно этот адд-он) специально сделаны так чтобы играя в них страдать (хардкор ИБО). Можно начитерить до такой итрации чтобы форт брался сам по себе в автоматичесском режиме... Экономия времени жЭ. Я понимаю перераспределение клавиш, управления, использование всякоразных багов аки почему бы не юзнуть недоработку разраба ежели сие предусмотренно игрой??. (хотя и такое очень многие определяют в читерство не смотря на то что баги овцально пользуются в тех же спидранах) Вот именно по этому я не вижу смысл создавать дюп и тут же его закрывать как-то. Наоборот всякоразные возможности как раз таки нужно развивать как в новых горизонтах. Когда я увидел перк ЛГ с зануриваниев под воду и паровой ход кораблей (чего так и не сделали в вмл) у меня прям глаза округлились. В новых горизонтах только две проблемы: игра так и не вышла из бэты, куча ненужных и сомнительных решений ну и бонусом можно добавить отсутствие описания механик и прочего а так же неполную локализацию и баги.
ALexusB
Сейчас сменился вектор игр (и сами игроки) - в 2000-2010 был упор на хардкор.
Сейчас нужно все упрощенно, с маркерами куда бежать, чтоб можно было не читать диалоги вообще, бои одной кнопкой и т.п.
Время диктует свой спрос на фичи и тренды.
А игра-то уже с 20 летним движком скоро как. Ветеран.
Асасин блакФлаг тоже уже древняя стала, хотя как раз там мор бои уже не такие стали, пусть и красивее, но не то, после корсаров.
tislic
Цитата
Сейчас сменился вектор игр (и сами игроки) - в 2000-2010 был упор на хардкор.
Сейчас нужно все упрощенно, с маркерами куда бежать, чтоб можно было не читать диалоги вообще, бои одной кнопкой

Ты серьёзно? Посмотри вокруг, сейчас сенсорное управление, игроки пересели на телефоны, бюджет продвижения простеньких игр давно сравняться с бюджетом хардкора.
bereaver
Цитата(ALexusB @ Jan 14 2022, 11:19) *

Сейчас сменился вектор игр (и сами игроки) - в 2000-2010 был упор на хардкор.
Сейчас нужно все упрощенно, с маркерами куда бежать, чтоб можно было не читать диалоги вообще, бои одной кнопкой и т.п.
Время диктует свой спрос на фичи и тренды.
А игра-то уже с 20 летним движком скоро как. Ветеран.
Асасин блакФлаг тоже уже древняя стала, хотя как раз там мор бои уже не такие стали, пусть и красивее, но не то, после корсаров.

Алексус вернулся) Спросить хочу, почему в паке моргана шотган чёрный и моделька в нём более тонкая что-ли а твой в вмл сделан под дерево??. Оригинальный чёрный или твой??.
ALexusB
Не помню, скорее всего оба ретекстуры, сравнить можно с оригиналом ПКМ или мод_в3 от него - там исходный.
BigMan
Здравствуйте форумчане, подскажите есть ли пути решения проблемы: ночью в режиме море, на причале, в комнате в таверне и т.д, а так же в подземельях(в подземельях в любое время суток) не освещаются локации, и в них очень плохо видно, хоть глаз выколи. Как будто выключено освещение где то в скрытых настройках игры.

ОС Виндовс 8.1
Версия аддона последняя.

Пробовал запускать в разных режимах совместимости, только хуже становиться, лагает сильно главное меню.

Можно этот глюк починить??
erebus
Незнаю, поможет ли, но попробуйте это https://www.moddb.com/mods/new-horizons/dow...proved-graphics

Этот enb мне сидьно помог на win10. Годится для всех игр на сторме.
tislic
BigMan, привет! Знакомая ситуация. Не так давно, столкнулся с тем, что одни мониторы существенно затемняют, как говоришь, хоть глаз выколи. Если на скришоте очень темно, стены домов толком не разобрать, а сколу впереди вообще не видно, то монитор
Изображение
ALexusB
У меня на скрине от К1 на моем монике с ИПС матрицей норм. Но я и люблю их за цвета, пусть и нет там глубокого черного, зато в играх видно все. Метро 2032 когда играл вытягивал гамму, чтоб видеть что-то.

Так и тут - гаммы в игре может и не было, если была уже, то ее вытянуть нужно. Настройки видео карты - создать там профиль для игры и подобрать методом тыка фильтрацию текстур и освещение. Ну и в мониторе крутилку автоконтракста отключить, а яркость и контпраст подобрать по месту.
BigMan
Цитата(BigMan @ Aug 1 2022, 18:40) *

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

ОС Виндовс 8.1
Версия аддона последняя.

Пробовал запускать в разных режимах совместимости, только хуже становиться, лагает сильно главное меню.

Можно этот глюк починить??




Проблема худо-бедно решилась настройками монитора и увеличением резкости в игре. Правда настройки монитора приходиться после выхода из игры возвращать к "исходным", иначе слишком ярко и резкость большая. В целом пойдет.
Спасибо всем за советы!!!
Etienne
Вопрос по поводу разрешения меню по F2 (проблему с отображением HUD на экране 1080 решил). Есть ли какая-то возможность решить вопрос для широкоформатов? Насколько я понимаю, меню f2 редактируется где-то в файле XINFERFACE.dll из MODULES, который отредактировать для меня пока не представляется возможным.
Есть ли хоть какое-нибудь другое решение?
ALexusB
А что там было на Ф2?
Так то все интерфейсы есть в ИНИ файлах в папке Ресурсес.
И не помню я, что б какой-то был без ИНИ сразу в ДЛЛ. Я ж все перерабатывал через скрипты
Etienne
Я имею в виду вот этот интерфейс, статы, корабль, и так далее:
Изображение
ALexusB
Это очно в скриптах - я его переделывал от пкм/к3 и потом дальше его уже в ККС перекрасили.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.