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

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


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

Министр,по аптечкам вроде есть способ более простенький.

В скрипте бинд_сталкер есть функция on_drop(obj)

в неё можно прописать ,

if string.find(obj:section(),"medkit") then

----

end

вот и всё.

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

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

 

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

 

а реально ли нпс,или костюму прописать свечение по типу как свечение у арта?

 

Реально, был бы партикл. :)

Чтобы добавить партикл как у ЭХ всем сталкерам на голову, надо сделать так:

Открываем файл m_stalker.ltx и находим там такие строки:

;bones_particles = test_particles

[test_particles]
head = test_particles_head

[test_particles_head]
particle = amk\electrohimera
bone = bip01_head
stop_on_death = true

 

Смело их трем и вставляем вот такие:

bones_particles = electro_wolf

[electro_wolf]
electro_wolf_particles_head = electro_wolf_particles_head

[electro_wolf_particles_head]
particle = amk\electrohimera;здесь пишеться какой партикл будет использоваться
bone = bip01_head;здесь пишеться к какой косте будет привязываться партикл
stop_on_death = true;при true - партикл после смерти непися будет выключаться, при false - нет
sound = anomaly\electra_idle1;звук
sound_looped = true

 

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

Здраствуйте сталкеры! подскажите пожалуйста как подобрать координаты для спавна персонажа? или какой программой это можно сделать?

Разработка Andrew's Pack Mod V0.5..

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

andrewrap,

самым простым является в фале

gamedata/scripts/ui_main_menu.script в конце дописываем это:

 

function main_menu:OnButton_credits_clicked() 
local text 
local vid 
local gvid 
local a = vector()  
local text 
a = db.actor:position()  
vid = db.actor:level_vertex_id()  
gvid = db.actor:game_vertex_id()  
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid 
news_manager.send_tip(db.actor, text, nil, nil, 30000) 
end

 

во время игры выходишь в меню и жмешь на титры.

Что-то кончается, что-то начинается...

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

Кстати, работает ли тестовый полигон для ЧН? Если работает, то надо будет оба варианта прописать в уроках по модостроению.

 

В файле character_desk_название уровня.ltx в профиле нового непися прописываем так:

Искал-искал... нашёл только \gamedata\config\gameplay\character_desc_....xml

 

if string.find(obj:section(),"medkit") then

Может лучше по clsid? Что-то вроде:

if obj:clsid() == clsid.obj_medkit) then

 

 

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

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

Можно попробовать также и здесь:

1. по дропу предмета, если это аптечка, то ставим флажок и запоминаем id, возможно дописываем в массив. Можно ведь сразу много выкинуть.

2. в апдейте проверяем, если такого предмета нет - значит съели, если есть - значит просто выкинули.

 

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

 

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

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

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

 

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

malandrinus, а помоему с таймером намного проще сделать.

с ним получается такая схема:

1. В bind_stalker.script в функции on_item_drop (obj) идет проверка секции выкинутого предмета и если if верен то запускаеться таймер:

if (section=="medkit" or section=="medkit_army" or section=="medkit_scientic") then

amk.start_timer ("timer", 0.1, obj:id())

end

 

2. Этот таймер после прохождения своего времени выполняет вот это:

if alife():object(oid)==nil then

----- тут пишешь что душе угодно

end

 

З.Ы. Видишь тут даже можно обойтись без актор_апдейта :)

 

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

 

А кто-нибудь знает как сделать таймер не используя функции АМК?

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

 

не используя не знаю, но не проще ли эти самые функции таймеров вытащить?

Ссылка на комментарий
З.Ы. Видишь тут даже можно обойтись без актор_апдейта :)

А кто-нибудь знает как сделать таймер не используя функции АМК?

Так ведь таймеры и сделаны на апдейте актора. Но в придачу ещё и грузят нетпакет актора, который вовсе не резиновый и забит и так под завязку.

 

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

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

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

 

Ссылка на комментарий
нетпакет - это класс движка игры, экспортированный в Lua. Каждый объект этого класса содержит буфер. Любой серверный объект можно записать в этот буфер и считать из него. Кроме того, в этом классе есть функции для последовательного разбора этого буфера

 

вопрос такой, хочу уменьшить хэлс неписю в онлайне, это мона сделать только через нетпакет - выпихнув его в оффлайн перепаковать и обратно в онлайн? или есть другой способ? <_<

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

Здесь как раз всё намного проще. у game_object есть свойство health. Так что делаем так:

cobj.health = value -- именно так, с точкой

 

вот только для убийства этот метод ненадёжно работает. Даже если поставить health = -1, дохнут далеко не всегда, а иногда не сразу.

Кроме того, если непись валяется и аптечку просит, то даже если его health поднять - валяться не перестанет. Для этого есть метод game_object:wounded(boolean).

 

З.Ы.: Вообще-то, не грех бы за такими вопросами заглядывать в файл lua_help.script

 

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

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

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

 

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

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

 

Существует ли возможность "очистить" ПДА от заданий/записей в дневнике/энциклопедии?

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

www.amk-zone.de

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

Подскажите. Тут уже кто-то спрашивал про рамочки вокруг НПЦ и старую FN2000. В каком моде это реализовано ?

 

И еще... Если нельзя сделать в прицелах рамочки, то можно ли сделать скролинг увеличения на снайперках ? Ну тоже как в бинокле, щелакешь и идет увеличение постепенное, а не сразу Zoom_factor на MAX вставал ?

 

Плизз если не сложно... Сорри если я повторяю уже заданные вопросы....

Ссылка на комментарий
как поставить продавцам в продажу рюкзаки?

Поставь "treasure_item"

 

Подскажите. Тут уже кто-то спрашивал про рамочки вокруг НПЦ и старую FN2000. В каком моде это реализовано ?

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

Вроде бы в Zenobian моде. Но я также слышал, что это не просто так получилось. Zen для этого движок ковырял, чтобы научить стрелять бинокль. А одними конфигами или скриптами не выйдет.

 

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

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

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

 

Ссылка на комментарий
Как Сахарову разрешить покупку защитных костюмов,а то он не хочет покупать.

Про торговцев смотри шпаргалку из шапки.

 

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

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

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

 

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

Dumpstone, надо править библиотеку xrGame - правленная есть в Народной Солянке или моде ZENOBIAN + нужно настроить конфиг ствола (присвоить ему class = W_BINOC (кажется так) - в общем как у бинокля,и дописать соответствующие настройки,как в вышеупомянутых модах.)

 

З.Ы.: Вообще-то, не грех бы за такими вопросами заглядывать в файл lua_help.script

malandrinus, А кто бы выложил файл lua_heelp с комментариями,что какая функция\переменная значит.

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

Всем привет. Вчера решил в Солянке Wawka прописать в продажу Бармену ПКМ. Прочитал шпору от n6260, там ссылка на файл trade_barman.ltx. Открываю его и вижу следующее:

[trader]

buy_condition = barman_generic_buy

sell_condition = {+yan_labx16_switcher_primary_off} barman_after_brain_sell, {+bar_darklab_document_done} barman_after_darkvalley_sell, barman_start_sell

buy_supplies = {+yan_labx16_switcher_primary_off} supplies_after_brain, {+bar_darklab_document_done} supplies_after_darkvalley, supplies_start

 

#include "shop_barman\barman_buy.ltx"

#include "shop_barman\barman_supl.ltx"

#include "shop_barman\barman_trade.ltx"

 

Лезу в папку shop_barman, меняю значения напротив ПКМ С No TRADE на:

wpn_pkm = 1, 1 (в файле barman_supl.ltx)

wpn_pkm = 10, 10 (в файле barman_trade.ltx)

wpn_pkm = 0.1, 0.2 (в файле barman_buy.ltx)

Захожу в игру,загружаю сохранку и бегу к Бармену, но ПКМ в продаже нет. Что делать? :wacko2:

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

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

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

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

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

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

Войти

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

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

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