Как добавить еду в сталкер
В папке Scripts создаем чистый скриптовый файл с именем inv_food и в него поместим функцию:
function use_med()
if eat and type(eat) == 'number' then
if not level.object_by_id( eat ) then
local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_food]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
eat = nil
end
if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
end
function drop_med(obj)
local obj_sect = obj:section()
if obj_sect == 'conserva' or obj_sect == 'kolbasa' or obj_sect == 'bread' then
eat = obj
end
end
где, (выделено жирным) local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_food]]) - это путь к звуку;
if obj_sect == 'conserva' or obj_sect == 'kolbasa' or obj_sect == 'bread' then, это объекты на которые распространяется озвучка.
Затем в файле bind_stalker.script лежащий в папке script под строчкой function actor_binder:update(delta) напишем следующие:
в этом же файле под строчкой function actor_binder:on_item_drop (obj) пишем:
Вот и все. По образу и подобию создаем озвучку и для водки с энергетиком и аптечки.
Как добавить еду в сталкер
Привет, сталкер! Заплутал?
Проходи, садись.Cогреем.
Ну что стоишь то как вкопанный?!
Давай уже проходи, чувствуй
себя как дома!
Это не просто красивая история — в модификации, которую мы сегодня создадим, найдется место и наркотикам, и рому (и прочим алкогольным напиткам), и фантастическим подвигам.
В первом вскрытии «Сталкера» (см. прошлый номер «Игромании») мы воспользовались утилитой S.T.A.L.K.E.R. Data Unpacker (устанавливайте ее с нашего DVD из раздела «Игрострой»), она умеет распаковывать «сталкеровские» архивы. Сегодня нам без нее тоже не обойтись.
Файл разделен на три части (имена каждой из них отмечены рядами точек с запятыми): FOOD, MEDICAL и DEVICES. Каждая из них содержит характеристики различных видов предметов: первая — продуктов питания, вторая — медицинских принадлежностей, третья — всевозможных девайсов.
Каждой отдельной вещи отводится свой раздел (блок), имя которого заключено в квадратные скобки. Практически во всех блоках из первых двух частей файла вы сможете встретить следующие атрибуты:
cost — стоимость предмета;
inv_name — название вещи; обратите внимание, что здесь прописывается не то наименование, которые вы видите в игре, а лишь ссылка на него (имя раздела в файле string_table_enc_equipment.xml, в нем содержится само название);
inv_grid_width — количество клеток по горизонтали, которое занимает вещь в инвентаре;
inv_grid_height — число клеток по вертикали;
description — описание предмета; как и в случае с показателем inv_name, здесь содержится не сам текст, а лишь указание на него (а точнее — название соответствующего раздела в файле string_table_enc_equipment.xml).
Следующие шесть характеристик определяют прирост, который ваш герой получает к тому или иному показателю после использования вещи. Значения могут быть и отрицательными — в этом случае характеристики ухудшаются.
eat_health — прибавка к здоровью;
eat_satiety — насыщение организма (сытость);
eat_power — бонус к силе (энергии);
eat_radiation — защита от радиации; в данном случае отрицательное значение параметра улучшает защиту (при положительном значении ваш герой будет переносить радиацию еще тяжелее, чем обычно);
eat_alcohol — действие алкоголя; чем выше число, тем большие проблемы со зрением и координацией испытывает герой;
wounds_heal_perc — остановка кровотечения.
Пиво и ром — почувствуйте разницу. После употребления пива вашего героя лишь слегка заносит на поворотах. Ром куда крепче — перед глазами все буквально плывет.
Путем редактирования файла items.ltx добавим в игру ряд уникальных полезных вещиц, которые здорово разнообразят джентльменский набор сталкера и окажут вам неоценимую помощь в сложных игровых ситуациях.
Водку описывает блок под названием vodka (кто бы мог подумать?!). Ее мы преобразуем в ром или там пиво — как вам угодно. В первом случае понадобятся следующие изменения: cost — 200, eat_satiety — 0, eat_health — -0.03, eat_radiation — -0.5, eat_alcohol — 0.3.
В оригинале водка слегка сбивает у вас аппетит и чуть-чуть укрепляет здоровье — все это, согласитесь, не совсем естественно. У нас же в моде заменяющий ее ром никакого насыщения организму не дает, а здоровье, наоборот, заметно подсаживает. Да и крепкий он очень — в глазах от него плывет еще сильнее, чем он водки (так что будьте с ним осторожнее). Зато он намного эффективнее борется с радиацией.
Если вы желаете заменить водку пивом, изменения должны быть такими: cost — 50, eat_health — 0, eat_radiation — -0.2, eat_alcohol — 0.05. Этот пенный напиток в нашем моде, по сути, является облегченной версией водки: от радиации предохраняет похуже, но и опьянение от него слабое.
Энергетик
Энергетический напиток Non Stop несложно переделать в алкогольно-энергетический. Для того чтобы изготовить этот чудный коктейль, нужно перейти в раздел energy_drink и смешать ингредиенты в следующих пропорциях: cost — 80, eat_power — 0.7, eat_alcohol — 0.08, eat_radiation — -0.3. Готово — можно пробовать. Однако учтите, что эта гремучая смесь немного опьяняет, зато является средством защиты от радиации и энергетиком в одном флаконе. Хотя, конечно, оба этих полезных качества в данном случае не столь эффективны, как при использовании узкоспециализированных водки и Non Stop.
Наркотик
Обычную же консерву мы превратим в. мощный наркотик-стимулятор (благо консервы в игре не очень-то и нужны, ведь есть другая еда — хлеб и колбаса). Все, что для этого нужно, — внести следующие преобразования в блок conserva: cost — 120, inv_weight — 0.2, eat_health — -0.05, eat_satiety — 0.1, eat_power — 1.8. Получившаяся смесь губительно сказывается на здоровье, но дает просто фантастический прилив энергии, да и весит всего ничего. Кроме того, этот наркотик немного отбивает аппетит.
С «начинкой» покончено. Осталось придать продуктам питания подходящий внешний вид, а также сделать соответствующие названия и описания.
Наркотик дает столь мощный прилив энергии, что враги подчас просто не поспевают за действиями главного героя.
Все xml-файлы устроены следующим образом. Каждой надписи соответствует небольшой раздел вида:
Здесь X — название блока, то есть кодовое наименование объекта, к которому относится надпись. Y — сам текст.
Сначала исправьте названия переделанных нами ранее вещей. Отыщите блок со словом Vodka. На месте Y в нем стоят слова «водка «Казаки». Исправьте ее на «Ром» или «Пиво» (без кавычек) — в зависимости от того, какой напиток вы добавили в игру.
Далее подредактируйте описания экс-водки (раздел enc_equipment_food_vodka1), экс-энергетика (enc_equipment_energydrink) и экс-консервов (enc_equipment_food_conserva1).
Ром значительнее лучше водки защищает от радиации. Но лучше им не злоупотреблять.
Скопируйте файл ui_icon_equipment.dds в каталог, в который вы установили DXT Tools. Находясь в этом каталоге, наберите в командной строке: readdxt.exe ui_icon_equipment.dds. В результате вы получите искомую картинку в виде файла test.tga. Открывайте его в Photoshop (или в каком-то другом мощном графическом редакторе) и готовьте кисти.
Полученный файл содержит альфа-канал. Чтобы его увидеть, в списке каналов (меню Channels) программы выберите пункт Alpha 1 (вместо прежнего RGB). Вашему взору предстанут знакомые вам по игре изображения, но закрашенные в белый цвет. Эти шаблоны задают форму каждого отдельного предмета и его границы. Если вы задались целью хоть чуточку изменить размер объекта, не забудьте отредактировать и альфа-канал. Например, если вы подрисовываете к вещи какой-то новый элемент, перейдите в режим в Alpha 1 и обязательно залейте его белым цветом.
Впрочем, если вы не планируете глобальных изменений, можно и вообще не трогать альфа-канал. Например, для трансформации водки в ром или пиво совершенно необязательно менять форму бутылки. Достаточно просто-напросто «переклеить» этикетку и нанести какую-то новую надпись (название напитка или производителя) или логотип. То же самое и с банкой энергетика. Только учтите, что новые рисунки должны быть максимально крупными, иначе вы их просто не разглядите в игре.
Консервную банку можно преобразовать в. таблетку. Здесь-то вам как раз и пригодится альфа-канал. Совсем несложно закрасить черным цветом (именно тем его оттенком, что разграничивает предметы в файле) консерву и на ее месте с использованием инструмента «Эллипс» (Ellipse Tool) нарисовать одну или лучше несколько таблеточек. После этого, перейдя в режим альфа-канала, закрасьте получившиеся кружки белым цветом.
Мы добавили в игру четыре невиданных ранее продукта: ром, пиво, алкогольно-энергетический напиток и наркотик-стимулятор. При желании вы можете сотворить еще несколько не менее полезных продуктов, изменяющих характеристики главного героя. Описанным в статье способом очень легко создавать небольшие, но крайне интересные модификации. Главное — не забывать о балансе
Как добавить еду в сталкер
Спавн новых предметов
В этой статье я расскажу как создавать новые предметы:
inv_name = Bread
inv_name_short = Bread
inv_weight = 0.3 ;0.2
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 9
cost = 20
attach_angle_offset = -0.287979, 1.560923, 1.544060
attach_position_offset = 0.096910, -0.013594, 0.107925
attach_bone_name = bip01_r_hand
auto_attach = false
// should be deleted after update
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699
; eatable item
eat_health = 0.05
eat_satiety = 0.2
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = -1
; food item
slot = 4
animation_slot = 4
;hud item
hud = wpn_vodka_hud
Вставляем его копию в конец, меняем название:
А также:
inv_name = Bread
inv_name_short = Bread
На:
inv_name = test
inv_name_short = test
И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test
И, также, "по желанию":
eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1
Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:
<string >
Название в игре
<string >
Описание в игре
<string >
Тестовый предмет
<string >
Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)
Сохраняем. Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.
Открываем trade_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:
Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш :)
О том как, делать иконки для новых предметов, детально описано в статье BAC9-FLCL.
Информация о пользователе
S.T.A.L.K.E.R|Модостроение
Шутки из Зоны
Залетает разъяренный Меченый к Сидоровичу в бункер, достаёт АК и всаживает в него всю обойму, выбрасывает пустую, заряжает новую и снова высаживает её всю. так раз пять. затем останавливается, удивленно смотрит на Сидоровича, откидывает автомат и падает на колени, слезы текут с глаз:
- Вот он - Бог! - прошептал Меченый
Спорят как-то Меченый с Волком.
Меченый: Связка ломов, как правило, тонет.
Волк: Но в ртути прекрасно плавает.
Меченый: Но если ломы урановые, то и во ртути тонут.
Волк: сам топи урановые ломы в ртути.
- Гюльчатай, открой личико! Ну, открой же! - в который раз просил Петруха.
- Хреновы военные! Мало того, что надругались, так ещё издеваются, гады! - подумал про себя грустный снорк.
Заходит сталкер в бар:
- Бармен! - кричит он.
Выходит бармен, говорит:
- Извините, но бар закрыт, откроется только через час.
Сталкер, усаживаясь за столик:
- Ничего, я подожду!
Бармен: Может пока что-нибудь закажете?
К Воронину нас не пустили, но сержант Пличко рассказал свой любимый анекдот: "Новобранец "Долга" жалуется: "Товарищ старшина, смотрите, что мне выдали: брюки только до колен, рубаха болтается, рукава коротки, сапоги хлябают, глядеть страшно".
- Все в порядке, - сказал старшина, - воин "Долга" должен внушать страх".
Пришёл сталкер к Сахарову и говорит:
- Профессор, почему мной кровососы брезгуют?
- Молодой человек, я же вам говорил, что в вашем спирту крови не обнаружено!
Сталкер-новичок в первый раз пришёл в Бар. Просит меню, но вместо этого сразу получает тарелку с непонятной жратвой. Спрашивает:
- А я могу сам выбрать?
- Можешь, - ответил Бармен. - Хочешь - ешь, хочешь - не ешь.
Доктор:
- Посмотрел я ваши анализы, молодой человек, и должен огорчить: у вас глисты.
Пациент (браток):
- Да ну. Диагноз какой-то не пацанский. Братва меня засмеёт! Доктор:
- Не проблема! Напишем "очковые змеи".
Отношения сталкеров и военных.
Блокпост: Стой, кто идет?
Сталкер: Свои, с бутылкой!
Блокпост: Свои, проходи! Бутылка - стой!
- Представляешь, я вчера забыл на базе автомат!
- Ой-ой-ой. И когда ты про него вспомнил?
- К сожалению, только тогда, когда принёс торговцу щупальца кровососа.
Семья сталкера. Все сидят за столом, молча ужинают. Вдруг сын задевает бутылку с водкой локтём. Бутылка стремительно летит к полу. Но в сантиметре от пола сын успевает подхватить бутылку. Ставит на стол и обращается весело к отцу:
- Пап, приколи, бутылка была на волоске от смерти!
Сталкер прячет пистолет и говорит серьезным голосом:
- Ты тоже, сынок!
Молодой сталкер подбежал к псевдопсу и стал гладить его пышный хвост. Ветеран в испуге кричит:
- Что ты делаешь? Он же порвет тебя!
- Нет, чувак, с этого конца они не кусаются.
Поймал вояка сталкера на периметре:
- Щас я тебе покажу, как в Зону лазить!
- Ф-фух, слава Богу, а то меня уже 3-й раз ловят!
Сталкеры, не пейте палёную водку - кровососы травятся.
Стоят два наемника, ждут "заказанного" сталкера. Его все нет и нет. Один спрашивает другого:
- Что-то долго его нет. Может, случилось что?
Два сталкера:
- Ты с каждым днём всё больше становишься похож на алкаша.
- Это почему же?
- Да у тебя руки трясутся, когда ты ведро с водкой ко рту подносишь!
- Ты чего такой грустный?
- Да вот, пошли с мужиками на кабана охотиться. Кабан не пришел. Ну, мы и напились как свиньи. И тут пришел кабан.
Идут два сталкера по дороге. Один спрашивает:
- А что делать, если меня кровосос схватит?
- Сопротивляйся подольше, чтобы я успел убежать!
Трусливые сталкеры в засаде:
- Почему же ты не стреляешь в этого кровососа?
- Ты разве не видишь, как бежит?! Может, бешеный, ну его к черту!
- Какая первая обязанность долговца на войне?
- Умереть за свою идею!
- Неправильно. Первая обязанность долговца - сделать так, чтобы свободовцы умерли за свою идею!
- Доктор, приходите скорей, у Меченого "белочка"!
- А что, собственно, случилось?
- По комнате скачут белые лошади, а он их не замечает!
Лукаш:
- Кто поедет зачищать заставу "Долга", два шага вперед.
Из строя выходят два бойца.
Лукаш:
- А остальные пойдут пешком. Гы-гы-гы.
Приснилось сталкеру его собственная могила - у дубка, на его родине. Тот, проснувшись, подумал, что это означает. И решил пока в Зоне отсидеться.
Идут занятия по уставу караульной службы в "Долге".
- Рядовой Петров! Вы стоите на посту и замечаете, что к вам подползает человек. Ваши действия?
- Отведу генерала Воронина в штаб.
Один сталкер другому:
- Я попадаю в крысу с расстояния ста шагов.
- Интересно, где ты найдешь таких крыс, которые ждут, пока ты отмеришь сто шагов?
Приходит Меченый к Болотному доктору:
- Доктор, меня мучает бессонница!
- Примите слабительное.
- И я от него усну?
- Нет, но, по крайней мере, вам будет чем заняться.
В гоpодке около Периметра женщина сообщает соседке:
- Вчера кто-то весь огород вытоптал.
- Может сталкеры?
- Да ну, какие сталкеры, следы-то человеческие.
Стоят два монолитовца и держат плакат. На плакате надпись: "Сверните со своего пути, неверные, или погибните!"
Мимо ехал на ниве Стрелок. Увидев надпись, он крикнул со всей злости: "Религиозные фанатики. " - и нажал на педаль газа. Через пару секунд послышался всплеск воды.
Один сектант говорит другому:
- Слушай, Фёдор, может нам нужно было попроще написать: "Мост поломан"?
Ты охренел фраер, ничего не попутал. Вали давай отсюда.
Сталкера ограбили на дороге бандиты.
- Почему же ты не мог дать им отпор? - удивились товарищи.
- А что я мог поделать? - Обиделся сталкер. - У меня были заняты руки: в правой был нож, а в левой - ружье.
База бандюков. Базарят два братка:
- Стало быть, надо тебе двадцать тыщь. Я их тебе дам, но какая гарантия, что ты их через месяц вернешь?
- Слово честного человека!
- Лады! Вот нынче вечером ты этого человека и приводи, поглядим.
Подходит, значит, сталкер к Монолиту. Тот ему:
- Загадывай желание.
- Хочу, чтоб Зона исчезла.
- Не, ну ты загнул. Попроси чё полегче.
- Ну, тогда сделай так, чтоб Сидорович при торговле не обманывал.
- Так что ты там насчёт Зоны говорил.
Новобранец блокпоста в Зоне присылает домой гранату с письмецом:
- Бабушка, если ты дёрнешь за это колечко, то я получу 3 дня отпуска.
Ползут два сталкера, пересекают периметр. Вдруг один вляпывается рукой в дерьмо. Второй начинает ржать. Первый (зажимая ему рот рукой):
- Тихо, военных встревожишь!
- А я свою девушку в армию вчера проводил. Я ее любить буду, я ее ждать буду, я ей ребёночка рожу маленького такого.
- Ты че? Ты же мужик! Большого рожай!
- Деда, а расскажи, как ты в Зоне два вертолета сбил!
- Ну-у-у. Не совсем сбил.. Скажем так: недозаправил!
Зашёл как-то Стрелок на базу бандитов. Продал то, что не надо, закупил, то что надо. И перед уходом говорит толпе бандитов, сидящих на выходе:
- Ну что, драконы, отдыхаете?-
Бандиты в непонятках: что за новое слово "Драконы"? Пошли они к своему бугру спросить. Тот им и отвечает:
- Драконы - это те же петухи, только у них гребешок во всю спину.
О сайте
Приветствую случайный посетитель, хотя, скорее, вы попали на этот сайт намеренно. И вот, что вы можете здесь отыскать: большую информационную базу по игре S.T.A.L.K.E.R., если быть конкретнее, то информация, размещенная на данном сайте, преимущественно касается разбора игры в качестве скриптовой платформы. Если быть проще, сайт посвящен модостроению. Надеюсь, вы останетесь довольны сайтом.CS. Создание новых предметов (еда,квестовые)
Здраствуйте. В этом уроке мы научимся создавать новую еду, квестовые предметы.
Просто скажу что вы можете взять модель и текстуру вашей еды а также иконку из других модов независимо от платформы (ЗП, ТЧ)
Ну что ж давайте начнем
Для начала откроем gamedata\configs\misc\items.ltx
bread и его дальнейшее описание
Создаем новую еду
Я создам напиток Non stop
пишем ниже
[energy_drink_1]:vodka
$spawn = "food and drugs\energy_drink_1"
inv_name = st_energy_drink_1
inv_name_short = st_energy_drink_1
visual = dynamics\devices\dev_drink_stalker\dev_drink_stalker
description = st_energy_drink_1_descr
cost = 80
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 19
inv_grid_y = 7
inv_weight = 0.2
eat_health = 0
eat_satiety = 0
eat_power = 0.5
eat_alcohol = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = 1
eat_max_power = 0.2
attach_angle_offset = 0.000000, 0.000000, 0.000000
attach_position_offset = 0.087266, -0.078540, 0.052360
attach_bone_name = bip01_r_hand
auto_attach = false
давайте разберем что мы тут написали
[energy_drink_1]:vodka --имя секции и vodka - его прародитель
$spawn = "food and drugs\energy_drink_1" -- для опции в СДК
inv_name = st_energy_drink_1 --имя
inv_name_short = st_energy_drink_1--имя
visual = dynamics\devices\dev_drink_stalker\dev_drink_stalker --модель в данном случае стандартного энергетика
description = st_energy_drink_1_descr --описание
cost = 80 --цена
inv_grid_width = 1 --иконка (работающая)
inv_grid_height = 1
inv_grid_x = 19
inv_grid_y = 7
inv_weight = 0.2 --вес в инвентаре
eat_health = 0
eat_satiety = 0
eat_power = 0.5 - добавляет выносливости
eat_alcohol = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = 1
eat_max_power = 0.2
attach_angle_offset = 0.000000, 0.000000, 0.000000
attach_position_offset = 0.087266, -0.078540, 0.052360
attach_bone_name = bip01_r_hand
auto_attach = false
Дальше открываем любой файл из gamedata\configs\text\rus\ и пишем
<string /> <text>Энергетический напиток Non-stop</text>
</string>
<string /> <text>Практически аналог напитка s.t.a.l.k.e.r. но чу чуть дороже а так пьется сталкерами на праздники.</text>
</string>
P.S. отличается чу чуть повыше ценой и иконкой!
Создаем квестовые предметы
Идем в gamedata\configs\misc\quest_items.ltx и пишем
[document_killer]:device_pda
visual = dynamics\equipments\documents_4.ogf
description = kil_document_descr
inv_name = kil_document
inv_name_short = kil_document
inv_weight = 5.0
inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 19
cost = 5000
can_trade = false
quest_item = true
[document_killer]:device_pda -- document_killer имя device_pda его прародитель
visual = dynamics\equipments\documents_4.ogf --- путь к модели
description = kil_document_descr ---описание
inv_name = kil_document ---имя
inv_name_short = kil_document --- имя
inv_weight = 5.0 ---вес
inv_grid_width = 2 --иконка, тут она рабочая
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 19
cost = 5000 --цена
can_trade = false --возможность торговать, если поставить true то можно торговать
quest_item = true ---подтвержение того, что это квестовый предмет по умолчанию true
Дальше открываем нужныйфайл из gamedata\configs\text\rus\ и пишем
<string /> <text>Документы о проведенных эксперементах под землей</text>
</string>
<string /> <text>Эти документы ищут наемники, срубить с них можно за них не плохие деньги.</text>
</string>
А почему когда я прописываю свой предмет трупу нпс то они у него не спавнятся?
Идем в gamedata\configs\misc\death_generic
и ищем секцию [keep_items]
и под ней пишем
Ну что ж на этом можно закругляться.
Всем спасибо за просмотри и удачи!
Отредактировано saintsergei (2017-03-25 21:39:03)
Читайте также: