CoP. Спавн предметов — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Строка 1: | Строка 1: | ||
Вот решил внести свой вклад в модостроение)) | Вот решил внести свой вклад в модостроение)) | ||
+ | |||
Тема которая будет расмотрена в данной статье, это спавн предметов в ЗП. | Тема которая будет расмотрена в данной статье, это спавн предметов в ЗП. | ||
Для начала попробуем заспавнить что-нибудь……например…… О, вертолёт !!!! | Для начала попробуем заспавнить что-нибудь……например…… О, вертолёт !!!! | ||
+ | |||
Что для этого нам нужно ? | Что для этого нам нужно ? | ||
− | |||
− | |||
− | |||
− | + | * ''1)ACDC для ЗП'' | |
− | Поместим файл All.spawn( | + | * ''2)Activeperl 8.7.'' |
+ | * ''3)Распакованная игра (CoP) | ||
+ | '' | ||
+ | Начнём: | ||
+ | |||
+ | Поместим файл '''All.spawn'''(который находится по адресу: Gamedata\spawns) в папку с ACDC. Распаковываем. | ||
+ | |||
В итоге появятся Файлы .Ltx С названием секций. Нас интересуют Файлы alife_*******.ltx Так как они отвечают за спавн. | В итоге появятся Файлы .Ltx С названием секций. Нас интересуют Файлы alife_*******.ltx Так как они отвечают за спавн. | ||
− | Для Начала нам нужно снять координаты того места Где должен появится наш | + | Для Начала нам нужно снять координаты того места Где должен появится наш вертолёт. |
− | Для этого открываем ui_main_menu.script | + | |
− | находим вот примерно такое | + | Для этого открываем '''ui_main_menu.script''' и находим вот примерно такое: |
+ | <lua> | ||
if dik == DIK_keys.DIK_Q then | if dik == DIK_keys.DIK_Q then | ||
self:OnMessageQuitWin() | self:OnMessageQuitWin() | ||
end | end | ||
+ | </lua> | ||
и делаем так : | и делаем так : | ||
+ | <lua> | ||
if dik == DIK_keys.DIK_Q then | if dik == DIK_keys.DIK_Q then | ||
− | self:OnMessageQuitWin() | + | self:OnMessageQuitWin() |
elseif dik==DIK_keys.DIK_W then | elseif dik==DIK_keys.DIK_W then | ||
self:position_info() | self:position_info() | ||
end | end | ||
− | И в конец фаила.В Самый Конец!!! | + | </lua> |
+ | [[Изображение:Example_vert.jpg]] | ||
+ | |||
+ | И в конец фаила. В Самый Конец!!! | ||
+ | <lua> | ||
function main_menu:position_info() | function main_menu:position_info() | ||
local a = db.actor:position() | local a = db.actor:position() | ||
Строка 32: | Строка 44: | ||
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) | ||
Я выбрал место спавна прямо на палубе Скадовска. | Я выбрал место спавна прямо на палубе Скадовска. | ||
− | + | Всё теперь спавним вертолёт. | |
− | Выберем поправившуюся секцию. Для примера я взял Затон, поэтому | + | Выберем поправившуюся секцию. Для примера я взял Затон, поэтому открываем '''alife_zaton.ltx''' |
и добавляем : | и добавляем : | ||
+ | <lua> | ||
[1922] | [1922] | ||
; cse_abstract properties | ; cse_abstract properties | ||
Строка 68: | Строка 83: | ||
startup_animation = idle | startup_animation = idle | ||
engine_sound = vehicles\helicopter\helicopter | engine_sound = vehicles\helicopter\helicopter | ||
− | + | </lua> | |
Помните !!!!! Всё должно быть по порядкку !!!!!Если перед этим номер скрипта был допустим [1921] то в номер нашего будет [1922] | Помните !!!!! Всё должно быть по порядкку !!!!!Если перед этим номер скрипта был допустим [1921] то в номер нашего будет [1922] | ||
теперь с пояснениями: | теперь с пояснениями: | ||
+ | <lua> | ||
[1922] | [1922] | ||
; cse_abstract properties | ; cse_abstract properties | ||
section_name = helicopter -- Имя секции | section_name = helicopter -- Имя секции | ||
name = pri_a28_heli_1 -- Уникальное имя скрипта | name = pri_a28_heli_1 -- Уникальное имя скрипта | ||
− | position = 154.740036,-2.654960,182.621597 -- координаты места где мы хотим чтобы появился | + | position = 154.740036,-2.654960,182.621597 -- координаты места где мы хотим чтобы появился вертолёт |
direction = 0,-0.0252000000327826,0 -- поворот верталёта | direction = 0,-0.0252000000327826,0 -- поворот верталёта | ||
Строка 86: | Строка 102: | ||
; cse_visual properties | ; cse_visual properties | ||
− | visual_name = dynamics\vehicles\mi24\veh_mi24_u_01 -- | + | visual_name = dynamics\vehicles\mi24\veh_mi24_u_01 -- визуал верталёта |
; cse_motion properties | ; cse_motion properties | ||
Строка 96: | Строка 112: | ||
startup_animation = idle | startup_animation = idle | ||
engine_sound = vehicles\helicopter\helicopter | engine_sound = vehicles\helicopter\helicopter | ||
+ | </lua> | ||
+ | Всё вставляем скрипт в секцию (без комментов конечно) | ||
− | |||
Сохраняем! | Сохраняем! | ||
Строка 103: | Строка 120: | ||
[[Изображение:vertalet.jpg]] | [[Изображение:vertalet.jpg]] | ||
+ | |||
+ | |||
+ | [[Категория:Скрипты]] |
Версия 10:48, 8 апреля 2010
Вот решил внести свой вклад в модостроение))
Тема которая будет расмотрена в данной статье, это спавн предметов в ЗП.
Для начала попробуем заспавнить что-нибудь……например…… О, вертолёт !!!!
Что для этого нам нужно ?
- 1)ACDC для ЗП
- 2)Activeperl 8.7.
- 3)Распакованная игра (CoP)
Начнём:
Поместим файл All.spawn(который находится по адресу: Gamedata\spawns) в папку с ACDC. Распаковываем.
В итоге появятся Файлы .Ltx С названием секций. Нас интересуют Файлы alife_*******.ltx Так как они отвечают за спавн.
Для Начала нам нужно снять координаты того места Где должен появится наш вертолёт.
Для этого открываем 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: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)
Я выбрал место спавна прямо на палубе Скадовска.
Всё теперь спавним вертолёт.
Выберем поправившуюся секцию. Для примера я взял Затон, поэтому открываем alife_zaton.ltx
и добавляем :
[1922] ; cse_abstract properties section_name = helicopter name = pri_a28_heli_1 position = 154.740036,-2.654960,182.621597 direction = 0,-0.0252000000327826,0 ; cse_alife_object properties game_vertex_id = 316 distance = 0 level_vertex_id = 1216486 object_flags = 0xffffffb2 ; cse_visual properties visual_name = dynamics\vehicles\mi24\veh_mi24_u_01 ; cse_motion properties ; cse_ph_skeleton properties skeleton_name = idle ; cse_alife_helicopter properties startup_animation = idle engine_sound = vehicles\helicopter\helicopter
Помните !!!!! Всё должно быть по порядкку !!!!!Если перед этим номер скрипта был допустим [1921] то в номер нашего будет [1922]
теперь с пояснениями:
[1922] ; cse_abstract properties section_name = helicopter -- Имя секции name = pri_a28_heli_1 -- Уникальное имя скрипта position = 154.740036,-2.654960,182.621597 -- координаты места где мы хотим чтобы появился вертолёт direction = 0,-0.0252000000327826,0 -- поворот верталёта ; cse_alife_object properties game_vertex_id = 316 -- гейм вертекс уровня distance = 0 level_vertex_id = 1216486 -- Левел уровень object_flags = 0xffffffb2 ; cse_visual properties visual_name = dynamics\vehicles\mi24\veh_mi24_u_01 -- визуал верталёта ; cse_motion properties ; cse_ph_skeleton properties skeleton_name = idle ; cse_alife_helicopter properties startup_animation = idle engine_sound = vehicles\helicopter\helicopter
Всё вставляем скрипт в секцию (без комментов конечно)
Сохраняем!
Вот что должно получится: