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

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

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

Перейти к: навигация, поиск
м (орфография)
Строка 1: Строка 1:
Всем привет. В этой теме я покажу как заспавнить телепорт в Зп.
+
Всем привет. В этой теме я покажу, как заспавнить телепорт в ЗП.
Так как я создаю свой мод я решил Создать там серии и телепортов. Но как же это Cделать ? Да очень просто !!!!
+
Так как я создаю свой мод, то решил создать там серии из телепортов. Но как же это сделать? Да очень просто!
1) Декампилируем All.SPAWN
+
===Координаты===
2) Снимаем координаты мест ( Где находится телепорт и там куда мы тепартируемся)
+
Что нужно сделать, чтобы получить координаты мест для телепортов.
Вот что нужно зделать чтобы получить координаты мест:
+
Открываем '''ui_main_menu.script''' и находим следующие строки:
Открываем ui_main_menu.script
+
находим вот примерно такое
+
  
if dik == DIK_keys.DIK_Q then
+
<lua>
self:OnMessageQuitWin()
+
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>
if dik == DIK_keys.DIK_Q then
+
вставляем
self:OnMessageQuitWin()
+
<lua>
elseif dik==DIK_keys.DIK_W then
+
self:position_info()
+
end
+
 
+
И в конец фаила.В Самый Конец!!!
+
 
+
 
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''', потом возвращаемся в игру и делаем скриншот клавишей '''F12'''.
 
+
Потом добегаем до места, куда бы вас должен перенести телепорт и опять делаем скрин.
Заходим в игру ,добегаем до места где бы хотели видеть телепорт,выходим в Меню и в меню жмём на W , потом возвращаемся в игру
+
И Делаем скриншот (F12)
+
 
+
Потом добегаем до места куда бы вас перенес телепорт и опять делаем скрин
+
                                        СПАВНИМ
+
 
+
Открываем файл alife_zaton.ltx ( В декомпилированном All.spawn)
+
и в конце добавляем:
+
 
+
 
+
[2014]( Обозначает место где находит телепорт -- скобки убрать)
+
; 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
+
 
+
 
+
[2015] ( просто визуал телепорта т.к сам телепорт невидим, этот визуал его покажет -- скобки убрать)
+
; 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
+
 
+
 
+
и пишем :
+
  
 +
===all.spawn===
  
[TEST_TELEPORT_WALK] ( Телепортирует в нужное место -- скобки убрать)
+
Открываем файл '''alife_zaton.ltx''' из декомпилированного '''all.spawn''' и в конце добавляем:
points = p0
+
p0:name = wp00
+
p0:position = 113.948539,-7.351358,185.813888
+
p0:game_vertex_id = 316
+
p0:level_vertex_id = 1162410
+
  
 +
[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''' и пишем:
  
ВСЁ СОХРАНЯЕМ, И КОМПЕЛИРУЕМ ALL.SPAWN
+
[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\TEST_TELEPORT.ltx
+
===Логика телепорта===
  
И пишем в нём:
+
Теперь создадим файл логики, назовем его '''test_teleport.ltx''', кинем в '''gamedata\configs\scripts\zaton\test_teleport.ltx''' и пропишем в нём следующее:
  
[logic]
+
[logic]
active = sr_teleport
+
active = sr_teleport
 +
;
 +
[sr_teleport]
 +
point1 = test_teleport_walk  ;имя секции телепорта в way_zaton.ltx
 +
look1 = zat_b20_quest_teleport_look
  
[sr_teleport]
+
Всё, сохраняем.
point1 = TEST_TELEPORT_WALK (обозначает имя секции телепорта в way_zaton.ltx имя может быть любое лижбы оно было одинаково в TEST_TELEPORT.ltx и в way_zaton.ltx ------ скобки удалить)
+
look1 = zat_b20_quest_teleport_look
+
  
Всё сохраняем !!!!!!
+
Заходим в игру, загружаемся... И видим -- неподалёку от вас светится телепорт, прыгаем в него и он вас во мгновение ока преносит на Скадовск.
  
Заходим в игру..... Загружаемся..... И видим  неподялёку от вас светится телепорт, прыгаем в него и он вас в мгновение ока преносит на складовск.
+
===Автор===
 +
'''AmiKus'''
  
Автор - AmiKus
+
[[Категория:Конфигурационные_файлы]]

Версия 15:03, 31 мая 2010

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

Координаты

Что нужно сделать, чтобы получить координаты мест для телепортов. Открываем 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\test_teleport.ltx и пропишем в нём следующее:

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

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

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

Автор

AmiKus

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