Jump to content

Tworzenie zadań [CS]


Recommended Posts

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/

  • Cool 1
  • Important 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.

Comunity