Gość Diegtiariow Opublikowano 29 Kwietnia 2023 Zgłoś Udostępnij Opublikowano 29 Kwietnia 2023 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/ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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.