Перейти к контенту

Создание квеста


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

Скажите пожалуйста в чём проблема с НС5 Тайные тропы 1, создал новые сложные сюжетные квесты, новых нпс, всё прописал и проверил, захожу в игру, нанинаю диалог, квест даёт новый нпс, все условия работают, но при попытке добавления новых скриптов в new_dialog или braad_test на выпелнение квеста(убил нужных нпс, принёс нужное кол-во предметов), скрипт перестаёт читаться и квест невозможно выполнить, более того, все скрипты в new_dialog и braad_test перестают читаться игрой вообще, сюжет пройти с новыми квестами невозможно, и старые квесты по сюжету перестают работать, так как невыполняются нужные скрипты в new_dialog и braad_test. Пробовал создать новые скрипт для новых квестов, прописал всё правильно, новый скрипт почему то тоже не читается. Помогите пожалуйста, может где-то что-то забыл указать, могу выложить текст с тем, что именно изменял в файлах. Я пробовал вставлять свои квесты в другие моды, там всё работает.

Изменено пользователем Жека Сталкер НС5
  • Нравится 1

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


Ссылка на сообщение

Здесь внимательно нужно смотреть последние правки в скрипте. В конце какой-нибудь функции, возможно поставил лишний end либо не дописал end и скрипт перестал работать.

Вот мои функции скрипта, можешь проверить правильность составления:

function 5x_krovosos_sar_spawn()
alife():create("bloodsucker_strong",vector():set(72.2404251098633,-0.0141735374927521,29.42),10537,2430)
alife():create("bloodsucker_strong",vector():set(73.2404251098633,-0.0141735374927521,32.42),10537,2430)
alife():create("bloodsucker_strong",vector():set(74.2404251098633,-0.0141735374927521,29.42),10537,2430)
alife():create("bloodsucker_strong",vector():set(73.2404251098633,-0.0141735374927521,32.42),10537,2430)
alife():create("bloodsucker_strong",vector():set(72.2404251098633,-0.0141735374927521,29.42),10537,2430)
end

function aes_bitva_stalkers()
alife():create("aes_mono_master_guard",vector():set(420.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(422.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(424.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(426.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(428.40102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(430.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(440.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_mono_master_guard",vector():set(442.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak1",vector():set(444.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak2",vector():set(450.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak3",vector():set(452.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak4",vector():set(454.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak5",vector():set(456.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak6",vector():set(458.40102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak7",vector():set(460.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak8",vector():set(462.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak9",vector():set(464.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak10",vector():set(466.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak11",vector():set(468.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak12",vector():set(470.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak13",vector():set(472.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak14",vector():set(474.46102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak15",vector():set(476.40102905273,-0.10446,-32.680702209473),178213,2306)
alife():create("aes_voen_master_attak16",vector():set(480.46102905273,-0.10446,-32.680702209473),178213,2306)
end

function aes_bitva_have(task, info)
 if db.actor and db.actor:has_info("aes_voen_master_attak1_dead") and db.actor:has_info("aes_voen_master_attak2_dead") and db.actor:has_info("aes_voen_master_attak3_dead") and db.actor:has_info("aes_voen_master_attak4_dead") and db.actor:has_info("aes_voen_master_attak5_dead") and db.actor:has_info("aes_voen_master_attak6_dead") and db.actor:has_info("aes_voen_master_attak7_dead") and db.actor:has_info("aes_voen_master_attak8_dead") and db.actor:has_info("aes_voen_master_attak9_dead") and db.actor:has_info("aes_voen_master_attak10_dead") and db.actor:has_info("aes_voen_master_attak11_dead") and db.actor:has_info("aes_voen_master_attak12_dead") and db.actor:has_info("aes_voen_master_attak13_dead") and db.actor:has_info("aes_voen_master_attak14_dead") and db.actor:has_info("aes_voen_master_attak15_dead") and db.actor:has_info("aes_voen_master_attak16_dead") then
 return db.actor:give_info_portion("aes_bitva_have")  
end

function aes_bitva_done(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 100000, "in")
end

function voen_pribaza_spawn()
alife():create("pri_baza_voen1",vector():set(-144.17024609375,-2.392861366272,48.028583526611),2530,2141)
alife():create("pri_baza_voen2",vector():set(-144.17024609375,-2.392861366272,48.028583526611),2530,2141)
alife():create("pri_baza_voen3",vector():set(-144.17024609375,-2.392861366272,48.028583526611),2530,2141)
alife():create("pri_baza_voen4",vector():set(-122.07585144043,-2.3936910629272,44.494312286377),6443,2253)
alife():create("pri_baza_voen5",vector():set(-122.07585144043,-2.3936910629272,44.494312286377),6443,2253)
alife():create("pri_baza_voen6",vector():set(-122.07585144043,-2.3936910629272,44.494312286377),6443,2253)
alife():create("pri_baza_voen7",vector():set(-108.30318460928,-2.4125785827637,39.1335105896),12158,2248)
alife():create("pri_baza_voen8",vector():set(-108.30318460928,-2.4125785827637,39.1335105896),12158,2248)
alife():create("pri_baza_voen9",vector():set(-108.30318460928,-2.4125785827637,39.1335105896),12158,2248)
alife():create("pri_baza_voen10",vector():set(-91.810256958008,-2.3960652351379,38.575912475586),21658,2139)
alife():create("pri_baza_voen11",vector():set(-91.810256958008,-2.3960652351379,38.575912475586),21658,2139)
alife():create("pri_baza_voen12",vector():set(-91.810256958008,-2.3960652351379,38.575912475586),21658,2139)
alife():create("pri_baza_voen13",vector():set(-88.584671020508,-2.2287626266479,12.929332733154),23219,2139)
alife():create("pri_baza_voen14",vector():set(-88.584671020508,-2.2287626266479,12.929332733154),23219,2139)
alife():create("pri_baza_voen15",vector():set(-88.584671020508,-2.2287626266479,12.929332733154),23219,2139)
end

function voenpri_baza_dead_have(task, info)
 if db.actor and db.actor:has_info("pri_baza_voen1_dead") and db.actor:has_info("pri_baza_voen2_dead") and db.actor:has_info("pri_baza_voen3_dead") and db.actor:has_info("pri_baza_voen4_dead") and db.actor:has_info("pri_baza_voen5_dead") and db.actor:has_info("pri_baza_voen6_dead") and db.actor:has_info("pri_baza_voen7_dead") and db.actor:has_info("pri_baza_voen8_dead") and db.actor:has_info("pri_baza_voen9_dead") and db.actor:has_info("pri_baza_voen10_dead") and db.actor:has_info("pri_baza_voen11_dead") and db.actor:has_info("pri_baza_voen12_dead") and db.actor:has_info("pri_baza_voen13_dead") and db.actor:has_info("pri_baza_voen14_dead") and db.actor:has_info("pri_baza_voen15_dead") then
 return db.actor:give_info_portion("aes_bitva_have")  
end

function voenpri_baza_dead_done(community1, community2)
relation_registry.set_community_goodwill ("monolith", "actor", 4000)
end

function bar_agents_spawn()
alife():create("chehov",vector():set(54.889999389648,-0.54392206668854,196.0470123291),25680,1242)
alife():create("kremen",vector():set(48.424068450928,-0.049947947263718,202.56573486328),23421,1242)
alife():create("sv_veter1",vector():set(50.424068450928,-0.049947947263718,202.56573486328),23421,1242)
alife():create("sv_veter2",vector():set(50.424068450928,-0.049947947263718,202.56573486328),23421,1242)
alife():create("sv_veter3",vector():set(50.424068450928,-0.049947947263718,202.56573486328),23421,1242)
alife():create("sv_exp1",vector():set(52.424068450928,-0.049947947263718,200.56573486328),23421,1242)
alife():create("sv_exp2",vector():set(52.424068450928,-0.049947947263718,200.56573486328),23421,1242)
alife():create("sv_exp3",vector():set(52.424068450928,-0.049947947263718,200.56573486328),23421,1242)
end

function nagrada1(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 50000, "in")
end

function otdal_money(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 15000, "out")
end

function friendsvoboda(community1, community2)
relation_registry.set_community_goodwill("freedom", "actor", 4000)
end

function create_plichko_restr()
local sr = alife():create("space_restrictor",vector():set(224.667,-5.448,125.996),56632,1198)
local custom = [[[logic]
active = sr_idle
[sr_idle]
on_npc_in_zone = 30176|]]..sr:name()..[[|nil %+plichko_mesto%]]
end

function create_attak7_restr()
local sr = alife():create("space_restrictor",vector():set(136.671,-4.825,21.034),36897,1237)
local custom = [[[logic]
active = sr_idle
[sr_idle]
on_npc_in_zone = 30177|]]..sr:name()..[[|nil %+dolg_attak7_mesto%]]
end

function create_attak8_restr()
local sr = alife():create("space_restrictor",vector():set(221.044,-0.011,-7.659),55112,1261)
local custom = [[[logic]
active = sr_idle
[sr_idle]
on_npc_in_zone = 30178|]]..sr:name()..[[|nil %+dolg_attak8_mesto%]]
end

function spawn_dolg_attak()
local obj=alife():create("dolg_attak1",vector():set(30.315,-0.001,237.997),23432,1244)
local obj=alife():create("dolg_attak2",vector():set(30.873,-0.001,241.597),23434,1244)
local obj=alife():create("dolg_attak3",vector():set(31.548,-0.001,244.481),23434,1244)
local obj=alife():create("dolg_attak4",vector():set(33.570,-0.026,248.539),22882,1244)
local obj=alife():create("dolg_attak5",vector():set(39.319,-0.060,248.262),22702,1244)
local obj=alife():create("dolg_attak6",vector():set(36.416,-0.040,248.317),22702,1244)
local obj=alife():create("dolg_attak9",vector():set(36.628,-0.001,244.252),23434,1244)
local obj=alife():create("dolg_attak10",vector():set(41.306,-0.001,240.706),22531,1244)
local obj=alife():create("bratok_attak1",vector():set(102.443,-0.001,123.137),32223,1219)
local obj=alife():create("bratok_attak2",vector():set(139.499,0.100,90.058),37531,1184)
local obj=alife():create("bratok_attak3",vector():set(131.289,0.097,54.954),36252,1227)
local obj=alife():create("bratok_attak4",vector():set(131.289,0.097,54.954),36252,1227)
local obj=alife():create("bratok_attak5",vector():set(102.443,-0.001,123.137),32223,1219)
local obj=alife():create("bratok_attak6",vector():set(131.289,0.097,54.954),36252,1227)
local obj=alife():create("bratok_attak7",vector():set(131.289,0.097,54.954),36252,1227)
end

function dolg_attak_dialog_have(task, info)
 if db.actor and db.actor:has_info("plichko_mesto") and db.actor:has_info("dolg_attak7_mesto") and db.actor:has_info("dolg_attak8_mesto") and db.actor:has_info("bratok_attak1_dead") and db.actor:has_info("bratok_attak2_dead") and db.actor:has_info("bratok_attak3_dead") and db.actor:has_info("bratok_attak4_dead") and db.actor:has_info("bratok_attak5_dead") and db.actor:has_info("bratok_attak6_dead") and db.actor:has_info("bratok_attak7_dead") then
 return db.actor:give_info_portion("dolg_attak_dialog_have")  
end

function spawn_voronin_bratki()
local obj=alife():create("bratok_voronin1",vector():set(250.656,0.594,-67.682),63848,1271)
local obj=alife():create("bratok_voronin2",vector():set(262.999,1.395,-82.928),66257,1273)
local obj=alife():create("bratok_voronin3",vector():set(238.250,2.213,-103.419),60916,1272)
local obj=alife():create("bratok_voronin4",vector():set(221.870,2.105,-95.975),55289,1275)
end

function spawn_borov()
local obj=alife():create("borov_leader",vector():set(131.289,0.097,54.954),36252,1227)
end

function voronin_bar_dialog_have(task, info)
 if db.actor and db.actor:has_info("borov_leader_dead") then
 return db.actor:give_info_portion("voronin_bar_dialog_have")  
end

function voronin_bar_dialog_done(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "dolg_black_exoskeleton", "in", 1)
dialogs.relocate_item_section(second_speaker, "wpn_grozz", "in", 1)
end

 

 

Используй теги спойлер и код.

Cyclone

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


Ссылка на сообщение

Пожалуйста проверьте мои функции, скрипт не работает при записи новых функций, где-то у меня косяк. Я пробовал заменить скрипт на другой и новый создавал, не читается игрой и всё, что делать. Все остальные файлы стандартные(character_desc_new, dialogs_new, tasks_new, npc_new, info_way, stable_dialogs_new), функции копировал с сюжета НС5, делал под свои. Помогите кто нибудь, уже 2 месяца маюсь. Хотел создать сюжетное дополнение службы Стрелка групперовке Монолит.

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...