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

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


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

Тото и оно уважаемый, если бы не пробовал сам вешать коллбеки - не говорил ба, неловиться сволочь, а мне позарез нуно было момент хита ГГ, шоб не грузить апдейтер проверкой хэлса, но.... :unsure:

Если надо только узнать, что по ГГ кто-то стреляет, то есть колбек amk.npc_shot_actor. Он вызывается из апдейта стрелявшего. Правда это только факт выстрела. Вызывается в любом случае, даже если попадания не было.

 

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

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

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

 

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

Это я и сам могу, мну же был нужон конкретно момент получения хита ГГ (делал говорящий HEV костюм как у Гордона Фримена), пришлось в тупую навешивать условия на метод апдейта actor_binder, если знаешь способ узнать, что нанесен хит не юзая апдейтер, подскажи, буду благодарен

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
если знаешь способ узнать, что нанесен хит не юзая апдейтер, подскажи

Нет такого способа походу. Все через апдейт актора это делают. В АМК так сделана реакция с постэффектом и вышибанием оружия из рук. А иначе походу и нельзя.

Попытался было сделать биндер для самого костюма. Тоже не выходит. Биндится, а коллбек не вызывается =(

 

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

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

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

 

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

помогите пожалуйста кто нибудь с вылетом:

 

* MEMORY USAGE: 290151 K

~ ERROR: can't detach independant object. entity[wpn_pb28160:28160], parent[single_player:0], section[wpn_pb]

~ ERROR: can't detach independant object. entity[ammo_9x18_fmj28161:28161], parent[single_player:0], section[ammo_9x18_fmj]

 

FATAL ERROR

 

[error]Expression : error handler is invoked!

[error]Function : handler_base

[error]File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp

[error]Line : 749

[error]Description : pure virtual function call

 

 

stack trace:

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

:lol3: судя по логу, непись пытялся обшмонать ГГ

~ ERROR: can't detach independant object. entity[ammo_9x18_fmj28161:28161], parent[single_player:0], section[ammo_9x18_fmj]

это попадает в лог при подбирании неписями стволов и артов с земли(из мода АМК), то есть не из трупов мертвых сталкеров. Почему, потому-что юзается метод transfer_item параметрами которого являются отдающий и принимающий предмет неписи, в случае когда предмет берется не при обшаривании трупа а подбирается с земли в качестве параметра передается сам предмет, в принципе это не критично. Хммм.... неизвестно что послужило в твоем случае причиной вылета. Вполне вероятно что это даже не причина, попробуй перегирать это место еще раз, появиться ли подобный вылет

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
Gonarh, а ты разобрался с методом berserk() ?

пока некогда займусь после выходных

знач так, покрутив повертев сей метод, пришол к выводу что это умершее наследие обливион лоста: спавнил свинью, зомбака и излома в 60 метрах от себя и каждые 5 игровых минут дергал их этим методом, наблюдая за тварями из бинокля, не заметил хоть какого либо изменения в поведении :russian_ru:

ЗЫ. Монстры были всегда в алайфе, не давал им убежать далее 100 метров - гнался за ними :grin2: , пробовал подойти поближе - обычная атака ничего больше...

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Доброго времени суток. Подскажите пожалуйста, как в ПДА, в разделе, скажем, журнал добавить свой текст? Если непонятно, то вот то, что я хочу на пальцах : заходишь в журнал, там выбираешь вкладку "Дополнительно", оттуда "вылезает" вкладка под названием "Вкладка 1", ты на неё нажимаешь, а справа высвечивается текст, например какая-то история или ещё чё-нить, ну короче текст. Заранее спасибо!

Изменено пользователем MuXaJIbI4
Ссылка на комментарий

Камрады вопросик нарисовался (не пинайте если гдето писали, искал честно но не нашел)

как сделать что бы торговец когда дает за квест допустим костюм , что бы он был не новый а покоцаный ...

 

dialogs.relocate_item_section(trader, "название костюма", "in")

и как этот костюм сделать не новым

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

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

wolkolak, game_object:condition([значение сюда]) [=или сюда, точно не знаю]

 

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

malandrinus, сделал так, как вы сказали в спойлере "Тестирование скриптов без обрушения и перезапуска игры". В консоли сообщение, что "test.lua" типа не найден. (мб, в ЧН исходной директорией является не bin? но как-то маловероятным это кажется)

Изменено пользователем IQDDD
Ссылка на комментарий

переделал автомат стрелка (уник) так:

перенес акмс из арсенал-мода и изменил запись в unique_weapons:

 

[wpn_ak74_m1]:wpn_akms_sk1 ;АКMS Стрелка

 

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

что еще нужно сделать?

Ссылка на комментарий
В консоли сообщение, что "test.lua" типа не найден.

Уф! Пришлось побить в бубен, но вроде удалось настроить и для ЧН.

 

Лирическое вступление см. в раннем посте насчёт ТЧ. Здесь только технические подробности.

 

Содержимое функции, которая работает по нажатию кнопки из стартового меню остаётся без изменений. Там работает защищённый вызов pcall

    local res, err = pcall(my_proxy.start_chunk_from_file)
    get_console():execute(res and "Succesfull!" or string.gsub(err, " ", "_")) --имитация тернарного оператора

 

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

Пошёл в обход. dofile - это не единственный способ сделать загрузку кода из файла. В ЧН, как выяснилось, экспортировали пространство имён io. Это стандартные функции ввода/вывода Lua. С их использованием файл my_proxy.script теперь выглядит так:

function start_chunk_from_file()
    local reader = io.lines(".\\gamedata\\scripts\\test.lua")
    local chunk, err = load(reader)
    if chunk then 
        chunk()
    else
        get_console():execute("err="..string.gsub(err, " ", "_"))
    end
end

Вкратце суть происходящего:

local reader = io.lines(".\\gamedata\\scripts\\test.lua")

в этой строке файл открывается на чтение и возвращается функция-ридер, которая возвращает строки файла, пока не кончатся (в этом случае возвращает nil и закрывает файл). Обратите внимание, что текущий каталог в ЧН не bin, а каталог игры.

local chunk, err = load(reader)

Здесь стандартная функция load, принимает эту функция-ридер и формирует с её помощью чанк, т.е функцию. Попутно идёт проверка синтаксиса, и если что-то не так, то функция возвращает nil, а второе возвращаемое значение содержит строку с ошибкой.

Далее или выполняем созданную функцию или печатаем сообщение об ошибке.

 

Напоминаю, что не все ошибки блокируется этим методом. Ошибки синтаксиса ловятся в файле my_proxy.script. Ошибки Lua времени выполнения ловятся защищённым вызовом pcall. Но есть куча вылетов, которые генерит движок. Это например некорректные данные в alife():create() или к примеру попытка вывести на консоль nil (get_console():execute(nil)). Такого рода вылеты не блокировать никак.

Однако можно превратить такие ошибки в ошибки Lua. Например можно в критических местах ставить:

assert(value , "message")

Если value равно nil или false, то будет сгенерирована ошибка, которая уже и отловится без проблем.

 

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

Всё правильно, любые изменения в файлах конфигурации сказываются только на новых объектах. Уже существующие остаются без изменений. По большей части их изменение связано с применением нетпакетов. Ну или по-простому - убрать старый ствол, заспавнить вместо него новый.

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

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

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

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

 

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

что еще нужно сделать?

 

Уважаемый посмотри как у меня в моде сделано ...

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

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

Когда торгуешь с кем либо, при двойном нажатии на предмет он перекидывается в среднее окошко, а на его месте остается пустата и катот не поднимается вверх, а когда залазиешь в тайник и допустим патроны в самом низу, и вообще хабара много, и получается так спускаешь катот в низ дважды щелкаешь на пачку патронов перекидывается одна пачка и каток опять уходит вверх, а если пачек 100 так и повесится много, я из-за этого аж 4 рюкзака в одном месте скинул(типа в одной патроны, в другой броники и оружие, в третей арты, в четвертой аптечки и квестовые предметы ну и ножки. Так вот вопрос как сделать так, что бы при обмене каток ни подскакивал вверх а оставался в том же положении, а если предметы в ячейки закончились то там осталось пустое место(при выходе и опять залезании в тайник все должно заполнится)

И еще маленький вопросик: перепаковщик патронов, как его выудить из мода, какие файлы отвечают??

SERGEY94, ХЕХЕ мама ругает? у меня младший брат подзатыльники от отца получает, когда на всю квартиру орет, с... я маслину поймал, купи наушники

 

 

Обидно будет, без матов не интересно атмосфера подпортится, что насчет наушников? Вот блин лучшиб мой отец удалил игру моему брату, а то как начнет ныть: я мод хочу, я пройти не могу пускай поможет, гад блин, в сортир его смыть :) что ли? А вообще скачай какой нибудь аудио резак, поищи файлы с матами в папке саунд и по обрезай, а то типы вообще молчать станут

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

Зона - это не территория, это та проверка, в результате которой человек может либо выстоять, либо сломаться. Выстоит ли человек - зависит от его чувства собственного достоинства, его способности различать главное и преходящее.

Андрей Тарковский

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

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

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

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

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

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

Войти

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

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

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