Gość Diegtiariow Opublikowano 15 Października 2020 Zgłoś Udostępnij Opublikowano 15 Października 2020 Nazwa: Mora's NPCs without amnesia v2.1.1 Twórca: mora145 Data dodania: 23.04.2020 | Data aktualizacji: 03.06.2020 Opis: Spoiler NPC mają rzadką amnezję, w której zapominają, że zostali silnie zaatakowani w ciągu zaledwie kilku sekund. Z tym strachem będą dłużej cię szukać. W pliku 'gamedata\scripts\gamedata\xr_combat_ignore.script' twórca wprowadził kilka modyfikacji: Wiersz 109: math.randomseed(os.time()) Losuje „nasiona” wybrane do funkcji. Wiersz 110: local rnd = math.random(180000,300000) (Losowa wartość jest wybierana z przedziału od 180000 do 300000 milisekund lub od 3 minut do 5 minut; będzie to czas, przez który NPC będą „alarmować”, że szukają ciebie. Jest losowy, aby uniemożliwić przewidywanie zachowania AI. Wyjaśnienie: Aby te wartości miały efekt NPC musi "widzieć" cię bezpośrednio, nie słyszeć ciebie ani pocisków twojej broni. Wiersze 115 i 119: Dodano zmienną losową liczbę wybraną losowo (rnd) W pliku '\gamedata\configs\creatures\m_stalker.ltx' autor zmodyfikował tylko wartości pamięci NPC poprzez zmianę atrybutów: Jeśli masz zainstalowane inne mody, które nie powinny być zastępowane przez ten mod, możesz przejść do lokalizacji tego pliku i za pomocą „Notepad++” zmienić następujące atrybuty. DynamicObjectsCount 32 na 300 DynamicSoundsCount 32 na 300 DynamicHitCount 32 na 300 Nie znane są dokładne implikacje tych atrybutów. Ale w jakiś sposób, podnosząc je nieco, NPC stają się bardziej „uważni”. Jeśli masz inne dodatki i nie chcesz ich stracić, po prostu skopiuj i wklej linie, w których ten mod wprowadza zmiany, zastępując poprzednie. Wiersze od 101 do 121 w pliku xr_combat_ignore.script if (obj_is_stalker) then if (no_memory ~= true) then local tg = time_global() local time_in_memory = tg - obj:memory_time(enemy) if (time_in_memory < 0) then --obj:enable_memory_object(enemy,false) --time_in_memory = time_in_memory + utils.load_var(obj,"mem_time_offset",0) if (ene_id == 0 and time_in_memory < rnd*(-1) or time_in_memory < rnd2*(-1)) then return false end else if (ene_id == AC_ID and time_in_memory>rnd or time_in_memory>rnd2) or (enemy:position():distance_to_sqr(obj:position())>dist_rnd and not enemy:see(obj)) then --obj:enable_memory_object(enemy,false) --utils.save_var(obj,"mem_time_offset",tg) return false end end end end I w górę i poza funkcję is_enemy >> math.randomseed(os.time()) local rnd = math.random(180000,300000) local rnd2 = rnd - 10000 local dist_rnd = math.random(18000,33000) Plik xr_danger.ltx zawiera te parametry, które odpowiadają sytuacjom, w których NPC słyszy lub widzi coś, co stanowi zagrożenie (ale nie przechodzi bezpośrednio do walki). W tym czasie NPC albo zbliży się do źródła dźwięku, albo ukryje się, albo wyceluje tam, gdzie zobaczył/usłyszał zagrożene. Różni się od xr_combat_ignore, ponieważ nie obejmuje bezpośredniej walki. Gdy NPC zacznie strzelać, czas zmieni się na taki, jaki jest ustawiony w xr_combat_ignore, w odniesieniu do gracza/NPC. Czas mierzony jest w milisekundach. grenade = Dźwięk granatu słyszany przez NPC entity_corpse = Niedawne zwłoki wykryte przez NPC. entity_attacked = NPC widział, jak strzelasz do przyjaciela (bez bezpośredniego widzenia) attacked = Zaatakowałeś NPC, a on cię nie widział. bullet_ricochet = Dźwięk pocisku uderzającego w jakąkolwiek powierzchnię w pobliżu NPC. enemy_sound = Dźwięk, który wydaje wróg. attack_sound = Dźwięk ataku, mutantów lub NPC. (krzyki, ryki i tak dalej) entity_death = NPC widział śmierć przyjaciela. hit = ? sound = Dźwieki kroków, krzaków i tak dalej, które ostrzegają NPC. visual = Widział gracza/moba/NPC, ale nie walczył z nimi/nim. Github: Github.com Instalacja: Mod zawiera kilka "ustawień", jeśli jesteś zwykłym graczem, możesz wybrać "REGULAR MOD" z regularnymi czasami wyszukiwania (TESTOWANE). Z drugiej strony, jeśli chcesz użyć niestandardowych wartości (NIE TESTOWANE), możesz sprawdzić folder „custom”, w którym znajdują się wartości dostosowane do twoich potrzeb w grze. Instrukcje w pliku README w folderze. Ten dodatek nie zmienia zachowania NPC. Tylko czas trwania stanu alertu podczas WIDZENIA gracza. Z tego powodu sztuczna inteligencja nadal może robić głupie rzeczy. Nie wszyscy NPC „podążają” za graczem. Inni wolą się ukryć, aby przygotować zasadzkę. Licznik zostanie zresetowany za każdym razem, gdy gracz będzie ponownie widoczny. Pamiętaj, aby wykonać „BACKUP” swoich plików modów, jeśli wymagają zamiany. Link do pobrania: Spoiler Moddb: [KLIK] Scalony plik: „Npc's with amnesia V2.1.1” i „Combat Ignore Military Fix V.2.1” (Używając regularnych czasów: od 3 do 5 min): [KLIK] Źródła: moddb.com 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.