[SoC] Ковыряемся в файлах - Страница 317 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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


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

Помогите советом! Из OGSM вытянул "сон" вроде все верно адаптировал, а спальный мешок в рюкзаке ГГ не появляется, что делать ума не приложу :( ?

Может подскажете, что именно отвечает за появление спального мешка в инвентаре ГГ, или на крайняк как его добавить в продажу в R.M.A. Mod?

Заранее спасибо!

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

Как определить, какая схема у непися скриптом? Сидит у костра, гуляет, в патруле и т.п.? Нужно для построения диалога с ним.

 

Если один и тот же диалог существует у многих сталкеров, как сделать, чтобы инфопоушены у всех были свои собственные в нем? Важно ли кто выдает поушен? (название_объекта:give_info_portion)

 

То есть, если с одним неписем уже пришли к какому-то конкретному финалу в диалоге, то при повторном том же диалоге он сразу должен выдать это финал, а с другим неписем - по другому, с нуля.

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

_Призрак_, Как именно, можно пример?

 

То есть, если с одним неписем уже пришли к какому-то конкретному финалу в диалоге, то при повторном том же диалоге он сразу должен выдать это финал, а с другим неписем - по другому, с нуля.

Фактически, это значит, что для каждого встреченного, обычного, "не именного" сталкера должен генерится свой профиль - 2 или 3 числа достаточно - по проверкам которых и происходит все дальнейшее общение(инфопушены не годятся на эту роль? они не "именные"?). По идее сталкер этот профиль должен хранить "в себе" вечно с момента генерации, если еще раз доведется столкнутся - ничего не должно меняться.

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

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

Leshik, <_< не ленитесь листать тему, пусть даже на пару страниц - ответ будет дан вам.

Всё-таки ещё раз хочу попросить о внесении ответа на данный вопрос в шапку :dash2:

Про сохранение флажков у неписей подсказали - просто завел динамическую табличку с их ID в качестве индекса, типа char_tbl[npc_id] = flag

 

А вот кто работал с сейвами? Сложно такое запихать в сейв? Много ли занимает места? Влияет ли на загрузку существенно?

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

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

saruman_ten, ...\S.T.A.L.K.E.R\gamedata\config\creatures\game_relations.ltx

меняешь в таблицах:

[monster_relations]
[communities_relations]

Изменено пользователем UnSi
saruman_ten, нельзя. Контролёр - это монстр, а между стакерами и монстрами в игре только глобальные отношения - враги Изменено пользователем Шип
Шип, они не как на друг друга не реагируют и на библиотекаря тоже , да и контролеры друг друга не бьют

Как снизить частоту выброса, вернуть старые хит-марки и уменьшить время респауна артефактов у аномалий?

malandrinus, Спасибо, почему-то показалось, что метод give_money() работает только на ГГ, а не на нпс.

 

А в чем смысл ведения лога денежного, который используется для гг постоянно? (game_stats.money_quest_update(num) )

Viper, если ты про выброс от АМК, то тебе сюда => \gamedata\config\blowout.ltx

параметр time время между выбросами в игровых минутах.

 

Текстура хитмарка - gamedata\textures\ui\ui_hud_hit_mark.dds, можно нарисовать какой угодно.

Кстати в оригинале их аж 18 штук, и все разные, там, что каждый хитмарк соответствует определённому типу урона?

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

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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