Перейти к содержанию

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

 
 

Подскажите пожалуйста, как запретить одеть например рюкзак ?

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


Ссылка на сообщение
Поделиться на другие сайты
 
20 часов назад, Kalambur сказал:

как запретить одеть например рюкзак ?

Эмм... пригрозить учебником русского языка... например.
Судя по всему вопрос оффтоп (не соответствует теме обсуждения), а значит и вероятность получить ответ "крайне мала" (если вы понимаете о чем я).


В 25.07.2021 в 16:14, Крим сказал:

Как зарегистрировать новую метку в PDA?

Описать в файлах типа map_spots***.xml по образцу.

В 25.07.2021 в 16:14, Крим сказал:

И как её обозначить в КПК?

Например в xr_effects.script есть функция add_map_spot. Или задействовать движковый метод level.map_add_object_spot_ser

В 23.07.2021 в 15:18, Крим сказал:

Как сделать, чтобы у игрока отбиралось часть его здоровья?

Нанести ему хит, опять же в xr_effects.script есть функция hit_npc, перепишите ее применительно к ГГ.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
Спойлер

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : lua_pcall_failed
[error]File          : c:\xray\forward frontier\public build\src\layers\xrrender\resourcemanager_scripting.cpp
[error]Line          : 101
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...a.l.k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
 

stack trace:

Подскажите, пожалуйста, куда копать? Я уже задолбался, все перепроверил, все написано правильно, ошибок не найдено.

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


Ссылка на сообщение
Поделиться на другие сайты
 

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


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor Логика НПС, рестрикторов и дверей

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


Ссылка на сообщение
Поделиться на другие сайты
 

Крим скинь тогда все, посмотрим, может упустил чего.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Логика двух дверей

Спойлер

[logic]
active = ph_door@locked

[ph_door@locked]
locked = true
closed = true
tip_open = tip_sector_doors_dont_open
on_info = {+pri_sector_quest_place_door_open_info} ph_door@open

[ph_door@locked2]
locked = true
closed = true
tip_open = tip_sector_doors_dont_open

[ph_door@open]
locked = false
closed = false
tip_open = tip_door_close
on_use = ph_door@closed
not_for_npc = true
on_info = {+second_level_light_off_info} ph_door@locked2
on_game_timer = 200 | ph_door@closed

[ph_door@closed]
locked = false
closed = true
tip_close = tip_door_open
on_use = ph_door@open
on_info = {+second_level_light_off_info} ph_door@locked2

Логика одной двери

Спойлер

[logic]
active = ph_door@locked

[ph_door@locked]
locked = true
closed = true
tip_open = tip_sector_doors_dont_open_need_key
on_info = {+pri_sector_second_level_door_info} ph_door@locked2

[ph_door@locked2]
locked = true
closed = true
tip_open = tip_door_need_key
on_use = ph_door@closed %=remove_item(pri_sector_quest_room_door_key)%

[ph_door@open]
locked = false
closed = false
tip_open = tip_door_close
on_use = ph_door@closed
not_for_npc = true

[ph_door@closed]
locked = false
closed = true
tip_close = tip_door_open
on_use = ph_door@open

Логика второй пары дверей

Спойлер

[logic]
active = ph_door@locked

[ph_door@locked]
locked = true
closed = true
tip_open = tip_sector_doors_dont_open_need_key
on_info = {+building_poltergest_squad_dead_info} ph_door@locked2

[ph_door@locked2]
locked = true
closed = true
tip_open = tip_door_need_key
on_use = ph_door@closed %=remove_item(second_level_sector_door_key_light) +pri_sector_second_level_door_info%

[ph_door@open]
locked = false
closed = false
tip_open = tip_door_close
on_use = ph_door@closed
not_for_npc = true

[ph_door@closed]
locked = false
closed = true
tip_close = tip_door_open
on_use = ph_door@open


Логика рестрикторов

Спойлер

[logic]
active = sr_idle@1

[sr_idle@1]
on_info = {+pri_sector_corpse_autobus_flashback_dialog_end_info} sr_idle@2 %=run_postprocess(black:1:false) =disable_ui%

[sr_idle@2]
on_game_timer = 20 | sr_idle@3 %=remove_squad(autobus_sector_squad)%

[sr_idle@3]
on_game_timer = 10 | sr_idle@4 %=teleport_actor(pri_b35_military_sector_look:pri_b35_military_sector_walk) =create_squad(building_sector_squad:pri_b35_military)%

[sr_idle@4]
on_game_timer = 40 | sr_idle@5 %=stop_postprocess(1) =enable_ui() +pri_sector_building_start_dialog_open_info%

[sr_idle@5]
on_info = {+pri_sector_building_start_dialog_end_info} sr_idle@6 %=run_postprocess(black:2:false) =disable_ui%

[sr_idle@6]
on_game_timer = 50 | sr_idle@end %=stop_postprocess(2) =enable_ui() +pri_sector_quest_place_door_open_info%

[sr_idle@end]

 

Спойлер

[logic]
active = sr_idle@expect

[sr_idle@expect]
on_info = {+sector_in_zone_info} sr_idle@wa

[sr_idle@wa]
on_actor_inside = sr_idle@1 %=actor_off_effect =disable_ui%

[sr_idle@1]
on_game_timer = 30 | sr_idle@2 %=run_postprocess(black:1:false)%

[sr_idle@2]
on_game_timer = 30 | sr_idle@3 %=teleport_actor(pri_sector_quest_after_off_actor_walk:pri_sector_quest_after_off_actor_look) =set_game_time(23:30) =remove_squad(building_sector_squad)%

[sr_idle@3]
on_game_timer = 50 | sr_idle@4 %=actor_off_end_effect =stop_postprocess(1)%

[sr_idle@4]
on_game_timer = 10 | sr_idle@5 %=send_tip(atom_about_missing_sector_sms:one_of_the_lads)%

[sr_idle@5]
on_game_timer = 50 | sr_idle@6 %=enable_ui() +second_level_light_off_info%

[sr_idle@6]
on_info = {+second_level_sector_seacrh_info} sr_idle@end %=create_squad(building_poltergest_squad:pri_b35_military)%

[sr_idle@end]

 

Спойлер

[logic]
active = sr_idle@1

[sr_idle@1]
on_info = sr_idle@2 %=turn_off(second_level_light_2) =turn_off(second_level_light_3)%

[sr_idle@2]
on_info = {+second_level_light_off_info} sr_idle@3 %=turn_off(second_level_light_1) =turn_on(second_level_light_2) =turn_on(second_level_light_3)%

[sr_idle@3]
on_actor_inside = sr_idle@end %=turn_off(second_level_light_2)%

[sr_idle@end]

 

Спойлер

[logic]
active = sr_idle@button

[sr_idle@button]
on_actor_inside = sr_idle@out %=run_tutorial(second_level_sector_seacrh)%

[sr_idle@out]
on_actor_outside = sr_idle@button %=stop_tutorial(second_level_sector_seacrh)%
on_info = {+second_level_sector_seacrh_info} sr_idle@nil %=stop_tutorial(second_level_sector_seacrh) =give_actor(second_level_sector_door_key_light)%

[sr_idle@nil]

 


Дополнено 1 минуту спустя

Все, что менял. Ну, по крайней мере, точно помню, что я их прописывал до вылета

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


Ссылка на сообщение
Поделиться на другие сайты
 

Крим вылет происходит во время загрузки?

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


Ссылка на сообщение
Поделиться на другие сайты
 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Логику неписей на стол давай.


c01570bf2e07524.png

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


Ссылка на сообщение
Поделиться на другие сайты
 

Крим тогда в логике меняй на:

[logic]
active = sr_ide@start

[sr_idle@start]

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Крим сказал:

Логика рестрикторов

=enable_ui()
Без скобок.
%=run_postprocess(black:1:false)%
У тебя уже написано false, этот процесс не надо останавливать, хотя это не влияет на игру, просто к слову.


Дополнено 1 минуту спустя
2 часа назад, Крим сказал:

on_info = {+second_level_sector_seacrh_info} sr_idle@nil %=stop_tutorial(second_level_sector_seacrh) =give_actor(second_level_sector_door_key_light)%

После взаимодействия с тутором логика уходит в nil, как я понимаю. Так вот, останавливать тутор уже не надо.


Дополнено 2 минуты спустя
2 часа назад, Крим сказал:

=turn_on(second_level_light_2) =turn_on(second_level_light_3)

Можно сделать и так: =turn_on(second_level_light_2:second_level_light_3)

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


Ссылка на сообщение
Поделиться на другие сайты
 

А как редактировать ПДА? Допустим, я хочу добавить вкладку со своими скриптами, как это сделать? Я не нахожу файл в скриптах.

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


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor Так, насколько я знаю, тут нужно в движок лезть. Хотя, возможно, я ошибаюсь

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor Раньше это делали при помощи патча движка, который выдавал инфопорцию с именем закладки в xml файле ПДА при нажатии на нее и далее самописным скриптом отрисовывали страницу из ПДА с нужной информацией (масса примеров в модах, один из них Связь времен). В эпоху открытых исходников это делают при помощи правок движка.

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
Спойлер



ss_egor_07-30-21_21-29-01_(mainmenu).jpg.43a9ef754a3d263b61a4c52bec057444.jpg

Друзья мододелы, нарисовалась новая проблема по моддингу. На днях совместил вин мерджем опции ганслингера и опции open xray. Хотелось что бы игрок мог оптимизировать настройки под себя, а получилось то что в спойлере.


Дополнено 1 минуту спустя

Как исправить, скажите пожалуйста. + ко всему некоторые настройки при новом запуске не лочятся а сбрасываются

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

dasher в редакторе зажимаешь мышь и перетаскиваешь картинку в спойлер.

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
46 минут назад, dasher сказал:

настройки при новом запуске не лочятся а сбрасываются

Совместить движковые правки.



image.png.489a34a67081676c25779ea216ba3788.png


 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Добрый вечер.  Есть несколько сквадов НПС со стори-ид. Нужно, чтобы их атаковал вертолет, нейтральный к ГГ.  Как должна выглядеть логика этого вертолета?

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


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Hozar_2002 сказал:

Совместить движковые правки.

то есть надо dll ковырять?  


Дополнено 0 минут спустя

Какая допустим прога для этого нужна?

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


Ссылка на сообщение
Поделиться на другие сайты
 
14 часов назад, Сергей Шубин сказал:

Как должна выглядеть логика этого вертолета?

В оригинальном ЗП никак, поскольку есть две проблемы:
1. Скрипты логики вертолета не рассчитаны на ведение боя. В текущей схеме вертолет летает по маршруту и только если в его секторе обстрела появиться указанная цель он будет стрелять.
2. Скриптам можно указать только две цели: actor или all.

Выход: существенная переделка скриптов поведения вертолета.

  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
19 часов назад, dasher сказал:

Какая допустим прога для этого нужна?

Исходники gunslinger доступны. Исходники Open X-Ray тоже. Для редактирования Open X-Ray вам понадобится Visual Studio.

  • Спасибо 1


image.png.489a34a67081676c25779ea216ba3788.png


 

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


Ссылка на сообщение
Поделиться на другие сайты
 
22 часа назад, Сергей Шубин сказал:

Как должна выглядеть логика этого вертолета?

 

7 часов назад, denis2000 сказал:

Выход: существенная переделка скриптов поведения вертолета.

В моде Связь Времен на основе вертолета сделаны автоматические турели.

Там прописана логика с помощью которой можно назначать врагов ( сталкеры, монстры .,ГГ, все враги)

Можно даже приписать турели группировку. Тогда она будет уничтожать всех кто враждебен её группировке.

Файлов много. Основной файл - это файл логики ph_turrel.script

Там смотрите как сделано и переписывайте логику вертушки.

 

Изменено пользователем makdm
  • Лайк 1

Терпение... И все получится.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Я создал npc (character_desc, npc_profile, spawn_sections) но он не разговаривает ссылается на командира. Можно ли как то исправить?

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Lenya056 Персонажу надо прописать логику. На 58-й странице в этой же теме мне помогают разобраться с такой же проблемой

Изменено пользователем Stepan_sovok1917
  • Мастер! 1

294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн