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

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

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

Нужна логика НПЦ, вот такая - НПЦ стоит на месте, никуда не ходит. Но стреляет по врагам. Пробовал множество вариаций кемпера, режим снайпера - мой подопытный либо просто игнорил врага, либо начинал движение и воевал, а требуеться ведь полная его статичность...

 

Может есть у кого данный экземпляр...

Изменено пользователем CRAZY_STALKER666
  • Полезно 1

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

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

 

 

но там даже иммунитетов для него нет...

veh_btr_u_01 не пробовал покопать? Там есть секция иммунитетов.

  • Спасибо 1

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

Ссылка на комментарий
Как это исправить?

Попробуй изменить в конфиге ножа hit_type_2 = wound_2 на hit_type_2 = wound. Этот способ быстрее, так как такие иммунитеты не только у бтра, но и у других машин. Чтобы не править иммунитеты каждой машины, можно изменить только конфиг ножа.

Изменено пользователем SkyLoader
  • Спасибо 1
Ссылка на комментарий

@CRAZY_STALKER666, бтр это m_car, m_car это CCar, у CCar мы видим вот такое:

    if(ini->section_exist("immunities"))
    {
        LoadImmunities("immunities",ini);
    }

Соответственно тебе нужно исправить иммунитеты в юзердате модели, где поставить wound_2_immunity = 0.0, вот и вся задачка :).


Иными словами, заглянув в модель видим следующее: #include "models\vehicles\veh_btr_u_01.ltx"

 

Отсюда идем в veh_btr_u_01.ltx и заменяем это:

[immunities]
burn_immunity             = 0.5       ;коэффициенты иммунитета
strike_immunity           = 0.1
shock_immunity            = 0.0
wound_immunity            = 0.0
radiation_immunity        = 0.0
telepatic_immunity        = 0.0
chemical_burn_immunity     = 0.0
explosion_immunity        = 0.2
fire_wound_immunity       = 0.0001

На это:

[immunities]
burn_immunity             = 0.5       ;коэффициенты иммунитета
strike_immunity           = 0.1
shock_immunity            = 0.0
wound_immunity            = 0.0
radiation_immunity        = 0.0
telepatic_immunity        = 0.0
chemical_burn_immunity     = 0.0
explosion_immunity        = 0.2
fire_wound_immunity       = 0.0001
wound_2_immunity = 0.0
Изменено пользователем Карлан
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

Где находится расстояние до врага, на котором мужик с РПГ переключается на другое оружие?

АПД: каким бы ни было это расстояние, пускать этого мужика в боёвку совсем нельзя :D :D :D

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

Как вытащить иконки предметов, оружия и прочего из игры?

  • Нравится 1
Ссылка на комментарий

В секцию предмета можно использовать параметр "script_binding". При использовании предмета выполняется скрипт.функция() которая вписана в этот параметр? Как вызвать функцию при подборе предмета?

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

 

 

При использовании предмета выполняется скрипт.функция() которая вписана в этот параметр?

Нет. При использовании предмета выполняется ф-ция, которая прописана обработчиком а кэллбэке use_object в классе actor_binder(скрипт bind_stalker.script).

 

 

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

См. выше, но кэллбэк будет on_item_take.

  • Спасибо 1
Ссылка на комментарий

@Hadzirim Hajad, создаем срипт спавна предметв в инвентарь ГГ. В файле info_portions, почти в самом начале вызываешь функцию спавна предмета.

З.ы. Извиняюсь что так обобщенно, с телефона пишу.

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

@_Val_, у меня бессюжетная геймдата.


@Kober(BRUC), А какую функцию-то, а?


BFG, в какую секцию?

Добавлено BFG,

В раздел [spawn] в секции Актора в оллспавне.

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

@Hadzirim Hajad,вот:
    Создаем скрипт, вот такого содержания:

tbl_item = {
"Предмет",
"Второй предмет",
"..."
}

-- Выдаем предмет ГГ;
function give_item()
  for i = 1, #tbl_item do
    item = tbl_item[i]
    alife():create(item,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
  end
end

   В файл info_portions.xml  после <game_information_portions> следующие: 

<action>название_скрипта.give_item</action>

  Выйдет так:

<?xml version='1.0' encoding="windows-1251"?>

<game_information_portions>
 <info_portion id="storyline_actor_start">
 <!-- Выдаём нужные инфопорции -->
 <action>task_sim.main</action>
 <!-- Выдаём ГГ нужные вещи -->
 <action>название_скрипта.give_item</action>
 <task>storyline_eliminate_gunslinger</task>
 </info_portion>
Изменено пользователем HellRatz
Добавлено  HellRatz,

+

  • Не согласен 1
Ссылка на комментарий

:offtopic:

 

у меня бессюжетная геймдата

У меня вообще тоже. Кто мешает открыть стандартную геймдату и посмотреть - КАК ЭТО СДЕЛАНО..?

ЗЫ...Спросить, оно конечно легче...

ЗЫ...

В раздел [spawn] в секции Актора в оллспавне.

 

Пишем туда ссылочку на файлик.

D:\GSC World Publishing\S.T.A.L.K.E.R\gamedata.ТЕРРА\config\scripts

[spawn]


wpn_abakan
ammo_5.45x39_ap = 10
wpn_vintorez
ammo_9x39_ap = 10
device_torch
grenade_f1 = 20
military_outfit
wpn_binoc

 

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

Знаю, что схема ph_sound кривая, но все же: нужно, чтобы она проигрывала одиночный звук в секции actor_left_lab_x7 - но он зацикливается. Что делать? Поставить on_signal = sound_end - а дальше, что? В nil уводить нельзя.

[logic]
active = ph_sound@biohazard_alarm
on_hit = hit

[hit]
on_info = %+lab_x7_alarm_siren_braking%

[ph_sound@biohazard_alarm]
snd = lab_x7_biohazard_alarm
looped = true
on_info = {+lab_x7_lift_moving} ph_sound@actor_left_lab_x7, {+lab_x7_power_on} nil, {+lab_x7_alarm_siren_braking} nil

[ph_sound@actor_left_lab_x7]
snd = lab_x7_biohazard_alarm_fade_out
looped = false
Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@Silver Raven, посмотри схему одиночного звука локационного амбиента из фотографа. Ну и остальные схемы ради прикола.

Схема для рестра, но можно переделать.

[logic]
active = sr_idle@one

[sr_idle@one]
on_actor_inside = {+amb_agro} sr_idle@two %=play_snd(ambient\new\str_squeak_4)%

[sr_idle@two]
on_timer = 30000 | sr_idle@tri

[sr_idle@tri]
on_actor_outside = sr_idle@one
Изменено пользователем _Val_
Ссылка на комментарий

@_Val_, дык она же для рестриктора, а у меня звук играется от физ. объекта. Как я ее адаптирую?

 

upd.

Вот так, вроде работает:

[logic]
active = ph_sound@biohazard_alarm
on_hit = hit

[hit]
on_info = %+lab_x7_alarm_siren_braking%

[ph_sound@biohazard_alarm]
snd = lab_x7_biohazard_alarm
looped = true
on_info = {+lab_x7_lift_moving} ph_sound@biohazard_alarm_fade_out, {+lab_x7_power_on} nil, {+lab_x7_alarm_siren_braking} nil

[ph_sound@biohazard_alarm_fade_out]
snd = lab_x7_biohazard_alarm_fade_out
on_signal = sound_end | ph_idle@biohazard_alarm_idle

[ph_idle@biohazard_alarm_idle]
Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

вот такого содержания:

Ты его запутать решил? Зачем такие сложности?

Отрываем ui_main_menu.script и находим код такого вида:

 

if dik == DIK_keys.DIK_S then

--self:OnButton_load_spawn()
end

 

Меняем на:

 

if dik == DIK_keys.DIK_S then

alife():create("wpn_knife", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())  -- в инвертарь ГГ заспавниться предмет с секцией wpn_knife

end

 

теперь при нажатии "S" в главном меню игры мы получим нож. Сами кнопки можно менять, секции тоже. Жмакать можно бесконечно...

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

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

@CRAZY_STALKER666,он ведь попросил с самого начала. Вот. Это ведь не есть хорошо, когда играешь в мод и что бы получить нож, нужно нажать на кнопку в главном меню?

А для его целей, _Val_ подсказал, то что нужно.

Изменено пользователем Kober(BRUC)
  • Согласен 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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