Здравствуйте! После публикации моего исправления у Магнума появилась мысль, что фикс можно пришить к новой версии, если он не будет конфликтовать, и его структуру подогнать к стандартам платформы SFW. У меня на этот счёт так-же появились дополнительные мысли.
Значит вот процитирую сообщение, о том, как работает мой скрипт:
QST/MISC: BooksToCapsITEM
scn BooksToCaps
array_var PrewarBookID
ref rBook
int BookTempCount
Begin OnAdd Player
foreach PrewarBookID <- (GetListForms aaaSFWBooksFormList)
let rBook := *PrewarBookID
set BookTempCount to Player.GetItemCount rBook
If BookTempCount > 0
Player.RemoveItem rBook BookTempCount ;1
Player.AddItem aaaSFW10XpRewardItem1 (BookTempCount * 10) ;1
EndIf
loop
set BookTempCount to Player.GetItemCount SFWBookGeneric450
If BookTempCount > 0
Player.RemoveItem SFWBookGeneric450 BookTempCount ;1
Player.AddItem f (BookTempCount * 450) ;1
EndIf
set BookTempCount to Player.GetItemCount SFWBookGeneric725
If BookTempCount > 0
Player.RemoveItem SFWBookGeneric725 BookTempCount ;1
Player.AddItem f (BookTempCount * 725) ;1
EndIf
set BookTempCount to Player.GetItemCount SFWBookGeneric1000
If BookTempCount > 0
Player.RemoveItem SFWBookGeneric1000 BookTempCount ;1
Player.AddItem f (BookTempCount * 1000) ;1
EndIf
Player.RemoveItem BooksToCapsITEM 1 1
End
Тоесть процедура замены запускается добавленным предметом, и она состоит из цикла на список из 17 книг и обычных Ифов для 3 особенных книг. Я не разобрался пока как вернуть 2 ответа, чтобы на них распределить всё логичнее. Но как видно, конфликтов быть не должно.
Я не пытался уничтожить существующую систему, а всего-лишь её обошёл немножко
Если подшивать, то наверное нужно переименовать все записи в стандарт SFW, и учесть, что сфв-шный список книг (который вообще не использовался) был расширен книгами-копиями и был задействован в цикле как массив
Ещё возможно стоит восстановить 2 ветки ответов в вид "Забирай все обычные книги" и "У меня для тебя есть особые книги" (тоесть текст ответов переименовать, а писец будет отвечать типа "молодец, вот твоя награда") - в случае такой структуры диалога скрипт можно разделить на два маленьких.
======
Можно циклом обрабатывать оригинальные числовые реплики продажи Fallout 3, Например "Я ПРОДАМ 5 КНИГ" (ПСЕВДОКОД)
foreach ...
If PreviousCount == 0
set PreviousCount to 5
EndIf
If GetItemCount BOOKID >= PreviousCount
set Count to PreviousCount
Else
set Count to GetItemCount BOOKID
EndIf
<ПРОДАТЬ Count>
PreviousCount = (PreviousCount - Count)
If PreviousCount == 0
Break
EndIf
loop
Для каждой количественной реплики только цифру 5 нужно менять на необходимую.
Везде я предлагаю одинаковый принцип: Диалог пишет глобальную переменную с числом книг (или токен) и добавляет игроку заскриптованный предмет. Таким образом мы можем избежать дублей скрипта, постоянной высокой нагрузки, и снять ограничения на количество скриптовых строк
======
КОРОЧЕ, вся эта химия со списками, массивами и счётчиками позволяет обрабатывать ворох книг Вегаса в "Ванилла-Стайл" Fallout 3... либо тупо моментально продавать все книги без разбора.
ЗАЧЕМ? ПРИЧИНЫ? - Система рецептов как-то странно взаимодействует с улучшенными скриптами повторяющегося книжного квеста, что когда вы на верстаке сделаете тысячу книг и соберёте столько-же автолутом, то продажи просто зависнут, как-будто у вас нету книг вообще.
Здравствуйте! После публикации моего исправления у Магнума появилась мысль, что фикс можно пришить к новой версии, если он не будет конфликтовать, и его структуру подогнать к стандартам платформы SFW. У меня на этот счёт так-же появились дополнительные мысли.
Значит вот процитирую сообщение, о том, как работает мой скрипт:
Тоесть процедура замены запускается добавленным предметом, и она состоит из цикла на список из 17 книг и обычных Ифов для 3 особенных книг. Я не разобрался пока как вернуть 2 ответа, чтобы на них распределить всё логичнее. Но как видно, конфликтов быть не должно.
Я не пытался уничтожить существующую систему, а всего-лишь её обошёл немножко
Если подшивать, то наверное нужно переименовать все записи в стандарт SFW, и учесть, что сфв-шный список книг (который вообще не использовался) был расширен книгами-копиями и был задействован в цикле как массив
Ещё возможно стоит восстановить 2 ветки ответов в вид "Забирай все обычные книги" и "У меня для тебя есть особые книги" (тоесть текст ответов переименовать, а писец будет отвечать типа "молодец, вот твоя награда") - в случае такой структуры диалога скрипт можно разделить на два маленьких.
======
Можно циклом обрабатывать оригинальные числовые реплики продажи Fallout 3, Например "Я ПРОДАМ 5 КНИГ" (ПСЕВДОКОД)
Для каждой количественной реплики только цифру 5 нужно менять на необходимую.
Везде я предлагаю одинаковый принцип: Диалог пишет глобальную переменную с числом книг (или токен) и добавляет игроку заскриптованный предмет. Таким образом мы можем избежать дублей скрипта, постоянной высокой нагрузки, и снять ограничения на количество скриптовых строк
======
КОРОЧЕ, вся эта химия со списками, массивами и счётчиками позволяет обрабатывать ворох книг Вегаса в "Ванилла-Стайл" Fallout 3... либо тупо моментально продавать все книги без разбора.
ЗАЧЕМ? ПРИЧИНЫ? - Система рецептов как-то странно взаимодействует с улучшенными скриптами повторяющегося книжного квеста, что когда вы на верстаке сделаете тысячу книг и соберёте столько-же автолутом, то продажи просто зависнут, как-будто у вас нету книг вообще.
Поделиться сообщением
Ссылка на сообщение