Показать сообщение отдельно
Старый 11.03.2011, 23:57   #4203
Wandar

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Gothic 1, 2, 3: Технические вопросы

2Dimus:
Спасибо за сейв, он позволил кое-что прояснить. :)

Во-первых, я понял, почему у Милтена (а также Ватраса) при каждом начале разговора не увеличивается количество царского щавеля в продаже, несмотря на отсутствие защиты от повторной выдачи в файле B_GiveTradeInv_Milten_DI.d. Просто в файле B_GiveTradeInv.d, откуда уже и вызываются скрипты конкретных торговцев, есть ещё одна проверка if(slf.aivar[AIV_ChapterInv] <= Kapitel). А вот в скрипте B_ClearDeadTrader.d есть такая строчка Trader.aivar[AIV_ChapterInv] = Kapitel - 1;, что позволяет эту проверку проходить.

Во-вторых, переписал для проверки скрипт B_GiveTradeInv_Milten_DI.d так, как написано у меня в предыдущем спойлере. Проверил на выложенном сейве - всё работает. Только если уже до этого говорили с Милтеном, и у него сгенерился торговый инвентарь, то всё же получится выбить из него ОДИН лишний царский щавель, т.к. при прошлой генерации, естественно, переменная Milten_DI_ItemsGiven не инициализировалась, как нужно. Просто её ещё банально не было в скрипте. :) Если же начать новую игру, то всё будет работать, как нужно, и никаких лишних растений получить с Милтена таким варварским способом не получится.
Ответить с цитированием