NAZWA: Smart_cover w Zew Prypeci [CoP]
AUTOR: SG
WSTĘP:
Spoiler
Od twórcy:
“Postanowiłem napisać mały samouczek na temat Smart_cover(-ów) w Zew Prypeci. A jest to związane z Zewem Prypeci z jednego powodu… Ostatnio zacząłem pracować z SDK 0.7, a ponieważ pracuję nad moim modem V.A.V.I.L.O.N., to postanowiłem któregoś dnia ustawić kilka Smart_cover’ów, ale niestety nie wszystko udaje się za pierwszym razem. Ustawiłem Smart_cover, ale NPC nie chcą działać w tym smart cover’ze. Czytałem tutoriale jakie mogłem znaleźć, ale w końcu całkiem przypadkowo znalazłem w plikach przyczynę dlaczego nie działały, i teraz wyjaśnię co było powodem :D”
PIERWSZE OPERACJE:
Spoiler
Na początek stwórzmy nasz Smart_cover, autor zdecydował się stworzyć go obok bara Brodacza, tak to wygląda:
nazwiemy go:
zat_a2_animpoint_23
Teraz, aby to pojawiło się w naszej grze, zbierzemy wszystko w all.spawn, dlatego po ustawieniu i skonfigurowaniu, przechodzimy w prawo i widzimy przycisk compile, wybieramy opcję make game, a następnie klikamy OK. Po tym jak program zbierze nasze dane, kompletujemy all.spawn, do tego SDK posiada plik tool_create_spawn.cmd.
Klikamy i czekamy, aż all.spawn zostanie zebrany, po zakończeniu przechodzimy do X-Ray CoP SDK\editors\gamedata\spawns i wybieramy nasz all.spawn, ale to tylko all.spawn z naszej lokacji, którą edytowaliśmy, rozpakowujemy i widzimy nasze pliki, w przypadku autora są to alife_zaton i way_zaton. Kopiujemy go do rozpakowanego all.spawn z czystej gry ze zgodą na zamianę plików, kompletujemy i odkładamy na miejsce.
GŁÓWNE:
Spoiler
Tutaj wprowadziliśmy do gry edytowany przez nas all.spawn, ale aby nasz Smart_cover mógł być używany przez NPC, nadal musimy wykonać następujące czynności, dopisać go do smart terrain.
Aby to zrobić, otwieramy gamedata\configs\scripts\zaton\smart\zat_stalker_base_smart.ltx i po linii:
zat_a2_animp_22 = zaton\zat_a2_logic.ltx
dodajemy nasz:
zat_a2_animp_23 = zaton\zat_a2_logic.ltx
Następnie przechodzimy tutaj gamedata\configs\scripts\zaton\zat_a2_logic.ltx i po otwarciu pliku szukamy tej linii:
[logic@zat_a2_animp_22]
active = animpoint@zat_a2_animp_22
suitable = {=check_npc_name(sim_default) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(stalker_raider) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(zat_b14_stalker_) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(artefact_hunter) =npc_in_zone(zat_a2_sr_noweap)} true
prior = 100
i po niej dodajemy nasz:
[logic@zat_a2_animp_23]
active = animpoint@zat_a2_animp_23
suitable = {=check_npc_name(sim_default) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(stalker_raider) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(zat_b14_stalker_) =npc_in_zone(zat_a2_sr_noweap)} true, {=check_npc_name(artefact_hunter) =npc_in_zone(zat_a2_sr_noweap)} true
prior = 150
Idziemy dalej i szukamy tej linii:
[animpoint@zat_a2_animp_22]:animpoint@zat_a2_animp_gen_reach
cover_name = zat_a2_animpoint_22
on_info = {=npc_in_zone(zat_a2_sr_light)} animpoint@zat_a2_animp_22_reached
właściwie i po tym dodajemy nasz:
[animpoint@zat_a2_animp_23]:animpoint@zat_a2_animp_gen_reach
cover_name = zat_a2_animpoint_23
on_info = {=npc_in_zone(zat_a2_sr_light)} animpoint@zat_a2_animp_23_reached
I jeszcze dalej jest ta linijka:
[animpoint@zat_a2_animp_22_reached]:animpoint@zat_a2_animp_gen
cover_name = zat_a2_animpoint_22
i po niej także dodajemy naszą:
[animpoint@zat_a2_animp_23_reached]:animpoint@zat_a2_animp_gen
cover_name = zat_a2_animpoint_23
ŹRÓDŁO:
https://ap-pro.ru/forums/topic/1280-cop-smart_cover-v-zov-pripyati/
