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

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


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

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

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

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

Изменено пользователем Biler
Конфигурация PC: CPU: Intel Core i5-2500K; GPU: ASUS ENGTX570 DCII/2DIS/1280MD5; MB: ASUS P8P67 PRO (REV 3.0); БП: Antec TruePower Quattro EC (1000W); Монитор: ASUS VG236H 23" (1920x1080) + NVIDIA 3D Vision
Ссылка на комментарий

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

 

Если один и тот же диалог существует у многих сталкеров, как сделать, чтобы инфопоушены у всех были свои собственные в нем? Важно ли кто выдает поушен? (название_объекта: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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

В каком файле изменяется отношение нпс и мутантов между собой (друг, враг) ?

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

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

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

[monster_relations]
[communities_relations]

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

Зачем курить траву и летать, когда можно хавать ЛСД и телепортироваться?!

Ссылка на комментарий
UnSi, там все понятно но как например изменить отношение монолита к контролеру?

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

Whisper,

Попробуй отрицательных денег дать.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

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
Ссылка на комментарий

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...