Случайная подборка модов
Поиск (DIES IRAE)
4.1
Soc Style Addon 2.0
4.1
История Борова
3.5
We Are Not Alone
4.0
Doomed to Eternal Torment
3.9
Thorny Way
3.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 2
  • 1
  • 2
  • »
Архив - только для чтения
Создание квеста "Убить сталкера"
Германия  JohannHirsch
Четверг, 18.08.2011, 12:35 | Сообщение # 1
Frozen Zone
Статус:
Опытный:
Сообщений: 1946
Награды: 5
Регистрация: 05.10.2010

Ну вот, тутор по созданию квеста на тип "Убить сталкера"
Ну что, начнем!
Сдесь нам нужно будет создать нпс для его убийства
Автор: Johann

Открываем
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\creatures\spawn_sections_zaton.ltx
Пишим в самом верху это:

Code
[test_smg-mod_test]:stalker
$spawn                     = "respawn\test_smg-mod_test"
character_profile     = test_smg-mod_test
spec_rank = novice
community = stalker
story_id = test_smg-mod_test


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\gameplay\character_desc_zaton.ltx
В самый конец пишим это перед </xml>
Code
    <specific_character id="test_smg-mod_test" team_default="1">
             <name>Скалолаз</name>
             <icon>ui_inGame2_Soldier_2</icon>
             <map_icon x="1" y="0">
             </map_icon>
             <bio>Опытный сталкер. Детальная информация отсутствует.</bio>

             <class>test_smg-mod_test</class>
             <community>stalker</community>
             <terrain_sect>stalker_terrain</terrain_sect>
             <snd_config>characters_voice\human_01\military\</snd_config>

             <rank>40</rank>
             <reputation>0</reputation>

             <visual>actors\stalker_ucheniy\stalker_ucheniy_1_face_2</visual>
             <supplies>

                 [spawn] \n
                 wpn_ak74u \n
                 ammo_5.45x39_fmj = 1 \n
                 wpn_pm \n
                 ammo_9x18_fmj = 1 \n
                 grenade_rgd5 = 2 \n

#include "gameplay\character_items_nd.xml"
#include "gameplay\character_drugs.xml"
#include "gameplay\character_drugs_mil.xml"
               </supplies>
#include "gameplay\character_criticals_4.xml"
             </specific_character>


Тут же ищим строчку

<!-- Бармен на базе сталкеров -->
И пишим ниже строчкой после этого <actor_dialog>zat_a2_stalker_barmen_actor_info</actor_dialog> это
Code
  <actor_dialog>lapsh8_quest_dialog</actor_dialog>
       <actor_dialog>lapsh8_quest_prines</actor_dialog>


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\gameplay\dialogs_zaton.ltx
Пишим в начале ниже строкой <game_dialogs> это:

Code
<?xml version="1.0" encoding="windows-1251" ?>
<game_dialogs>
<dialog id="lapsh8_quest_dialog">            
<dont_has_info>quest_lapsh8_done</dont_has_info>            
<dont_has_info>quest_lapsh8_give</dont_has_info>
<phrase_list>            
<phrase id="1">            
<text>Есть, убить одного лошка и скажи спасибо сайту</text>            
<give_info>quest_lapsh8_give</give_info>            
<action>dialogs_zaton.quest_kill_nps_start</action>            
</phrase>            
<phrase id="0">            
<text>Работка есть? Я тест провожу квеста от сайта</text>            
<next>1</next>            
</phrase>            
</phrase_list>            
</dialog>            

<dialog id="lapsh8_quest_prines">            
<has_info>quest_lapsh8_give</has_info>            
<dont_has_info>quest_lapsh8_done</dont_has_info>
<has_info>test_nps_mertv</has_info>            
<phrase_list>            
<phrase id="1">            
<text>Ой радость то какая! Научился делать квест!</text>            
<give_info>quest_lapsh8_done</give_info>            
</phrase>            
<phrase id="0">            
<text>Грохнул я его...спасибо скажу сайту</text>            
<next>1</next>            
</phrase>            
</phrase_list>            
</dialog>


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\gameplay\info_zaton.ltx
В начале после <game_information_portions> ниже строкой пишим это:

Code
    <info_portion id="quest_lapsh8_done"></info_portion>
            <info_portion id="quest_lapsh8_give"></info_portion>
            <info_portion id="test_nps_mertv"></info_portion>


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\gameplay\npc_profile.ltx
В начале после <xml> ниже строкой пишим это:
Code
    <!-- наш нпс smg-mod-->
            <character id="test_smg-mod_test">
             <class>test_smg-mod_test</class>
            </character>


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\misc\tm_zaton.ltx
В самый конец пишим это:
Code
[lapsh8_give]            
icon = ui_inGame2_Bezopasnoe_mesto
prior = 2            
storyline = false            
title = {+test_nps_mertv}test_prinesti_name, test_naiti_name            
descr = test_descr            
target = {+test_nps_mertv} zat_a2_stalker_barmen, nps
condlist_0 = {+quest_lapsh8_done} complete            
reward_money = 1
            


Далее
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\scripts
Создаем тут папку smg-mod, а там test_smg-mod_test.ltx

Должен получиться такой путь:
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\scripts\smg-mod\test_smg-mod_test.ltx

И в этом файле пишим:
Code
[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


Далее идем сюда
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\text\rus\st_quests_general.ltx

В конце перед </string_table> пишим это:
Code
    <string id="test_naiti_name ">
             <text>Убийство: Убить сталкера и сказать спасибо сайту/text>
            </string>
            <string id="test_descr ">
             <text>Убить сталкера и сказать спасибо Johann/text>
            </string>
            <string id="test_prinesti_name">
             <text>Убийство: рассказать бармену и сказать спасибо Johann</text>
            </string>


Так, теперь нам надо открыть скрипт с помощью блокнота
Идем сюда:
D:\S.T.A.L.K.E.R. - Зов Припяти\gamedata\scripts\dialogs_zaton.script
В самое начало пишим:
Code
function quest_kill_nps_start()            
task_manager.get_task_manager():give_task("lapsh8_give")            
end


Теперь находим распакованый all.spawn и находим там файл alife_zaton.ltx
В конец пишим это, но номер не должен повторяться!
Code
[1866]
; cse_abstract properties
section_name = stalker
name = test_smg-mod_test
position = 223.34001159668,55.243835449219,8.9725513458252
direction = 0,0,0

; cse_alife_trader_abstract properties
money = 500
character_profile = test_smg-mod_test

; cse_alife_object properties
game_vertex_id = 55
distance = 0
level_vertex_id = 1317923
object_flags = 0xffffffff
custom_data = <<END
[story_object]
story_id = nps
[logic]
cfg = scripts\smg-mod\test_smg-mod_test.ltx
END

; cse_visual properties
visual_name = actors\stalker_soldier\stalker_soldier_2

; 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 = 223.34001159668,55.243835449219,8.9725513458252
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
base_in_restrictors = yan_bunker_door_zomby_restrictor

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

Запаковываем и запускаем игру.

В видео все увидите, обязательно посмотрите:


Для тех, у кого интернет слабый. Квест берем у бороды, а нпс, которого надо убить находится на партовых кранах на верху.

Автор: Johann
Сообщение отредактировал Johann - Четверг, 18.08.2011, 12:36
  Злобная реклама
Четверг, 18.08.2011, 12:35
Статус:
Сообщений: 666
Регистрация: 05.10.2010
Российская Федерация  Dimonich
Пятница, 02.09.2011, 04:32 | Сообщение # 2
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

а для чн можно квест по этой инструкции написать?
  Злобная реклама
Пятница, 02.09.2011, 04:32
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Российская Федерация  Rekongstor
Пятница, 02.09.2011, 11:39 | Сообщение # 3
R-Z0ne Team
Статус:
Отмычка:
Сообщений: 196
Награды: 2
Регистрация: 24.10.2010

на 50й секунде убило...
  Злобная реклама
Пятница, 02.09.2011, 11:39
Статус:
Сообщений: 666
Регистрация: 24.10.2010
Украина  kaizer96
Пятница, 02.09.2011, 17:19 | Сообщение # 4
Статус:
Неопытный:
Сообщений: 575
Награды: 2
Регистрация: 25.12.2010

Dimonich, запросто, можно и проще. Я вообще без Алл.спавна стараюсь работать в простеньких местах, через скрипт гораздо быстрее, все делается. Для чн квесты типа принеси убей пишутся за несколько минут, просто нужно чтобы руки росли откуда надо!
  Злобная реклама
Пятница, 02.09.2011, 17:19
Статус:
Сообщений: 666
Регистрация: 25.12.2010
Ирак  Южный
Пятница, 02.09.2011, 18:36 | Сообщение # 5
Take Earth Back
Статус:
Опытный:
Сообщений: 1661
Награды: 7
Регистрация: 03.03.2011

Видео лулзовое^^
  Злобная реклама
Пятница, 02.09.2011, 18:36
Статус:
Сообщений: 666
Регистрация: 03.03.2011
Российская Федерация  Dimonich
Суббота, 03.09.2011, 15:26 | Сообщение # 6
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

kaizer96, да,да
  Злобная реклама
Суббота, 03.09.2011, 15:26
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Украина  kaizer96
Суббота, 03.09.2011, 17:11 | Сообщение # 7
Статус:
Неопытный:
Сообщений: 575
Награды: 2
Регистрация: 25.12.2010

Dimonich, в каком смысле?
  Злобная реклама
Суббота, 03.09.2011, 17:11
Статус:
Сообщений: 666
Регистрация: 25.12.2010
Российская Федерация  Dimonich
Воскресенье, 04.09.2011, 09:29 | Сообщение # 8
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

kaizer96, скриптом проще
  Злобная реклама
Воскресенье, 04.09.2011, 09:29
Статус:
Сообщений: 666
Регистрация: 17.04.2011
  Nikitos817
Воскресенье, 04.09.2011, 11:37 | Сообщение # 9
Статус:
:
Сообщений:
Регистрация:

Такая же статья нужна для ТЧ с применением алл.спавна. Помогите
  Злобная реклама
Воскресенье, 04.09.2011, 11:37
Статус:
Сообщений: 666
Регистрация:
Российская Федерация  gif
Воскресенье, 04.09.2011, 11:56 | Сообщение # 10
Статус:
Новичок:
Сообщений: 397
Награды: 4
Регистрация: 31.05.2011

kaizer96, напиши мне пожалуйста, как в ЧН сделать квест. ну только без спавна! Он у меня не пакуется почемуто в ЧН
  Злобная реклама
Воскресенье, 04.09.2011, 11:56
Статус:
Сообщений: 666
Регистрация: 31.05.2011
Российская Федерация  Dimonich
Воскресенье, 04.09.2011, 13:02 | Сообщение # 11
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

gif,

Добавлено (04.09.2011, 13:02)
---------------------------------------------
Вот

автор Pihan13

  Злобная реклама
Воскресенье, 04.09.2011, 13:02
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Украина  kaizer96
Воскресенье, 04.09.2011, 14:36 | Сообщение # 12
Статус:
Неопытный:
Сообщений: 575
Награды: 2
Регистрация: 25.12.2010

Dimonich, gif,
Тутор от Пихана, немного кривоватый! Там нету дополнительных фич для переключения квестов, нету нормальных прекондишенов и тд и тп.
  Злобная реклама
Воскресенье, 04.09.2011, 14:36
Статус:
Сообщений: 666
Регистрация: 25.12.2010
Российская Федерация  Dimonich
Воскресенье, 04.09.2011, 16:24 | Сообщение # 13
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

kaizer96, ага,понятно,но напиши правильный
  Злобная реклама
Воскресенье, 04.09.2011, 16:24
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Российская Федерация  gif
Воскресенье, 04.09.2011, 16:53 | Сообщение # 14
Статус:
Новичок:
Сообщений: 397
Награды: 4
Регистрация: 31.05.2011

Dimonich, Спасибо) kaizer96, Ну напиши мне свой, пожалуйста
  Злобная реклама
Воскресенье, 04.09.2011, 16:53
Статус:
Сообщений: 666
Регистрация: 31.05.2011
Украина  kaizer96
Воскресенье, 04.09.2011, 17:10 | Сообщение # 15
Статус:
Неопытный:
Сообщений: 575
Награды: 2
Регистрация: 25.12.2010

Dimonich, ну смотри ты нашел инструкцию, но из нее видно что квест вроде бы как на доставку предмета, но задание будет считаться выполненым, только если ГГ получит определенный инфопоршень(а инфопоршни проще всего выдаются через диалоги, но это не удобно в нашем случае). А нам нужно чтобы задание считалось выполненным как только у ГГ появляется предмет. (например: получаем квест на поиск артефакта, находим его и задание, считается выполненым уже сейчас, а не когда мы отдадим арт заказчику.) Что бы это сделать мы вписываем в условие выполнения квеста не инфопоршень, а прекондишен на наличие определенного предмета у гг, типа так:
[mar_arthunt_art_3_quest_a]
type = storyline
task_type = additional
prior = 9
target_story_ids = 309
target_cond = {=actor_on_level(marsh)} true
on_init = %+mar_arthunt_art_3_quest_ishem%
faction = stalker
name = mar_arthunt_art_3_quest
text = mar_arthunt_art_3_quest_text
condlist_0 = {=actor_has_item(af_dummy_battery)} complete -- ВОТ ТО О ЧЕМ Я ГОВОРЮ!!!
on_complete = %=give_inited_task(storyline:mar_arthunt_art_3_quest_b:stalker)% -- ЭТО ВЫДАЧА НОВОГО КВЕСТА ПРИ ВЫПОЛНЕНИИ ПРЕДЫДУЩЕГО!
auto_name = false
  Злобная реклама
Воскресенье, 04.09.2011, 17:10
Статус:
Сообщений: 666
Регистрация: 25.12.2010
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: