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

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


Halford

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

Кто нибудь может привести пример создания статьи про артефакт(именно про него) чет у меня не получается, когда про аномалию делал все ок было, а с артефактом ни как, желательно полностью пример, включая как повесить статью на труп около тунеля.

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


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

Создать статью про арт, и что бы при обыске трупа около тунеля с электрой, эта статья выдавалась актору в ПДА, в раздел Артефакты.

(Почему то не получается ни как, когда пробовал про аномалию, получилось с первого раза)

 

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

И еще, что бы востановить спаун на подземке агропрома надо

local game_vertexes={

l01_escape={0,251},

l02_garbage={252,415},

l03_agroprom={416,702},

l03u_agr_underground={703,810},

убрать -- , и прописать

l03u_agr_underground={3,6,{balb_1=9,...

 

Больше ничего не нужно делать ?

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


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

Вот в encyclopedia_zone.xml прописал

<!-------------------------------- af-1 ----------------------------->

 

<article id="artifact_af-1" name="af-1" group="Artifacts">

<ltx>af_1</ltx>

<text>enc_payk</text>

</article>

 

В info_l01escape.xml (что бы получить инфо само с трупа)

<!-- труп у аномалии -->

<info_portion id="esc_tutorial_dead_novice">

<info_portion id="artifact_af-1">

<article>tutorial_moving_anomaly</article></info_portion>

</info_portion>

 

В string_table_enc_zone.xml

<string id="enc_payk">

<text>ОПИСАНИЕ АРТЕФАКТА</text>

</string>

 

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


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

Desertir, Спасибо работает, может еще поможешь в amk anoms.script

local game_vertexes={

l01_escape={0,251},

l02_garbage={252,415},

l03_agroprom={416,702},

--l03u_agr_underground={703,810},

убрал это -- , и прописал секцию для спавна артов l03u_agr_underground={3,6,{balb_1=9,... и т.д Надо что нибудь еще делать или все что нужно уже готово ?

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

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


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

Всем здрасте, у меня такой вопрос, как прописать стандартный диалог "Мне нужна работа" к примеру Толику. Было бы замечательно если бы еще обьяснили, как сделать так, что, когда щелкнув на этот пункт(Мне нужна работа) появилось название задания, ну стандартного Сидоровского на поиск Медузы. ?

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


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

Не пойму, прописал в encyclopedia_zone.xml

<!-------------------------------- af-1 ----------------------------->

 

<article id="artifact_af-1" name="Неоновый Москит" group="Artifacts">

<ltx>af_1</ltx>

<text>enc_zone_payk_d</text>

</article>

игра грузилась.

А потом добавил следующию

<!-------------------------------- af-2 ----------------------------->

 

<article id="artifact_af-2" name="Осколок неба" group="Artifacts">

<ltx>af_2</ltx>

<text>enc_zone_oskl_d</text>

</article>

и игра перестала грузится,

[error]Expression : false

[error]Function : CXml::Init

[error]File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp

[error]Line : 87

[error]Description : XML file:gameplay\encyclopedia_zone.xml value: errDescr:Error reading Attributes.

 

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

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


Ссылка на сообщение
Desertir, А если я в name пропишу что то типа af-1, то в игре будет именно это, а где прописать название артефакта, что бы вместо af-1 было русское название ?

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


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

А кто нибудь в курсе, как в НЛС 6.Начало были сделаны артефакты маятники, то бишь у которых свойства, то увеличиваются то уменьшаются ?

И возможно ли как то в ТЧ сделать у артефактов грузоподьемность, типа как у Золотой рыбки в ЧН ?

 

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

Прописал я этот каллабек в скрипт,и вот

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...\games\s.t.a.l.k.e.r\gamedata\scripts\dialogs.script:34: attempt to index field '?' (a nil value)

 

 

Прописывал так

----------------------------------------------------------------------------------------------------------------------

function actor_binder:article_callback(npc, group, name, article_type)

--printf("article_callback [%s][%s]", group, name)

if device().precache_frame >1 then return end

 

if group == "Diary" then

news_manager.send_encyclopedy("diary", group)

amk.send_tip(game.translate_string(name), "Заметка в журнале:", nil, 7)

elseif group == "Mutants" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Заметка о мутантах:", nil, 7)

elseif group == "Social" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Информация о группировке:", nil, 7)

elseif group == "Artifacts" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Заметка об артефактах:", nil, 7)

elseif group == "Anomalies" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Заметка об аномалиях:", nil, 7)

elseif group == "Locations" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Информация о локации:", nil, 7)

elseif group == "Zone-story" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "История Зоны:", nil, 7)

elseif group == "Stories" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Местный фольклор:", nil, 7)

elseif group == "memuars" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Личная заметка:", nil, 7)

elseif group == "Found_PDA" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Скачаны данные:", nil, 7)

elseif group == "st_operation_agroprom" or group == "LabX18_information" or group == "aes_military_task" then

news_manager.send_encyclopedy("encyclopedy", group)

amk.send_tip(game.translate_string(name), "Заметка в журнале:", nil, 7)

end

end

 

--AMK UTILS--

amk.on_info(npc,info_id)

amk_utils.actor_article(npc, group, name)

--AMK UTILS--

 

end

--------------------------------------------------------------------------------------------------

Все делал в народной солянке.

 

 

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

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


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

Убрал end, гы все ОК! Спасибо, прикольно смотрится фича, а я уже и забыл как это здорово было в ОГСМ.

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

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


Ссылка на сообщение
А кто нибудь в курсе, как в НЛС 6.Начало были сделаны артефакты маятники, то бишь у которых свойства, то увеличиваются то уменьшаются ?

И возможно ли как то в ТЧ сделать у артефактов грузоподьемность, типа как у Золотой рыбки в ЧН ?

Ну что, кто нибудь знает как это сделать ?

Кто знает как уменьшить размер отображаемых на поясе артефактов, ну на худе, не в рюкзаке, а на экране где, сама мини карта и т.д. ?

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


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

А вот к примеру если создавать дубли артефактов ну типа такова "1" после медузы, то есть различие будет только в весе и цене, это ясно.

;------------------------------------------------------------------------------------------

 

[af_medusa_maxi]:af_medusa

$spawn = "artefacts\my_addon_af_medusa_maxi"

inv_weight = 0.7

 

cost = 4500

 

 

 

А если спаунить, через amk_anoms.script то там можно и не писать af_medusa_maxi, потому что там есть уже af_medusa, или обязательно нужно прописывать af_medusa_maxi ?

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

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


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

Ну а как же тогда в НЛС6.Начало они спаунятся, я посмотрел, в амк_аномс.скрипт все названий нету(а их там огромное кол-во), прописаны только стандартные арты ?

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


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

А вот когда создаешь ранг новый (типа мастер), как сделать что бы к примеру при спауне свободно щастающих сталкеров у некоторых был именно этот ранг новый ?

И как прописать к примеру долговцам на АС ? Это все задается в character_desc_....xml ?

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

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


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

Кто поможет мне, нужно перегнать МР3-шка в ОГГ, только что бы на него игра не ругался в консоль красным.(?)

Напишите В ЛС, скину файл.

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

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


Ссылка на сообщение
parsek123, Вроде бы какой то мод был с погодой из АБС, глянь в раритетах.

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


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

Ребята, кто шарит в скриптах (тамне сложно), отстучитесь кто нибудь в личку, пожалуста.

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

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


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

Помогите, пожалуста, вот

function scheme_1()
    [color="#FF0000"]level.add_cam_effector("camera_effects\\surge_01.anm", 25, false, "")    --резкий рывок вправо
    level.add_pp_effector("1.ppe", 2001, false)    --через промежуток двоение в глазах и белое блинкование[/color]
            local snd_rand=math.random(1,5)
            if snd_rand==1 then
            vergas_lib.s_play([[actor\arts_hit_1]],1)
            elseif snd_rand==2 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_1]],1)
            elseif snd_rand==3 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_6]],1)
            elseif snd_rand==4 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_8]],1)
            elseif snd_rand==5 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_9]],1)
            end
    --get_console():execute("СХЕМА_1")
end    

function scheme_2()
    [color="#FF0000"]level.add_cam_effector("camera_effects\\head_shot.anm", 26, false, "")    --резко болтануло. 
    level.add_pp_effector("gar_ambush_hit.ppe", 2002, false)    --сначала двоится, потом полностью темнеет[/color]
            local snd_rand=math.random(1,6)
            if snd_rand==1 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_1]],1)
            elseif snd_rand==2 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_6]],1)
            elseif snd_rand==3 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_2]],1)
            elseif snd_rand==4 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_6]],1)
            elseif snd_rand==5 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_8]],1)
            elseif snd_rand==6 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_9]],1)
            end
    --get_console():execute("СХЕМА_2")
end

function scheme_3()
    [color="#FF0000"]level.add_cam_effector("camera_effects\\surge_02.anm", 27, false, "")    --хорошо мотонуло
    level.add_pp_effector("surge_shock_old.ppe", 2003, false)    --экран двоится и темнеет несколько раз[/color]
            local snd_rand=math.random(1,6)
            if snd_rand==1 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_1]],1)
            elseif snd_rand==2 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_6]],1)
            elseif snd_rand==3 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_2]],1)
            elseif snd_rand==4 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_6]],1)
            elseif snd_rand==5 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_8]],1)
            elseif snd_rand==6 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_9]],1)
            end
    --get_console():execute("СХЕМА_3")
end

function scheme_4()
    level.add_pp_effector("blink.ppe", 2004, false)    --белая вспышка
    [color="#FF0000"]level.add_cam_effector("camera_effects\\dream_1.anm", 28, false, "")    --отбрасывает назад и укладывает
    level.add_cam_effector("camera_effects\\prison_1.anm", 29, false, "")    --пробуждение ото сна[/color]
            local snd_rand=math.random(1,7)
            if snd_rand==1 then
            vergas_lib.s_play([[actor\arts_hit_2]],1)
            elseif snd_rand==2 then
            vergas_lib.s_play([[actor\arts_hit_3]],1)
            elseif snd_rand==3 then
            vergas_lib.s_play([[characters_voice\human_01\military\fight\hit\hit_5]],1)
            elseif snd_rand==4 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_2]],1)
            elseif snd_rand==5 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_6]],1)
            elseif snd_rand==6 then
            vergas_lib.s_play([[characters_voice\human_01\dolg\fight\hit\hit_8]],1)
            elseif snd_rand==7 then
            vergas_lib.s_play([[characters_voice\human_01\freedom\fight\hit\hit_6]],1)
            end
    --get_console():execute("СХЕМА_4")
end

выдрать то что выделено красным, это эфекты от ударов артефактов, надо что бы так же они выбирвлись рандомно.

В

function hit_by_art(obj)
        if art_cnt > 0 then art_cnt = art_cnt - 1 return end

        local s =  art_hit[obj:section()]
        if s == nil or level.main_input_receiver()~=nil then return end

        local propusk=1

        local perchatki = db.actor:item_in_slot(0)
        if perchatki then
            propusk = perchatki_propusk[perchatki:section()] or 1
        end

        local outf=db.actor:item_in_slot(6)
        if outf then
            propusk=propusk * ( scient[outf:section()] or 1)
        end

        local h = hit()
        h.draftsman = db.actor
        h.direction = vector():set(0,0,0)
        h.impulse = s["impulse"]
        h.type = s["type"]
        h.power = s["power"]
        h.power = h.power*propusk

[color="#FF0000"]    if h.power>0 then
        local cameffs ={"shell_shock","hit_front","hit_right","hit_back","hit_left","hit_front_left","hit_back_left","hit_front_right","hit_back_right"}
        level.add_cam_effector("camera_effects\\"..cameffs[math.random(#cameffs)]..".anm", 999, false, "")
        db.actor:hit(h)
    end
end[/color]    (ПОСЛЕ НЕГО ПРОПИСАТЬ СЛЕДУЮЩИЕ)

function cnt_art()
    local cnt=0
    db.actor:iterate_inventory(     function (dummy, item) if art_hit[item:section()] then cnt=cnt+1 end     end,nil)
    return cnt
end

function update()
local item=db.actor:item_in_slot(0)
if item and perchatki_propusk[item:section()]~=nil then
    local outf=db.actor:item_in_slot(6)
    if outf and scient[outf:section()]~=nil then
        hidden_slots.drop_perchi(item)
    end
end
end

 

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

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


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

Добрый день, подскажите какие файлы править что бы создать новую аномалию. Или скиньте статью, если кто находил,я такой не видел.

 

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

И кто помнит моды с новыми аномалиями, Нар.Сол, НлС6 это само собой, а ещё ?

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


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

Перенес аномалию, скопировал zones....ltx, прописал его в zones.ltx, вставил партикл от аномалии. Но когда зашел в неё и умер, то игра вылетела с таким логом(делал на народную солянку)

Лог * phase time: 15 ms

* phase cmem: 250042 K

* [win32]: free[1118072 K], reserved[155936 K], committed[823080 K]

* [ D3D ]: textures[311290 K]

* [x-ray]: crt heap[250042 K], process heap[375815 K], game lua[34758 K], engine lua[255 K], render[0 K]

* [x-ray]: economy: strings[12070 K], smem[0 K]

! Cannot find saved game ~#i#:netpacket_pda:Ге... Не надо паниковать. Вы всего лишь создали ПДА с СИДом: 30585

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


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

Где в конфиге аномалии задается сила удара по живым обьектам ?

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

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


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

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