Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

(изменено)
Никак. В inventory_sect.ltx осталась возможность это делать (менять true на false и обратно для каждого слота), но её использование приводит к вылету без лога.

Я только что попробовал в файлике system.ltx в секции inventory поменять true на false у ножа и бинокля, зашёл, начал НИ, вылетов нет. В инвентарь они не попадают, т.к. в слоте находятся. Поговорил с Сидоровичем, нажал торговать - вот они, родимые. Продал оба девайса, теперь сижу без бинокля и ножа. Без вылетов. Работает и без фонарика, но ИМХО, смысла нет его выкладывать в инвентарь и продавать. С остальными девайсами не пробовал, но, думаю, что не получится с некоторыми такое провернуть.

 

Добавлено через 82 мин.:

Как можно сделать вторую текстуру, бандитам, например? Вот у меня уже есть одна, есть вторая. Где нужно прописать вторую, чтобы бандиты были одни с той текстурой, а другие со второй?

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Как артефакт сделать прозрачным? Пробовал делать альфа-канал текстуре - не получается.

 

// Надо поменять шейдеры модели артефакта. Министр.

Изменено пользователем Министр

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

TRAMP14, а width и height получится использовать?

Вот так вот:

<texture width="500" height="500">...</texture>

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
лнкс, значит всё таки есть :) открой папку weapons с помощью Notepad++, поищи фразу частями или целиком. Обязательно найдёшь.

Поделиться этим сообщением


Ссылка на сообщение

Garry_Galler, да мы уже по ЛС поговорили, нашли ошбику. В чарактер_дес_симуляшион вконце секции

ammo_7.62x39_ap

Не было поставлено \n. Вот так было:

...\n
ammo_7.62x39_ap
ammo_vog-25p\n...

Поделиться этим сообщением


Ссылка на сообщение

TRAMP14, хочешь - выложи сюда свой файл, попробуем найти.

З.Ы. Файл должен начинаться с :

<?xml version="1.0" encoding="windows-1251" ?>
<game_dialogs>

и заканчиваться:

</game_dialogs>

Может, где то диалог не закрыл, всё может быть...

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

TRAMP14, диалоги должны начинаться с идентификатора 0 + ещё куча ошибок в структуре диалога. Советую почитать статьи на Wiki ;)

Вот так правильно:

<?xml version="1.0" encoding="windows-1251" ?>
<game_dialogs>
    <dialog id="perevod">
        <phrase_list>
            <phrase id="0">
                <text>Привет! Ты же проводник? Куда ты меня можешь перевести?</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Могу перевести тебя в обход этих стервятников под мостом.</text>
                <next>2</next>
            </phrase>
            <phrase id="2">
                <text>И сколько мне это будет стоить?</text>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <text>Дешевле, чем у этих стервятников. Бутылка водки - и ты на той стороне.</text>
                <next>41</next>
                <next>42</next>
            </phrase>
            <phrase id="41">
                <precondition>escape_dialog.est_vodka</precondition> - это - условие, есть ли водка в инвентаре. Если есть, значит ветка диалога появится.
                <text>Согласен.</text>
                <action>escape_dialog.vooodka</action> - это - функция взятия из вашего инвентаря и передачи водки в инвентарь НПС. 
                <next>51</next>
            </phrase>
            <phrase id="42">
                <text>Извини, у меня нет водки.</text>
                <next>52</next>
            </phrase>
            <phrase id="51">
                <text>Ну пошли.</text>
                <action>escape_dialog.ter_perexod</action> - это - функция для перехода в нужное тебе место.
            </phrase>
            <phrase id="52">
                <text>Тогда приходи в другой раз.</text>
            </phrase>
        </phrase_list>
    </dialog>
</game_dialogs>

 

Не забудь удалить мои комментарии ;)

Также советую тебе текст выносить в отдельный файл. Например, в stable_dialogs.xml в папке:

gamedata\config\text\rus

Добавляешь в самый конец так:

    <string id="идентификатор_строчки_текста">
        <text>Привет! Ты же проводник? Куда ты меня можешь перевести?</text>
    </string>

А в диалоге:

    <text>идентификатор_строчки_текста</text>

Иначе, если так не сделать, текст может не появится, или не появится полностью.

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
Министр, не знаю, когда учил диалоги, писали именно это :) Сам не пробовал вот так вот текст писать в диалоге, мне удобней выносить его в отдельный файл - потом только его надо будет открыть, и поправить любые тексты, если понадобится. Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Леня Баньши, пример можешь глянуть на мёртвом новичке-проводнике, который должен провести через тоннель с электрой, после квеста с флешкой. Вот его логика:

custom_data = <<END
[dont_spawn_character_supplies] - эта строчка отвечает за "неспавн" предметов, прописанных в его профиле

[known_info] - это нужная тебе секция, ниже перечисляешь поршни, без знаков эффектов.
esc_tutorial_dead_novice
esc_find_railroad_passage_find_stalker
END

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

В общем, вопрос. :)

Хочу повесить на нового НПС типовые задания (Мне нужна работа. Есть что на примете? и т.д.). Зашёл в task_manager.script, внёс своего НПС в две таблицы:

parent_by_story:

    [642] = "stariy",

story_by_parent:

    stariy                        = 642,

Далее, прописал НПС диалоги:

tm_stariy_dialog:

    <dialog id="tm_stariy_dialog" priority="-1">
        <init_func>task_manager.init_stariy_task_dialog</init_func>
    </dialog>

tm_stariy_reward:

<dialog id="tm_stariy_reward" priority="0">
        <init_func>task_manager.init_stariy_reward_dialog</init_func>
        <precondition>task_manager.has_active_vendor_task</precondition>
    </dialog>

К этим диалогам функции:

function init_stariy_task_dialog(dlg)
    get_random_task():init_task_dialog(dlg, "stariy")
end
function init_stariy_reward_dialog(dlg)
    get_random_task():init_reward_dialog(dlg, "stariy")
end

Далее, прописал квест "уничтожить лагерь" в task_manager.ltx:

В list:

stariy_eliminate_lager_1

Ниже:

[stariy_eliminate_lager_1]
type = eliminate_lager
community = actor
text = wolf_eliminate_lager_1_text
description = wolf_eliminate_lager_1_descr
parent = stariy
target = gar_old_boars
reward_money = 1000
reward_reputation = +20
reward_rank = 3
time = 86400
prior = 1

В общем, сделал всё, но вот результат:

70588d4aee919fd9be41969c58016ab1d9764082150211.jpg

 

Почему так? Почему нет работы? Нет же никаких условий там, ничего. Подскажите, пожалуйста, в чём причина?

 

Добавлено через 79 мин.:

И вот почему-то игра не видит именно квеста на работу, будто он вообще не прописан в task_manager.ltx...

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
_Призрак_, да это ограничение на выдачу награды за квест. Функция проверяет - брал ли я задание у данного НПС или нет. А не высвечивается даже диалог на предложение заданий... Уже не знаю, что делать. А amik, наверное, призрака хочет сделать :)

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Министр, да, смарт существует, вместимость - 12 мутантов, прописаны работы, заспавнено 12 кабанов с логикой, в которой указан смарттеррейн, к которому принадлежит кабан - gar_old_boars.

Функция:

--' Может ли вендор выдать квест
function CRandomTask:parent_can_task(actor, npc, p1, p2, p3)
    local parent = self:get_parent(npc)
    local avail = false
    self:task_avail(actor, npc, nil, nil, nil, "reset")
    for k,v in pairs(self.task_id_by_parent[parent]) do
        if self:task_avail(actor, npc, nil, nil, self.task_info[v].init_phrase_id, true) then
            avail = true
        end
    end
    return avail
end

Проверяет, может ли вендор выдать квест, и, если есть квесты для данного вендора, то функция возвращает true. Если нету, то false и тогда вылезает текст:

На данный момент ничего нет.

Я сам менял переменную avail - вместо false - поставил true. И тогда вылезает:

Есть кое-что:

А в окне, где выбираются задания, только строка:

Эти задания мне не интересны.

То есть заданий не видно. Сделал второе задание по уничтожению лагеря собак - тоже не работает.

Поправочка - проверяет есть ли у игрока активное задание от данного вендора.

Ну да :)

 

Добавлено через 288 мин.:

В общем, покопался в файлах, и понял - что статья по добавлению типовых квестов не совсем полная... Короче, прописал в storyline_info_taskmanager своё задание, далее ещё и прописал в game_tasks_by_vendor задания своего НПСа, и всё равно не появляется. Только что скопировал задание убить сталкера, который даёт Бармен, заместо своего. И задание появилось, я мог взять его. Значит дело всё таки в оформлении моего задания... И скорее всего дело в смарте... Позже ещё покопаюсь, и, если что, отпишусь...

 

Добавлено через 189 мин.:

Да, проверил ещё раз, не работает ни один квест на уничтожение лагеря, хотя квесты на убийство НПС работают. С чем это может быть связано?

Изменено пользователем Disord

Поделиться этим сообщением


Ссылка на сообщение
Штопр, удалить большинство сюжетных рестрикторов, почистить диалоги с НПС, удалить некоторых сюжетных НПС, если это понадобится, закомментировать теги task, как сказал _Призрак_, в общем, делать всё по порядку. Начал играть - у Сидоровича диалог - удалить. Прошёл тоннель с электрой - стоит рестриктор, удалить, и т.д.

Поделиться этим сообщением


Ссылка на сообщение

Здравствуйте! А можно ли запретить использование оружия во время езды на машине в сталкере? Просто камера БТР настроена так, что вид сверху, а пистолет можно достать, и вид, будто Меченый сидит на БТРе и стреляет.

Поделиться этим сообщением


Ссылка на сообщение

Всем привет. Знает кто, как отключить это:

! auto-generated bump map: arsenal_mod\upg_sil_762ar_bump#

Ну, и ему подобные записи в лог. Ладно бы если б просто записывал, но ещё игра тормозит на 2-3 секунды. Как-то можно убрать это автогенерирование? Или только засунув этот бамп# в папку? Есть ли для арсенала подобные исправления?

Поделиться этим сообщением


Ссылка на сообщение

_Призрак_, а от этого качества в графике не убудет? Игра генерирует такие же бампы-пустышки, да?

 

Добавлено через 182 мин.:

И да, заодно последний вопрос: как вообще убрать начальный ролик про грузовик? Без команды -no_intro.

Поделиться этим сообщением


Ссылка на сообщение
Spezer, видмо, проблема в коллбеке. У меня тоже была такая проблема, когда стояло более трёх коллбеков на использование объекта. Скинь сюда свой bind_stalker.script

Поделиться этим сообщением


Ссылка на сообщение

Spezer, цитата из ReadMe к ОГСЕ:

Вылеты вида:

 

[error]Expression : e_entity

[error]Function : xrServer::Process_event_reject

[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp

[error]Line : 12

[error]Description : entity not found. id_parent=7540 id_entity=44047 frame=2075050

 

Очень редкие. Возникают иногда произвольно при смерти неписей. Причина – движок отрабатывая лут изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет. Лечению не подлежат, сообщать о них бессмысленно. Единственное, если вам попадётся такой вылет, который можно 100% повторить при загрузке с сохранения – обязательно сообщите об этом на форуме и передайте сохранение – причину такого вылета можно будет отследить и устранить.

 

Поделиться этим сообщением


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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...