• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стремитесь оценить работы в ежегодном литературном конкурсе от "Ордена Хранителей"! В этот раз темой конкурса являются тайные организации. Ждем именно вас.

    Ссылка на конкурсную тему - тык

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
  • Первое сообщение
  • #1
1767600363729.png

RU EN

 

Adanos Gotoman

Участник форума
Регистрация
16 Мар 2017
Сообщения
232
Благодарности
86
Баллы
195
Чёт после установки патча для графики у меня начались нездоровые глюки с любой текстурой травы. Именно травы. Замена текстур не помогает, отключение вдф'сника-патча тоже. Как быть?))
Безымянный.png
Здесь может и не сильно заметно, но при движении видно это всё.

Отличный день сегодня - всё само ломается и всё само чинится. Отбой, пацаны)))
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
N1kX, проверь о чем мы говорили.

@Gratt, можно ли сделать плагин для Union, вводящий перекрестье, при игре в безоружном режиме?
У меня слишком много незакрытых проектов, еще один не возьму. Если только кто-то из комьюнити возьмется.

Здрасьте, можете пожалуйста подсказать как реализовать меню для готики 1 как в г1. в1.01 (Если нужно могу кинуть ролик что бы было понятнее о чём я.)
Нужно. В душе не представляю о чем речь.

И вопрос ради интереса, насколько сложно будет реализовать рендер вулкан, при начальном уровне знания с++.
Абсолютно бесполезно.

Чёт после установки патча для графики у меня начались нездоровые глюки с любой текстурой травы.
Невозможно. Проблема на твоей стороне.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.614
Благодарности
6.224
Баллы
940
Переменная после завершения сессии не возвращается в 0, в принципе не критично.
Теперь проверяется нормально
Да я все-таки решил перенести проверку при запуске/загрузке сохранения (В Init_global) и там применять фиксы или нет.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
N1kX, а я тормоз потому что, создаю значение уже с 1. Ну ты главное проверь константы, меня они скорее интересуют.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.614
Благодарности
6.224
Баллы
940
Удалил запись в ini
Запускаю мод.
Нужное сообщение есть, значит в gothic.ini есть нужная константа до появления менюшек и парсинга скриптов
****
00:15 Info: 0 Q: Ikarus log functions now print in colour with prefix 'Q:'.
00:15 Info: 0 Q: The functions in the symbol table do not seem to be sorted by stack-offset.
00:15 Info: 0 Q: Union Activated, fixed disable
00:15 Info: 5 U:AI: Reading Script-fight-ai .... <zError.cpp,#465>
*****
Дальше знаешь, что константа остается с 1 :)
 

zeratul47

Участник форума
Регистрация
10 Янв 2020
Сообщения
21
Благодарности
0
Баллы
60
Подскажите, плз, нет ли какой-то ошибки в адресации хука метода zCVob::Render?

пример из темы по хукам
C++:
HOOK Ivk_zCVob_Render   AS(0x006015D0, &zCVob::RenderUnion); // Этот хук переватывает первым
HOOK Ivk_zCVob_Render_2 AS(0x006015D0, &zCVob::RenderUnion_2); // А это вторым. Но сначала отработает он.


  int zCVob::RenderUnion(zTRenderContext& context) {
      if (this == player) {
          screen->PrintCX(1000, "Сейчас на экран рисуется player.");
      }
      return (this->*Ivk_zCVob_Render)(context);
  }

  int zCVob::RenderUnion_2(zTRenderContext& context) {
      if (this == player) {
          screen->PrintCX(1200, "А это сообщение говорит о том, что два хука уживаются в одной функции.");
      }
      return (this->*Ivk_zCVob_Render_2)(context);
  }

C++:
int zCVob::RenderUnion(zTRenderContext& context);
int zCVob::RenderUnion_2(zTRenderContext& context);

Проблема в том что никаких сообщений нет и в хук вообще игра не заходит. Я пробовал и выводы другие. И пробовал вместо адреса писать
C++:
HOOK Ivk_zCVob_Render AS(&zCVob::Render, &zCVob::RenderUnion);
Кстати в этом случае игра даже не запускается вылетая с ошибкой о том что с одной стороны __fastcall, а с другой __thiscall.

Можете подсказать в чем может быть причина? Или лучше забить и пробовать другие рендеры использовать.

Все это на версии 1.0h
Готика 1
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
zeratul47, это не вылет, тебя Юнион поправляет, что в хуке допущена ошибка. Левое значение, то бишь &zCVob::Render, имеет соглашение о вызовах __fastcall, а правое, &zCVob::RenderUnion, - __thiscall. Это значит, что твоя функция не советует движковой. Добавить фасткал к своей функции.

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

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.614
Благодарности
6.224
Баллы
940
Добавишь возможность, чтобы модеры могли запрещать работу каких-либо плагинов?
В Ninja такая вещь
В файле modname.ini добавляем переменную
IncompatibleNinjaPatches =
И пишем названия патчей, которые не должны работать в моде.
Делается в целях безопасности (Просто такое может уже быть в моде) ну и баланса, некоторые разрабы просто не хотят, чтобы какой-то плагин работал в их моде.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
N1kX, да понятно что неплохо иметь такое. Но инишник неэффективен, и к определенному моменту обязательно станет неактуальным. Нужно смотреть что-то в сторону классификаций, типа Системные плагины, Сюжетные плагины, Игровая механика и прочее. Соответственно в каждый плагин просто добавляются флаги, определяя - что плагин из себя представляет. И далее в моде указывать фильтр разрешенных-запрещенных.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.278
Благодарности
2.626
Баллы
455
Я бы хотел вариант для каждого плагина константу в скриптах запрещающую использование конкретного плагина в независимости от настроек в ini.
Например zPluginName_ForceDisabled = TRUE;
Еще было бы неплохо иметь в скриптах белый список разрешенных плагинов, и (или) черных список запрещенных.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.614
Благодарности
6.224
Баллы
940
С константой самое то. Пусть плагин сам парсит скрипты, если находит нужную переменную смотрит на её состояние, а там уже вкл/выкл.
Чтобы через GVE не правили тип пусть будет const int, 0/1
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
Устареет константа. Появятся новые плагины, не прописанные в моде. И дальше что тогда?
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.614
Благодарности
6.224
Баллы
940
Ну с классификаторами тоже беда. Новые моды могут и сделают такой белый/черный список, а старые моды лишены этого.
Я к чему это завел, на нем форуме вовсю ругаются на создателей плагинов, которые рушат или затрагивают баланс игры. В ещё одной редакции В2, автор просто выключил показ положения ГГ на картах, чтобы не работали помощники по предметам... Бред же.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
N1kX, ну если уж говорить о предпочтениях пользователей, если они хотят, допустим, поставить розовых пони вместо драконов, то это их личное дело, так как такого юзера ты не переубедишь своими авторскими взглядами на мод. Ведь для него автор - быдло, у которого нет вкуса и вообще `че он лезет в его личное пространство`.
И поскольку каждый ставит то, что по его личному мнению считается нужным, классификатор даст понять игроку, как тот или иной плагин может повлиять на восприятие игры. МОЖНО сделать тупой блек лист и спамить туда конкретными плагинами, но мне хочется подойти к этому инженерно, чтобы удовлетворить обе стороны конфликта.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.278
Благодарности
2.626
Баллы
455
Устареет константа. Появятся новые плагины, не прописанные в моде. И дальше что тогда?
По умолчанию то он будет разрешен, а дальше проблемы автора мода, захочет поддерживать - добавит новые блокирующие константы в скрипты, нет - плагин просто будет работать как по умолчанию разрешенный.
Приоритет в решении, какие плагины вредны для мода я думаю должны быть у автора мода :)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
Myxomop, если мне запретят сейв зоны, ссылаясь на порчу игрового баланса, я просто дропну такой мод :) Поэтому думаю вводить надо не Да и Нет, а Да, Нет и Возможно, где:
- Категоричное Нет - запрет использования плагина при любых условиях. Вводится тогда, когда мод может быть поломан в кашу плагинами, безбожно ломающими столпы, на который держится проект.
- Порицающее Возможно - плагины, которые МОГУТ повлиять на баланс, восприятие или другие факторы, но если ты очень хочешь, то вот тебе подзатыльник и иди играй в свои плагины.
- Одобрительное Да - мод разрешает и поощряет использование плагина, ведь твоё прекрасное чувство вкуса совпадает с авторским.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.278
Благодарности
2.626
Баллы
455
если мне запретят сейв зоны, ссылаясь на порчу игрового баланса, я просто дропну такой мод :)
В теме плагина сейвзон я просил определять его наличие скриптами, чтобы можно было навешивать особые условия или включать его на особых уровнях сложности с возможными дополнительными плюшками.
По остальным пунктам тут на твое усмотрение.
И если не будет нормальных инструментов взаимодействия, всегда будут искать обходные пути на костылях :D
 

R8MAN

Участник форума
Регистрация
3 Окт 2017
Сообщения
108
Благодарности
26
Баллы
175
Очень смешно читать как вы хотите запретить людям ставить плагины. В мультиплеерных играх это может быть оправдано, потому что читы/софт для упрощения игры и т.д. делают хуже другим игрокам. Но готика это сингловая игра, от того что кто-то поставит плагин, упрощающий игру, вам от этого хуже не станет.
Давайте лучше поговорим о насущных проблемах, например о поддержке многоядерности в игре) Есть ли какие-то продвижения в этом деле?
(Сорян если я постоянно об этом напоминаю, просто реально не могу в готику играть из-за того что одно ядро не вывозит)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.440
Благодарности
4.791
Баллы
625
вам от этого хуже не станет.
Станет. Как там говорят - художника может обидеть каждый. У авторов модов люто начинает припекать задницу, если что-то идет не по их задумке :D Разве можно портить шедевры какими-то там плагинами?)

(Сорян если я постоянно об этом напоминаю, просто реально не могу в готику играть из-за того что одно ядро не вывозит)
Купи процессор нормальный *sorry*
 

R8MAN

Участник форума
Регистрация
3 Окт 2017
Сообщения
108
Благодарности
26
Баллы
175
Gratt, да нормальный вроде, рязань 1600х. Я еще на 4600 менять собираюсь как он выйдет, но там разница в производительности не такая критическая чтобы что-то кардинально изменилось.
 
Сверху Снизу