Сповіщення
Очистити все

Знаменитий ліс-мозголом


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Я думаю багато хто читав книги серії STALKER і багато хто читав про цей ліс. Ця стаття присвячена створенню такого лісу у грі.

Для роботи нам знадобляться:

Інтерпретатор, необхідний роботи ACDC

ACDC від bardak'а

скрипт від bardak'а для виведення на екран інформації про позицію гравця.

1) Ставимо ActivePerl

2) Закидаємо ACDC у C:Perl\Bin

3) Створюємо в C:Perl\Bin файл Розпакування.txt і вставляємо в нього текст:

perl.exe acdccop.pl -d all.spawn
pause

4) Створюємо в C:Perl\Bin файл Запаковка.txt і вставляємо в нього текст:

perl.exe acdccop.pl -c all.ltx
pause done

5) Змінюємо розширення обох .txt на .bat

6) Кидаємо сюди ж all.spawn і тиснемо на розпакування. І бачимо купу файлів типу alife_локація.ltx, way_локація.ltx, section2.bin, section4.bin та all.ltx

7) Все all.spawn розпакований залишимо його поки що.

Отже, для початку нам потрібно створити різноманітні псі-зони (різноманітні в плані того, щоб попадання ГГ у їхнє поле супроводжувалося різними глюками). Відкриємо gamedata\configs\zones\zone_field_psychic.ltx і додаємо в кінець:

[ zone_psychic_temno_sinij ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_temno_sinij"
 
 postprocess		 = postprocess_psi
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.2 
 
 
 
 [ zone_psychic_svetlo_goluboj ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_svetlo_goluboj"
 
 postprocess		 = postprocess_electra_mine
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.1 
 
 
 
 [ zone_psychic_bleklo_zelenij ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_bleklo_zelenij"
 
 postprocess		 = postprocess_acidic
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.1 
 
 
 
 [ zone_psychic_jarko_zelenij ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_jarko_zelenij"
 
 postprocess		 = postprocess_acidic_mine
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.2 
 
 
 
 [ zone_psychic_bleklo_krasnij ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_bleklo_krasnij"
 
 postprocess		 = postprocess_thermal
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.1 
 
 
 
 [ zone_psychic_jarko_krasnij ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_jarko_krasnij"
 
 postprocess		 = postprocess_thermal_mine
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.2 
 
 
 
 [ zone_psychic_jarko_krasnij_puls ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_jarko_krasnij_puls"
 
 postprocess		 = postprocess_gravi_mine
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.3 
 
 
 
 [ zone_psychic_cherno_belij_rjabj ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_cherno_belij_rjabj"
 
 postprocess		 = mosquito_bald
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.3 
 
 
 
 [ zone_psychic_orange_rjabj ] :zone_field_psychic
 $ spawn 			 = "zones\psychic_orange_rjabj"
 
 postprocess		 = postprocess_rad
 
 ;----------- Anomaly settings ----------------------- 
 max_start_power		 = 0.3  

Зі створенням зон закінчили, розберемося:

zone_psychic_temno_sinij = Зона фарбуватиме світ навколо в темно синій
 
zone_psychic_svetlo_goluboj = Зона фарбуватиме світ навколо у світло-блакитний
 
zone_psychic_bleklo_zelenij = Зона фарбуватиме світ навколо в блякло зелений
 
zone_psychic_jarko_zelenij = Зона фарбуватиме світ навколо в яскраво зелений
 
zone_psychic_bleklo_krasnij = Зона фарбуватиме світ навколо в бляклий червоний
 
zone_psychic_jarko_krasnij = Зона фарбуватиме світ навколо в яскраво-червоний
 
zone_psychic_jarko_krasnij_puls = Зона фарбуватиме світ навколо в яскраво-червоний і при цьому картинка пульсуватиме
 
zone_psychic_cherno_belij_rjabj = Зона буде фарбувати світ навколо в чорно-білі кольори і до купи з'явиться брижі ( нібито мушки в очах )
 
zone_psychic_orange_rjabj = Зона фарбуватиме світ навколо в брудно помаранчевий колір знову таки з брижами

Повернемося до all.spawn:

Для початку йдемо шляхом C:\Perl\bin і відкриваємо блокнотиком acdccop.pl

Шукаємо в ньому рядок:

zone_field_psychic_strong => 'se_zone_anom' ,

І після неї вписуємо:

zone_psychic_temno_sinij => 'se_zone_anom' ,
 zone_psychic_svetlo_goluboj => 'se_zone_anom' ,
 zone_psychic_bleklo_zelenij => 'se_zone_anom' ,
 zone_psychic_jarko_zelenij => 'se_zone_anom' ,
 zone_psychic_bleklo_krasnij => 'se_zone_anom' ,
 zone_psychic_jarko_krasnij => 'se_zone_anom' ,
 zone_psychic_jarko_krasnij_puls => 'se_zone_anom' ,
 zone_psychic_cherno_belij_rjabj => 'se_zone_anom' ,
 zone_psychic_orange_rjabj => 'se_zone_anom' ,

В іншому випадку ми не зможемо запакувати в майбутньому all.spawn

Приступимо до створення лісу. Знаходимо місце де ми хочемо його бачити (мене цілком влаштував лісочок за тартаком (все одно він у грі фактично для меблів)) Для того, щоб наш ліс був дійсно мозком, нам буде потрібно близько 50 аномалій з радіусом 10-15 метрів. Розташованих приблизно так:

За умови, що кожним кольором виділено окремий тип аномалії.

На практиці нам доведеться за допомогою скрипта для відображення позиції зняти 50 скріншотів так що вони збігалися б з точками аномалій, після чого створити в alife_zaton.ltx 50 приблизно ось таких секцій:

[ 2361 ]
  ; cse_abstract properties 
 section_name = zone_psychic_orange_rjabj 
 name = les_mozgolom_pole_48 
 position = -471 , 21 , 402 direction = 0 , 0 , 0 
  
 
 ; cse_alife_object properties 
 game_vertex_id = 34 distance = 32.2000007629395 level_vertex_id = 88248 object_flags = 0xffffff3e 
  
  
 
 
 ; cse_shape properties 
 shapes = shape0 
 shape0: type = sphere 
 shape0: offset = 0 , 0 , 0 
 shape0: radius = 15  
 
 ; cse_alife_space_restrictor properties 
 restrictor_type = 3 
 
 ; cse_alife_custom_zone properties 
 max_power = 0 
 
 ; cse_alife_anomalous_zone properties 
 offline_interactive_radius = 30 artefact_spawn_count = 32 artefact_position_offset = 0x460 
  
 
 
 ; se_zone_anom properties

Власне:

[ 2361 ] УНІКАЛЬНИЙ номер секції
 
section_name = це тип створюваної аномалії тобто з 50 секцій у нас вийде близько 5 -7 кожного типу.
 
name = les_mozgolom_pole_48 - УНІКАЛЬНЕ''' ім'я секції
 
position = -471 , 21 , 402 - позиція аномалії ( можна вписувати лише цілі значення координат ) Але при цьому піднімати висоту 256.154985 , 14.785658 , 154.745612 = 256 , 15 , 
 
game_vertex_id = 34 - game vertex або gvid 
 
level_vertex_id = 88248 - level vertex або lvid 
 
shape0: radius = 15 - радіус зони 

Вписали 50 секцій (можна і більше)

Зібрали all.spawn

Запускаємо гру =)


   
Цитата