Jump to content

Mora's NPCs without amnesia v2.1.1


Pancerniak
 Share

Recommended Posts

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

 Share

×
×
  • Create New...

Important Information

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

Comunity