S.T.A.L.K.E.R.: Shadow of Chernobyl - Модификации - Создание модов - Новый инфопоршень своими руками

Тот, кто занимался спавном через скрипт наверняка задумывался, как можно сделать такой файл инфопоршеней, который будет запускать ваши функции сразу в начале игры как в XRspawne

  Начнем

Програмная часть.

В начале зайдем в файл bind_stalker (В папке scripts) и найдем там строчки:

 

function actor_binder:update(delta) bind_zone_tele.actor_update(delta) object_binder.update(self, delta)   -- DEBUG slowdown --slowdown.update()   local time = time_global()   game_stats.update (delta, self.object)   -- апдейт погоды self.weather_manager:update()   -- апдейт схемы детектора self.actor_detector:update()   -- апдейт звуковой схемы актера xr_sound.update_actor() Под ними пишем:   Код: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; if not has_alife_info("spawn") then   self.object:give_info_portion("spawn")   end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Точки с запятыми помогут вам быстро найти эти строки, если в вашем моде будут несколько файлов с инфопоршнями.   Редактируемая часть. Так, теперь зайдем в файл : config/gameplay. Там создадим файл, ну к примеру назовем его "spawn.xml"  -  обязательно оканчиваем название форматом XML. Открываем его и пишем: Код:                                      


Это сохраняем и закрываем, теперь надо зарегистрировать наш файл инфопоршней. Открываем файл system.ltx (config) и найем строки:

[info_portions]

;список xml файлов, содержащих info_portions   Записываем имя нашего XML, например:   files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico, info_level_tips, info_known_objects, info_l01escape, info_l02garbage, info_l03agroprom, info_l04agroprom_u, info_l05dark_valley, info_l06dark_valley_u, info_l07rostok, info_l08yantar, info_l08deadcity, info_l08rostok_bar, info_l09marshes, info_l09rostok_dolg, info_l10military, info_l11pripyat, info_l11yantar, info_l12yantar_u, info_l13deadcity, info_l14swamp, info_l10radar, info_l16radar_antena, info_l17monolith_control, info_l19stanciya, info_l12u_sarcofag, info_l21generators, info_l22warlab, info_stories   Инфопоршень создан.


Как испытать творение?

Например заспавним старую добрую Медузку.

Создаем скрипт в папке scripts и назовем его my_spawn

Там пишем лог:

Код:

function my_spawn()

alife():create("af_medusa",vector():set(-221,-20,-143),32212,47)

---------------------------------------------------------------------------------Для новичков------------------------------------------------------------------------------------------------------------------- 

Level Vertex

Game Vertex

X

Y

Z

Ваш предмет

Функция, которую надо написать в инфопоршне

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Открываем ранее созданый инфопоршень spawn.XML.

И вписываем в него:

Код:

my_spawn.my_spawn

-----------------------------------------------Для новичков-----------------------------------------

Это название скрипта, который будет работать

Это название функции, которая будет включена

---------------------------------------------------------------------------------------------------------

Так, должно быть так:

 

       my_spawn.my_spawn                  


 Ну все после запуска игры в деревне новичков у забора будет стоять медузка.

О вылетах немедленно сообщить.

Для того, чтобы узнать координаты, откроем файл ui_main_menu

и в самый конец прямо в самый конец вписываем:

Код:

 

function main_menu:OnButton_credits_clicked()  local text  local vid  local gvid  local a = vector()   local text  a = db.actor:position()   vid = db.actor:level_vertex_id()   gvid = db.actor:game_vertex_id()   text = "Позиция: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   теперь при нажатии в меню кнопку титры будет выходить информация о местоположении Меченого. Только не нажимать эту кнопку когда вы  еще не начали игру.

 

 

 

Комментарии: 4
Ваш комментарий

Проблема одна: в скриптах нельзя использовать точку с запятой(вылетает игра), поэтому лучше использовать тире.

2

Внимание: множественные орфографические ошибки допускаются - у меня клавиатура старая и клавиши залипают

0