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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Не стесняюсь спросить....

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Спасибо MaGoth и cool_er, замена названия функции на большие буквы сделало нужный эффект. Теперь всё зациклено работает.
На будущее, правило которое стоит заучить наизусть..
- Все что передается аргументами в функциях, будь то переменная, название функции или ещё что, и при этом явно используется в Спейсере(название функций, любых скриптов, WP/FP и т.д.., обязательно должно быть указано в виде ПРОПИСНЫХ, это-же касается фаз анимации и многого другого в игре.
Для всех Готик *.ехе это не важно, а вот для Спейсера ещё как важно, он регистро-зависимый.
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Добрый вечер. Такое возможно реализовать. Мне нужно, чтобы если ГГ пытается одевать бронь у неё требование к силе в 10 раз вырастали. А если другой любой NPC одевает, чтобы было равно 60.
Но как сиё прописать?
В броне только две строчки:

cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 60;

Значение требования силы можно менять после того как в броне прописан данный параметр?
Назначать требования по силе через var int kyrt толку не дало. ГГ даже с 10 силы можно доспех одевать. Как можно реализовать, чтобы для ГГ было одно требование, для NPC второе?

Пришлось сделать через удаление XP, чтобы ГГ эту бронь не мог одевать.
 
Последнее редактирование:

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.169
Баллы
340
Мне нужно, чтобы если ГГ пытается одевать бронь у неё требование к силе в 10 раз вырастали. А если другой любой NPC одевает, чтобы было равно 60.
Но как сиё прописать?
Зачем вообще такие извращения? Готика это же не ТЕС, где доспехи всякие разные на каждом углу валяются. В готике получение доспехов жестко регулируется и доспехи выдаются в единственном экземпляре. Так почему бы просто не сделать отдельную инстанцию брони конкретно для ГГ и прописать там какие нужно характеристики и требования? Всех остальных неписей рядить в стандартные броньки.
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Зачем вообще такие извращения? Готика это же не ТЕС, где доспехи всякие разные на каждом углу валяются. В готике получение доспехов жестко регулируется и доспехи выдаются в единственном экземпляре. Так почему бы просто не сделать отдельную инстанцию брони конкретно для ГГ и прописать там какие нужно характеристики и требования? Всех остальных неписей рядить в стандартные броньки.

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

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

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Т.к. брони напарнику женщине и Курту игрок будет передавать, т.е. возможность одеть броню у игрока будет.
А зачем шмот передавать напрямую? Сделай просто предмет-болванку ITEM_KAT_NONE, обзови "бронелифчиком" и в диалоге передавай напарнице эту болванку. Параллельно с передачей болванки в скрипте пропиши создание нормальной брони у NPC-напарницы, которую она будет носить.
В зависимости от того, какую болванку ты передал, у NPC other будет создаваться нужная броня: проверку на это не трудно сделать (бронелифчик, усиленный бронелифчик и т.д.)
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
А зачем шмот передавать напрямую? Сделай просто предмет-болванку ITEM_KAT_NONE, обзови "бронелифчиком" и в диалоге передавай напарнице эту болванку. Параллельно с передачей болванки в скрипте пропиши создание нормальной брони у NPC-напарницы, которую она будет носить.
В зависимости от того, какую болванку ты передал, у NPC other будет создаваться нужная броня: проверку на это не трудно сделать (бронелифчик, усиленный бронелифчик и т.д.)

Всё хорошо придумано. Спасибо за вариант. Но как после забирать у напарников, второй меч, второй пояс, вторую бронь и т.д. Ведь нужно, как вариант отдавать, так и вариант забирать. Игрок это не бездонный мешок денег и лишние брони можно у напарников изымать и продавать, чтобы компенсировать расходы на приобретение новой брони, пояса, меча и т.д. (Т.к. через квесты игрок может достать брони и пояса для своих напарников. Купить для напарников игрок может только оружие. Проще заблокировать определённые предметы, чтобы ГГ их не мог использовать и данный вариант меньше увеличит скриптовую массу мода)

И так во время модифицирования https://worldofplayers.ru/threads/31401/#post-440054 кода нашёлся глюк, даже не известно в чём заключающийся. Обычный код Мухомора работает в 18 медленнее по минутам, чем часы Пираний и в 10 раз медленнее по часам, чем часы Пираний. После оптимизации скорости, когда скорость работы функции Мухомора стала работать со скоростью работы часов Пираний в полночь наблюдается мелкий баг, в разное время происходит задержка срабатывания на 1-2 такта функции в частности вывода информации на экран (внутри функция работает без задержки). Что на это влияет после 8 часов модифицирования и настроек, не удалось обнаружить. (Полной синхронной работы функции Мухомора с часами Пираний не реализовать без атомарных часов и переделки движка, чтобы он мог работать с числами после точки (если в Spacer использовать не целые числа в параметре fireDelaySec: ровно одно срабатывание Trigger-Script идёт))
 
Последнее редактирование:

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Обычный код Мухомора работает в 18 медленнее по минутам, чем часы Пираний и в 10 раз медленнее по часам, чем часы Пираний.
Так может у вас триггер работает в 18 раз медленнее рекомендуемых значений? *facepalm*

После оптимизации скорости, когда скорость работы функции Мухомора стала работать со скоростью работы часов Пираний
Ускорили триггер? :D

(Полной синхронной работы функции Мухомора с часами Пираний не реализовать без атомарных часов и переделки движка, чтобы он мог работать с числами после точки (если в Spacer использовать не целые числа в параметре fireDelaySec: ровно одно срабатывание Trigger-Script идёт))
Разница между реальными часами игры и временем отображения на экране в 1 секунду в игрушке так принципиальна что нужно изменять движок?
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Так может у вас триггер работает в 18 раз медленнее рекомендуемых значений? *facepalm*


Ускорили триггер? :D


Разница между реальными часами игры и временем отображения на экране в 1 секунду в игрушке так принципиальна что нужно изменять движок?

В 18 раз медленнее рекомендуемых значений при скорости срабатывания каждую секунду. Стандартный код Мухомора работает. (лишнее определение сколько сейчас часов в коде Мухомора. Если знать во сколько начинается часов игра, до какого времени игрок спит, в какое время на какой локации будешь появляться, это можно использовать как отправную точку и не нужно перебирать часы, чтобы час узнать).
И минус который не могу исправить, если загрузить игру на новых часах на 15-20 секунд игрового времени раньше сработает положенного времени добавить 1 минуту и рассинхрон будет работать до того времени как спать ГГ пойдёт. (Т.к. скрипт в Spacer срабатывает в туже секунду, что и происходит загрузка, вместо того, чтобы подождать ещё 3 секунды)
Сейчас при скорости срабатывания каждые 4 секунды работает более менее точно, но есть погрешность в менее игровую минуту каждый час.
Как выставить параметры больше 4 и меньше 5 при ограничении использовать только целые числа, подскажи пожалуйста Мухомор-сан. ((под ???? спрятаны числа после точки т.е. не целые) если чисто оставить 4 за 60 минут игровых погрешность на 3.????? минуты игровых будет спешить, если поставить через 5 будет на 6.???? минуты игровых отставать от игрового времени) (примерно удалось погрешность блокировать до несколько игровых минут за 24 часа подряд работы игры, точнее нельзя без разрешительных инструкций для использования не целых чисел и для точной выверки нужны атомарные часы т.к. они единственные могут настолько точно вывести разницу, чтобы до 10 знака после точки вычислить значение)

Ещё вопрос: у триггера respondToObject это реакция на любой объект или на определённый объект по instance-коду?

И второй вопрос: мне нужно, чтобы когда ГГ приближается к триггеру перехода с локации на локацию - примерно за 300 игровых единиц, должна срабатывать проверка (если с ГГ кто-то сейчас находится в группе, то этот персонаж из группы выходит и отправляется на точку где стоит и ждёт ГГ)
Где проверять, это скриптовая зацикленная функция при помощи Trigger-Script. Но вот как будет выглядеть код, не могу представить...

Upd: Если в функцию следования добавить поиск ближайших waypoint и freepoint, тогда можно будет указать ближайший к триггеру перехода waypoint и freepoint как точку, если она попадает в зону следующего за игроком NPC. Происходит стоп и отмена команды follow. (попытаюсь через такой вариант реализовать: Npc_GetDistToWP(self,"NW_TAVERNE_IN_RANGERMEETING_LARES") > 200)

Если кто-то знает, как возможно по иному реализовать. Прошу пожалуйста поделиться опытом.

Upd 16.08.2015: через подобный триггер удалось сделать запрет для следующих за ГГ персонажам выполнять команду follow. Если бы кто-то описал подобный триггер-скрипт и мне не понадобилось более 4 часов на поиски решений. Т.к. варианта было три, сразу производить проверку через Npc_GetDistToWP в функции Follow, через серию точек waypoint которые создают общую прошадь перехвата и через триггер-перехват.
Настройка перехватчика.jpg

Вопрос 3: Возможно ли реализовать, чтобы при каждом повышении левела ГГ, пересчитывались параметры всех существ которые есть в игре. По сути мне нужно, у ГГ повысился левел и у каждого существа изменялись attribute[ATR_STRENGTH], attribute[ATR_DEXTERITY], attribute[ATR_HITPOINTS_MAX], attribute[ATR_HITPOINTS]

Но как поставить, чтобы игра различала кому какие параметры и на сколько изменить ? (Но реализация на оригинальных скриптах нужна)

Upd: Вариант реализации через скрипты, без костылей уже найден. Спасибо за помощь в отсеивании вариантов MaGoth.
 
Последнее редактирование:

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
После сохранения в Спейсере Зена старой шахты почему то у большинства бочек отключились опции cdDyn и cdStatic из за этого они стали лишь визуалами сквозь них проходит гг, ещё заметил хрень , что когда раб орков использует моб , тот что рядом с вайпером, то гг тоже сквозь него ходит. Если моб не используется то все нормально..... Это ошибки спейсера или зависит от компа и системы?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
После сохранения в Спейсере Зена старой шахты почему то у большинства бочек отключились опции cdDyn и cdStatic
Ты уверен, что так не было ДО сохранения?

когда раб орков использует моб , тот что рядом с вайпером, то гг тоже сквозь него ходит

Это особенность движка. У используемого объекта отключается контроль коллизий. Делается это, чтобы поверхность объекта не мешала выполнению анимаций взаимодействующего с ним непися. Но и для всех остальных, для ГГ, например, объект становится прозрачным. Камрад Керракс как-то это дело изменял в проекте GothicEngine.
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
Ты уверен, что так не было ДО сохранения?



Это особЕнность движка. У используемого объекта отключается контроль коллизий. Делается это, чтобы поверхность объекта не мешала выполнению анимаций взаимодействующего с ним непися. Но и для всех остальных, для ГГ, например, объект становится прозрачным. Камрад Керракс как-то это дело изменял в проекте GothicEngine.
Не совсем уверен, однако у меня уже было такое в world.zen, вроде после компиляции все эти глюки.... Еще освещение слетело, Хотя вроде light vob присутствуют
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
А та свет скомпилировал? Если открываешь ЗЕН, как нескомпилированный, то после компиляции мира нужно скомпилировать свет.
Разумеется, но в оутдоор, у меня проблема света внутри помещений, там очень тёмно. А ещё у меня баг с новым лагерем, вся поверхность меша нового лагеря какая то яркая и ночью как бы отражает свет, вот это вообще глюк непонятный
 

Fclick

Участник форума
Регистрация
20 Авг 2015
Сообщения
4
Благодарности
0
Баллы
150
Пожалуйста помогите умоляю вас, недавно начал работать в спейсере, через gothicvdfs создал OLDWORLD ADDON и NEWWORLD ,а также meshes.

Преступил непосредственно к созданию своих объектов в спейсере, но когда создаю объект пересохраняю newworld.zen на newworld.zen, захожу заного в спейсер загружаю newworld.zen уже ничего нету что я создавал, что делать подскажите?
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
Пожалуй самая большая загадка магии в Готике 1.
Быть может кто то знает что это за руна?:oops: Я спрашивал много людей, никто среди них не ответил на этот вопрос
 

Вложения

  • Таинственная руна.jpg
    Таинственная руна.jpg
    186,6 KB · Просмотры: 188

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Последнее редактирование:

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
insert PC_Rockefeller
у него по поему она есть
только к мордострою твой вопрос не относится
Вы правы, но этой руны нет не только у рокфелера, но даже в Artefacts.d
Ее вообще нет в скриптах, только лишь модель меша и всё! Так всё таки , может кто знает название и действие этой руны?
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Какая еще руна? Если художник, рисуя текстуру, забомбил разные варианты оформления рун, это еще не значит, что все эти скины были задействованы в игре.
Нравится картинка - гоу-гоу делать свой мод с руной, носящей этот скин.
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
Какая еще руна? Если художник, забомбил разные варианты оформления рун, это еще не значит, что все эти скины были задействованы в игре.
Нравится картинка - гоу-гоу делать свой мод с руной, носящей этот скин.
Руну то теперь для меня сделать не проблема, мне хочется сделать ее максимально качественнно. Для этого желательно знать что Пираньи хотели сделать под этой руной, я не имею ни малейшего представления что она могла делать и как называлась, боюсь ошибиться и сделать действие не то как планировали пираньи
 
Сверху Снизу