Skocz do zawartości

Tworzenie zadań [CS]


Rekomendowane odpowiedzi

CS.jpg

NAZWA: Tworzenie zadań [CS]

 

TWORZYMY ZADANIE:

Spoiler

Tworzymy twoja_nazwa_skryptu.script w folderze gamedata\scripts i piszemy w nim:

function twoja_nazwa_funkcji()
xr_effects.give_inited_task(nil, nil, {"storyline", "name_of_your_quest", "bandit"})
end

endname_of_your_quest - będzie nazwą zadania z tm_***.ltx
bandit - frakcja (po najechaniu kursorem na punkt w PDA (to znaczy, która "jest" na restryktorze np.), będzie wyświetlany opis zadania i jaka frakcja zadanie dała.)

Następnie bierzemy plik gamedata\configs\misc\tm_***.ltx z odpowiedniego folderu i na początku pod wierszem [list_tm_***] piszemy:

name_of_your_quest

A dalej poniżej, podobnie do istniejących:

[name_of_your_quest]
type = storyline
task_type = additional
prior = 10
icon = ui_mt_image_attack_tower
target_cond = true
name = youself_quest_name
text = youself_quest_text
condlist_0 = {+info_for_done} complete
target_story_ids = 724
auto_name = false
auto_faction = true

type = storyline - typ: fabularna linia (tutaj możesz określić "Przynieś przedmioty, zniszczyć smart", itp.)
task_type = additional - typ: dodatkowy (jeśli napiszesz storyline, to będzie wyświetlane jako fabularne)
prior = 10 - priorytet (oznacza to, że gdy pojawi się quest, będzie on automatycznie aktywny)
icon = ui_mt_image_attack_tower - ikonka zadania
target_cond = true
name = youself_quest_name - nazwa z tablicy xml
text = youself_quest_text - opis
condlist_0 = {+info_for_done} complete — po odebraniu (+) infoportion info_for_done uznaj za zakończone
target_story_ids = 724 - story ID do oznaczenia czegoś (może to być skrytka, zwłoki, NPC, restryktor, cokolwiek...)
auto_name = false
auto_faction = true

Piszemy opisy do plików z gamedata\configs\text\rus.
Piszemy również infoportion do gry (u nas to info_for_done)
PS. target_story_ids = 724 - ID Jogi, lidera bandytów

 

Do dialogów:

<action>twoja_nazwa_skryptu.twoja_nazwa_funkcji</action> - aktywacja
<give_info>info_for_done</give_info> - zakończenie

 

 

DLA ZADANIA "ZNAJDŹ I PRZYNIEŚ":

Spoiler
[mar_find_instruments_1a]   ; Znalezienie narzędzi dla mechanika Czystego Nieba
type = storyline ;zadanie, jest jeszcze recover_item, bring_item, itd. ale jak z nimi pracować niewiadomo
task_type = additional ;będzie wyświetlane w dodatkowych zadaniach| storyline będzie wyświetlana jako główna
prior = 1 ;priorytet; im mniejszy tym ważniejsze zadanie
target_story_ids = 314 ;Na kogo stawiamy marker (zobaczyć numer można w pliku game_story_ids.ltx, jeśli usunie się tą linię to możliwy jest wylot)
target_cond = {=actor_on_level(marsh)} true ;przy jakim warunku będzie marker, jeśli usuniemy tą linię będzie wylot!
on_init = %+instrumenti_ishem% ;po starcie zadania wydać infoportion. Nie obowiązkowo
name = mar_find_instrument ;nazwa zadania z plików z tekstami
text = mar_find_instrument_text ;opis zadania z plików z tekstami
condlist_0 = {=actor_has_item(instruments)} complete ;warunki wykonania, itd. tutaj sprawdzanie na obecność przedmiotu "instruments"
on_complete =  %=give_inited_task(storyline:mar_find_instruments_1b:csky)% ;Po wykonaniu zadania uruchamiamy następny
auto_name = false ; niewiadomo

[mar_find_instruments_1b]   ;Zanieś narzędzia mechanikowi Czystego Nieba
type = storyline
task_type = additional
prior = 1
target_story_ids = 314
target_cond = {=actor_on_level(marsh)} true
name = mar_find_instrument_ver
text = mar_find_instrument_ver_text
condlist_0 = {+hashli_instrumenti} complete ;po otrzymaniu infoportion wykonać zadanie!
reward_money = {~20} 1500, {~50} 1000, 750 ;po wykonaniu zadania otrzymujemy nagrodę!
auto_name = false

 

TWORZENIE ZADANIA NA ZABÓJSTWO KOGOŚ (JEDNEGO):

Spoiler
[mar_kill_chimera]   ;Zabić chimerę
type = storyline
task_type = additional
prior = 1
target_story_ids = 316 ;story id chimery z pliku game_story_ids.ltx
target_cond = {=actor_on_level(marsh)} true
name = mar_kill_chimera_name
text = mar_kill_chimera_text
condlist_0 = {+himera_zavernulas} complete ;po otrzymaniu infoportion wykonać zadanie
condlist_1 = {+hashli_pda} reversed ;po otrzymaniu oddać
reward_money = {~20} 1500, {~50} 1000, 750 ;nagroda u handlarza
auto_name = false

Aby to zadziałało, musisz zarejestrować infoportion'y w pliku gameplay\info_** i zespawnować samą chimerę (można stalkera lub potwora).

Do logiki dopisać:

[logic]
on_death = death

[death]
on_info = %+himera_zavernulas%

Oto kolejna prosta misja, która może być wykonana z kilku części, tak jak poprzednia!

 

ŹRÓDŁO:

https://ap-pro.ru/forums/topic/1046-cs-sozdanie-kvestov/

  • Super 1
  • Ważne 1
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony, zgadzasz się na nasze Warunki użytkowania.