Полная Версия: Самоделкин в FT
saurenc
Хотелось бы выделить немного времени о том, что возможно ли по рецептам найденным в пустошах или иных местах создавать: оружие, броню, медикаменты?
При этом нужны ингредиенты и интеллект
Такое наблюдалось в Fallout 3 и мод для Fallout 2 Самоделкин.
Grey
На данный момент проверена разве что схема с тегованными предметами, передаваемыми при определённых условиях от игрока, с возвратом после этого игроку другого, "результирующего" предмета. Схема одноразовая, но в каком-нибудь квесте изобразить крафт ей вполне можно.
На возможный вопрос "а ещё как-нибудь" — других вариантов на данный момент (лично мне, по край мере) НЕИЗВЕСТНО.
Hmt
Слишком много будет условий и проверок ... но в теории имеем (допустим):

1. тегованный верстак на (в) котором все будет происходить;
2. некий рецепт с указанием необходимых компонентов и скилов
(тут чем меньше будет пересечений с другими предметами, тем лучше);
3. +100500 ящиков со +100500 предметами крафта (тоже тегованное все);
4. скрипты с кучей проверок на соответствие с "рецептурой"
и универсальный на несовпадение ни с одним из вариантов (одна переменная);
5. + все это под системой аля "Диалоги OFM", причем многоуровневый
(много вложений по типу вещей), с пролистыванием вперед назад;

Это все вполне возможно, но подозреваю не приживется из-за сложности
диалоговой системы и количества строк скрипта.
Кстати все это желательно придумать на спец-локации "Мастерская", чтобы
не прописывать в каждую карту.
Можно еще сделать вместо верстака чувака (-ов) который (-е)
все крафтить будут — тогда "Город Мастеров" :)

А ведь зацепило ... надо подумать как все можно "зауниверсализировать",
чтобы "тупо-копированием" новые предметы для крафта добавлять в скрипт ...
saurenc
QUOTE
1. тегованный верстак на (в) котором все будет происходить;

Это хорошая идея!
Можно для начало минимизировать, сделать 2 рецепта первый на оружие, а второй на медицинский препарат. Допустим оружие создается на верстаке, мед средства в лаборантской. Получается для каждого стола своя система диалог?
Hmt
QUOTE
Получается для каждого стола своя система диалог?
Проблема не в количестве столов, а в том как "засечь" недостачу-пересдачу компонентов для крафта того или иного предмета,
не написав кода в 10000 строк :) Уповать на то, что игрок будет выкладывать 100% необходимого (не меньше, не больше) я бы не стал.
d_seven
Гляньте это, если не видели. Может, поможет обойтись без 100500 скриптов.
Buzzil
Но ведь там все те же 9000 скриптов. И даже варианты активации "самоделия" совпадают с описанными в данной теме.

Главной проблемой видится необходимость использования уникальных tagname для каждого компонента рецепта и собранного поделия. Т.е. для апгрейда пары пушек — все нормально, но делать из глины лечебные мази в количестве больше 1 — страх как много строк, одинаковые компоненты, которые не ложатся в стек, а забивают для себя отдельный слот в инвентаре и вообще.
Hmt
Первый вопрос заключается в том: "A что собственно крафтить ?"
Второй вопрос в том: "А как это собственно должно выглядеть ?"

Так как на уровне интерфейса ничего не выйдет и никто тут не поможет,
остается вариант с карточками, крафтерами или верстаками.
Если код делать по принципу диалога, то процесс добавления новых вещей
не такой уж и сложный — нужно просто заготовить "болванку"
(наподобие моего ClearScript на "100-200-...999" реплик).

Я думаю, что это вполне реализуемо — только вот надо ли ?
Это Fallout Tactics и тут соглашусь, что упор на втором слове ...
RPG не получается, ну не получается и все тут :(
Buzzil
Тэк-с, что-то я совсем туплю со скриптами перемещения предметов из карманов в карман.

Тем не менее обнаружилось неясное.

На карте:
- 5 объектов с тегом 'old-ar' (винтовка Гаранд),
- 5 объектов с тегом 'tools' (набор инструментов)
- 5 объектов с тегом 'ar' (винтовка М-14) (тэги объектов выставил и на карте и в EntEditor)
- 1 актер с тегом 'fixer' (чулувек)
- 5 вейпоинтов с тегом 'wp'

Все 'ar' ныкаем за границей карты, копипастим вейпоинт 'wp' и выносим их все, кроме второй копии, за границу карты. Вторую копию ставим у Фиксера. Тут момент мутный, ибо то работает, то нет. Но вроде бы именно второй вейпоинт будет считаться первым при перераспределении.

Т.к. не разобрался с тем как пихать в карманы объекты, пришлось писать шесть триггеров:
1) init:
CODE
Always
->
Set Var (fix,1)

2...6) Check 1...5:
CODE
Unit fixer has Exactly 1...5 itemtagged 'old-ar',
Unit fixer has Exactly 1...5 itemtagged 'tools',
Var (fix,1...5)
->
Move unit('ar' to 'wp'),
Set Var(fix,2...6)


В общем, если карманы 'fixer'а очищать, то можно обойтись одним preserve-триггером на проверку наличия по 1 шт необходимых предметов.

После того как 1 Гаранд и 1 тулкит попадают в карманы мистера Фиксера, 5 М-14 перемещаются к 5 вейпоинтам, при этом по одной М-14 к одному вейпоинту. Один из вейпоинтов ставим у игрока, остальные за картой.

Подбираем винтовку, возвращаемся к Фиксеру и вновь отдаем ему 1 Гаранд и 1 тулкит. Скрипт срабатывает и винтвоки вновь распределяются по вейпоинтам. И одна падает на вейпоинт у игрока (вроде бы вторая копия вейпоинта 'wp').

Вот такое кино. Если кому будет не лениво — проверьте тот второй вейпоинт. А то он у меня то работает стабильно, то при удалении и новом расставлении — вновь выкидывает кренделя.
Hmt
думаю, что "работать" нужно след. схему (как я это вижу):

1. За пределами карты есть тегованный шкаф, набитый тегованными конечными продуктами крафта
2. У вас в инвентаре есть необходимый инструмент для крафта (1 условие)
3. У вас есть необходимый навык для крафта (2 условие)
4. Выкладываем (в соответствии с рецептом) компоненты на верстак (3 условие)
5. Куча проверок (если надо сопровождаемая сообщениями)
6. Проверки прошли + звук состоявшегося крафта — готовый предмет у вас в инвентаре,
предметы крафта удалены из верстака в шкаф за пределы карты.

Если проверки не прошли, то сообщение о косяках.
Ввести железно правило о правильности наполнения верстака.
Рецепты можно сделать по принципу голодисков,
чтобы всегда можно было залезть в пипбой и глянуть что-да-как.
Если придумать спецлокацию — можно все рецепты изначально, внести в пипбой.

Можно ввести общую проверку навыка (это сильно упростит схему).
Например при входе в зону крафта выдавать сообщения какую категорию вещей позволяют крафтить ваши навыки.
Можно всегда держать в мастерской весь инструмент (тогда его можно выкинуть из условий)
Buzzil
Я не против, просто отрабатывал вариант 201000 одинаковых компонентов и 100500 одинаковых результатов через два триггера.
В описанном случае количество возможных созданных предметов ограничено только количеством нажатий Ctrl+V — предметы с каждым Move Unit как бы "спускаются" по вейпоинтам к одному вейпоинту.
А если давать предмет из шкафа — то еще не факт, что не передадутся все предметы одного тега. (а разные теги для одинакового предмета == много триггеров).

В общем вейпоинт-вариант будет выглядеть почти также:

1. За пределами карты есть поле, на котором накиданы крафт-предметы в количестве 9000.
2. У вас в инвентаре есть необходимый инструмент для крафта
3. У вас есть необходимый навык для крафта
4. Выкладываем (в соответствии с рецептом) компоненты на верстак
5. Общая проверка на непустой верстак, по одной проверке на рецепт+скилл для каждого крафт-предмета.
6. Проверки прошли + звук состоявшегося крафта — готовый предмет лежит на столике рядом, предметы крафта удалены из верстака в шкаф за пределы карты.

Алсо, дайте кто инструкцию как устроить обмен через Give Item to NPC/Give item from Human to NPC. Я что-то не понимаю как оно работает.

Ох уж этот Hmt... все правит и правит свои посты!

Так вводи в голодиски и необходимый скилл. Оформляй его как "Баллы по шкале Профессиональной Пригодности Федерального Департамента по Трудоустройству". То есть необходимые 75% Repair будут "75 баллов по ППФДТ".
Hmt
QUOTE
то еще не факт, что не передадутся все предметы одного тега
Да нет ... этого не произойдет
(у меня на v13 патроны по одному передаются)

QUOTE
В общем вейпоинт-вариант будет выглядеть почти также:
Этот способ конечно более нагляден, потому как скрафченный предмет можно "смувеюнить" прямо на верстак.

Как вариант "Работаем" две схемы, а затем выбираем лучшую.
Buzzil
Только научите меня очищать карманы NPCов.
Hmt
QUOTE
Только научите меня очищать карманы NPCов.
100% предмет тегуется в редакторе предметов.
Далее все должно работать в обоих направлениях,
но вот тут то и начинается самое интересное ...
Надо вспоминать (ковырять v13), была там еще
какая-то хитрость с моей стороны ... посмотрю.

Посмотрел:
NPC не может быть Team 0 [Scenery], не сработает.
vasya
можно ли каким то образом создать магазины типа квартермейстер чтоб по мере миссий или времени обновлялся товар но отличный друг от друга, скажем в моде авакен нет такого если купил весь товар то все он пуст и в городе тупо нечего делать
Ваш ответ: