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

Спавн обьектов через db.script — различия между версиями

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

Перейти к: навигация, поиск
(Авторы)
(оформление)
Строка 9: Строка 9:
 
Для начала нам надо распаковать '''db.script''' и там находим функцию:
 
Для начала нам надо распаковать '''db.script''' и там находим функцию:
  
<pre>
+
<lua>
 
function add_actor( obj )
 
function add_actor( obj )
 
actor = obj
 
actor = obj
Строка 15: Строка 15:
 
add_obj( obj )
 
add_obj( obj )
 
end
 
end
</pre>
+
</lua>
 
Изменим эту функцию. У нас должно получиться так:
 
Изменим эту функцию. У нас должно получиться так:
<pre>
+
<lua>
 
function add_actor( obj )
 
function add_actor( obj )
 
actor = obj
 
actor = obj
Строка 24: Строка 24:
 
         new_spawn.give_ak74()  
 
         new_spawn.give_ak74()  
 
end
 
end
</pre>
+
</lua>
 
'''new_spawn.script''' - это название скрипта, в котором будет находиться наша функция спавна калаша.
 
'''new_spawn.script''' - это название скрипта, в котором будет находиться наша функция спавна калаша.
  
 
Создаем скрипт '''new_spawn.script''' и пишем там функцию:  
 
Создаем скрипт '''new_spawn.script''' и пишем там функцию:  
<pre>
+
<lua>
 
function give_ak74()
 
function give_ak74()
 
     alife():create("wpn_ak74", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
 
     alife():create("wpn_ak74", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
 
end
 
end
</pre>
+
</lua>
 
Все! Теперь после того, как мы появимся у нас в инвентаре будет AK-74 и без использования диалогов!
 
Все! Теперь после того, как мы появимся у нас в инвентаре будет AK-74 и без использования диалогов!
 
Таким способом можно заспавнить не только калаш, но и другое оружие и патроны.
 
Таким способом можно заспавнить не только калаш, но и другое оружие и патроны.

Версия 07:13, 27 июля 2013

Спавн обьектов через db.script

Теория

Сегодня я расскажу вам как заспавнить, например, AK-74 в самом начале игры, без использования диалогов! Но, прежде чем учиться запускать функции без использования диалогов - сначала научитесь их вызывать общепринятым методом.

Практика

Для начала нам надо распаковать db.script и там находим функцию:

 
function add_actor( obj )
	actor = obj
	actor_proxy:net_spawn( obj )
	add_obj( obj )
end
 

Изменим эту функцию. У нас должно получиться так:

 
function add_actor( obj )
	actor = obj
	actor_proxy:net_spawn( obj )
	add_obj( obj )
        new_spawn.give_ak74() 
end
 

new_spawn.script - это название скрипта, в котором будет находиться наша функция спавна калаша.

Создаем скрипт new_spawn.script и пишем там функцию:

 
function give_ak74()
    alife():create("wpn_ak74", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
 

Все! Теперь после того, как мы появимся у нас в инвентаре будет AK-74 и без использования диалогов! Таким способом можно заспавнить не только калаш, но и другое оружие и патроны.

Авторы

  • Шатров Дмитрий (Fim@n)
Другие места
LANGUAGE