CoP. Создание быстрых телепортов — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(→Автор) |
(→Автор) |
||
Строка 132: | Строка 132: | ||
[[Категория:Конфигурационные_файлы]] | [[Категория:Конфигурационные_файлы]] | ||
Не работает! | Не работает! | ||
+ | |||
+ | как так не работает ????? Я сам писал статью + копировал с собственных наработок, так что должно работать !!!!! | ||
+ | |||
+ | Если руки(default) не из того места растут не чем помочь немогу. |
Версия 05:22, 14 сентября 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
Не работает!
как так не работает ????? Я сам писал статью + копировал с собственных наработок, так что должно работать !!!!!
Если руки(default) не из того места растут не чем помочь немогу.