Логика для БТР — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Ork (обсуждение | вклад) (оформление) |
Monolith (обсуждение | вклад) |
||
(не показаны 8 промежуточные версии 5 участников) | |||
Строка 1: | Строка 1: | ||
Всем доброго времени суток. Для начала я объясню, что такое кастом дата. | Всем доброго времени суток. Для начала я объясню, что такое кастом дата. | ||
− | Кастом дата (custom data)- это и есть всё поле "Скрипт", которое можно увидеть, если открыть all.spawn через Xr Spawner или дописав строку custom_data = <<END под object_flags, распаковав с помощью acdc. | + | Кастом дата (custom data)- это и есть всё поле "Скрипт", которое можно увидеть, если открыть all.spawn через Xr Spawner или дописав строку '''custom_data = <<END''' под object_flags, распаковав с помощью acdc. |
===100% работающая логика для БТР.=== | ===100% работающая логика для БТР.=== | ||
Строка 12: | Строка 12: | ||
cfg = scripts\ваше название.ltx</ini> | cfg = scripts\ваше название.ltx</ini> | ||
− | 2. В папке config\scripts создаёте свой .ltx фаил логики, который Вы прописали в кастом дате и пишите туда это: | + | 2. В папке '''config\scripts''' создаёте свой .ltx фаил логики, который Вы прописали в кастом дате и пишите туда это: |
<ini>[logic] | <ini>[logic] | ||
active = ph_car | active = ph_car | ||
Строка 19: | Строка 19: | ||
target = actor ;цель, которую будет атаковать БТР (ГГ). | target = actor ;цель, которую будет атаковать БТР (ГГ). | ||
; Две нижние строки нашел в логике для БТР из АМК (спасибо). | ; Две нижние строки нашел в логике для БТР из АМК (спасибо). | ||
− | fire_range = 80 ;радиус от БТР, в котором цель будет атакована. | + | fire_range = 80 ;радиус от БТР, в котором цель будет атакована. Дальность стрельбы по русски. Если цель дальше 80 м. стрелять не будет. |
− | fire_repeat = | + | fire_repeat = 3000 ;Время повторения огня. Время измеряется в тысячных секунды, сейчас указано что повторная очередь будет через 3 секунды. 1000 = 1 секунда. |
− | auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится. | + | auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится.(Правка:останавливать ли огонь или стрелять на поражение) |
− | track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится.</ini> | + | track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится. |
+ | on_timer = 4000 | ph_car@4 ;через 4 секунды произойдёт переход на следующую секцию логики. | ||
+ | |||
+ | [ph_car@4] | ||
+ | </ini> | ||
''Если открыли через acdc:'' | ''Если открыли через acdc:'' | ||
− | 1. Под строкой object_flags напишите следующее: | + | 1. Под строкой '''object_flags''' напишите следующее: |
<ini>custom_data = <<END | <ini>custom_data = <<END | ||
[logic] | [logic] | ||
cfg = scripts\ваше название.ltx</ini> | cfg = scripts\ваше название.ltx</ini> | ||
− | 2. В папке config\scripts создаёте свой .ltx | + | 2. В папке '''config\scripts''' создаёте свой .ltx файл логики, который Вы прописали в кастом дате и пишите туда это: |
<ini>[logic] | <ini>[logic] | ||
active = ph_car | active = ph_car | ||
Строка 38: | Строка 42: | ||
target = actor ;цель, которую будет атаковать БТР (ГГ). | target = actor ;цель, которую будет атаковать БТР (ГГ). | ||
; Две нижние строки нашел в логике для БТР из АМК (спасибо). | ; Две нижние строки нашел в логике для БТР из АМК (спасибо). | ||
− | fire_range = 80 ;радиус от БТР, в котором цель будет атакована. | + | fire_range = 80 ;радиус от БТР, в котором цель будет атакована. Дальность стрельбы по русски. Если цель дальше 80 м. стрелять не будет. |
− | fire_repeat = | + | fire_repeat = 3000 ;Время повторения огня. Время измеряется в тысячных секунды, сейчас указано что повторная очередь будет через 3 секунды. 1000 = 1 секунда. |
− | auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится. | + | auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится.(Правка:останавливать ли огонь или стрелять на поражение) |
− | track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится.</ini> | + | track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится. |
+ | on_timer = 4000 | ph_car@4 ;через 4 секунды произойдёт переход на следующую секцию логики. | ||
+ | |||
+ | [ph_car@4]</ini> | ||
===Небольшая заметка.=== | ===Небольшая заметка.=== | ||
− | 1. В .ltx файлах игры можно заметить много комментариев после знака ";". Дело в том, что после знака ";" игра не видет строку, то есть считает её за пустое место, как в скриптах знак "--". | + | 1. В '''.ltx''' файлах игры можно заметить много комментариев после знака "''';'''". Дело в том, что после знака "''';'''" игра не видет строку, то есть считает её за пустое место, как в скриптах знак "'''--'''". |
− | 2. Если в кастом дате прописать строку [spawner], то объект заспаунится ТОЛЬКО, если у ГГ есть инфопоршень, который прописывается в {+название инфопоршня}: | + | 2. Если в кастом дате прописать строку '''[spawner]''', то объект заспаунится ТОЛЬКО, если у ГГ есть инфопоршень, который прописывается в {+название инфопоршня}: |
<ini>[spawner] | <ini>[spawner] | ||
cond = {+название инфопоршня}</ini> | cond = {+название инфопоршня}</ini> | ||
− | 3. Для БТР можно задать путь, куда он поедет. Например, как у БТР на ЧАЭС. Для этого в секции [ph_car], также друг под другом пишите path_walk = название пути: | + | 3. Для БТР можно задать путь, куда он поедет. Например, как у БТР на ЧАЭС. Для этого в секции '''[ph_car]''', также друг под другом пишите path_walk = название пути: |
<ini>[ph_car] | <ini>[ph_car] | ||
path_walk = название пути</ini> | path_walk = название пути</ini> | ||
− | + | 4. Для ЧН/ЗП нужно подключить схему ph_car в файле modules.script по аналогии с ТЧ, добавив строку | |
− | + | <lua>load_scheme("ph_car", "ph_car", stype_item)</lua> | |
+ | В ЗП файла ph_car.script нет, поэтому его нужно взять из ЧН. | ||
+ | <br />Либо из ТЧ, но в вызовах функции xr_logic.switch_to_section в строках 929, 1086 и 1095 заменить "self.st" на "self.st.ini" | ||
− | [[Категория: | + | <br /> Спасибо за внимание. Автор статьи: '''Бага'''. |
+ | <br /> Также отдельное спасибо '''Ork''', за правки в моей статье. | ||
+ | <br /> Правил: '''V2V3V4''' и '''W_S''' | ||
+ | [[Категория: A-Life]] |
Текущая версия на 21:00, 17 января 2016
Всем доброго времени суток. Для начала я объясню, что такое кастом дата. Кастом дата (custom data)- это и есть всё поле "Скрипт", которое можно увидеть, если открыть all.spawn через Xr Spawner или дописав строку custom_data = <<END под object_flags, распаковав с помощью acdc.
100% работающая логика для БТР.
Теперь, когда Вы знаете, что такое кастом дата можно начать работу.
Если открыли через Xr Spawner:
1. В кастом дате прописываете путь до .ltx файла (название у него может быть любое):
[logic] cfg = scripts\ваше название.ltx
2. В папке config\scripts создаёте свой .ltx фаил логики, который Вы прописали в кастом дате и пишите туда это:
[logic] active = ph_car [ph_car] target = actor ;цель, которую будет атаковать БТР (ГГ). ; Две нижние строки нашел в логике для БТР из АМК (спасибо). fire_range = 80 ;радиус от БТР, в котором цель будет атакована. Дальность стрельбы по русски. Если цель дальше 80 м. стрелять не будет. fire_repeat = 3000 ;Время повторения огня. Время измеряется в тысячных секунды, сейчас указано что повторная очередь будет через 3 секунды. 1000 = 1 секунда. auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится.(Правка:останавливать ли огонь или стрелять на поражение) track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится. on_timer = 4000 | ph_car@4 ;через 4 секунды произойдёт переход на следующую секцию логики. [ph_car@4]
Если открыли через acdc:
1. Под строкой object_flags напишите следующее:
custom_data = <<END [logic] cfg = scripts\ваше название.ltx
2. В папке config\scripts создаёте свой .ltx файл логики, который Вы прописали в кастом дате и пишите туда это:
[logic] active = ph_car [ph_car] target = actor ;цель, которую будет атаковать БТР (ГГ). ; Две нижние строки нашел в логике для БТР из АМК (спасибо). fire_range = 80 ;радиус от БТР, в котором цель будет атакована. Дальность стрельбы по русски. Если цель дальше 80 м. стрелять не будет. fire_repeat = 3000 ;Время повторения огня. Время измеряется в тысячных секунды, сейчас указано что повторная очередь будет через 3 секунды. 1000 = 1 секунда. auto_fire = true ;значение этой строки я не знаю, если её удалить ничего не изменится.(Правка:останавливать ли огонь или стрелять на поражение) track_target = true ;значение этой строки я не знаю, если её удалить ничего не изменится. on_timer = 4000 | ph_car@4 ;через 4 секунды произойдёт переход на следующую секцию логики. [ph_car@4]
Небольшая заметка.
1. В .ltx файлах игры можно заметить много комментариев после знака ";". Дело в том, что после знака ";" игра не видет строку, то есть считает её за пустое место, как в скриптах знак "--".
2. Если в кастом дате прописать строку [spawner], то объект заспаунится ТОЛЬКО, если у ГГ есть инфопоршень, который прописывается в {+название инфопоршня}:
[spawner] cond = {+название инфопоршня}
3. Для БТР можно задать путь, куда он поедет. Например, как у БТР на ЧАЭС. Для этого в секции [ph_car], также друг под другом пишите path_walk = название пути:
[ph_car] path_walk = название пути
4. Для ЧН/ЗП нужно подключить схему ph_car в файле modules.script по аналогии с ТЧ, добавив строку
load_scheme("ph_car", "ph_car", stype_item)
В ЗП файла ph_car.script нет, поэтому его нужно взять из ЧН.
Либо из ТЧ, но в вызовах функции xr_logic.switch_to_section в строках 929, 1086 и 1095 заменить "self.st" на "self.st.ini"
Спасибо за внимание. Автор статьи: Бага.
Также отдельное спасибо Ork, за правки в моей статье.
Правил: V2V3V4 и W_S