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

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


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

Scarabay

Я видел в одном моде такую самоездещаю тачку.Ей просто были сделаны вей-поинты, как для НПС, и машина по этим вей-точкам ездила.Вроде как, все просто.

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

Народ, помогите! Вчера установил худ от V92 из наработок для соли, запустил - всё работает. Радостно пошёл спать, а утром при загрузке игры только после заставок доходит до главного меню и БАЦ! Вылет без лога! И так всё время! Может знает кто, с чем это может быть связано? И главное, поставил старые другие поделки, всё равно так же выносит! Только без геймдаты не выносит любой. Ничего не понимаю! :dash2: :dash2: :dash2:

 

Сталкер переустановить пробовал. Не помогает.

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

Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с)

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

herurg

Сейчас у многих такой косяк, в интернете какя-то фигня творится.Отключи интернет и играй спокойно.

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

n6260, Это потому что я играю в FRM с ограничением объема, и когда я беру предметы мне надо знать влезут они в рюкзак или нет.

Сообщение от модератора n6260
Гораздо проще просто в описании предмета указать его объем через правку текста описания.
Моё новое оружие здесь.

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

Люди, а из-за чего может быть такой вылет?

[error]Expression    : assertion failed
[error]Function      : CSkeletonX::_Load
[error]File          : E:\stalker\patch_1_0004\xr_3da\SkeletonX.cpp
[error]Line          : 307
[error]Description   : data->find_chunk(OGF_VERTICES)

Из-за модели или скрипта?

 

and_modern, вылет рандомен. Но почему спрашиваю про скрипт.

Кароче добавил функцию в скрипт, появился вылет при загрузке. Удалил из скрипта, вылета нет.

Но теперь появился на Свалке...

 

А еще вспомнил. Я в модели сухпайка менял текстуру через НЕХ едитор. Хотя он у меня щас в рюкзаке есть... Может все таки из-за него?

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

Shadows Наверное модель кривая а что добавлял перед тем как вылет словил?

Нет не в курсе, делом не смогу помочь.

Мх не знаю если на одну букву сделал больше или меньше то возможно я с таким вылетом не встречался.

но раз игра запускалась...и он был в рюкзаке то вылетело бы сразу по идее. А текстуры легче через СДК менять, мне лично...

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

Мой архив

Сталкером не занимаюсь.

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

Народ, помогите! Был такой косяк раньше в игре, аптечка не использовалась на клавишах вообще. Может кто знает, как это исправить?

 

И есть ещё звук сердцебиения, так он был, когда было мало здоровья, а потом при ковыряниях в конфигах убрался. Может кто знает куда вписать что, чтобы вернулся?

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

Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с)

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

Как повесить выполнение функции на использование предмета?

Stalk15, а откуда её вызывать? Из бинд_сталкера?

Изменено пользователем goroskob
Моё новое оружие здесь.

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

goroskob

Всмысле, если ипользовал итем, то вызывается какая-то функция, да?

Если да, то вот функция отслеживания использования итема:

function use_item()
    if mobile and type(mobile) == 'number' then
        if not level.object_by_id( mobile ) then
                     --/Действие
        end
        mobile = nil
    end

    if mobile and type(mobile) == 'userdata' then
        mobile = mobile:id()
    else
        mobile = nil
    end
end

function drop_item(obj)
    if obj:section() == 'ПРЕДМЕТ' then
        mobile = obj  
    end
end

 

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

goroskob

В бинд_сталкер

Первую - из актор-апдейта, а вторую из итем_дроп.

Изменено пользователем Stalk15
Ссылка на комментарий
Как повесить выполнение функции на использование предмета?

Или так:

добавляем bind_stalker в метод actor_binder:reinit() еще один каллбек

self.object:set_callback(callback.use_object, OnUseObject, self)

OnUseObject это имя функции которая будет вызываться, когда эктор будет использовать предметы типа хлеба\водки\антирада\аптечки\бинта\дринка и т.д. - то есть те которые имеют менюшку "использовать".

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

И далее радуемся жизни с этой функцией:

 

function OnUseObject(obj, who)
    if obj then 
           if obj:section() =="предмет" then   -- здесь делаем проверку на секцию нужного предмета  
действие 
           end
      end
end

можно добавить данную функцию в виде метода в bind_stalker сделав так:
function actor_binder:OnUseObject(obj, who)
сюда ставим проверки
end
тогда каллбек нужно прописать так
self.object:set_callback(callback.use_object, self.OnUseObject, self)

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

 

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

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

Привет всем. Помогите создать медика в ТЧ.

Я тут напишу,как я думаю делать,а вы мне подскажите если что.

значит создаю диалог для начала:

Привет,покрамсали меня.Подлечи пожалуйста.(актор старт диалог)

У Доктора 2 варианта ответа:

1.Если у меня здоровье меньше 1(в игре вроде так пишется:здоровье=1),то выполняется соответствующий скрипт и медик меня лечит.И говорит допустим:да ради бога.

Вот у меня вопросы к первому пункту:Саму функцию я запишу допустим в escape_dialog.script,но этого же наверно мало.куда ещё её нужно указать.

Второй вопрос:как конкретно выглядит функция.Я щас напишу примерно как я предполагаю,а вы потом исправьте пожалуйста что нужно.

function medic(npc actor)

if health<1

типа если здоровье меньше 1 то надо вылечить актора.а как написать правильно незнаю.помогите.

2.Если моё здоровье в норме,то медик говорит:Ты здоров,и меня не лечит.

здесь тоже нужно писать какой-нибудь идентифакотор?заранее спасибо!

 

 

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

Само Хуньг,

тебе нужно создать диалог у твоего NPC и вместе с определённой фразой вызывать нужную функцию лечения. Про диалоги смотри в теме "справочник" или ищи статью на wiki.

 

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

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

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

 

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

У меня вопрос по моделям,но не по созданию а другое.поэтому я здесь пишу.скажите,а можно взять уже готовые модели(в интернете их полно как в формате obj так и в max)и заспихнуть их в игру?

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

Есть ли способ отключить файл treasure_manager.script из внешнего(не дефолтного) файла?

Пробовал ставить на апдейт функцию treasure_manager.clear_treasure_manager(),

но результат нулевой.

Мне бы собственно сделать, чтобы вот этот метод не вызывался

treasure_manager:get_treasure_manager():use(self.object)

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

Как сделать не вызов некоторых других функций оригинала я нашел способ - а вот здесь решения пока не нашел.

И второе - как обойти необходимость ставить вызов в motivator_binder:use_callback(obj, who) - самописными вариантами? (нужен каллбек на обыск трупа и юзердата трупа. Через info_callback не прокатило - каллбек не возвращает юзердату заюзанного трупа - только ГГ.

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

Само Хуньг, в начало диалога ставиш проверку

<precondition>file.have_health</precondition>

В скрипт это

function have_health()

if db.actor:health() < 1 then

return true

else

return false

end

function set_medkit()

db.actor:health() == 1

end

В диалог, под текстом согласия вылечить, вписываеш это

<action>file.set_medkit</action>

file это имя файла в папке scripts в котором находятся вышеописаные функции.

P.S. Набирал на мобильнике, могут быть ошибки.

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

НАРОД!! Помогите ламеру скажите как в Народной солянке от 2010г изменить аптечку так чтобы она сразу востанавливали хп, а не за 3 мин игрового времени?

 

P.S. я нуп страшный, если можно по подробней напишите =(

 

 

 

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

Можно и так, разницы ни какой.

function set_health(actor, nps) --мне кажется первый параметр это актор (если нет, поправте).

actor:health() = 1 -- если вместо актор вписать nps, то здоровье увеличим ему. (при условии что я не перепутал местами (actor, nps))

end

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

Доброго времени суток всем!

 

Разбирающиеся, подскажите - Для пробежки по инвентарю астора или непися есть к примеру inventory_for_each. Существует ли сравнимая функция для пробежки по содержимому inventory_box?

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

www.amk-zone.de

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

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

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

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

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

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

Войти

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

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

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