CoP. Создание быстрых телепортов — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

CoP. Создание быстрых телепортов — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Автор)
 
(не показаны 5 промежуточные версии 4 участников)
Строка 1: Строка 1:
 
Всем привет. В этой теме я покажу, как заспавнить телепорт в ЗП.
 
Всем привет. В этой теме я покажу, как заспавнить телепорт в ЗП.
 
Так как я создаю свой мод, то решил создать там серии из телепортов. Но как же это сделать? Да очень просто!
 
Так как я создаю свой мод, то решил создать там серии из телепортов. Но как же это сделать? Да очень просто!
 +
 +
 
===Координаты===
 
===Координаты===
 +
 
Что нужно сделать, чтобы получить координаты мест для телепортов.
 
Что нужно сделать, чтобы получить координаты мест для телепортов.
 
Открываем '''ui_main_menu.script''' и находим следующие строки:
 
Открываем '''ui_main_menu.script''' и находим следующие строки:
Строка 10: Строка 13:
 
end
 
end
 
</lua>
 
</lua>
 +
 
изменяем их:
 
изменяем их:
 +
 
<lua>
 
<lua>
 
         if dik == DIK_keys.DIK_Q then
 
         if dik == DIK_keys.DIK_Q then
Строка 20: Строка 25:
  
 
И в конец файла, т.е. после функции
 
И в конец файла, т.е. после функции
 +
 
<lua>
 
<lua>
 
function main_menu:OnMenuReloaded()
 
function main_menu:OnMenuReloaded()
Строка 26: Строка 32:
 
end
 
end
 
</lua>
 
</lua>
 +
 
вставляем
 
вставляем
 +
 
<lua>
 
<lua>
 
function main_menu:position_info()
 
function main_menu:position_info()
Строка 36: Строка 44:
 
end
 
end
 
</lua>
 
</lua>
 +
 
и сохраняем.
 
и сохраняем.
  
Заходим в игру, добегаем до места, где бы хотели видеть телепорт, выходим в меню, и в жмём на '''W''', потом возвращаемся в игру и делаем скриншот клавишей '''F12'''.
+
Заходим в игру, добегаем до места, где бы хотели видеть телепорт, выходим в меню, и в жмём на '''W''', потом возвращаемся в игру и делаем скриншот клавишей '''F12'''. Потом добегаем до места, куда бы вас должен перенести телепорт и опять делаем скрин.
Потом добегаем до места, куда бы вас должен перенести телепорт и опять делаем скрин.
+
  
 
===all.spawn===
 
===all.spawn===
Строка 45: Строка 53:
 
Открываем файл '''alife_zaton.ltx''' из декомпилированного '''all.spawn''' и в конце добавляем:
 
Открываем файл '''alife_zaton.ltx''' из декомпилированного '''all.spawn''' и в конце добавляем:
  
[6464] ;обозначает место где находится телепорт
+
<ini>
; cse_abstract properties
+
[6464] ;обозначает место, где находится телепорт
section_name = space_restrictor
+
; cse_abstract properties
name = zat_b20_teleport
+
section_name = space_restrictor
position = 265.378784,18.411567,526.151062
+
name = zat_b20_teleport
direction = 0,0,0
+
position = 265.378784,18.411567,526.151062
;
+
direction = 0,0,0
; cse_alife_object properties
+
;
game_vertex_id = 287
+
; cse_alife_object properties
distance = 0
+
game_vertex_id = 287
level_vertex_id = 1420994
+
distance = 0
object_flags = 0xffffff3e
+
level_vertex_id = 1420994
custom_data = <<END
+
object_flags = 0xffffff3e
[logic]
+
custom_data = <<END
cfg = scripts\zaton\test_teleport.ltx
+
[logic]
END
+
cfg = scripts\zaton\test_teleport.ltx
;
+
END
; cse_shape properties
+
;
shapes = shape0
+
; cse_shape properties
shape0:type = sphere
+
shapes = shape0
shape0:offset = 0,0,0
+
shape0:type = sphere
shape0:radius = 4.24460601806641
+
shape0:offset = 0,0,0
;
+
shape0:radius = 4.24460601806641
; cse_alife_space_restrictor properties
+
;
restrictor_type = 3
+
; cse_alife_space_restrictor properties
 +
restrictor_type = 3
  
[6465] ;просто визуал телепорта. т.к сам телепорт невидим, этот визуал его покажет
+
[6465] ;просто визуал телепорта. т.к сам телепорт невидим, этот визуал его покажет
; cse_abstract properties
+
; cse_abstract properties
section_name = zone_teleport
+
section_name = zone_teleport
name = zat_b20_teleport_horiz
+
name = zat_b20_teleport_horiz
position = 265.378784,18.411567,526.151062
+
position = 265.378784,18.411567,526.151062
direction = 0,0,0
+
direction = 0,0,0
;
+
;
; cse_alife_object properties
+
; cse_alife_object properties
game_vertex_id = 287
+
game_vertex_id = 287
distance = 49
+
distance = 49
level_vertex_id = 1420994
+
level_vertex_id = 1420994
object_flags = 0xffffff3e
+
object_flags = 0xffffff3e
;
+
;
; cse_shape properties
+
; cse_shape properties
shapes = shape0
+
shapes = shape0
shape0:type = sphere
+
shape0:type = sphere
shape0:offset = 0,0,0
+
shape0:offset = 0,0,0
shape0:radius = 5.5254921913147
+
shape0:radius = 5.5254921913147
;
+
;
; cse_alife_space_restrictor properties
+
; cse_alife_space_restrictor properties
restrictor_type = 3
+
restrictor_type = 3
;
+
;
; cse_alife_custom_zone properties
+
; cse_alife_custom_zone properties
max_power = 0
+
max_power = 0
;
+
;
; cse_alife_anomalous_zone properties
+
; cse_alife_anomalous_zone properties
offline_interactive_radius = 30
+
offline_interactive_radius = 30
artefact_spawn_count = 32
+
artefact_spawn_count = 32
artefact_position_offset = 0x1ac0
+
artefact_position_offset = 0x1ac0
 +
</ini>
  
 
Потом открываем '''way_zaton.ltx''' и пишем:
 
Потом открываем '''way_zaton.ltx''' и пишем:
  
[test_teleport_walk] ;телепортирует в нужное место
+
<ini>
points = p0
+
[test_teleport_walk] ;телепортирует в нужное место
p0:name = wp00
+
points = p0
p0:position = 113.948539,-7.351358,185.813888
+
p0:name = wp00
p0:game_vertex_id = 316
+
p0:position = 113.948539,-7.351358,185.813888
p0:level_vertex_id = 1162410
+
p0:game_vertex_id = 316
 +
p0:level_vertex_id = 1162410
 +
</ini>
  
 
Сохраняем, компилируем '''all.spawn'''.
 
Сохраняем, компилируем '''all.spawn'''.
Строка 114: Строка 126:
 
===Логика телепорта===
 
===Логика телепорта===
  
Теперь создадим файл логики, назовем его '''test_teleport.ltx''', кинем в '''gamedata\configs\scripts\zaton\test_teleport.ltx''' и пропишем в нём следующее:
+
Теперь создадим файл логики, назовем его '''test_teleport.ltx''', кинем в ''gamedata\configs\scripts\zaton\'' и пропишем в нём следующее:
  
[logic]
+
<ini>
active = sr_teleport
+
[logic]
;
+
active = sr_teleport
[sr_teleport]
+
;
point1 = test_teleport_walk  ;имя секции телепорта в way_zaton.ltx
+
[sr_teleport]
look1 = zat_b20_quest_teleport_look
+
point1 = test_teleport_walk  ;имя секции телепорта в way_zaton.ltx
 +
look1 = zat_b20_quest_teleport_look
 +
</ini>
  
 
Всё, сохраняем.
 
Всё, сохраняем.
Строка 129: Строка 143:
 
===Автор===
 
===Автор===
 
'''AmiKus'''
 
'''AmiKus'''
 +
 +
Обсудить статью всегда можно на [[Обсуждение:Создание_быстрых_телепортов_в_ЗП|странице обсуждения]].
  
 
[[Категория:Конфигурационные_файлы]]
 
[[Категория:Конфигурационные_файлы]]
Не работает!
 
 
как так не работает ????? Я сам писал статью + копировал с собственных наработок, так что должно работать !!!!!
 
 
Если руки(default) не из того места растут не чем помочь немогу.
 
 
и все равно не работает
 

Текущая версия на 13:52, 14 сентября 2016

Всем привет. В этой теме я покажу, как заспавнить телепорт в ЗП. Так как я создаю свой мод, то решил создать там серии из телепортов. Но как же это сделать? Да очень просто!


Координаты

Что нужно сделать, чтобы получить координаты мест для телепортов. Открываем ui_main_menu.script и находим следующие строки:

 
	if dik == DIK_keys.DIK_Q then
		self:OnMessageQuitWin()
	end
 

изменяем их:

 
        if dik == DIK_keys.DIK_Q then
                self:OnMessageQuitWin()
                elseif dik==DIK_keys.DIK_W then
                self:position_info()
        end
 

И в конец файла, т.е. после функции

 
function main_menu:OnMenuReloaded()
	self:OnButton_options_clicked()
	self.opt_dlg:OnMenuReloaded()
end
 

вставляем

 
function main_menu:position_info()
        local a = db.actor:position()
        local vid = db.actor:level_vertex_id()
        local gvid = db.actor:game_vertex_id()
        local text = "GPS:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
        news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
 

и сохраняем.

Заходим в игру, добегаем до места, где бы хотели видеть телепорт, выходим в меню, и в жмём на W, потом возвращаемся в игру и делаем скриншот клавишей F12. Потом добегаем до места, куда бы вас должен перенести телепорт и опять делаем скрин.

all.spawn

Открываем файл alife_zaton.ltx из декомпилированного all.spawn и в конце добавляем:

 
[6464] ;обозначает место, где находится телепорт
; cse_abstract properties
section_name = space_restrictor
name = zat_b20_teleport
position = 265.378784,18.411567,526.151062
direction = 0,0,0
;
; cse_alife_object properties
game_vertex_id = 287
distance = 0
level_vertex_id = 1420994
object_flags = 0xffffff3e
custom_data = <<END
[logic]
cfg = scripts\zaton\test_teleport.ltx
END
;
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 4.24460601806641
;
; cse_alife_space_restrictor properties
restrictor_type = 3
 
[6465] ;просто визуал телепорта. т.к сам телепорт невидим, этот визуал его покажет
; cse_abstract properties
section_name = zone_teleport
name = zat_b20_teleport_horiz
position = 265.378784,18.411567,526.151062
direction = 0,0,0
;
; cse_alife_object properties
game_vertex_id = 287
distance = 49
level_vertex_id = 1420994
object_flags = 0xffffff3e
;
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 5.5254921913147
;
; 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 = 0x1ac0
 

Потом открываем way_zaton.ltx и пишем:

 
[test_teleport_walk] ;телепортирует в нужное место
points = p0
p0:name = wp00
p0:position = 113.948539,-7.351358,185.813888
p0:game_vertex_id = 316
p0:level_vertex_id = 1162410
 

Сохраняем, компилируем all.spawn.

Логика телепорта

Теперь создадим файл логики, назовем его test_teleport.ltx, кинем в gamedata\configs\scripts\zaton\ и пропишем в нём следующее:

 
[logic]
active = sr_teleport
;
[sr_teleport]
point1 = test_teleport_walk  ;имя секции телепорта в way_zaton.ltx
look1 = zat_b20_quest_teleport_look
 

Всё, сохраняем.

Заходим в игру, загружаемся... И видим -- неподалёку от вас светится телепорт, прыгаем в него и он вас во мгновение ока преносит на Скадовск.

Автор

AmiKus

Обсудить статью всегда можно на странице обсуждения.

Другие места
LANGUAGE