Jump to content
Halford

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

Recommended Posts

@Sergej1

Скорее всего, нужно не удалять эти строки, а изменить их:

 

    --' Проверка по таймауту
    if self.task_info[task_id].last_task_time ~= nil then
        self.task_info[task_id].enabled_props = false
        return
    end

Edited by WinCap
  • Thanks 1

Share this post


Link to post
Share on other sites

@nego Мне кажется в диалоге ошибка.

Во фразе "02" происходит выбор из нескольких фраз, например фразы "1". Далее следует фраза "7", у которой есть <precondition> и <dont_has_info> и если они не выполняются, следует вылет, т.к. нет следующей фразы.

И ещё. Фразы "02" и "14" которые, по-видимому, одинаковые принадлежат разным персонажам.

Share this post


Link to post
Share on other sites
5 часов назад, Хемуль36рус сказал:

функция с эффектами включается один раз

В приведённом примере она действительно вызывается один раз, для остальных секций она закоментирована.

 

5 часов назад, Хемуль36рус сказал:

если в готовый конфиг добавить секцию, она не проигрывается.

Сама добавляемая секция написана абсолютно правильно и должна работать.

Проверьте её расположение, должно быть между последним </item> и </giorl_zona>.

Может имя текстуры не должно повторяться, не знаю. Ещё проверьте наличие самой текстуры.

Больше никаких хитростей нет, должно работать.

Edited by WinCap

Share this post


Link to post
Share on other sites

Генерирование ПДА при спавне лута:

1. Файл "misc/death_items_count.ltx", секция "item_count_0" добавляем: наш_пда = 1

2. Файл "misc/death_items_by_levels.ltx", секция "default" добавляем: наш_пда = 1

3. Файл "misc/death_items_by_communities.ltx", секция "stalker" добавляем: наш_пда = вероятность_спавна_0-1

 

В файле "misc/death_items_by_communities.ltx" можно указать различную вероятность спавна для разных группировок.

  • Thanks 1
  • Согласен 1

Share this post


Link to post
Share on other sites
4 часа назад, AndrewMor сказал:

2. Как скриптом заставить сработать респавнер?

 

xr_effects.respawner_spawn(nil, nil, {"test_resp"})

  • Thanks 1

Share this post


Link to post
Share on other sites
18 часов назад, Возрождённый сказал:

после нажатия на неё ничего не происходит

 

Кнопка вышла за границы родительского диалога и не реагирует на клик мыши. Нужно увеличить высоту этого диалога. Если не ошибаюсь, то это почти в начале файла:

Скрытый текст

    <main_dialog>
        <dialog x="445" y="228" width="548" height="461">
            <texture>ui_menu_options_dlg</texture>
        </dialog>

 

  • Thanks 1

Share this post


Link to post
Share on other sites
1 час назад, UriZzz сказал:

не прописан sender в tips_icons.

В приведённом файле amk.script есть 12 вызовов функции send_tip. В каждом из них пятым параметром (т.е. sender) передается "encyclopedy_icon", а в таблице tips_icons такого точно нет.

Но даже если его прописать будет вылет по строкам 131,132, т.к. полей 3 4 в элементах таблицы tips_icons тоже нет.

Edited by WinCap

Share this post


Link to post
Share on other sites

@WizziGun

Переменной deistive, какое значение присваивается?

Ещё нужен end для функции rap_have.

Edited by WinCap
  • Согласен 1

Share this post


Link to post
Share on other sites

@Возрождённый

Нужно прописать в диалог условие, например:

<precondition>dialogs.actor_in_dolg</precondition>
<precondition>dialogs.actor_not_in_dolg</precondition>

Другие фракции можно самостоятельно добавить в dialogs.script.

Edited by WinCap
  • Thanks 1

Share this post


Link to post
Share on other sites

@Houdini_one, ошибка в строке 13:

local power = db.actor:power()

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

Share this post


Link to post
Share on other sites

@UriZzz, не могу проверить работоспособность, но синтаксис точно правильный.

В таблице нужно указать НЕ совместимые броники и оружие.

Скрытый текст

local wpn_outfit_tbl = {
	["wpn_pm"] = {
		["novice_outfit"] = true,
		["следующий_броник"] = true
		},
	["следующий ствол"] = {
		["novice_outfit"] = true,
		["следующий_броник"] = true
		}
}

function wpn_for_outfit()
	local wpn = db.actor:item_in_slot(1)
	local wpn_sc = (wpn and wpn:section()) or "nil"
	if wpn_outfit_tbl[wpn_sc] then
		local outfit = db.actor:get_current_outfit()
		local outfit_sc = (outfit and outfit:section()) or "nil"
		if wpn_outfit_tbl[wpn_sc][outfit_sc] then
			db.actor:drop_item(wpn)
			news_manager.send_tip(db.actor, "Это оружие невозможно использовать в этой броне!")
		end
	end
end

 

 

  • Thanks 1
  • Согласен 1

Share this post


Link to post
Share on other sites

@Norman Eisenherz, нужно сделать так:

В файле прописать общую для всех торговцев секцию.

Скрытый текст

[general_generic_buy]

novice_outfit_nv_bad            ;NO TRADE
novice_outfit_plus                 ;NO TRADE
novice_outfit_nv_bad_plus   ;NO TRADE

Ссылку #include "filename.ltx" поместить в самом начале файлов торговцев.

Сделать ссылку на общую секцию [trader_generic_buy]:general_generic_buy.

Edited by WinCap

Share this post


Link to post
Share on other sites

@Norman Eisenherz

1. Это не "как в броне", а как в любом INI-файле. Для секции можно указать одну или более "родительских" секций. Однако нужно помнить, что основной считается именно "родительская" секция. Это её параметры заменяются параметрами основной секции, а не наоборот.

2. Файлы #include подключаются только по нисходящей линии. Сослаться на файл "выше" нельзя. Можно попробовать пересмотреть структуру файлов торговцев. Разместить их в одной папке, например.

Edited by WinCap
  • Полезно 3

Share this post


Link to post
Share on other sites

@dPlayer, ещё вариант: обработать событие on_hit.

Скрытый текст

[logic]
on_hit = hit

 

[hit]
on_info = {+условия -когда =NPC() !должен_умереть()} %=kill%

 

  • Like 1
  • Полезно 1

Share this post


Link to post
Share on other sites

@riddik121, попробуй переписать секцию walker2 так:

Скрытый текст

[walker2]
path_walk = wiz_dold_mrakobes_base_go_walk
on_signal = base2 | %+wiz_mracobes_to_walker3%

on_info = {+wiz_mracobes_to_walker3} walker3
danger = danger_condition

 

Share this post


Link to post
Share on other sites

@Han Sola, Единственный вариант который у меня сработал - поставить вместо имени символ с кодом 0x01. В Notepad++ это выглядит так:

<string id="lname_stalker_0">
    <text>SOH</text>
</string>

  • Полезно 3

Share this post


Link to post
Share on other sites

@nego, видео в телевизоре это отдельные картинки:

Файлы textures\fx\fx_stalker.dds, textures\fx\fx_stalker_001.dds и т.д.

И файл textures\fx\fx_stalker.seq.

 

  • Like 1

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

AMK-Team.ru

×
×
  • Create New...