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

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


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

Kirag, благодарствую! :good: Даже не представляю, как тяжело было бы мне до этого дойти самому - я ведь пока лишь новичок.

TREWKO, извини, хотел ответить, немного не успел... malandrinus дал верный совет. Но всё же позволю себе добавить. цвета можешь подбирать любые, это не сложно, но вот несколько уже подобранных:

[064,224,096,224] Лиловый

[250,244,032,016] Красный

[250,250,144,044] Оранжевый сигнальный

Эти цвета лучше прописывать для сообщений, которые должны быть заметными. Насчет последнего числа не уверен - подбирал методом "научного тыка"

Изменено пользователем Garrett
-- Не забываем про патроны
Когда я спавнил стволы, они уже были с патронами. И вроде в сингле так всегда. Насчёт гранат не знаю.
 

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

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

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

 

а как реализуется свечение Стрелка на теплотрассе в Чистом Небе?

Vita sine libertate, nihil

Vita sine litteris - mors est

RvP, он вроде там не светится, а от него просто молнии отходят как от ЭХ. Поэтому и реализовать такого непися можно также как и АМК Электро Химеру.

 

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

 

А теперь собственно вопрос.

У меня есть переменная с присвоеным значением (это значение присвоелось после выполнения функции), после перезапуска игры это переменная обнуляется. А как сделать чтобы она не обнулялась?

 

З.Ы. Я реализовал это с помощью amk.save_variable и amk.load_variable, мне просто интересно, существуют ли другие способы?

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

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

Vita sine libertate, nihil

Vita sine litteris - mors est

З.Ы. Я реализовал это с помощью amk.save_variable и amk.load_variable, мне просто интересно, существуют ли другие способы?
Нет других способов. Или точнее, нет способов, основанных на ином принципе. Если проследить, что там происходит, то мы увидим сохранение переменной нетпакетом в объекте актора. Делается это через объект-биндер. В принципе, ничто не мешает сохранять не в акторе, а в любом другом объекте. Иногда так и делается: для этого надстраивается биндер соответствующего объекта и при загрузке и сохранении там добавляется в нетпакет дополнительная информация. Но это имеет локальное применение - для дополнительных свойств конкретных объектов. А объект актора доступен всегда, поэтому в нём и удобно сохранять переменные общего характера.
 

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

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

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

 

Когда я спавнил стволы, они уже были с патронами. И вроде в сингле так всегда. Насчёт гранат не знаю.

 

Само собой, стволы при спавне заряжены. Я имел ввиду патроны для перезарядки.

Мои работы:

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

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

Soul Cube

 

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

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

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

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

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

 

malandrinus, Kirag, неписи не тратят патроны - им достаточно 1 пачки. (можно и в стволе).

 

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

НПС должны шмонать тайники в оффлайне,а не шмонают,гады.

 

Вот скрипт оффлай алайф,не подскажете,кде я скривил: http://webfile.ru/3742675 ?

З.Ы. проблема точно не в других скриптах.

Изменено пользователем Monnoroch
malandrinus, им надо обойму плюс 1 патрон,тогда они у них бесконечные

Vita sine libertate, nihil

Vita sine litteris - mors est

Здраствуйте сталкеры! Подскажите пожалуйста как создать нового персонажа и заспавнить его на Кордон(к примеру)

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

andrewrap,

Тебе Сюда

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

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

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

"Всё, всё, я без волыны", "Мужик, не стреляй!"

 

Министр, в ЧН можно писать данные в файл. В ТЧ только пакетом.

 

RvP, как вариант, создать источник света (по-моему, через all.spawn это можно сделать) и перемещать его (изменять координаты) при апдейте за неписью или другим клиентским объектом. Вот только не знаю, будет ли работать. :(

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

По поводу патронов.

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

 

<supplies>

[spawn] \n

wpn_groza \n

ammo_9x39_ap \n

 

И патроны будут бесконечны.

 

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

Конечно xml, опечатка произошла просто.

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

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

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

В скрипте бинд_сталкер есть функция 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

 

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

 

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

 

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

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

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

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

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

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

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

Войти

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

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

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