Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Удачи!
Друзья, доброго времени суток!
Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря". Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных
Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
По желанию, аргументировать свой выбор можете в теме обсуждения голосования.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
func int B_GetGreatestPetzCrime - Возвращает значение.
func int B_SelectSpell - Возвращает значение.
func string B_BuildLearnString - Возвращает значение.
func int B_GetLearnCostTalent - Возвращает значение и т.д.
Имена функций начинающихся с С_ действительно используются если функция возвращает значение, также как и G-функции в общем вызываются движком.
B_InitGuildAttitudes - согласен. После первого ознакомления со всеми скриптами, почему-то отложилось в памяти, как движковая функция. Ну как говорится, не ошибается тот кто ничего не делает.
Гм, а мне кажется, что это разделение на B и C введено всего лишь для удобства ориентирования скриптера. C-функции обрабатываются компилятором раньше, чем B-функции, поэтому из B-функции можно вызывать C-функцию, а наоборот нельзя.
В чём именно ошибся? Вот комментарий к этой функции из G2MDK:
Код:
//////////////////////////////////////////////////////////////////////////
// B_RefreshArmor
// ==============
// Wird einmal pro Spieltag um 0 Uhr vom Code aufgerufen!
// Wurde früher genutzt, um NSCs die ihrer Rüstung beraubt wurden, wieder
// eine passende Rüstung dazuzuschummeln. Da der Spieler nun den NSCs
// nicht mehr die Rüstung abnehmen kann, ist diese Funktion leer.
//
// WICHTIG: Könnte aber zum Respawnen von irgendwelchen anderen Dingen
// benutzt werden!
//////////////////////////////////////////////////////////////////////////
Я так понял лучше работать с немецкими комментариями. Там подробнее описано. Все таки вызывается один раз за игровые сутки и может применяться для каких-либо своих целей. Вспомнил, что я на своем сайте переводил информацию по этой функции
Как я понял, тебя интересуют функции, вызываемые движком по заранее определённому названию. Попробуй заглянуть в экзешник с помощью HEX-редактора. Я так случайно в Г1 обнаружил среди известных мне названий функций одно неизвестное (G_NoKey), не задействованную, почему-то, в оригинальных скриптах функцию.
Да мне бы разобраться с тем что есть . Тем более что из языков программирования знаю только JavaScript и немного C#. HEX-редакторы пока для меня темный лес.
Не знаю по поводу других редакторов, а WinHEX, например, позволяет использовать, помимо шестнадцатиричного поиска, ещё и поиск фрагмента текста. Некоторые вещи в экзешнике могут быть найдены в текстовом виде. Когда-то качал редактор отсюда.
Не знаю по поводу других редакторов, а WinHEX, например, позволяет использовать, помимо шестнадцатиричного поиска, ещё и поиск фрагмента текста. Некоторые вещи в экзешнике могут быть найдены в текстовом виде. Когда-то качал редактор отсюда.
А также можно IDA Pro использовать. Функции показывает, даже дизассемблирует и HEX редактор тоже есть, можно даже патчить, и есть Hex-Rays, который делает что-то вроде псевдокода и легче понять что делает функция.
HEX редакторы это конечно хорошо, но пока я пытаюсь разобраться с тем что есть. Когда буду хорошо ориентироваться в коде Gothic, тогда может быть и можно будет перейти к чему-то более серьезному.
ты не научишься ориентироваться в коде дальше возможностей скрипта играясь только с ними. тебе бы движок показать с твоим энтузиазмом.. если сообразишь как там что работает, отпадет процентов 90 накопившихся вопросов
По этим функциям толковых описаний нет. Попробовал перевести с немецкого. Если где ошибся подскажите.
G_CanNotCast() - Вызывается когда ГГ пытается активировать руну при этом не имея нужного магического круга. Выводит сообщение "Слишком низкий магический круг для использования этой руны".
G_CanNotUse() - Вызывается когда ГГ пытается экипировать предмет, но его атрибуты (сила, ловкость, мана) не соответствуют требованиям предмета.
G_CanSteal() - Функция использовалась в G1 при осуществлении карманных краж.
G_PickLock() - Так понимаю функция вызываемая при взломе замков.
Если функция возвращает 1, то непися можно обворовать. Впрочем, движок сам по себе имеет ряд блокировок. Нельзя, например, обворовать непися, взаимодействующего с интерактивным объектом.
Вызывается с аргументами, в зависимости от значения которых в скриптах обрабатываются события: неправильная попытка + отмычка не сломалась, неправильная попытка + отмычка сломалась, правильная попытка + замок не открыт, правильная попытка + замок открыт.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.