Forum Stalker.pl • Zobacz temat - Dodawanie nowych kombinezonów z zamkniętym obiegiem

Dodawanie nowych kombinezonów z zamkniętym obiegiem

Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez r_populik w 23 Lip 2012, 23:56

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:
Kod: [ Pobierz ] [ Ukryj ]
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:
Kod: [ Pobierz ] [ Ukryj ]
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:
Kod: [ Pobierz ] [ Ukryj ]
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:
Kod: [ Pobierz ] [ Ukryj ]
[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:
Kod: [ Pobierz ] [ Ukryj ]
[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:
Kod: [ Pobierz ] [ Ukryj ]
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:
Kod: [ Pobierz ] [ Ukryj ]
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.

Za ten post r_populik otrzymał następujące punkty reputacji:
Positive Junx, kubekpop, StalkerCell, Marcus_Polonus, max1071.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

Reklamy Google

Re: Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez StalkerCell w 14 Wrz 2013, 14:25

Sorry za odkop, ale mam pewnego BugTrapa:

Kod: Zaznacz wszystko
FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ....e.r. - zew prypeci\gamedata\scripts\xr_logic.script:586: attempt to index global 'xr_conditions' (a nil value)
 

stack trace:


Nie wiem, o co chodzi. Zrobiłem to, co jest napisane w tutorialu, a i tak wywala... do tego z niepotrzebnym skryptem.
Awatar użytkownika
StalkerCell
Weteran

Posty: 575
Dołączenie: 17 Lut 2013, 17:06
Ostatnio był: 06 Kwi 2021, 01:46
Miejscowość: Paniewo
Frakcja: Samotnicy
Ulubiona broń: Akm 74/2
Kozaki: 57

Re: Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez r_populik w 14 Wrz 2013, 19:25

Sprawdź dokładnie poprawność wpisów, albo podeślij mi pliki, które zedytowałeś.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

Re: Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez StalkerCell w 14 Wrz 2013, 21:35

Jakimś cudem zadziałało :) . Tak na serio to albo zapomniałem dodać kombinezony do handlarza, albo w samym skrypcie nie dopisałem "end" na końcu. Tak czy siak ciekaw jestem jak to wyjdzie w praniu. A czy tak samo to zadziała, jeśli do tego skryptu dodam hełm?
Awatar użytkownika
StalkerCell
Weteran

Posty: 575
Dołączenie: 17 Lut 2013, 17:06
Ostatnio był: 06 Kwi 2021, 01:46
Miejscowość: Paniewo
Frakcja: Samotnicy
Ulubiona broń: Akm 74/2
Kozaki: 57

Re: Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez max1071 w 21 Kwi 2020, 00:52

panowie rozumiem i nie jeden raz z tego kodu korzystałem ale od niedawna zacina mi wszystko co związane z zadaniami nie zalicza ich lub nie uruchamia jedynie gdy to zadanie jest zmienione. co może być tego powodem?
Awatar użytkownika
max1071
Stalker

Posty: 135
Dołączenie: 04 Gru 2010, 13:07
Ostatnio był: 09 Cze 2023, 20:21
Frakcja: Wolność
Ulubiona broń: TRs 301
Kozaki: 23

Re: Dodawanie nowych kombinezonów z zamkniętym obiegiem

Postprzez Marcus_Polonus w 22 Kwi 2020, 11:15

Najprawdopodobniej popełniłeś gdzieś literówkę. Korzystam z tego kodu już kawał czasu i u mnie wszystko działa znakomicie.
Oczywiście go nieco zmieniłem do swoich potrzeb, ale to drobiazg (inne ciuchy).
Image
Marcus_Polonus
Tropiciel

Posty: 276
Dołączenie: 18 Maj 2013, 22:36
Ostatnio był: 25 Lip 2023, 22:10
Miejscowość: Fabryka nad Jantarem
Frakcja: Powinność
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 36


Powróć do Tutoriale

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość