S.T.A.L.K.E.R.: Global War <<<>>> Инструмент - теперь и для ТЧ! <<<>>> NS OGSR: Сборка от 30.12.2023
-
Число публикаций
8 -
Регистрация
-
Последнее посещение
-
AMKoin
0 [Подарить AMKoin]
Сообщения опубликованы sttt912
-
-
Stasok8 не обизательно просто в логику надо добавить штоб при смерти тебе видавался инфопоршень
-
Я извиняюсь но как можно устранить етот вилет:
Expression : !phrase_dialog->m_PhraseVector.empty()
Function : CPhraseDialog::SayPhrase
File : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp
Line : 146
Description : No available phrase to say, dialog[hello_dialog]
Выскакивает при разговоре с Германом, Озерским и Новиковим
Читаем ФАК'и и статьи на wiki и создаем/правим фразы/диалоги для проблемных НПС/группировок. --/Artos
-
Создавал небольшой квест с флешкой на ЗП. При розговоре с Шульгой банальний вилет
stack trace:
Все записи квеста/ зарания спасибо.
-
Народ как в зп, при переходе с Затона на Янов отключить ролик с Лоцманом?
Предвыборная лихорадка что ли у многих? Почему к "народу" вопрошают, находясь не на площади, а в форуме? --/Artos
-
Вот модель женщины.
-
У меня к вам ище один вопрос.
У меня есть логика:
[logic]
on_death = death
active = remark1
danger = danger_ignore
[danger_ignore]
ignore_distance = 5
[death]
on_info = %+test_nps_mertv%
[remark1]
no_move = true
anim = sit_ass
on_actor_dist_le = 2| remark@hello
meet = meet_guide
[meet_guide]
abuse = false
use = true
allow_break = false
meet_on_talking = false
[remark@hello]
no_move = true
meet = meet_guide
on_actor_dist_le = 10| remark1
Что нужно отредактировать штоби НПС с етой логикой нападал на обичних сталкеров?
Во-первых, нужно писать грамотно, уважая других и не нарушая правил форума. --/Artos
-
Извиняюсь если вопрос не по теме но при спавне НПС через all.spawn пишет ето:
C:\Perl\bin>perl acdccop.pl -c all.ltx -o new.spawn
Died at stkutils/ini_file.pm line 47, line 58451.
C:\Perl\bin>pause
Для продолжения нажмите любую клавишу . . .
Добвал такую секцию:
[1866]
; cse_abstract properties
section_name = killer
name = test_kvest_test
position = 16.834948,-1.186064,81.275002
direction = -0.986938,0.000000,0.161102
; cse_alife_abstract properties
character_profile = test_kvest_test
; cse_alife_object properties
game_vertex_id = 159
distance = 0
level_vertex_id = 978206
object_flags = 0xffffffff
custom_data = <END
[logic]
cfg = scripts\test_kvest_test.ltx
END
; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_novice_1
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = 16.834948,-1.186064,81.275002
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0
; cse_alife_monster_abstract properties
upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0
; cse_alife_human_abstract properties
predicate5 = 2,2,1,1,2
predicate4 = 1,0,0,1
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
Неподскажите в чем проблема?
Добавлено через 37 мин.:
А теперь ище один вопрос:
Што ето означает:
C:\Perl\bin>perl acdccop.pl -c all.ltx -o new.spawn
Died at acdccop.pl line 3024, <GEN7> line 22949.
C:\Perl\bin>pause
Для продолжения нажмите любую клавишу . . .
Добавлял в way_zaton.ltx ето:
[zat_9_kvest_squad]]
points = p0,p1
p0:name = wp00
p0:flags = 0x1
p0:position = 16.834948,-1.186064,81.275002
p0:game_vertex_id = 159
p0:level_vertex_id = 978206
p0:links = p1
p1:name = wp01
p1:flags = 0x2
p1:position = 6.993692,-5.020605,29.268555
p1:game_vertex_id = 19
p1:level_vertex_id = 958168
Создание квеста
в Создание квестов и сюжета
Опубликовано · Изменено пользователем ColR_iT
И так вот по этому уроку делал квест.
Создадим квест по поиску АК74У.
Для начала нужно создать диалог, сделаем его у Волка:
Заходим в gamedata\config\gameplay\dialogs_escape.xml и в самом конце до строчки </game_dialogs> пишем:
Теперь нужно прописать эти диалоги Волку, для этого заходим в gamedata\config\gameplay\character_desc_escape.xml и находим профиль Волка(он называется esc_wolf), перед строкой </specific_character> пишем:
Нам понадобятся два диалога: 1 для получения квеста, 2 для передачи автомата.
<dialog id="escape_volk_ak74u_quest"> - Это название диалога
<has_info>esc_kill_bandits_quest_done</has_info> - эта строка означает что квест появится только если получен инфопоршень esc_kill_bandits_quest_done
<dont_has_info>escape_volk_ak74u_start</dont_has_info> - эта строка означает что если получен инфопоршень escape_volk_ak74u_start , то этот диалог больше не появится.
<text>escape_volk_ak74u_quest_0</text> - это ссылка на текст фразы меченого
<next>1</next> - это ссылка на текст с id= 1 , а id= 1 это <text>escape_volk_ak74u_quest_1</text> (ссылка на текст Волка)
<next>2</next>
<next>3</next> - эти две строчки означают что идет разветвление диалога
<give_info>escape_volk_ak74u_start</give_info> - выдача инфопоршня, после которого начинается квест
<action>new_life.spawn_ak74u</action> - функция вызываемая из скрипта new_life, в данном случае спаунится предмет AK74У
<action>dialogs.break_dialog</action> - функция отвечающая за выход из диалога
Во втором диалоге есть строка <precondition>new_life.escape_volk_ak74u_have</precondition> - она отвечает за появление диалога если выполняется функция escape_volk_ak74u_have
Теперь нужно сделать текст диалога на русском языке, для этого заходим в gamedata\config\tex\rus\stable_dialogs_escape.xml и в нём пишем следующее(в конце перед </string_table>):
Итак, диалог готов, теперь нужно сделать сам квест, для этого заходим в gamedata\config\gameplay\tasks_escape.xml и в самом конце пишем:
<game_task id="escape_volk_ak74u"> - id квеста
<title>Найти потерянный АКСУ</title> - название квеста
<text>Найти потерянный АКСУ</text> - тоже название квеста))
<icon>ui_iconsTotal_weapons</icon> - иконка задания
<infoportion_complete>escape_volk_ak74u_done</infoportion_complete> - квест будет выполнен, если был получен инфопоршень escape_volk_ak74u_done
<article>tex_escape_volk_ak74u</article> - ссылка на текстовый файл с описанием задания
<text>Найти АКСУ</text> - название подзадачи
<function_complete>new_life.escape_volk_ak74u_have</function_complete> - проверка на наличие предмета
<infoportion_set_complete>escape_volk_ak74u_have</infoportion_set_complete> если функция new_life.escape_volk_ak74u_have выполнилась, то выдаётся инфопоршень escape_volk_ak74u_have и выполняется подзадача
<text>Принести АКСУ Волку</text> - название второй подзадачи
<map_location_type hint="Волк">blue_location</map_location_type> - указатель на Волка
<object_story_id>Escape_novice_lager_volk</object_story_id> - id Волка в Файле gamedata\config\game_story_ids.ltx
<infoportion_complete>escape_volk_ak74u_done</infoportion_complete> - если будет получен этот инфопоршень, то выполнится подзадача и соответственно сам квест
Нужно сделать инфопоршни, заходим в gamedata\config\gameplay\info_l01escape.xml и в нём в конце до строчки </game_information_portions> пишем:
Теперь нужно сделать описание квеста, заходим в gamedata\config\gameplay\storyline_info_escape.xml и пишем в конце:
Сделаем описание на русском, заходим в stable_dialogs_escape.xml и в конце до строки </string_table> пишем:
Теперь создадим скриптовый файл new_life в gamedata\scripts\new_life.script и пишем:
Чтобы эти скрипты заработали, нужно создать файлы amk.script и sak.script, в аmk.script пишем:
В sak.script пишем:
ВСё! Можно тестировать.
ПРИМЕЧАНИЕ!!!Если вы делаете такой квест на оригинальном сталкере, то ОБЯЗАТЕЛЬНО нужно создать файлы amk.script и sak.script
Если вы делаете квест на amk моде, то нужно создать только файл sak.script
Первий квест получился. Я только сделал, что в квесте вместо калаша нужно найти КПК. Все роботало.
По этой же схеме начал делать второй квест. Только в скрипте new_life.scrip написал:
При розговоре на получение награды начал ловить вылет:
Отредактировал функции и вышло так
После начал ловить вилет при получении награды:
В sak скрипт отредактировал 70 строчку с
на
И создал скрипт аmk2.script c точно таким же содержаниям.
Ловлю вилет при розговоре о награде:
И так вопрос^ где я накосячил? :ny_rolleyes: