Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
У меня ведь в моде есть напарники и волкодав. А без aivar[AIV_PARTYMEMBER] = TRUE готика не умеет определять, NPC входит в группу ГГ или нет и нужно ли очки опыта за убийство монстров и т.д. начислять ГГ.
Целое, целочисленный тип данных (англ. Integer), в информатике — один из простейших и самых распространённых типов данных в языках программирования. Служит для представления целых чисел. - Основу сначала изучи, после меня носом просьба тыкать.
Мне сказали "скриптовой функции типа int" а раз скриптовая функция возвращающая TRUE или FALSE (1 или 0) = значит мы имеем число.
Ну так реализуй и после скажешь, у тебя будет работать или нет?
У меня работает, если тупо открыть дверь и идёт диалог. Если закрытая дверь через triggerTarget не работает, работает conditionFunc (но дверь после этого перестаёт работать, а компилятор не даёт возвращать состояние "Примечание: Скриптовая функция возвращающая TRUE или FALSE (1 или 0).")
Согласно немецкому форуму forum.worldofplayers.de и evt_monastery_secretlibrary_s1.d - мне нужно знать переменную, чтобы ей возвращать значение 1 или 0.
А теперь снова возвращаемся, кто описал какую переменную использует движок когда работает с запертыми дверями? (От меня игра требует, укажи переменную которую использует движок игры. А она у меня есть? Кто-то за 15 лет её описал?)
Если conditionFunc оставлять пустой, то движок автоматически использует переменную которой присваивает значение 1 или 0. Чтобы реализовать разговор с закрытыми дверями и чтобы после двери работали, мне нужно название переменной которую использует по умолчанию движок игры при работе с любыми закрытыми дверями.
Вот и ясно, почему у тебя скриптёров нету (сам толком не понимаешь всего и других поучаешь)
Вот когда у меня будет 10-15 скриптёров, тогда и будет всё делаться не заранее.
Когда (точнее, не "когда", а "если", а значит "никогда") у тебя будет 10-15 "скриптёров", тогда они, наконец, сделают за тебя твою работу и реализуют открывание-закрывание дверей. Поскольку ты придумываешь причины "почему этого нельзя реализовать", вместо того, чтобы просто сделать. Ты ждешь, что кто-то за тебя тут все напишет? Напрасно ждешь. Здесь у всех хватает своих задач.
Если не можешь реализовать открытие и закрытие дверей, значит вноси изменения в сценарий. Или твой "сценарист" таков же, каков из тебя "программист"? Ну тогда не морочь людям голову. Займись чем-нибудь попроще.
PS: Что же до "изучения основ", то я их начал изучать в 1978 году. А в 1982 году у меня уже были внедрения. Причем в очень серьезное производство.
Начинаю сомневаться в своей адекватности. Или в твоей.
Делаешь так:
Код:
var int HeroTriedTheDoor;
func int MySuperDoor_ConditionFunc()
if(диалог не состоялся)
{
HeroTriedTheDoor = TRUE; // Значение переменной проверяется в условии диалога.
return FALSE;
};
return TRUE;
};
Пример приведён ИСКЛЮЧИТЕЛЬНО для демонстрации идеи. Поскольку телепатией я не владею, мне не ведомо, как ты назовёшь у себя в моде функции и переменные. Если у тебя в свойствах двери прописано "REM", то функция в скриптах должна быть:
func int REM()
или
func int Rem()
или
func int rem()
Начинаю сомневаться в своей адекватности. Или в твоей.
Делаешь так:
Код:
var int HeroTriedTheDoor;
func int MySuperDoor_ConditionFunc()
if(диалог не состоялся)
{
HeroTriedTheDoor = TRUE; // Значение переменной проверяется в условии диалога.
return FALSE;
};
return TRUE;
};
Если было действие, должна идти проверка Wld_IsTime (какое сейчас время) т.к. у меня 2 NPC (не 1 дибил стоящий за дверями 365 дней в году без сна)
Если оба выше условия совпали, то передвигаем нужный NPC
AI_GotoWP(нужный NPC,"WOROTO08");
Npc_ExchangeRoutine(нужный NPC,"GOBL");
мы передвигаем NPC подходящего по времени к точке возле дверей и меняем ему распорядок дня (стоять возле двери)
Далее проверяем в диалоге, было ли действия с дверями и был ли активирован нужный квест:
Если совпадают оба условия = диалог 2
Если совпадает условие (действие с дверями) = диалог 1
Теперь как в REM прописать условие? (от чего оно будет зависеть)
У меня один вариант: из скриптов обращаться к движку с вопросом "были ли действие с дверью" и как такое прописать?
onStateFunc служит только для 2 вариантов открыта или закрыта дверь.
А тут нужна проверка, есть ли ключ у ГГ, но реакции на такое нету
если прописать в useWithItem предмет, при наличии которого будет получена реакция - то мы можем получить только 1 вариант: есть предмет = есть реакция, нет предмета = нет реакции.
У меня нужно чисто получить значение = было ли обращение к дверям.
(Человеческий пример = нужно получить значение было ли обращение к ручке двери, её пытались повернуть или нет)
Движок получает информацию было ли обращение к ручке двери, но на уровень скриптов эта информация не попадает. Вчера мною спрашивалось, как этот факт можно обойти.
Теперь Георгию нужно переписать диалоги т.к. они были задуманы на разговор через закрытую дверь. Сейчас работает, если игрок открывает дверь и ему на встречу выбегает стражник и начинает диалог.
У меня ведь в моде есть напарники и волкодав. А без aivar[AIV_PARTYMEMBER] = TRUE готика не умеет определять, NPC входит в группу ГГ или нет и нужно ли очки опыта за убийство монстров и т.д. начислять ГГ.
О каком действии речь? Ты имеешь в виду выполнение некой анимации, мол, ГГ подошёл к двери и протянул руку к ручке? Какие-либо манипуляции около двери происходят только если она открывается отмычками. При открывании двери, запертой на ключ, дополнительная возня не предусмотрена.
Кондишн-функция вызывается в момент, когда ГГ подходит к двери, берёт её в фокус, а игрок нажимает ЛКМ. Если функция вернула 1, взаимодействие с дверью разрешено, но это не означает, что оно произойдёт. Далее, если дверь заперта, следуют проверки на наличие ключа и/или отмычки в инвентаре ГГ. Их производит движок. Разумеется, инстанция ключа и/или код для отмычки должны быть прописаны свойствах двери. В Г2 также следует проверка на наличие навыка взлома в случае, если дверь открывается отмычками.
Кстати. Дверь может быть закрыта одновременно на ключ и иметь код для открытия отмычкой. Если в коде для отмычки встречается неправильный символ (не "L" и не "R"), то открыть её отмычкой будет невозможно, но это можно попытаться использовать для имитации взаимодействия с дверью.
О каком действии речь? Ты имеешь в виду выполнение некой анимации, мол, ГГ подошёл к двери и протянул руку к ручке? Какие-либо манипуляции около двери происходят только если она открывается отмычками. При открывании двери, запертой на ключ, дополнительная возня не предусмотрена.
Кондишн-функция вызывается в момент, когда ГГ подходит к двери, берёт её в фокус, а игрок нажимает ЛКМ. Если функция вернула 1, взаимодействие с дверью разрешено, но это не означает, что оно произойдёт. Далее, если дверь заперта, следуют проверки на наличие ключа и/или отмычки в инвентаре ГГ. Их производит движок. Разумеется, инстанция ключа и/или код для отмычки должны быть прописаны свойствах двери. В Г2 также следует проверка на наличие навыка взлома в случае, если дверь открывается отмычками.
Кстати. Дверь может быть закрыта одновременно на ключ и иметь код для открытия отмычкой. Если в коде для отмычки встречается неправильный символ (не "L" и не "R"), то открыть её отмычкой будет невозможно, но это можно попытаться использовать для имитации взаимодействия с дверью.
Если функция вернула 1, взаимодействие с дверью разрешено - Хорошо.
Теперь вопрос, куда и в какую переменную по-умолчанию функция conditionFunc вернула 1 или 0? (чтобы уже по-умолчанию использовать функцию conditionFunc)
Мне нужно знать её название, чтобы на неё завязать проверку (было действие с дверью) и далее у меня будет активироваться вся последовательность действий.
P.S. conditionFunc (название функции) не прописано ни на одной из оригинальных карт - conditionFunc (без названия функции) использует по-умолчанию.
Если ставится своя функция, вместо по-умолчанию conditionFunc нужно повторять всё, что делает движок т.е. Если функция вернула 1, взаимодействие с дверью разрешено, но это не означает, что оно произойдёт. Далее, если дверь заперта, следуют проверки на наличие ключа и/или отмычки в инвентаре ГГ. Все действия выше указанные теперь должна произвести новая функция пользователя.
1. Предоставь доказательства, что у тебя были какие-то наработки или достижения.
2. Предоставь код (скрипты) как NPC у тебя открывают двери.
В оригинальных скриптах об открывании дверей нет и слова (т.к. первое где должно было быть указано это в ZS_RunToWP.d т.к. при встрече с дверями NPC их открывают).
Т.к. движок "закрывает" все двери на загруженной локации, а на деле переводит все двери в исходное состояние.
У Нас гений разобравший и собравший движок Готики 2 появился.
она довольно проста:
разбери штук 5-6 разновидных модов, посмотри чем отличаются, как реализованы и.... собери новый из всех 5-6...
ГлобалМод именно так и собирался.
Господин Лебедев, прошу прощения, что вмешиваюсь в чужую беседу, но...Вам не кажется, что Вы слишком наглеете? Здесь никто никому ничего не должен. И в ультимативной форме что-то требовать - это моветон. Вы приходите сюда за ответами на свои вопросы - будьте вежливы и предупредительны. Ибо это Вам нужно получить ответы на вопросы, а не нам. Но учитывая Ваш подход к делу и постоянные наезды на тех, кто хоть как-то пытается Вам помочь (не готовым кодом, а именно попытками пробудить Ваш собственный интеллект), я думаю Вы скоро будете вопрошать в пустоту.
Смиритесь и пропускайте мимо ушей опусы господина Лебедева, зато от других уважаемых камрадов с 80 уровнем терпения можно почерпнуть много полезной информации
А вообще чтобы не засирать эту ветку хорошо бы создать отдельную "Вопросы Лебедева по модостроению" для самых терпеливых
Уважаемые модостроители, не подскажете ли, что нужно сделать, чтобы удалить световые эффекты при взятии заклинания и руны "копье спящего" в возвращении 1.1 и ребалансах. Уж очень сильно они мешают при игре с DX11, а еще и ФПС сажают. Заранее спасибо.
Уважаемые модостроители, не подскажете ли, что нужно сделать, чтобы удалить световые эффекты при взятии заклинания и руны "копье спящего" в возвращении 1.1 и ребалансах. Уж очень сильно они мешают при игре с DX11, а еще и ФПС сажают. Заранее спасибо.
Теперь вопрос, куда и в какую переменную по-умолчанию функция conditionFunc вернула 1 или 0? (чтобы уже по-умолчанию использовать функцию conditionFunc)
Мне нужно знать её название, чтобы на неё завязать проверку (было действие с дверью) и далее у меня будет активироваться вся последовательность действий.
Поскольку твоя функция прописана в скриптах, ты можешь использовать её в необходимых тебе целях, просто проверив её значение в условии.
Никакой "conditionFunc по-умолчанию" не существует. Если в свойствах объекта ничего не прописано, то движок в скриптах ничего не ищет. Если прописано допустимое название функции, то движок будет искать ИМЕННО её и ТОЛЬКО её.
Не знаю, поможете, нет. В общем столкнулся с такой проблемой:
Захотел сделать в готику индикатор времени. Написал функцию для него, Поставил триггер в Хоринисе назвал его B_TIME, прописал в инициализацию мира, и закольцевал с обоих сторон. Но почему то индикатор времени на экране после загрузки появляется лишь на 2 секунды потом исчезает. Подскажите, может быть что то я не так сделал. Функцию на перебор времени брал отсюда, только вот с какой страницы не запомнил.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.