Skocz do zawartości

Mora's NPCs without amnesia v2.1.1


Diegtiariow

Rekomendowane odpowiedzi

Mora's NPCs without amnesia v2.1.1

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

  • Dodatnia 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.