Gość Diegtiariow Opublikowano 9 Września 2023 Zgłoś Udostępnij Opublikowano 9 Września 2023 NAZWA: Tworzenie bazy dla stalkerów [CoP] AUTOR: Falkinelsaku OBJAŚNIENIE: Spoiler Baza stalkerów to miejsce, do którego NPC przychodzą nocą, przesiadują tam całą noc i wychodzą rano, zostają tylko ci, którzy nie mieli co robić na danej lokacji. Najprawdopodobniej wielu niedoświadczonych modderów zadało sobie pytanie "Jak zrobić tę bazę?" P.S. - Ta lekcja jest przeznaczona dla użytkowników działających w SDK. TWORZENIE SMART TERRAINA: Spoiler Najpierw musisz stworzyć smart terrain z typem "base". Tworzymy nowy graph-point dla punktu spawnu stalkerów w pliku gamedata\configs\game_graphs.ltx. Następnie otwieramy Level Editor i wczytujemy swoją lokację, w przykładzie tworzona jest baza na lokacji "Przedsionek", ale ty możesz wziąć inną lokację. Ustawiamy graph-point i przechodzimy do Object Inspector. Dalej ustawiamy smart terrain, najlepiej żeby graph-point był w centrum smart terrainu. Ustawiamy naszemu smart terrainowi takie parametry (nazwę możecie wybrać sami): Dalej tworzymy plik logiki i zapisujemy do niego ścieżkę. Przykład custom data: [smart_terrain] cfg = scripts\location\smart\name_logic.ltx [story_object] story_id = nazwa-smart_terrainu_którą_wcześniej_wskazaliśmy Praca w SDK jeszcze nie została zakończona, ale na razie można go zostawić w spokoju. LOGIKA I PRZYPISANIE SMARTU: Spoiler Wchodzimy do naszego pliku logiki smarta, który wcześniej utworzyliśmy i wklejamy do niego taką logikę: [smart_terrain]; nazwa smarta (nieobowiązkowe) squad_id = 1 (numer smartu, nigdy nie powinien się powtarzać. Na każdej lokacji zaczyna się od 1) def_restr = (restryktor, gdzie znajduje się baza) safe_restr = (restryktor, gdzie NPC są nieśmiertelni) smart_control = smart_control respawn_params = respawn@stalker_base (respawn stalkerów w smartcie) max_population = 20 (ile smart terrain może mieć squadów max) arrive_dist = 65 (odległość, z której squad jest zarejestrowany w smartcie) [respawn@stalker_base] spawn_stalker@advanced [spawn_stalker@advanced] spawn_squads = stalker_sim_squad_advanced, stalker_sim_squad_novice (squady, które mogą się zespawnować) spawn_num = 0 (ilość squadów, które będą się spawnować. Działa warunek: {+fffffffff} 3) [smart_control] noweap_zone = (strefa chowania broni) ignore_zone = (strefa, gdzie NPC nie reagują na niebezpieczeństwo) alarm_start_sound = dźwięk jako początek alarmu (GG zabił stalkera) alarm_stop_sound = dźwięk jako koniec alarmu [exclusive] (praca dla NPC) Teraz trzeba dopisać typ smart terrainu. Wchodzimy do configs\misc\simulation_objects_props.ltx, przewijamy na sam dół i piszemy takie 2 linijki: [nazwa_smartu]:default_base sim_avail = true Smart jest gotowy, teraz przyszła pora zrobić pracę dla NPC. PRACA DLA NPC: Spoiler Wracamy do SDK i ustawiamy kilka animpointów o następujących typach nazw: "krótka_nazwa_smarta_animpoint_numer_animpointa" Przykład: pred_a1_animpoint_1. (Na zdjęciu jest pred_a1_animpoint_2, zamiast pred_a1_animpoint_1, nie zwracaj na to uwagi) Kompilujemy spawn i zamykamy SDK. Teraz przypisujemy pracę w exclusive: pred_a1_animpoint_1 = predbannik\pred_a1_logic.ltx (tworzymy nowy plik logiki) pred_a1_animpoint_2 = predbannik\pred_a1_logic.ltx (tworzymy nowy plik logiki) I w nim piszemy: [logic@pred_a1_animpoint_1] active = animpoint@pred_a1_animpoint_1 suitable = {=check_npc_name(sim_default_stalker) =npc_in_zone(restryktor_strefy_obozu) !surge_started} true prior = 100 [animpoint@pred_a1_animpoint_1] cover_name = pred_a1_animpoint_1 (nazwa smart_covera) on_info = {=npc_in_zone(restryktor_strefy_obozu)} animpoint@pred_a1_animpoint_1 [animpoint@pred_a1_animpoint_1_reached]:pred_a1_animpoint_1 cover_name = esc_a1_animpoint_1 (nazwa smart_covera) [logic@pred_a1_animpoint_2] active = animpoint@pred_a1_animpoint_2 suitable = {=check_npc_name(sim_default_stalker) =npc_in_zone(restryktor_strefy_obozu) !surge_started} true prior = 100 [animpoint@pred_a1_animpoint_2] cover_name = pred_a1_animpoint_2 (nazwa smart_covera) on_info = {=npc_in_zone(рестриктор_зоны_лагеря)} animpoint@pred_a1_animpoint_2 [animpoint@pred_a1_animpoint_2_reached]:pred_a1_animpoint_2 cover_name = esc_a1_animpoint_2 (nazwa smart_covera) NIEDUŻY DODATEK: Spoiler Aby zrobić postój dla stalkerów (stalkerzy opuszczają bazę w to miejsce w ciągu dnia, czyli innymi słowy "praca na lokacji dla NPCów”) Trzeba zamienić klasę smart terrainu w misc\simulation_objects_props.ltx. Zamiast: [nazwa_smartu]:default_base sim_avail = true piszemy: [nazwa_smartu]:default_territory sim_avail = true Cała reszta jest taka sama jak w przypadku base. JESZCZE NIEWIELKIE DOPEŁNIENIE: Spoiler Załóżmy, że nazwa smart terrainu to "esc_a1". Jeśli nazwiesz animpoint w ten sposób: esc_a1_animpoint_1, to nie będzie konieczne zawracanie sobie głowy logiką, NPC sam zajmie ten punkt. ŹRÓDŁO: https://ap-pro.ru/forums/topic/3980-cop-sozdanie-bazy-dlya-stalkerov/ 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.