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

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


Halford

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

@_Val_, вариант?:

[walker@wait_actor]
path_walk = generators_alex_walk_1
path_look = generators_alex_look
on_actor_dist_le = 20 | remark@hello_actor
on_actor_dist_le_nvis = 5 | walker@wait_talk_to_actor
danger = danger_condition@alex
meet = no_meet

[remark@hello_actor]
anim = hello_wpn
target = actor
meet = no_meet
on_timer = 4000 | walker@wait_talk_to_actor
on_actor_dist_le_nvis = 5| walker@wait_talk_to_actor -- А может сунуть сюда? По аналогии с Волком

[walker@wait_talk_to_actor]
path_walk = generators_alex_walk_1
path_look = generators_alex_look
danger = danger_condition@alex
meet = meet@alex_squad_need_help
on_info  = {+generators_save_taurus} walker@after_start_task
on_info2 = {+generators_save_taurus_alternative} walker@after_start_alternative_task
on_info3 = {+generators_taurus_dead} walker@after_taurus_dead

[meet@alex_squad_need_help]
meet_state = 20| guard@wait           
meet_state_wpn = 20| backoff@threat_weap
victim = 20| actor
victim_wpn = 20| actor
use = true
use_wpn = false
syndata	= backoff@threat_weap
meet_dialog = {-generators_save_taurus} generators_alex_start_dialog
meet_state = 20| guard@wait             
meet_state_wpn = 20| backoff@threat_weap

Если я тут выставлю расстояние меньше указанного в on_actor_dist_le - непись опять возьмет бинокль, если гг недостаточно бизко. Нехорошо.

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

Поделиться этим сообщением


Ссылка на сообщение

@gruber, в том-то и "прикол", что в отличии от Волка условия приветствия гг, если его видно и перехода к ожиданию разговора, если нет - одинаковы. Я даже не знаю как их разделить. Инфопоршни будут одинаковыми. А схему meet, я перебиваю из-за того, что она "кривая" и анимки там отыгрываются дерганно. Собственно, с guard это так и осталось. Этот meet надо вообще переделывать.

 

@_Val_, само-собой, я уберу этот бинокль из вей-поинта непися. Не успеваю сделать все и сразу. Надо ж в СДК залезть, поправить, собрать спавн и начать новую игру.

 

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

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

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

Поделиться этим сообщением


Ссылка на сообщение

@UnLoaded, ну кому-как. Я вот не люблю писать логику в скриптах - неудобно. А ltx конфиги, уже как дом родной.

  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение

@dPlayer, я плохо помню это дело, но возможно, потому, что в тексте не закрыты скобки:

 

function message() news_manager.send_tip(db.actor, "привет", 0, "dolg", 5000) end

А возможно, еще и потому, что в скрипте указывается только ссылка на текст в xml файле. 

 

 

 

function message() news_manager.send_tip(db.actor, "hello_text", 0, "dolg", 5000) end

 

xml:

	<string id="hello_text">
		<text>Привет</text>
	</string>
Изменено пользователем Silver Raven

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

Поделиться этим сообщением


Ссылка на сообщение

Я так понимаю, через секцию meet одновременно два диалога (один начинает гг, а другой - нпс) не вывести?

meet_dialog = {+generators_taurus_dead_talk_to_alex_alt_complete} generators_alex_taurus_dead_hello_dialog, generators_alex_find_artefact_for_werewolf_dialog

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

Поделиться этим сообщением


Ссылка на сообщение

Эта логика будет работать?

[ph_idle]
on_timer = 4000 | %+lab_x7_actor_left% | 15500 | ph_idle@change_actor_position_to_level_changer %=run_postprocess(fade_out)%

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

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

Поделиться этим сообщением


Ссылка на сообщение

@naxac, только сейчас дошло до тестирования. Увы, не работает такой вариант.

 

А этот, похоже, работает: 

on_timer = 4000 | %+lab_x7_actor_left%
on_timer2 = 15500 | ph_idle@change_actor_position_to_level_changer %=run_postprocess(fade_out)%
  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение

Какого лешего это не работает?:

[logic]
active = {=get_state_render} ph_idle@check_power_status

[ph_idle@check_power_status]
on_info = {-lab_x7_power_on} %=turn_off_object% ph_idle@power_on

[ph_idle@power_on]
on_info = {+lab_x7_power_on} %=turn_on_object%

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

Поделиться этим сообщением


Ссылка на сообщение

Знаю, что схема 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

Поделиться этим сообщением


Ссылка на сообщение

@_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

Поделиться этим сообщением


Ссылка на сообщение

Для одной из "плюшек" мода необходимо накатать батник, копирующий определенный файл из папки где он запускается, в AppData пользователя на системном диске.

Т.е.: 1. Определить системный диск (не у всех это С, всякое бывает). 2. Переместить файл Plugins.txt в AppData\Local\stalker (если последней папки нет - создать) 3. Удалить сам файл батника.

 

Что-то вроде этого:

@echo off
@move /b Plugins.txt c:\%localappdata%\local\stalker  :: юзать %windir%?
@del /F /Q /S silver_raven_mods_pack_plugins.bat

На большее мозгов пока не хватило.

 

Да простят меня модераторы, если не в тему...

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

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

Поделиться этим сообщением


Ссылка на сообщение

Народ, а использование утилиты PsExec (для более попытки более равномерной загрузки ядер на современных ПК) еще имеет какой-либо смысл? Или все туфта, проще забить...

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

Поделиться этим сообщением


Ссылка на сообщение

Есть у нас тут еще любители поковыряться в интерфейсе?

Я уже три часа ломаю голову над тем, каким волшебным образом работает эта дурацкая менюшка со слайдером (который ПЫС обзывают "шнягой") в главном меню? Как я только не рассчитывал координаты бегунка, он всегда не совпадает с окном, если включить эффект линзы (текстура ui_magnifier). Чаще всего ровно на один шаг.

   <shniaga_wnd x="638" y="408" width="274" height="290">
        <buttons_region    x="11" y="27" width="251" height="248" always_show_scroll="false"/> <!-- y должен быть = 30. но тогда слайдер не центре текста -->
        
        <shniaga x="0" y="0" width="274" height="75">
            <texture>ui_main_menu_slider</texture>
            <magnifire x="19" y="30" width="236" height="29" stretch="1"> <!-- дурацкий эффект линзы, который ломает все, если его не отключить -->
                <texture>ui\ui_magnifier</texture>
            </magnifire>

            <left_anim x="0" y="1023" width="1" height="1" stretch="1" heading="1" alignment="c">
                <texture></texture>
            </left_anim>            
            <right_anim x="0" y="1023" width="1" height="1" stretch="1" heading="1" alignment="c">
                <texture></texture>
            </right_anim>
            <left_grating x="0" y="1023" width="1" height="1">
                <texture></texture>
            </left_grating>
            <right_grating x="0" y="1023" width="1" height="1">
                <texture></texture>
            </right_grating>
        </shniaga>        
    </shniaga_wnd>

Набросал по быстрому настройки окна с пунктами меню. Сори за дерьмовое качество, пришлось сильно увеличить из-за родного разрешения ui игры в 1024х768:

http://j-p-g.net/if/2021/02/27/0431256001614445834.jpg

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

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

Поделиться этим сообщением


Ссылка на сообщение

Народ, у кого какое мнение по поводу prefecth-а моделек - есть от этого на современных ПК хоть какой-либо толк (может кто замерял время загрузки на каких-нибудь крупных сборках). Особенно, если gamedata распакована и диск засран. Или все херня, убрать его инклуд из system.ltx и забыть?

  • Полезно 1

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

Поделиться этим сообщением


Ссылка на сообщение

Я никогда не был силен в скриптах, а тут пришлось перелопатить кривого монстра из старых наработок и компиляций разных жутких велосипедов, большая часть из которых стала ненужной при переезде на движок OGSR и пересмотра концепции того над чем я бросил работать в 2016-ом.

Короче, на синхронизации вылезает: xr_corpse_detection.script:1109: attempt to index local 'item' (a nil value)

Он из Ai additions 2.0:

function actor_item_take(item)
    restricted[item:id()] = nil
--    arts_time[item:id()] = nil    -- ARTEFACT ACTIVATION FIX
end

function actor_net_spawn()
    level.add_call(function() return device().precache_frame < 2 end,fill_restricted_by_anomaly)
end

 

Что он там за объект пытается проиндексировать? Не могу понять. И может он валиться из-за кривого наследования в конфигах? Просто я все там перекопал на манер OGSR \ Prosectors Project. Очень понравилась такая структура. Или это чисто косяк в скрипте?

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

Поделиться этим сообщением


Ссылка на сообщение

@naxac

Я дебил. Не посмотрел сразу, в обратном порядке откуда идет изначальный вызов функции.  В bind_stalker случайно закрыл одну из функций биндера актера, раньше времени. Вот вся цепочка и повалилась.

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

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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