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

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


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

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

Terrapack-Empty_noise_r. Прогони свой трек через СДК и воткни вместо ненужного, предварительно обозвав точно также.

Ну и вот тебе статья для поднятия общего тонуса.

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

saruman_ten,

ну можно как нибудь заспаунить объект с работающей дверью, открывающейся кнопкой f ?

Нельзя! Дверь - это физический объект с логикой ph_door.

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

Scarabay, а если заспаунить саму дверь в виде обекта, добавив еще костей, чтоб обрисовать контур самого объекта?

и можно ли ее заспаунить не через all.spawn?

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий
Помогите перенести прицельные сетки

Способ 1: Скопировать нужные сетки в солянку и прописать их нужным тебе стволам.

В конфиге ствола:

scope_texture            = wpn\1P21-AMK_1440-W

1P21-AMK_1440-W - это и есть название сетки.

Способ 2: Скопировать нужные сетки и заменить ими соляночные сетки.

Т.е. есть в солянке сетка 1P21-AMK_1440-W (пример), берешь из ДМХ нужную и называешь так же, потом копируешь в солянку с заменой файлов.

Примечание: По умолчанию сетки должны лежать тут: ...\gamedata\textures\wpn

 

А как правильно сконвертировать и редактировать видео для игры?

http://www.amk-team.ru/forum/index.php?showtopic=10679

Не ленитесь просматривать форум.

 

 


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

Люди,человеки,пожалуйста скажите где прячется ранг ГГ?!

 

И как вернуть счётчик артефактов(как в чистой игре..)?

И это пройдёт!
Ссылка на комментарий

vurdalakow, изначальный ранг - config\gameplay\character_desc_general.xml:

        <rank>00</rank>

;

а счётчик артефактов- надо сравнить xr_statistic.script, по-моему счётчик там должен быть.

Лучше спросить глупость, чем её совершить.

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

Обьясните мне как тут координаты прописать

 function pri1_jup()
if (not has_alife_info( "teleport_from_taynik" )) then 
y_level.create_level_changer(20016, vector():set( -81.394,-4.946,-70.915 ),2709,717, 
194118, 
695, 
vector():set( -47.207,-0.364,-40.833 ), 
vector():set( 0.0,3.0,0.0 ),"l03_agroprom",0) 
db.actor:give_info_portion("teleport_from_taynik") 
end 
end

 

Точней что это за координаты ( -81.394,-4.946,-70.915 ),2709,717, , потом эти 194118,

695,

 

И эти ( -47.207,-0.364,-40.833 ) ..?

 

 

Да это функция для нового перехода, меня интересует как туда свои коордиаты подставить..

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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

FANAT, это из нового сюжета? Или откуда?

 

Вроде похоже на координаты перехода...

 

лнкс, спасибо конечно, но я ищу не сам ранг, а его расчёт... т.е. по какой формуле выводится ранг во вкладке "данные" в кпк Стрелка, а по какой в... ну... там где 20-ка мастеров=)

И это пройдёт!
Ссылка на комментарий
FANAT, функция нестандартная, описана в файле y_level.script, которого в оригинальной игре нет. Чего ж ты услышать ожидаешь, кроме стандартного - "покажи функцию"?
Ссылка на комментарий

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

 function create_level_changer( 
p_story_id, -- STORY_ID нового level_changer (понадобится нам позже) 
p_position, -- вектор, координаты точки, в которой будет располагаться центр нового level_changer 
p_lvertex_id, -- level_vertext_id - идентифицируют уровень, на котором будет создан level_changer 
p_gvertex_id, -- game_vertext_id 

p_dest_lv, -- level_vertex_id - идентифицируют уровень, на который level_changer будет перебрасывать игрока 
p_dest_gv, -- game_vertex_id 
p_dest_pos, -- координаты точки, в которой на новом уровне окажется игрок 
p_dest_dir, -- направрение взгляда игрока 
p_dest_level, -- название уровня, например "L11_Pripyat" 
p_silent -- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход) 
) 
local obj = alife():create("level_changer", p_position, p_lvertex_id, p_gvertex_id) 

level.map_add_object_spot(obj.id, "level_changer", "") 

local packet = net_packet() 
obj:STATE_Write(packet) 

-- свойства cse_alife_object 
local game_vertex_id = packet:r_u16() 
local cse_alife_object__unk1_f32 = packet:r_float() 
local cse_alife_object__unk2_u32 = packet:r_u32() 
local level_vertex_id = packet:r_u32() 
local object_flags = packet:r_u32() 
local custom_data = packet:r_stringZ() 
local story_id = packet:r_u32() 
local spawn_story_id = packet:r_u32() 

-- свойства cse_shape 
local shape_count = packet:r_u8() 
for i=1,shape_count do 
local shape_type = packet:r_u8() 
if shape_type == 0 then 
-- sphere 
local center = packet:r_vec3() 
local radius = packet:r_float() 
else 
-- box 
local axis_x_x = packet:r_float() 
local axis_x_y = packet:r_float() 
local axis_x_z = packet:r_float() 
local axis_y_x = packet:r_float() 
local axis_y_y = packet:r_float() 
local axis_y_z = packet:r_float() 
local axis_z_x = packet:r_float() 
local axis_z_y = packet:r_float() 
local axis_z_z = packet:r_float() 
local offset_x = packet:r_float() 
local offset_y = packet:r_float() 
local offset_z = packet:r_float() 
end 
end 

-- свойства cse_alife_space_restrictor 
local restrictor_type = packet:r_u8() 

-- свойства cse_level_changer 
local dest_game_vertex_id = packet:r_u16() 
local dest_level_vertex_id = packet:r_u32() 
local dest_position = packet:r_vec3() 
local dest_direction = packet:r_vec3() 
local dest_level_name = packet:r_stringZ() 
local dest_graph_point = packet:r_stringZ() 
local silent_mode = packet:r_u8() 

packet:w_begin(game_vertex_id) -- game_vertex_id 
packet:w_float(cse_alife_object__unk1_f32) 
packet:w_u32(cse_alife_object__unk2_u32) 
packet:w_u32(level_vertex_id) -- level_vertex_id 
packet:w_u32( bit_not(193) ) -- object_flags = -193 = 0xFFFFFF3E 
packet:w_stringZ(custom_data) 
packet:w_u32(p_story_id) -- story_id 
packet:w_u32(spawn_story_id) 

packet:w_u8(1) -- количество фигур 
-- packet:w_u8(0) -- тип фигуры: сфера 
-- packet:w_vec3(vector():set(0, 0, 0)) -- sphere_center 
-- packet:w_float(3.0) 
packet:w_u8(1) -- тип фигуры: box 
packet:w_float(2) -- axis_x_x 
packet:w_float(0) -- axis_x_y 
packet:w_float(0) -- axis_x_z 
packet:w_float(0) -- axis_y_x 
packet:w_float(4) -- axis_y_y 
packet:w_float(0) -- axis_y_z 
packet:w_float(0) -- axis_z_x 
packet:w_float(0) -- axis_z_y 
packet:w_float(4) -- axis_z_z 
packet:w_float(0) -- offset_x 
packet:w_float(0) -- offset_y 
packet:w_float(0) -- offset_z 

packet:w_u8(3) -- restrictor_type 

packet:w_u16(p_dest_gv) -- destination game_vertex_id 
packet:w_s32(p_dest_lv) -- destination level_vertex_id 
packet:w_vec3(p_dest_pos) -- destination position 
packet:w_vec3(p_dest_dir) -- destination direction (направление взгляда) 
packet:w_stringZ(p_dest_level) -- destination level name 
packet:w_stringZ("start_actor_02") -- some string, always const 
packet:w_u8(p_silent) -- 1 for silent level changing 

packet:r_seek(0) 
obj:STATE_Read(packet, packet:w_tell()) 
news_manager.send_tip(db.actor, "Новый путь", nil, nil, 20000) 
end

 

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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

У меня вопрос относительно логики рестрикторов.После установки nil в текущей секции логики рестриктора отключаеться только секция рестриктора или логика всего рестриктора?Просто у самих разработчиков в логиках указаны несколько секций и в большинстве указан nil, выдавая ГГ инфопоршень или выполняя какое-нибубь действие.Получаеться,что в случае установки nil в секции on_actor_inside параметр on_info из этой секции будет так и работать.А проверка на ГГ внутри не будет больше работать, я правильно понимаю?

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

FANAT, vurdalakow, лнкс

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

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

 

vurdalakow: ... пожалуйста скажите где прячется ранг ГГ?!

Прячется в серверных параметрах объекта 'actor', сохраняется в сэйвы, прочитать можно функцией 'rank()', начисляется за самые различные действия (см. game_relations.ltx, квесты и пр.).

vurdalakow: И как вернуть счётчик артефактов(как в чистой игре..)?

Удалить установленный мод и играть в чистую игру.

Если хочется и с модом поиграть - потрудись прочитать название мода и/или автора и обратиться в соответствующий топик.

 

 

FANAT, в приведенной тобою функции 'create_level_changer' ее автор уже для тебя все что нужно по-русски расписал (на пальцах пояснил). Какие же тебе еще разъяснялки нужны?

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

 

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

panzyuza, почитай немного подробнее мануалы по логике.

.После установки nil в текущей секции логики рестриктора отключаеться только секция рестриктора или логика всего рестриктора?.После установки nil в текущей секции логики рестриктора отключаеться только секция рестриктора или логика всего рестриктора?

Ты говоришь только о конфигах, при чем не приводя никакой конкретики по какой-либо схеме логики.

То, о чем вероятно ты спрашиваешь это:

При некотором условии (например, 'on_actor_inside') в некоторой схеме (например, 'sr_idle') задается действие перехода -> 'nil'.

Это означает, что при вхождении актора в радиуc зоны рестриктора схема 'sr_idle' деактивируется. Если у интересующего тебя рестриктора более нет иных условий для этой схемы, то при выполнении условия - считай рестриктор отключился.

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

В общем читаем азы логики, дабы не просить разъяснять что означает 'а', а что такое 'б'.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, то есть получаеться, что с установкой nil не будет работать только схема sr_idle, а другие схемы будут работать, если они включены в одном рестрикторе.В азах логики я разобралься, просто небольшие непонятки с nil.Значит,если в одной и той же секции [sr_idle@1] стоят две проверки on_actor_inside и on_info , получаеться, что данная секция отключаеться, так?И проверка on_info также работать не будет.Прошу прощения, что немного ошибься темой.

 

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

Просто в мануалах по логике пишеться, что если установить nil, то оключиться только проверка на ГГ внутри в текущей секции, а не во всей логике.По сигналу on_info можно перейти в другую секцию, и там опять использовать on_actor_inside.

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

panzyuza,

on_info принадлежит какой-нибудь секции логики. Прописывая nil, выполнение скриптовой логики отключается и on_info естественно тоже.

Ну и это проще и быстрей проверить :)

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

panzyuza, повторяю, задавайте вопросы так, чтобы на них можно отвечать а не гадать. Разъяснять на пальцах то, о чем невнятно пролопотал? И как та себе это представляешь?

Твой вопрос похож на: "А вот в столбиках в таблице умножения стоит =9, а из какого столбика мне нужно брать?"

 

В простейшем случае объекту (рестриктору) задается активная схема логики, например такая:

[logic]
active = sr_idle@in

[sr_idle@in]
on_actor_inside = %=run_my_func()% sr_idle@out
on_info = {+my_infoportion} nil

[sr_idle@out]
on_actor_outside = nil

Это означает, что схема 'sr_idle' активирует секцию [sr_idle@in] при появлении рестриктора в онлайне.

Эта секция имеет одним условием появление актора в радиусе рестриктора и вторым, получение актором некоего инфопоршня.

Как только актор окажется в этой зоне - выполнятся действия: будет вызвана функция 'run_my_func()' и схема 'sr_idle' переключится на секцию [sr_idle@out] (т.е. именно эта секция станет активной).

В этой секции стоит единственное условие - ждем когда выйдет актор из зоны рестриктора. Как только этот актор выйдет - схеме прописано состояние 'nil', т.е. деактивироваться.

Естественно, что второе условие в секции [sr_idle@in] как только переключатся секции не будет обрабатываться, т.к. активной может быть только одна секция схемы.

Ну и наоборот, если в самом начале актор не в зоне рестриктора, но получит инфопоршень - схема 'sr_idle' никуда не переключится, а сразу же примет состояние 'nil', т.е. отключится.

 

Такие детские вопросы даже в мануах не расписывают, подрузамевается что уж 'таблицу умножения' модмейкер должен знать. Читайте азы/основы!

Если далее так пойдет - скоро вопросы будут типа: "А вот в 2х2 что за такой значок '2' и что за крестик между этими значками?"

Прочтите что такое схема вообще, что такое секция для схемы, какие бывают и что означают параметры в секциях ... Это азы, которые врядли кто вам разжевывать будет.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

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

Но попробую ещё поискать.

Все понял, посмотрю.

Изменено пользователем ХЕМУЛЬ36RUS

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...