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

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

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

Перейти к: навигация, поиск
 
 
(не показаны 11 промежуточные версии 8 участников)
Строка 1: Строка 1:
Всем привет. В этой теме я покажу как заспавнить телепорт в Зп.
+
Всем привет. В этой теме я покажу, как заспавнить телепорт в ЗП.
Так как я создаю свой мод я решил Создать там серии и телепортов. Но как же это Зделать ? Да очень просто !!!!
+
Так как я создаю свой мод, то решил создать там серии из телепортов. Но как же это сделать? Да очень просто!
1) Декампилируем All.SPAWN
+
2) Снимаем координаты мест ( Где находится телепорт и там куда мы тепартируемся)
+
Вот что нужно зделать чтобы получить координаты мест:
+
Открываем ui_main_menu.script
+
находим вот примерно такое
+
  
if dik == DIK_keys.DIK_Q then
+
 
self:OnMessageQuitWin()
+
===Координаты===
end
+
 
и делаем так :
+
Что нужно сделать, чтобы получить координаты мест для телепортов.
if dik == DIK_keys.DIK_Q then
+
Открываем '''ui_main_menu.script''' и находим следующие строки:
self:OnMessageQuitWin()
+
 
elseif dik==DIK_keys.DIK_W then
+
<lua>
self:position_info()
+
if dik == DIK_keys.DIK_Q then
 +
self:OnMessageQuitWin()
 +
end
 +
</lua>
 +
 
 +
изменяем их:
 +
 
 +
<lua>
 +
        if dik == DIK_keys.DIK_Q then
 +
                self:OnMessageQuitWin()
 +
                elseif dik==DIK_keys.DIK_W then
 +
                self:position_info()
 +
        end
 +
</lua>
 +
 
 +
И в конец файла, т.е. после функции
 +
 
 +
<lua>
 +
function main_menu:OnMenuReloaded()
 +
self:OnButton_options_clicked()
 +
self.opt_dlg:OnMenuReloaded()
 
end
 
end
 +
</lua>
  
И в конец фаила.В Самый Конец!!!
+
вставляем
  
 +
<lua>
 
function main_menu:position_info()
 
function main_menu:position_info()
local a = db.actor:position()
+
        local a = db.actor:position()
local vid = db.actor:level_vertex_id()
+
        local vid = db.actor:level_vertex_id()
local gvid = db.actor:game_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
+
        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)
+
        news_manager.send_tip(db.actor, text, nil, nil, 30000)
 
end
 
end
 +
</lua>
  
Сохраняем!!!
+
и сохраняем.
  
Заходим в игру ,добегаем до места где бы хотели видеть телепорт,выходим в Меню и в меню жмём на W , потом возвращаемся в игру
+
Заходим в игру, добегаем до места, где бы хотели видеть телепорт, выходим в меню, и в жмём на '''W''', потом возвращаемся в игру и делаем скриншот клавишей '''F12'''. Потом добегаем до места, куда бы вас должен перенести телепорт и опять делаем скрин.
И Делаем скриншот (F12)
+
  
Потом добегаем до места куда бы вас перенес телепорт и опять делаем скрин
+
===all.spawn===
                                        СПАВНИМ
+
  
Открываем файл alife_zaton.ltx ( В декомпилированном All.spawn)
+
Открываем файл '''alife_zaton.ltx''' из декомпилированного '''all.spawn''' и в конце добавляем:
и в конце добавляем:
+
  
 
+
<ini>
[2014]( Обозначает место где находит телепорт -- скобки убрать)
+
[6464] ;обозначает место, где находится телепорт
 
; cse_abstract properties
 
; cse_abstract properties
 
section_name = space_restrictor
 
section_name = space_restrictor
Строка 45: Строка 60:
 
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
Строка 53: Строка 68:
 
custom_data = <<END
 
custom_data = <<END
 
[logic]
 
[logic]
cfg = scripts\zaton\TEST_TELEPORT.ltx
+
cfg = scripts\zaton\test_teleport.ltx
 
END
 
END
 
+
;
 
; cse_shape properties
 
; cse_shape properties
 
shapes = shape0
 
shapes = shape0
Строка 61: Строка 76:
 
shape0:offset = 0,0,0
 
shape0:offset = 0,0,0
 
shape0:radius = 4.24460601806641
 
shape0:radius = 4.24460601806641
 
+
;
 
; cse_alife_space_restrictor properties
 
; cse_alife_space_restrictor properties
 
restrictor_type = 3
 
restrictor_type = 3
  
 
+
[6465] ;просто визуал телепорта. т.к сам телепорт невидим, этот визуал его покажет
[2015] ( просто визуал телепорта т.к сам телепорт невидим, этот визуал его покажет -- скобки убрать)
+
 
; cse_abstract properties
 
; cse_abstract properties
 
section_name = zone_teleport
 
section_name = zone_teleport
Строка 72: Строка 86:
 
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
Строка 78: Строка 92:
 
level_vertex_id = 1420994
 
level_vertex_id = 1420994
 
object_flags = 0xffffff3e
 
object_flags = 0xffffff3e
 
+
;
 
; cse_shape properties
 
; cse_shape properties
 
shapes = shape0
 
shapes = shape0
Строка 84: Строка 98:
 
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
+
<ini>
 
+
[test_teleport_walk] ;телепортирует в нужное место
 
+
и пишем :
+
 
+
 
+
[TEST_TELEPORT_WALK] ( Телепортирует в нужное место -- скобки убрать)
+
 
points = p0
 
points = p0
 
p0:name = wp00
 
p0:name = wp00
Строка 109: Строка 120:
 
p0:game_vertex_id = 316
 
p0:game_vertex_id = 316
 
p0:level_vertex_id = 1162410
 
p0:level_vertex_id = 1162410
 +
</ini>
  
 +
Сохраняем, компилируем '''all.spawn'''.
  
 +
===Логика телепорта===
  
 +
Теперь создадим файл логики, назовем его '''test_teleport.ltx''', кинем в ''gamedata\configs\scripts\zaton\'' и пропишем в нём следующее:
  
ВСЁ СОХРАНЯЕМ, И КОМПЕЛИРУЕМ ALL.SPAWN
+
<ini>
 
+
 
+
Теперь создаем скрипт и называем его TEST_TELEPORT.ltx Иложим его в gamedata\configs\scripts\zaton\TEST_TELEPORT.ltx
+
 
+
И пишем в нём:
+
 
+
 
[logic]
 
[logic]
 
active = sr_teleport
 
active = sr_teleport
 
+
;
 
[sr_teleport]
 
[sr_teleport]
point1 = TEST_TELEPORT_WALK (обозначает имя секции телепорта в way_zaton.ltx имя может быть любое лижбы оно было одинаково в TEST_TELEPORT.ltx и в way_zaton.ltx ------ скобки удалить)
+
point1 = test_teleport_walk  ;имя секции телепорта в way_zaton.ltx
 
look1 = zat_b20_quest_teleport_look
 
look1 = zat_b20_quest_teleport_look
 +
</ini>
 +
 +
Всё, сохраняем.
 +
 +
Заходим в игру, загружаемся... И видим -- неподалёку от вас светится телепорт, прыгаем в него и он вас во мгновение ока преносит на Скадовск.
 +
 +
===Автор===
 +
'''AmiKus'''
  
Всё сохраняем !!!!!!
+
Обсудить статью всегда можно на [[Обсуждение:Создание_быстрых_телепортов_в_ЗП|странице обсуждения]].
  
Заходим в игру..... Загружаемся..... И видим  неподялёку от вас светится телепорт, прыгаем в него и он вас в мгновение ока преносит на складовск.
+
[[Категория:Конфигурационные_файлы]]

Текущая версия на 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