Jako że ostatnimi czasy dodałem sobie do kompilacji modów trochę kombinezonów, w tym również wybitnie naukowe, zacząłem szukać recepty na dodanie ich do listy kombinezonów potrzebnych do zaliczenia zadania ze znalezieniem kombinezonu z zamkniętym obiegiem. W podstawce byliśmy skazani tylko i wyłącznie na SEVĘ, co śmierdziało liniowością i brakiem swobody wyboru. Na forum GSC znalazłem tortual na ten temat, więc zamieszczam go tutaj, myślę, że się komuś przyda. Rzecz oczywiście przetestowałem - działa.
Generalnie rzecz sprowadza się do wprowadzenia zmian w 4 plikach.
1. w pliku gamedata\scripts\dialogs_jupiter.script znajdujemy poniższy fragment:
function jup_b15_actor_sci_outfit(first_speaker, second_speaker)
return (db.actor:object("scientific_outfit") ~= nil)
end
function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker)
return (db.actor:object("scientific_outfit") == nil)
end
i zastępujemy go tym:
function jup_b15_actor_sci_outfit(first_speaker, second_speaker)
local suits_tbl = {
["scientific_outfit"] = true,
["your_new_outfit"] = true,
["your_new_outfit_2"] = true,
}
if db.actor:item_in_slot(7) ~= nil and suits_tbl[db.actor:item_in_slot(7):section()] then
return true
end
return false
end
function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker)
return (jup_b15_actor_sci_outfit(first_speaker, second_speaker) == false)
end
2. w pliku gamedata\scripts\xr_conditions.script dopisujemy na końcu to:
function jup_b218_actor_has_outfit(actor, npc, p)
local suits_tbl = {
["scientific_outfit"] = true,
["your_new_outfit"] = true,
["your_new_outfit_2"] = true,
}
for k,v in pairs(suits_tbl) do
if db.actor:object(k) ~= nil then
return true
end
end
return false
end
function jup_b218_actor_has_not_outfit(actor, npc, p)
return jup_b218_actor_has_outfit(actor, npc, p) == false
end
3. w pliku gamedata\configs\misc\tm_jupiter.ltx znajdujemy ten fragment:
[jup_b218_actor_outfit]
icon = ui_inGame2_Pripyat_1
prior = 118
storyline = true
title = jup_b218_actor_outfit_name
descr = jup_b218_actor_outfit_text
condlist_0 = {=actor_has_item(scientific_outfit)} complete
on_complete = %-jup_b218_actor_outfit_task +jup_b218_actor_can_go_pass%
i zastępujemy go tym:
[jup_b218_actor_outfit]
icon = ui_inGame2_Pripyat_1
prior = 118
storyline = true
title = jup_b218_actor_outfit_name
descr = jup_b218_actor_outfit_text
condlist_0 = {=jup_b218_actor_has_outfit()} complete
on_complete = %-jup_b218_actor_outfit_task +jup_b218_actor_can_go_pass%
4. w pliku gamedata\configs\scripts\jupiter\jup_b218_logic.ltx znajdujemy ten fragment:
on_info10 = {+jup_a9_tech_way_info -jup_b218_actor_outfit_task !actor_has_item(scientific_outfit)} %=give_task(jup_b218_actor_outfit) +jup_b218_actor_outfit_task%
on_info11 = {+jup_a9_tech_way_info -jup_b218_actor_can_go_pass -jup_b218_actor_outfit_task =actor_has_item(scientific_outfit)} %+jup_b218_actor_can_go_pass%
i zastępujemy go tym:
on_info10 = {+jup_a9_tech_way_info -jup_b218_actor_outfit_task !jup_b218_actor_has_outfit} %=give_task(jup_b218_actor_outfit) +jup_b218_actor_outfit_task%
on_info11 = {+jup_a9_tech_way_info -jup_b218_actor_can_go_pass -jup_b218_actor_outfit_task =jup_b218_actor_has_outfit} %+jup_b218_actor_can_go_pass%
Rzecz jasna, tam gdzie jest podane, żeby wpisać zwroty "your_new_outfit" i "your_new_outfit_2" wpisujemy nazwy (to co jest w nawiasach kwadratowych na początku sekcji poszczególnych kombinezonów w outfit.ltx lub innym pliku konfiguracyjnym kombinezonów) kombinezonów, które chcemy dodać.
To wszystko. Podziękowania dla
mnm i
Majorsoft z forum GSC.