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

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

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык

Вопросы по скриптингу

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.802
Баллы
995
  • Первое сообщение
  • #1
Прежде чем задавать вопросы, ознакомьтесь с документацией..
1) Читать онлайн
2) Архив с офлайн-версией(chm) во вложении
 

Вложения

  • Vam_tutor.rar
    171,6 KB · Просмотры: 511
Последнее редактирование модератором:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
нет, не понял ты. в скриптах стоит четкое условие - очистить инвентарь после избиения/убийства.
 

Vengeful_Blade

Участник форума
Регистрация
1 Фев 2015
Сообщения
13
Благодарности
1
Баллы
150
нет, не понял ты. в скриптах стоит четкое условие - очистить инвентарь после избиения/убийства.
Но если я не ошибаюсь, в аддоне Готика 2 Ночь Ворона после избиения торговца инвентарь очищается, НО после, восстанавливается обратно, разве не так?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
смотри в чем дело. чтобы инвентарь восстановить - надо для начала его куда-то запомнить, что методами скриптов невозможно. во всяком случае без кучки костылей в коде...
 

Vengeful_Blade

Участник форума
Регистрация
1 Фев 2015
Сообщения
13
Благодарности
1
Баллы
150
смотри в чем дело. чтобы инвентарь восстановить - надо для начала его куда-то запомнить, что методами скриптов невозможно. во всяком случае без кучки костылей в коде...
А "позаимствовать" из аддона Ночь Ворона или может подобная работа уже была проделана в фан модах, возможно? Или опять таки же будет слишком трудоемко?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
нет этого в аддоне. и делать такое нужно расширителем типа аст или икаруса
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.802
Баллы
995
нет этого в аддоне. и делать такое нужно расширителем типа аст или икаруса
В аддоне обновление инвентаря по главам шло, так вроде работало.. а то о чем ты пишешь естественно в Г2 нет..
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
В аддоне обновление инвентаря по главам шло, так вроде работало.. а то о чем ты пишешь естественно в Г2 нет..
речь немного не о том. восстанавливаться могут только те предметы, которые константно описаны скриптом. скупив лут и побив торговца, можно бесконечно фармить редкие вещи типа зелий силы и ловкости. такой вариант недопустим
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.802
Баллы
995
речь немного не о том. восстанавливаются только те предметы, которые константно описаны скриптом. скупив лут и побив торговца, можно бесконечно фармить редкие вещи типа зелий силы и ловкости. такой вариант недопустим
Это все понятно мне и тебе, а он не поймет и будет думать что обнова работает по факту указывая на оригинал, что естественно не так..
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
нет этого в аддоне. и делать такое нужно расширителем типа аст или икаруса

Зачем? Можно просто сгенерить новый товар по начальным условиям. Это же торговец. Ассортимент у него может обновляться.
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.007
Благодарности
516
Баллы
350
Зачем? Можно просто сгенерить новый товар по началным условиям. Это же торговец. Ассортимент у него может обновляться.

А разве это не выльется например купил (зелье силы к примеру) побил, сгенерил, купил побил и т.д
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
какое еще начальное условие
Нет под руками кода. Например, при старте каждой главы у персонажей генерится инвентарь. Кто мешает то же самое сделать после того, как его побили?

А разве это не выльется например купил (зелье силы к примеру) побил, сгенерил, купил побил и т.д

Как я понял, речь идет о том, что При побитии торговца, его инвентарь исчезает, потому ГГ ничего и не может присвоить. Если это так, то подобной опасности не существует.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Нет под руками кода. Например, при старте каждой главы у персонажей генерится инвентарь. Кто мешает то же самое сделать после того, как его побили?
потому что
скупив лут и побив торговца, можно бесконечно фармить вещи.

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

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
...это бестолковая попытка накопытить костыль, который по факту не имеет права существовать в виде скрипта. любое техническое решение обязано быть описано в движке.

В движке этого нет. И повлиять на это я не могу. А вот в скриптах это сделать - вполне.
 

Gratt


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

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Вопрос в том, зачем это нужно? Для начала бить торговца раз, а во вторых генерить ему инвентарь два... Имхо лишнее поощрение насилия и только *wrong*Я бы вообще сделал так, чтобы после затрещины от нас торговец вообще с нами более не торговал.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
не можешь - не берись. не сочти за грубось, но выдумывать обходные пути скриптом просто идиотизм со стороны многих мододелов.. они не для этого предназначены.
как я уже писал выше, для таких целей есть аст и икарус.

А я считаю, что способен того же результата добиться без этих "подпорок и костылей". Одними стандартными средствами. Там, что свое "не можешь - не берись" повторяй перед зеркалом. И тоже, не сочти за грубость...
 

Gratt


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

существует ряд так называемых внешних функций, которыми вы и пользуетесь. это функции, определенные внутри движка, где одна внешняя функция в скрипте - это множество операций внутри зенгина.

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

так вот на вскидку 3 наиболее верных способа вернуть состояние инвентаря к прежнему виду.
1. самый банальный и лично мне он не нравится. поскольку инвентарь - это класс, можно спокойно скопировать его в другой объект такого же типа, а затем без труда вернуть на место.
2. можно переадресовать инвентарь торговца в другой объект класса - то есть при открытии торгового диалога показывать не инвентарь персонажа, а сторонний контейнер, которым может являться что угодно - в том числе и какой-либо личный сундук.
3. можно определить внутри самого персонажа второй инвентарь, которым он сможет пользоваться при торговле.

если не затруднит, опиши, пожалуйста, свой план по автовосполнению содержимого стандартным набором внешних функций..
 

НастасьСанна

Участник форума
Регистрация
6 Дек 2012
Сообщения
351
Благодарности
521
Баллы
325
Кстати говоря, примерно так это и работает в Саге и Грибниках: у каждого торговца есть npc-дублер с инвентарем торговли. Во время диалога торговли они обмениваются инвентарем (перекидываются у казатели на список итемов). После завершения диалога - перекидываются обратно. Таким образом, у самого торговца есть только "личные" вещи. Помимо ограбления решает проблему, когда торговец экипирует проданное ему оружие.

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