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

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


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

сия хрень назвается сабклассинг

Ну если иметь в виду древнюю технологию микрософта для субклассинга контролов, то да, похоже. Однако весь остальной мир называет этим словом как раз таки наследование. Так что лучше этого слова избегать.

Хотя какая в сущности разница?!

 

Подскажите, есть спосод отследить игровые секунды аналогично часам и минутам:

Можно даже миллисекунды:

local y,m,d,h,min,sec,ms = game.get_game_time():get()

К слову сказать, экспериментировал сейчас с level.set_time_factor и выяснил забавную вещь. Можно установить фактор времени отрицательный, и часики начнут тикать в обратном направлении. Вот сижу и думаю: а не можно ли здесь нарыть решение проблемы с таймером в ТЧ.

 

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

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

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

 

Чето тему не получаеться создать,люди скажите где АНИМАЦИЯ NPC лежит,в мешесах нету,там тока мутанты и стволы.Вобщем вопрос такой-где их искать и как подружить с максом 8 ?

Вот это db.actor.health - здоровье ГГ (вернее порция восстановления здоровля, как выяснилось)

А как будет то же самое, касаемо:

1.энергии

2. радиации

3. кровотечения?

========================

Gonarh, спасибо,так и делаем, но иногда клинит. Да и почему не спросить у знающих людей? ;)

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

1. db.actor.power

2. db.actor.radiation

3. db.actor:get_bleeding()

учимся активно юзать lua_help.script :russian_ru:

за "знающих" спасибо :D

а то шо клинит - у мну щас такое приключилось:

1. Не могу найти название инфопоршня который выдается при отказе Меченого от присоединения к О-сознанию, никто не подскажет?

2. Из-за чего в логах могет появится сия запись?

~ ERROR: can't detach independant object. entity[mil_wpn_vintorez:9583], parent[mil_wpn_vintorez:9583], section[wpn_vintorez]
Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

1. При отказе никакого поршена не выдаётся. А лишь прекращается диалог и ГГ перемещается в точку.

--' Мы отказываемся вступить в осознание, нас переносит на вторую станцию
function osoznanie_decline(npc, actor)
    db.actor:disable_info_portion("oso_init_dialog")
    npc:stop_talk()
    actor:stop_talk()
    xr_effects.enable_ui(db.actor, nil)      
    local point = patrol("mon_jump_aes2_walk")
    local look = patrol("mon_jump_aes2_look")
    
    db.actor:set_actor_position(point:point(0))
    local dir = look:point(0):sub(point:point(0))
    db.actor:set_actor_direction(-dir:getH())
    
end

--' Мы соглашаемся вступить в осознание, конец игры.
function osoznanie_agree(npc, actor)
    db.actor:disable_info_portion("oso_init_dialog")
    npc:stop_talk()
    actor:stop_talk()
    xr_effects.enable_ui(db.actor, nil)      
    game.start_tutorial("mov_join_osoznanie")
    
end

 

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

Изменено пользователем WAWKA
~ ERROR: can't detach independant object. entity[mil_wpn_vintorez:9583], parent[mil_wpn_vintorez:9583], section[wpn_vintorez]

 

Эта ошибка появляется когда нпц подбирает предмет (в данном случае это винторез). Подбор предметов появился в амк так, что это может и не движковое, а амк :rolleyes:

 

P.S. В лог записывается красным такая вот ошибка: ! Cannot find saved game ~~~ process_trade_-_unknown_-_wpn_rg-6_wpn_rg-644545

 

Кто знает куда нужно прописать wpn_rg-6, чтоб устранить эту ошибку?

 

 

WAWKA спасибо!!!!!!!!!!

Изменено пользователем M.a.r.k.e.d 119

Одиночка. Зона это мы!

Нужно найти в amk_offline_alife.script найти строку:

                    news_main.trace("Process trade - unknown - "..sect.." "..v:name())

И закомментировать её.

Из xrGame.dll в лог выводится can't detach independant object. Раз непись подбирает ствол, может нужно добавить их в attachable_items?

can't detach independant object. entity[mil_wpn_vintorez:9583], parent[mil_wpn_vintorez:9583], section[wpn_vintorez]

 

Не знаю как у всех, но у меня такая лабуда наблюдается, когда беру в руки ствол. То есть из инвентаря. Очень часто это лр300 с оптикой. Без - вроде ок

И да, на чистом сталке такого не наблюдал.

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

Как сделать активирование определенной функции после получения определенного инфопоршна? (к примеру началось какое-либо задание => активировалась функция)

ЗЫ: просто прописать в диалог свою функцию не могу, т.к. задание начинается не только в диалоге, но и когда НПС умирает и ты его обыскиваешь.

Изменено пользователем Отшель[НИК]

добавить инфопоршень

<info_portion id="my_info_protion">

<action>myscript.my_function</action>

</info_portion>

создать скрипт myscript.script с функцией my_function

function my_function()

-- делать то что нужно

end

при выдаче инфопоршня my_info_protion, выполнится функция my_function

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

как убрать ограничение на сон?

то есть, что бы меченый мог спать когда надо, даже если выспался

Есть ли в конфигах оружия параметры, отвечающие за скорость поворота ГГ с этим оружием в руках без зума, или это все правится в ogf?

как убрать ограничение на сон?

Файл amk_mod.script. Там функция test_for_need_sleep_matras (примерно строка 409). Там во второй части есть такой фрагмент:

            else
                if amk.load_variable("block_sleep_menu",0)==0 then
                    if amk.load_variable("gg_need_sleep",0)>20 then
                        local spwn=ui_cheat.cheat(get_hud())
                        level.start_stop_menu(spwn,true)
                    else
                        amk.send_tip(game.translate_string("not_need_sleep"),nil,nil,5)
                    end
                else
                    amk.send_tip(game.translate_string("not_need_sleep_nrg"),nil,nil,5)
                end
            end

Это основные проверки, которые мешают заснуть, и собственно вызов диалога сна. Между else и end Надо закомментировать всё, кроме:

local spwn=ui_cheat.cheat(get_hud())

level.start_stop_menu(spwn,true)

 

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

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

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

 

Есть ли в конфигах оружия параметры, отвечающие за скорость поворота ГГ с этим оружием в руках без зума, или это все правится в ogf?

Если речь идет о том, чтобы с каждым оружием ГГ крутился с разной скоростью, настройки мышки не спасут. В конфиге есть параметр control_inertion_factor, он влияет на скорость поворота с оружием. Для себя установил этот параметр равным корню квадратному из массы оружия (где не было - дописал), разница между легким пистолетом и тяжеленным пулеметом видна невооруженным глазом. С пистолетом крутится, как юла, с пулеметом такое фиг получится.

Проверял более точно, перемещал мышку по столу на фиксированное расстояние и считал обороты ГГ. Результат точно не помню, но очень заметный, явно не погрешность эскперимента.

Единственно, не знаю точно, изменяет ли этот параметр чувствительность мышки или ограничивает максимальную скорость поворота.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

...которая в конце-концов вызывает функцию do_news, которая уже и отображает сообщение через случайный интервал времени (чтобы не всю пачку сразу вываливать).

Тут подумал, а как тогда убрать этот интервал? В частности для вывода сообщения о смерти НПС.

Подскажите, как скриптом установить прицел на оружии. Оружие в руках, в активном слоте. Прицел на него точно ставится (взял АК-74 для опытов) Пробовал вот такой функцией:

 

function scope()
local wpn = db.actor:item_in_slot(db.actor:active_slot())
if wpn then 
    local wid = wpn:id()
    local wdat = amk.get_weapon_data(alife():object(wid))
    local af = wdat.addon_flags
    local uaf = wdat.updaddon_flags
    --news_manager.send_tip(db.actor, "   addon_flags: "..tostring(af).."   updaddon_flags: "..tostring(uaf), nil, nil, 20000)
    wdat.addon_flags = af + 1
    wdat.updaddon_flags = af + 1
    local wobj = alife():object(wid)
    --local wobj = alife():create(wpn:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
    amk.set_weapon_data(wdat,wobj)
end
end

 

Результат - ноль. Есть ли прицел в инвентаре - не имеет значения (да и не должно по идее), пробовал и так и так. Похоже, ничего не записывается, проверял двумя вызовами подряд, addon_flags не изменяется на втором вызове, хотя должен бы.

В скрипте очепятку подправил, где в fill_item_packet(ret,stpk,updpk) вместо writevu8uN(pk,v) (как по логике и должно бы быть, запись все-таки) вызывалось readvu8uN(packet,n) (с закономерным вылетом LUA error: d:\games\s.t.a.l.k.e.r\gamedata\scripts\amk.script:2061: 'for' limit must be a number), но на большее мозгов у меня не хватило. Что и где еще не так - не знаю, нет-пакеты меня вырубают начисто.

Или я в принципе неправильно делаю?

 

Запасной вариант с выдачей оружия с уже установленным (но съемным) прицелом тоже не сработал (в скрипте закомменченая строка) - выдается оружие, но без всего.

 

Выручайте, люди добрые!

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Всем доброго времени суток,вроде где то говорили, но всё же реализуема ли, то, чтобы нпц ездили на транспорте.

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

Незаметные штрихи, для глаз среднего человека, составляют славу мастера

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

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

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

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

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

Войти

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

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

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