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

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


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

@Tiberhius, в нужной секции логики: 

meet = no_meet

 Кстати, выше уже дали ответ, в соответствии с твоим вопросом.

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

Помогите исправить ошибку!!! Не знаю куда обратиться(((

Вот лог

Скрытый текст

 

* Detected CPU: AuthenticAMD , F15/M0/S1, 3293.00 mhz, 73-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
--found external arch mp_military_2.xdb0
FS: 32662 files cached, 5200Kb memory used.
Init FileSystem 5.854361 sec
'xrCore' build 3312, Feb 27 2008

Initializing Engine...
Executing config-script "user.ltx"...
! Cannot open script file [user.ltx]
Starting INPUT device...
Loading DLL: xrRender_R1.dll
Loading DLL: xrGame.dll
! Unable to find InstallUserName entry in registry
* [win32]: free[4056200 K], reserved[47628 K], committed[90412 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[7235 K], process heap[2322 K], game lua[0 K], engine lua[0 K], render[0 K]
* [x-ray]: economy: strings[1185 K], smem[0 K]
Executing config-script "f:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx"...
! cant convert dik_name for dik[16], prop=[
! cant convert dik_name for dik[17], prop=[
! cant convert dik_name for dik[18], prop=[
! cant convert dik_name for dik[19], prop=[
! cant convert dik_name for dik[20], prop=[
! cant convert dik_name for dik[21], prop=[
! cant convert dik_name for dik[22], prop=[
! cant convert dik_name for dik[23], prop=[
! cant convert dik_name for dik[24], prop=[
! cant convert dik_name for dik[25], prop=[
! cant convert dik_name for dik[26], prop=[
! cant convert dik_name for dik[27], prop=[
! cant convert dik_name for dik[30], prop=[
! cant convert dik_name for dik[31], prop=[
! cant convert dik_name for dik[32], prop=[
! cant convert dik_name for dik[33], prop=[
! cant convert dik_name for dik[34], prop=[
! cant convert dik_name for dik[35], prop=[
! cant convert dik_name for dik[36], prop=[
! cant convert dik_name for dik[37], prop=[
! cant convert dik_name for dik[38], prop=[
! cant convert dik_name for dik[39], prop=[
! cant convert dik_name for dik[40], prop=[
! cant convert dik_name for dik[41], prop=[
! cant convert dik_name for dik[44], prop=[
! cant convert dik_name for dik[45], prop=[
! cant convert dik_name for dik[46], prop=[
! cant convert dik_name for dik[47], prop=[
! cant convert dik_name for dik[48], prop=[
! cant convert dik_name for dik[49], prop=[
! cant convert dik_name for dik[50], prop=[
! cant convert dik_name for dik[51], prop=[
! cant convert dik_name for dik[52], prop=[
! cant convert dik_name for dik[144], prop=[
[f:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
! Cannot open script file [user.ltx]
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Hardware
SOUND: OpenAL: system  default SndDevice name is Generic Hardware
SOUND: OpenAL: default SndDevice name set to Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default)
2. Generic Software, Spec Version 1.1 (default)
SOUND: OpenAL: SelectBestDevice is Generic Software 1.1
SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software.
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 32773 kb, 3805 lines, 8820 bpl
Starting RENDER device...
* GPU [vendor:10DE]-[device:1380]: NVIDIA GeForce GTX 750 Ti
* GPU driver: 26.21.14.3602
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
*     Texture memory: 4087 M
*          DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 1536K
* DIB created: 512K
count of .thm files=772
load time=314 ms
* distortion: used, dev(30),need(14)
* SSample: 1024x768
error is error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upgrade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL
 

Can't compile shader postprocess

 

Вылетает с тем, что пишет, что нету пиксель шейдеров 1.1

Хоть стоит 750ti в которому 100% есть эти шейдеры!

Уже не знаю что делать( Если не знаете как помочь, или это не по теме, то подскажите куда обратится! Потому что не хочу забрасывать разработку мода((!!!

Изменено пользователем W.A.S.P.
спойлер

Всем привет, появились вопросы по логике НПС. К примеру есть логика:

Скрытый текст

[logic]
active = walker@stay_at_position
combat_ignore = combat_ignore
danger = danger_condition
threshold = threshold@tratata

[walker@stay_at_position]
path_look = esc_borovoy_elevator_look
path_walk = esc_borovoy_elevator_walk
on_info = {+soc_dialog_borovoy_escape_ok} walker2 -- Получаю поршень, перехожу на walker 2.

[walker2]
path_look = esc_borovoy_atp_trup_look
path_walk = esc_borovoy_atp_trup_walk
on_timer = 10000| remark@work -- Можно ли использовать on_timer в схеме walker для переключения в ремарку?

[remark@work]
anim = caution
no_move = true
snd = mil_max_before_collect
target = actor
on_timer = 30000| walker3 -- Перехожу спустя время на walker3.
meet = no_meet
danger = danger_condition

[walker3]
path_look = esc_borovoy_atp_look
path_walk = esc_borovoy_atp_walk

 

Вообщем есть сомнения в правильности моей логики для НПС. Мне нужно что бы НПС c walker2 перешел спустя секунд 10 в remark@work, затем из remark@work ушел в walker3.

Суть логики такова, НПС идет из пункта А в пункт Б, на пункте Б переходит в ремарку (осматривает труп) спустя время идет переход НПС на пункт В.

Надеюсь подробно объяснил суть проблемы.

 

И еще, можно ли использовать на точках p0:name = wp00|a=guard вместо guard к примеру анимацию из ремарки caution? Будет ли он её проигрывать?

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

Tiberhius.gif

2 часа назад, Tiberhius сказал:

Можно ли использовать on_timer в схеме walker для переключения в ремарку

Да.  

Можно также в точках пути задавать анимацию, устанавливать время проигрывания, выдавать сигнал, получив который, нпс перейдёт в следующую секцию логики. 

В path_walk : 

p0:name = wp00|a=anim|t=10000

...

p1:name = wp01|sig=signal1

В логике

on_signal = signal1 | другая_схема

 

 

2 часа назад, Tiberhius сказал:

можно ли использовать на точках p0:name = wp00|a=guard вместо guard к примеру анимацию из ремарки caution? Будет ли он её проигрывать?

Да, будет. Только в path_walk пишутся анамации в движении. Если сталкер стоит/сидит на месте, то - в path_look .

Изменено пользователем Fagot.
  • Спасибо 1
  • Согласен 1
1 час назад, Fagot. сказал:

Можно также в точках пути задавать анимацию

Сделал так:

Скрытый текст

[esc_borovoy_atp_trup_look]
points = p0
p0:name = wp00|a=caution|t=20000|sig=signal1
p0:flags = 0x2
p0:position = 108.590683,-7.495135, 5.521363
p0:game_vertex_id = 119
p0:level_vertex_id = 409674


[esc_borovoy_atp_trup_walk]
points = p0
p0:name = wp00
p0:flags = 0x2
p0:position = 108.805817, -7.495113, 5.398840
p0:game_vertex_id = 119
p0:level_vertex_id = 409674

 

Скрытый текст


[logic]
active = walker@stay_at_position
combat_ignore = combat_ignore
danger = danger_condition
threshold = threshold@tratata

 

[walker@stay_at_position]
path_look = esc_borovoy_elevator_look
path_walk = esc_borovoy_elevator_walk
on_info = {+soc_dialog_borovoy_escape_ok} walker2

 

[walker2]
path_look = esc_borovoy_atp_trup_look
path_walk = esc_borovoy_atp_trup_walk
on_signal = signal1| walker3

 

[walker3]
path_look = esc_borovoy_atp_look
path_walk = esc_borovoy_atp_walk

Я хотел что бы он дойдя до walker2 проиграл анимацию 20 секунд, затем подал signal1 и перешел на walker3.

Вместо этого он остановился на мгновение, не проиграл анимацию и перешел на walker3.

Как сделать грамотно его остановку, проигрыш анимации и переход на walker3?

Tiberhius.gif

@Tiberhius

Скрытый текст

 


[ment_bar6_look]
points = p0
p0:name = name00|a=anim|t=25000
p0:flags = 0x1
p0:position = 100.897,-0.041,56.958
p0:game_vertex_id = 1224
p0:level_vertex_id = 31901

[ment_bar6_walk]
points = p0,p1
p0:name = name00|a=walk
p0:flags = 0x1
p0:position = 236.539,2.364,-79.962
p0:game_vertex_id = 1272
p0:level_vertex_id = 60596
p0:links = p1(1)

p1:name = name01|a=walk|sig=signal1
...

 

 

 

 

А так не проще(?):

 

[walker@2]
path_look = esc_borovoy_atp_trup_look
path_walk = esc_borovoy_atp_trup_walk
on_signal = signal1| remark@1 ;  сигнал не забыть выдать в последней точке walk

[remark@1]
anim = caution
on_timer = 20000|walker@3
  или:
on_signal = anim_end|walker@3 
...

 

Изменено пользователем Fagot.
  • Спасибо 1
  • Согласен 1

Здравствуйте, хотел бы создать систему крафта предметов через диалог с НПС. Ну например: отдаешь сидоровичу медузу и 1000 рублей, он дает каменный цветок. Можете показать новичку пример как так сделать?

  • Сомнительно 1
В 27.09.2019 в 22:50, ChopaTopa TV сказал:

Здравствуйте, хотел бы создать систему крафта предметов через диалог с НПС. Ну например: отдаешь сидоровичу медузу и 1000 рублей, он дает каменный цветок. Можете показать новичку пример как так сделать?

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

  • Согласен 1

Tiberhius.gif

Всем доброго дня. Заранее извиняюсь, если пишу не в ту тему. У меня вопрос чисто для самообразования. Если я в распакованном all.spawn перенесу, к примеру, обычный ящик с Агропрома на Кордон. То есть, просто пропишу ему другие координаты. Чем это может грозить в дальнейшем и может ли. Игра Тень Чернобыля.

Pir%40t%40s.gif

@ChopaTopa TV, с помощью <precondition> перед фразой в диалоге проверяешь, есть ли у ГГ в инвентаре нужные предметы, после чего с помощью <action> в другой фразе удаляешь/передаёшь предметы NPC, затем таким же <action> спавнишь предметы в инвентарь ГГ.

 

Скрытый текст

 


function has_medusa(first_speaker, second_speaker)
    return first_speaker:object("af_medusa") ~= nil --/ есть ли у ГГ предмет af_medusa;
end

function delete_medusa()
    local oItem = db.actor:object("af_medusa") --/ определяем предмет у ГГ;
    if oItem then --/ у ГГ есть предмет;
        db.actor:drop_item(oItem) --/ выбрасываем предмет (опционально);
        alife():release(alife():object(oItem:id()), true) --/ удаляем из игры;
    end
end

function give_af (trader, actor)
    dialogs.relocate_item_section(trader, "каменный_цветок", "in") --/вручаем ГГ предмет "каменный цветок" (не помню название в конфигах);
end

 


Под спойлер затолкал все нужные тебе функции. Проверка делается так: <precondition>твой_скрипт.has_medusa</precondition>. Передача: <action>твой_скрипт.delete_medusa</action>. Названия функций, естественно, пишешь свои, предметы тоже. 

15 часов назад, Pir@t@s сказал:

То есть, просто пропишу ему другие координаты.

Прописать координаты мало, нужно и правильные вертексы указать. Тогда после сбора all.spawn и начала новой игры твой ящик будет в нужном месте на Кордоне.

Сталкер - наше всё!

Во вкладке surface строка compile за что отвечает? 

Там default и default_smooth. Это имеет смысл к моделям нпс подключать? 

 

 

Здравствуйте!

Объясните, пожалуйста, более понятно и подробно про функции:

cam_dispersion              = 0.25    ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc        = 0.15    ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac        = 0.10    ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle            = 4.0    ;максимальный угол отдачи
cam_max_angle_horz        = 3.0    ;(degree) maximum shot horizontal degree
cam_step_angle_horz        = 0.25    ;(degree) size of step camera moved in horizontal position while shooting

 

Как понять, угол отдачи? Значит, по диагонали (вверх и чуть влево или вверх + чуть вправо)?

Всё написано, но не пойму зачем столько функций. Например, для подброса ствола крупного калибра я выставил у строчки cam_dispertion_frac = 10.0 - появилась нормальная отдача и без других изменений.

Всем привет. Есть тут кто, кто пробовал реализовать "многоприцельность" на оружие, на движке ОГСР? Не совсем понятно, как в конфигах прописывать. Вроде сделал что-то, а нифига не работает, хотя и вылета нет.

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

@Возрождённый, попробовал...

external.ltx

; ОГСЕ-специфичная система оружейного зума. С ванильным ТЧ несовместима без правки оружейных конфигов.
ogse_wpn_zoom_system = true

Исчо кнопошку добавить:

ui_st_keybinding.xml

    <string id="kb_switch_scope">
        <text>Переключить режим прицеливания</text>
    </string>

ui_keybinding.xml

        <command id="kb_switch_scope"                exe="switch_scope"/>

 

И - ствол Г-36 из OGSR - получается полная фигня:

6fcd7b1fd768a75cc3ce697bccdb2c0d0589e535fb1de3d12990e5640261c0a7eaf142db0589e535957919e0ba1eb7c1447b8d88c64984a30589e535

 

Похоже, надо подключать ogse_bind_weapon.script

 

Или ты имел ввиду стописот прицелов на одном стволе?

 

 

 

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

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

@Возрождённый, Да,я делал на моделях от нового арсенала 6. Если нужно могу дать конфиги. Но это вроде работает на сборке движка из репозитория  @dsh.

Изменено пользователем I am Dead
  • Нравится 1

@I am Dead, привет, давай. А то я тупой, разобраться не могу.

 

@nasar75, да, стопицот прицелов. Просто объяснил не правильно.

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

@Возрождённый, Смотри я упаковал тебе папку weapons, там почти у каждого ствола по несколько прицелов (на серию АК точно помню что не меньше 2 или 3 прицелов цепляется).

 

Ссылка

@Возрождённый, А лучше бы поглядел в репозитории к движку как делается.

  • Спасибо 1

А как сделать отображаемыми в инвентаре нож, фонарик, бинокль ГГ? Вроде видел решение, но совершенно не помню, где.

Сталкер - наше всё!

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

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

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

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

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

Войти

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

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

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