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

[SoC] Создание квеста на убийство NPC

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

 

NPC.jpg

Автор: LaRento

Здравствуйте. В этом уроке я напишу о том, как создать несложный квест на убийство сталкера. Итак, начнём.

Потребуются следующие файлы:

  Показать контент

1. Создание персонажа:

  Показать контент

2. Спавним персонажа на локации:

  Показать контент

3. Создадим сам квест:

  Показать контент

4. Создание диалога:

  Показать контент

5. Регистрация текста диалога:

  Показать контент

6. Создадим инфопорции:

  Показать контент

7. Создаём отметку нашего NPC на карте:

  Показать контент

 

  • Лайк 3

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


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

Всё это очень здорово, но если я хочу заспавнить НПС не в вагончике, а скажем, возле лиса. Как мне узнать координаты этого места? Урок этому не учит, а повторять пункт в пункт без понимания смысла - пустая трата времени.

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


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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 18.07.2020 в 17:15, Hardtmuth сказал:

]

Вы серьезно? Ето квест 8 летней давности, так он еще и не рабочий. Вам что лень сделать нормальный квест без багов? Восемь лет прошло в конце концов ,или проще КРИВО скопипастить из другого форума и забить хрен на то что новички не могут исправить ошибки и за того что попросту не знают как вопще работают конфиги


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

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


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

AziatkaVictor У него вылетает. Вот лог: 

  тык (Показать контент)

Вот его скриншоты с алл спавна:

  тык (Показать контент)

Для меня лишь загадка, почему строка Arguments: пустая.

  • Лайк 1

ed1c85bd8aba2500209219c6df96c254.png

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


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

вылет происходит, что с моим персонажем, квестом и диалогом, так и с персонажем, квестом и диалогом из этого поста,

это при том что я никакой ошибки зделать не мог потому что я уже делал квесты найди принеси, со своим уникальным предметом, и у меня все работало


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Ostrov igr lego вообще, как писали выше, лучше использовать для такого СДК. Делать спавн через АСДС - очень плохая идея.

Проблема с регистрацией персонажа, очевидно. Смотри, все ли правильно сделал. Скидывай файлы, посмотрим.

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 09:59, AziatkaVictor сказал:

Ostrov igr lego вообще, как писали выше, лучше использовать для такого СДК. Делать спавн через АСДС - очень плохая идея.

Проблема с регистрацией персонажа, очевидно. Смотри, все ли правильно сделал. Скидывай файлы, посмотрим.

ты имеешь виду чатерс деск екскейп?Нет там у меня все правильно я его спавнил через функцыю, но прифиль нпс скину может что то там не так


Дополнено 0 минут спустя
  В 10.06.2023 в 09:59, AziatkaVictor сказал:

Ostrov igr lego вообще, как писали выше, лучше использовать для такого СДК. Делать спавн через АСДС - очень плохая идея.

Проблема с регистрацией персонажа, очевидно. Смотри, все ли правильно сделал. Скидывай файлы, посмотрим.

    <specific_character id="esc_samo3" team_default = "1">
        <name>esc_samo3</name>
        <icon>ui_npc_u_stalker_mo_exo</icon>
        <bio>esc_samo3</bio>

        <class>esc_samo3</class>
        <community>samo</community> 
        
        <rank>1000</rank>
        <reputation>1</reputation>
        <money min="20000000" max="60000000" infinitive="0"/>
        
        <snd_config>characters_voice\human_03\monolith\</snd_config>
        <crouch_type>-1</crouch_type>
        
        <visual>actors\monolit\stalker_mo_exo</visual>
        <supplies>
            [spawn] \n
            device_torch \n
                wpn_ak74_m1 \n
               ammo_5.45x39_ap = 10 \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml"
        </supplies>
        
#include "gameplay\character_criticals_3.xml"
            
        <start_dialog>hello_dialog</start_dialog>
        <actor_dialog>soba</actor_dialog>
#include "gameplay\character_dialogs.xml"
    </specific_character>


Дополнено 22 минуты спустя
  В 10.06.2023 в 09:59, AziatkaVictor сказал:

Ostrov igr lego вообще, как писали выше, лучше использовать для такого СДК. Делать спавн через АСДС - очень плохая идея.

Проблема с регистрацией персонажа, очевидно. Смотри, все ли правильно сделал. Скидывай файлы, посмотрим.

Ну что? Какието ошибки есть в профиле нпс?

Изменено пользователем Ostrov igr lego

176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 10:09, Ostrov igr lego сказал:

ты имеешь виду чатерс деск екскейп?Нет там у меня все правильно я его спавнил через функцыю, но прифиль нпс скину может что то там не так

Для начала, небольшой урок русского языка. Правильно писать:

  Цитата

Ты имеешь ввиду "character_desc_escape"? Нет, там у меня все правильно, я его спавнил через функцию, но профиль НПС могу скинуть, может там что-то не так.

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

  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 11:50, AziatkaVictor сказал:

Для начала, небольшой урок русского языка. Правильно писать:

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

    <game_task id="samo_kill_test">
<title>samo_kill</title> 
<objective>
<text>samo_kill1</text>
<icon>ui_iconsTotal_lost_thing</icon>
<infoportion_complete>samo_test_done</infoportion_complete>
<article>tex_esc_samotest</article>
</objective>
<objective>
<text>samo_kill111</text>
<map_location_type hint="samo3">green_location</map_location_type>
<object_story_id>samo3</object_story_id>
<infoportion_set_complete>samo_test_kill</infoportion_set_complete>
</objective>
<objective>
<text>samo_kill1111</text> 
<map_location_type hint="Escape_Trader">blue_location</map_location_type> 
<object_story_id>Escape_Trader</object_story_id>
<infoportion_complete>samo_test_done</infoportion_complete>
</objective>
</game_task>

ето конфиг квеста

<dialog id="samostart"> 
<dont_has_info>samo_test_start</dont_has_info> 
<phrase_list>
<phrase id="0">
<text>esc_danila_dialog_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>esc_danila_dialog_1</text>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="2">
<text>esc_danila_dialog_2</text>
<next>4</next>
</phrase>
<phrase id="3">
<text>esc_danila_dialog_3</text>
<action>dialogs.break_dialog</action>
</phrase>
<phrase id="4">
<text>esc_danila_dialog_4</text>
<give_info>samo_test_start</give_info> 
</phrase>
</phrase_list>
</dialog>

<dialog id="esc_samotest66_completed">
<has_info>samo_test_kill</has_info>
<dont_has_info>samo_test_done</dont_has_info>
<phrase_list>
<phrase id="0">
<text>samotest_quest_completed_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>samotest_quest_completed_1</text>
<next>2</next>
</phrase>
<phrase id="2">
<text>samotest_quest_completed_2</text>
<give_info>samo_test_done</give_info>
<next>3</next>
</phrase>
<phrase id="3">
<text>samotest_completed_3</text>
</phrase>
</phrase_list>
</dialog>

диалоги квеста

        <specific_character id="esc_samo3" team_default = "1">
        <name>esc_samo3</name>
        <icon>ui_npc_u_stalker_mo_exo</icon>
        <bio>esc_samo3</bio>

        <class>esc_samo3</class>
        <community>samo</community> 
        
        <rank>1000</rank>
        <reputation>1</reputation>
        <money min="20000000" max="60000000" infinitive="0"/>
        
        <snd_config>characters_voice\human_03\monolith\</snd_config>
        <crouch_type>-1</crouch_type>
        
        <visual>actors\monolit\stalker_mo_exo</visual>
        <supplies>
            [spawn] \n
            device_torch \n
                wpn_ak74_m1 \n
               ammo_5.45x39_ap = 10 \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml"
        </supplies>
        
#include "gameplay\character_criticals_3.xml"
            
        <start_dialog>hello_dialog</start_dialog>
        <actor_dialog>soba</actor_dialog>
#include "gameplay\character_dialogs.xml"
    </specific_character>
    

профиль нпс

<info_portion id="samo_test_start">
<task>samo_kill_test</task>
</info_portion>
<info_portion id="samo_test_kill">
</info_portion>
<info_portion id="samo_test_done">
</info_portion>

инфопоршни

    <article id="tex_esc_samotest" name="убить самозванца" article_type="task"> 
<text>tex_esc_samotest</text> 
</article>

описание квеста 

[samo3_test_test]
points = p0
p0:name = name00
p0:position = -44.503621826172,-10.04605930328369,-71.018817749023
p0:game_vertex_id = 77
p0:level_vertex_id = 234293

[samo3_test_test1]
points = p0
p0:name = name00
p0:position = -51.103621826172,-10.04605930328369,-65.718817749023
p0:game_vertex_id = 77
p0:level_vertex_id = 228488
 

пути персонажа

[9000] 
; cse_abstract properties
section_name = stalker
name = esc_samo3 
position = -44.503621826172,-10.04605930328369,-71.018817749023
direction = 0.00115116173401475,-5.07207296323031e-005,0.0440320037305355

; cse_alife_trader_abstract properties
money = 50000
character_profile = esc_samo3 

; cse_alife_object properties
game_vertex_id = 77
distance = 20.09999942779541
level_vertex_id = 234293
object_flags = 0xffffffbb
custom_data = <<END
[spawner]
cond = {+samo_test_start} 

[logic]
active = walker
on_death = death 

[death]
on_info = %+samo_test_kill% 
[walker]
path_walk = samo3_test_test1
path_walk = samo3_test_test2
path_look = samo3_test_test
END
story_id = 9000

; cse_visual properties
visual_name = actors\monolit\stalker_mo_exo

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 1
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0x75646f6d
upd:creature_flags = 0x6c
upd:position = -44.503621826172,-10.04605930328369,-71.018817749023
upd:o_model = 0
upd:o_torso = -5.07207296323031e-005,0.00115116173401475,0
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 1

; 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 = 0,1,1,1,2
predicate4 = 2,0,1,0

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties

спавн и логика нпс в алл спавн 

9000          = "samo3"

гейм стори айди нпс

 


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Ostrov igr lego не вижу тут файла "npc_profile.xml", ты его редактировал?

  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 12:27, AziatkaVictor сказал:

Ostrov igr lego не вижу тут файла "npc_profile.xml", ты его редактировал?

меня настораживает что ты не упомянул об файле спавн секшен ,скорее всего его надо удалить потому что он мешает заспавнить нпс через алл спавн , и да, в нпс профиль я его вписал просто пощитал не нужным добавлять его 

  • Смущение 1

176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 09:38, Ostrov igr lego сказал:

квест 8 летней давности, так он еще и не рабочий

Слушай, блин, кончай обвинять других, типа Зармут сам писал эти квесты и гайды. Лучше бы писать грамотно научился, а потом уже кидался на людей.

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 13:06, Ostrov igr lego сказал:

меня настораживает что ты не упомянул об файле спавн секшен ,скорее всего его надо удалить потому что он мешает заспавнить нпс через алл спавн , и да, в нпс профиль я его вписал просто пощитал не нужным добавлять его 

все равно вылет


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Ostrov igr lego даже не знаю, что на это ответить. :bc310bc3-6cb8-4279-860d-c4fdb7162848:

Я же говорю, чтобы нам обоим было проще, надо кидать ВСЕ файлы. Я не знаю, что и как ты делал. Я не телепат, я не читаю мысли. Я не знаю, регистрировал ли НПС в этом файле или нет.

А "spawn_sections" я не упоминал, потому что в этом уроке он даже не упоминается и я не знаю, необходим ли он для спавна или нет. Если есть желание, добавь секцию НПС в этот файл и проверь, исправлена ли ошибка.

  • Спасибо 1

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


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

тоесь обсолютно все? Даже конфиги групировки?


Дополнено 3 минуты спустя
  В 10.06.2023 в 13:37, AziatkaVictor сказал:

Ostrov igr lego даже не знаю, что на это ответить. :bc310bc3-6cb8-4279-860d-c4fdb7162848:

Я же говорю, чтобы нам обоим было проще, надо кидать ВСЕ файлы. Я не знаю, что и как ты делал. Я не телепат, я не читаю мысли. Я не знаю, регистрировал ли НПС в этом файле или нет.

А "spawn_sections" я не упоминал, потому что в этом уроке он даже не упоминается и я не знаю, необходим ли он для спавна или нет. Если есть желание, добавь секцию НПС в этот файл и проверь, исправлена ли ошибка.

спавн секшен нпс

[esc_samo3]:stalker
$spawn                 = "respawn\esc_samo3"
character_profile    = esc_samo3
spec_rank = master
community = samo

нпс профиль

    <character id="esc_samo3">
        <class>esc_samo3</class>
    </character>
    


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Ostrov igr lego нет. Просто файлы, которые ты изменял. Редактировать файлы группировки необязательно, чтобы заспавнить НПС, понимаешь?

Ладно, что я могу порекомендовать. Отложи ненадолго этот квест и скачай СДК. Поверь мне, если ты планируешь делать мод не пару дней, то тебе стоит его освоить. Тогда можно быть уверенным, что ты в спавне нету ошибок. Я почти не трогал АСДС, поэтому не могу точно определить, правильно ли всё сделано или нет.

Либо же, можно спавнить НПС просто через скрипты. Все-таки, спавн обычно делают через СДК, не вижу смысла этим заниматься через АСДС. Если это решит твою проблему - то поздравляю.

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


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

Ostrov igr lego нет. Просто файлы, которые ты изменял. Редактировать файлы группировки необязательно, чтобы заспавнить НПС, понимаешь?

Ладно, что я могу порекомендовать. Отложи ненадолго этот квест и скачай СДК. Поверь мне, если ты планируешь делать мод не пару дней, то тебе стоит его освоить. Тогда можно быть уверенным, что ты в спавне нету ошибок. Я почти не трогал АСДС, поэтому не могу точно определить, правильно ли всё сделано или нет.

Либо же, можно спавнить НПС просто через скрипты. Все-таки, спавн обычно делают через СДК, не вижу смысла этим заниматься через АСДС. Если это решит твою проблему - то поздравляю.

 изначально я и скачал сдк 0.4 и даже не знал что такое АСДС но по какойто причине он у меня не работал так он еще мне чуть комп не сломал по этому я решил попробовать делать все через алл спавн

Изменено пользователем Ostrov igr lego

176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 10.06.2023 в 13:42, Ostrov igr lego сказал:

<character id="esc_samo3">
        <class>esc_samo3</class>
</character>

Я не знаю, влияет это или нет, то в уроке написано так:

<character id="esc_danila">
    <class>esc_danila</class> ; имя профиля
    <specific_character>esc_danila</specific_character> ;имя профиля
</character>

В спавне у тебя дважды написан путь для walker:

  В 10.06.2023 в 11:59, Ostrov igr lego сказал:

[walker]
path_walk = samo3_test_test1
path_walk = samo3_test_test2

path_look = samo3_test_test

Не уверен, но StoryID у тебя отличается от названия НПС:

  Цитата

9000          = "samo3"

Возможно, это ни на что не влияет.

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


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

Я не знаю, влияет это или нет, то в уроке написано так:

<character id="esc_danila">
    <class>esc_danila</class> ; имя профиля
    <specific_character>esc_danila</specific_character> ;имя профиля
</character>

В спавне у тебя дважды написан путь для walker:

Не уверен, но StoryID у тебя отличается от названия НПС:

Возможно, это ни на что не влияет.

про пути я знаю, я давно исправил это, нет дело не в конфигах в папке конфиг, а в алл спавне либо в нпс, просто если удалить спавн персонажа через алл спавн то квест будет работать и диалоги тоже


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Ostrov igr lego диалоги и квест никак не должны влиять на спавн НПС. В общем, если ты можешь заспавнить НПС через скрипт, то предполагаю, что дело в спавне. Больше помочь ничем не могу.

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


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

Не уверен, но StoryID у тебя отличается от названия НПС

Стори айди не обязательно должен совпадать. Так, для справки. К примеру я просто дописываю в айди к названию НПС'а "_id" и всё работает.

  • Спасибо 1

ed1c85bd8aba2500209219c6df96c254.png

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


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

ScR1pt понял, я просто не проверял это. Не доводилось.

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


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

 

  В 10.06.2023 в 14:28, ScR1pt сказал:

Стори айди не обязательно должен совпадать. Так, для справки. К примеру я просто дописываю в айди к названию НПС'а "_id" и всё работает.

и типа у тебя работает метка на карте?

Изменено пользователем Ostrov igr lego

176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

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

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

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

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

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

Войти

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

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу