SoC. Не бесконечные болты — S.T.A.L.K.E.R. Inside Wiki

SoC. Не бесконечные болты

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

Перейти к: навигация, поиск

����ѧ� ���� �� ���ڧ�� �ܧѧ� ��֧ѧݧڧ٧�ӧѧ�� �ҧ�ݧ�� ��� �է�� �٧ѧܧѧߧ�ڧӧѧ����. ����ѧ٧� ��ڧ�� �� ����, ���� �ҧ�է֧� �է֧ݧѧ�� ���ߧ�ӧ�ӧѧ��� �ߧ� �ԧ�ѧߧѧ�ѧ�, ��� �֧��� �ߧ� �ڧ�ܧݧ��֧ߧ�, ���� �ҧ�ݧ� �ާ�ا֧� ��ӧѧߧ��� (�ߧ� �ߧѧߧ֧�� ����� �� ���ݧ�ܧ� ��֧�֧� ����է�ݧاڧ�֧ݧ�ߧ�� ���ѧ���� �ӧ�֧ާ֧ߧ�, ��ѧ� ���� �ԧ� �ߧѧӧ��� �ݧ� �ҧ�է֧� ��� �ҧݧڧ٧����.), �� ��ѧܧا�, �֧�ݧ� �ҧ���ڧ� �ҧ�ݧ� ���� �ߧ�ԧ� ��������, ��� ���ԧѧߧק���, �ܧѧ� ��� �ԧ�֧ߧ� (���� �ߧ� ��ѧާ�� �է֧ݧ� �ߧ� ��ݧ���, �֧�ݧ� ���ܧݧ��֧ߧ� �ԧݧѧ٧� �ߧ� �٧ѧ��ݧܧ�, �ާ�اߧ� ������ҧ�ӧѧ�� �ڧ� ��ѧܧڧ� ��ҧ�ѧ٧�� ���ӧݧ֧��).

����ѧ�, ���ڧ����ڧ�.
���ѧ� �����֧ҧ����� ��ѧܧڧ� ��ѧۧݧ�:
gamedata\config\weapons\w_rgd5.ltx
gamedata\config\weapons\w_bolt.ltx
gamedata\config\misc\items.ltx
gamedata\scripts\escape_dialog.script
gamedata\scripts\bind_stalker.script

�� ��֧�ӧ�� ���֧�֧է� �ݧ֧٧֧� �� ��ѧۧ� w_bolt.ltx, ��ѧ� ��ѧާѧ� ��֧�ӧѧ� �����ܧ�, �ܧ����ѧ� �٧� ����-��� ���ӧ֧�ѧ֧�:

[bolt]:identity_immunities

���֧ߧ�֧� �֧� �ӧ�� ��ѧ�:

[old_bolt]:identity_immunities

������ѧߧ�֧� �� �٧ѧܧ��ӧѧ֧�. ���ѧ�֧�, ���ܧ��ӧѧ֧� ��ѧۧ� w_rgd5.ltx, �����ܧѧ֧ާ�� �� ��ѧާ�� �ߧڧ� �� ��ڧ�֧� ����:

 
[bolt]:grenade_rgd5 
visual				= weapons\bolt\wpn_bolt.ogf
inv_name			= "����ݧ�"
inv_name_short		= "����ݧ�"
inv_weight			= 0.05
cost				= 1
slot                                 = 5
hud					= bolt_hud2
ef_weapon_type		= 1
description			= "���ҧ��ߧ�� �ާ֧�ѧݧݧڧ�֧�ܧڧ� �ҧ�ݧ�"
destroy_time		= 5000000;3500
 
attach_position_offset	= -0.021,-0.075,0.0
attach_angle_offset		= 0,0,0
attach_bone_name		= 
 
blast				= 0
blast_r				= 0
blast_impulse		= 0
;delete
blast_impulse_factor = 1
 
frags				= 0
frags_r				= 0
frag_hit			= 0
frag_hit_impulse	= 0
 
;�٧ӧ�ܧ�
snd_explode = monsters\biting\def_0    ;rgd5_explode
snd_checkout = monsters\biting\def_0
explode_particles	= weapons\wg-hit-ground
 
inv_grid_width		= 1
inv_grid_height		= 1
inv_grid_x			= 22
inv_grid_y			= 6
 
light_color		         = 0.0,0.0,0.0
light_range		         = 0.0
light_time 		         = 0.0
 
[bolt_hud2]
fire_point          = 0.05, 0.0, 0.1
fire_bone           = bolt_0
orientation         = 0,0,0
position            = 0,0,0
visual              = weapons\bolt\wpn_bolt_hud.ogf
 
throw_point			= 0,0.4,0.3
throw_dir			= 0,0,0
 
anim_show			= draw3
anim_hide			= holster_0
anim_idle			= idle_0
anim_playing		= idle_01
anim_throw_begin	              = attack_0_begin
anim_throw_idle		= attack_0_idle
anim_throw_act		= attack_0_act	
anim_throw_end		= attack_0_end
 

����է��ҧߧ�:

 
[bolt]:grenade_rgd5 ;--��֧ܧ�ڧ� �� �����ݧܧ�� �ߧ� ��֧ܧ�ڧ� grenade_rgd5
visual				= weapons\bolt\wpn_bolt.ogf ;--�ӧڧ٧�ѧ�, �� �էѧߧߧ�� ��ݧ��ѧ� �ާ�է֧ݧ� �ҧ�ݧ��
inv_name			= "����ݧ�" ;--�ߧѧ٧ӧѧߧڧ�
inv_name_short		= "����ݧ�" ;--�ߧѧ٧ӧѧߧڧ�
inv_weight			= 0.05 ;�ӧ֧�
cost				= 1 ;��֧ߧ� �٧� ����ܧ�
slot                                 = 5 ;--��ݧ�� �էݧ� �ҧ�ݧ���
hud					= bolt_hud2 ;--����ݧܧ� �ߧ� ����
ef_weapon_type		= 1 ;��ڧ� ����اڧ� (�ߧ� �ާ֧ߧ��� �ߧ� �� �ܧ�֧� ��ݧ��ѧ�, �ާ�اߧ� ��ݧ�ާѧ�� �էӧڧԧݧ�)
description			= "���ҧ��ߧ�� �ާ֧�ѧݧݧڧ�֧�ܧڧ� �ҧ�ݧ�" ;--���ڧ�ѧߧڧ� ���֧էާ֧��
destroy_time		= 5000000;3500 ;�ݧ���� ����ѧӧڧ�� �ܧѧ� �֧���, �� ��ѧ� ���� �ӧ�֧ާ� ��֧�֧� �ܧ������ �ҧ�ݧ� �����ѧէק�
 
attach_position_offset	= -0.021,-0.075,0.0
attach_angle_offset		= 0,0,0
attach_bone_name		= 
 
blast				= 0 ;�ާ��ߧ���� �ӧ٧��ӧ�, ��ѧ� �ܧѧ� ���� �ҧ�ݧ�, ������ �ҧ�է֧� 0
blast_r				= 0 ; ��ѧէڧ�� �ӧ٧��ӧ�
blast_impulse		= 0 ;�ڧާ��ݧ�� ��� �ӧ٧��ӧ� (����ѧاѧ֧��� �ߧ� �էѧݧ�ߧ���� ���ݧק�� ����� ��� �ާ֧��� �ӧ٧��ӧ�)
;delete
blast_impulse_factor = 1
 
frags				= 0 ;�ܧ��-�ӧ� ���ܧ�ݧܧ��
frags_r				= 0 ; ��ѧէڧ�� ��ѧ٧ݧק�� ���ܧ�ݧܧ��
frag_hit			= 0 ; ����� ��� 1 ����ѧӧ�֧ԧ� ���ܧ�ݧܧ�
frag_hit_impulse	= 0 ; �ڧާ��ݧ�� ��� 1 ����ѧӧ�֧ԧ� ���ܧ�ݧܧ�
 
;�٧ӧ�ܧ�
snd_explode = monsters\biting\def_0    ;rgd5_explode �٧ӧ�� �ӧ٧��ӧ�
snd_checkout = monsters\biting\def_0 ;�٧ӧ�� �ҧ���ܧ�
explode_particles	= weapons\wg-hit-ground ; ��ѧ��ڧܧ� �ӧ٧��ӧ� (�� �էѧߧߧ�� ��ݧ��ѧ� �����ѧӧݧ֧� ��ѧ��ڧܧ� �ߧڧ�֧ԧ� �ߧ� ���ܧѧ٧�ӧѧ��ڧ�)
 
inv_grid_width		= 1 
inv_grid_height		= 1
inv_grid_x			= 22
inv_grid_y			= 6
 
light_color		         = 0.0,0.0,0.0 ;��ӧ֧� ���ӧ֧�֧ߧڧ� �ӧ� �ӧ�֧ާ� �ӧ٧��ӧ� ��� RGB
light_range		         = 0.0 ;�ߧѧ���֧ߧߧ���� �ߧ� ��ܧ�ݧ�ܧ� �� ���ߧڧާѧ�
light_time 		         = 0.0 ;�ӧ�֧ާ� ���է�ӧ֧�ܧ�
 
[bolt_hud2] ;��֧ܧ�ڧ� ���է�
fire_point          = 0.05, 0.0, 0.1
fire_bone           = bolt_0
orientation         = 0,0,0
position            = 0,0,0
visual              = weapons\bolt\wpn_bolt_hud.ogf ;���ڧ٧�ѧ� �ҧ�ݧ�� �� ���ܧѧ� �ԧ�
 
throw_point			= 0,0.4,0.3
throw_dir			= 0,0,0
 
anim_show			= draw3
anim_hide			= holster_0
anim_idle			= idle_0
anim_playing		= idle_01
anim_throw_begin	              = attack_0_begin
anim_throw_idle		= attack_0_idle
anim_throw_act		= attack_0_act	
anim_throw_end		= attack_0_end
 

�����, �����ѧߧ�֧�, �٧ѧܧ��ӧѧ֧�. ������ ��ѧۧ� �ߧѧ� �ҧ�ݧ��� �ߧ� �ߧ�ا֧�. ���֧�֧�� �ݧ֧٧֧� �� ��ѧۧ� items.ltx �� �� �ܧ�ߧ֧� ��ڧ�֧�:

 
[bolt_box]:identity_immunities
GroupControlSection	= spawn_group
discovery_dependency = 
$spawn 				= "food and drugs\kolbasa"
;$prefetch 			= 32
class				= II_FOOD
cform				= skeleton
visual				= physics\box\box_metall_01.ogf
radius				= 1
;script_binding		= escape_dialog.use_snd
 
inv_name			        = "������ҧܧ� �ҧ�ݧ���"
inv_name_short		        = "������ҧܧ� �ҧ�ݧ���"
description			= "������ҧܧ� �� �ҧ�ݧ�ѧާ�, ���է֧�اڧ� �� ��֧ҧ� 25 �ҧ�ݧ���."
inv_weight			= 1.35
can_trade			= on
inv_grid_width		= 2
inv_grid_height		= 1
inv_grid_x			= 8
inv_grid_y			= 18
cost				= 30
 
; eatable item
eat_health = 0
eat_satiety = 0
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = -1
 
; food item
slot				= 4
animation_slot		= 4
 
;hud item
hud = wpn_vodka_hud
 
attach_angle_offset		= 0.440521, 1.378287, -0.644026
attach_position_offset	= 0.104196, -0.010821, 0.076969
attach_bone_name		= bip01_r_hand
auto_attach				= false
 
// should be deleted after update
bone_name				= bip01_r_hand
position_offset			 = 0.0,0.0,0.0
angle_offset			 = 1.570790,1.570790,3.92699
 

������ѧߧ�֧�, �٧ѧܧ��ӧѧ֧�. ���ѧݧ��� �ާ� �է�ݧاߧ� ���ܧ���� ��ѧۧ� escape_dialog.script �� �ܧ�ߧ֧� ��ѧۧݧ� �ӧߧ֧�ק� ��ӧ�� ���ߧܧ�ڧ�:

 
function use_bolt_box_oz(obj)
    if obj ~= nil then
        if obj:section() == "bolt_box" then
            for i = 1, 25 do --����ӧ֧��ѧ֧� ���ѧӧ� 25 ��ѧ�
    	        alife():create("bolt", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
    	    end
	end
    end
end
 

����է��ҧߧ�:

 
function use_bolt_box_oz(obj) --���ߧܧ�ڧ� �� �ߧѧ٧ӧѧߧڧ֧� use_bolt_box_oz(obj)
    if obj ~= nil then
        if obj:section() == "bolt_box" then -- ��ҧ�֧ܧ� �ܧ������ �է�ݧاߧ� �ާ� �ڧ���ݧ�٧�ӧѧ�� (�ܧ���ҧܧ� �ҧ�ݧ���)
            for i = 1, 25 do --����ӧ֧��ѧ֧� ���ѧӧ� 25 ��ѧ�
    	        alife():create("bolt", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) -- ���ѧӧ� �ҧ�ݧ�� �� �ڧߧӧ֧ߧ�ѧ�� �ԧ�
    	    end -- ��ܧ�ߧ�ѧߧڧ� ��ڧܧݧ� for i =...
	end --��ܧ�ߧ�ѧߧڧ� if
    end --��ܧ�ߧ�ѧߧڧ� if
end --��ܧ�ߧ�ѧߧڧ� ���ߧܧ�ڧ�
 

�� ����� �ا� ��ѧۧݧ� �ߧѧ��էڧ� ���ߧܧ�ڧ� give_weapon_to_actor �� �ӧߧ��ڧ� ��ѧܧڧ� ������ܧ� ��֧�֧� end:

dialogs.relocate_item_section(trader, "bolt_<a href="http://cityadspix.com/tsclick-MIQCWPUV-GECAQBFF?url=http%3A%2F%2Fwww.sotmarket.ru%2Fproduct%2Fdls-m112-in-box.html&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&bt=20&pt=9&lt=2&tl=3&im=ODI1LTAtMTQyNjE0ODU5Ni0xMzA1OTUyMA%3D%3D&fid=NDQ1NzU2Nzc1&prdct=043406310234013604&kw=box%22%2C%20%22in" target="_blank" alt="M112 in box" title="M112 in box" style=""><a href="http://cityadspix.com/tsclick-MIQCWPUV-GECAQBFF?url=http%3A%2F%2Fwww.sotmarket.ru%2Fproduct%2Fdls-m110-in-box.html&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&bt=20&pt=9&lt=2&tl=3&im=ODI1LTAtMTQyNjE0ODU5Ny0xODczNDgyOQ%3D%3D&fid=NDQ1NzU2Nzc1&prdct=34033b053104&kw=box%22%2C%20%22in" target="_blank" alt="M110 in box" title="M110 in box" style="">box", "in</a></a>")  
dialogs.relocate_item_section(trader, "bolt", "in")

�� ����� ��ѧۧݧ� ���ا� �ӧ��. ���֧�֧�� �ݧ�ާڧާ�� �� bind_stalker.script ���ڧ�֧� �� ���ߧܧ�ڧ� function actor_binder:net_destroy() ����:

self.object:set_callback(callback.use_object, nil)

�� �� ���ߧܧ�ڧ� actor_binder:reinit() ����:

self.object:set_callback(callback.use_object, self.use_object, self)

�� �ܧ�ߧ֧� ��ѧۧݧ� �է�ҧѧӧݧ�֧� �ߧѧ�� ���ߧܧ�ڧ�:

 
function actor_binder:use_object(obj)
    escape_dialog.use_bolt_box_oz(obj)
end
 

����է��ҧߧ�:

 
function actor_binder:use_object(obj) -- function �ߧѧ٧ӧѧߧڧ� �ߧѧ�֧� ���ߧܧ�ڧ�
    escape_dialog.use_bolt_box_oz(obj) --�ӧ�٧�� ���ߧܧ�ڧ� use_bolt_box_oz(obj) �ڧ� ��ѧۧݧ� escape_dialog.script
end --��ܧ�ߧ�ѧߧڧ� ���ߧܧ�ڧ�
 

���� �ӧ�� �� �ӧ��, �����ѧߧ�֧� �� �٧ѧܧ��ӧѧ֧� �էѧߧߧ�� ��ѧۧ�. ���ѧ��էڧ� �� �ڧԧ��, ��, �֧�ݧ� �� �ߧڧԧէ� �ߧ� ���ڧҧ��, �ߧѧҧݧ�էѧ֧� �ߧ� �ҧ֧�ܧ�ߧ֧�ߧ�� �ҧ�ݧ� �� �ߧѧ�ѧݧ� �ڧԧ��. �����ҧ� �ҧ�ݧ� �ҧ�� �ߧ� ��էڧ�, �ڧէڧ�� �� ����ݧܧ�, ��� �էѧ�� �ӧѧ� �֧�� 1 �ҧ�ݧ� �� ��֧ݧ�� �ܧ���ҧܧ� �ҧ�ݧ���. �����ҧ� �ڧ٧���� �ҧ�ݧ�� �ڧ� �ܧ���ҧܧ�, ������� �ӧ����ݧ�٧�ۧ�֧�� �֧�, �ܧݧڧܧߧڧ�� ��� �ߧ֧� 2 ��ѧ٧�. ���ѧէ֧���, ���� ���ѧ��� ��ܧѧ٧ѧݧѧ�� �ӧѧ� ���ݧ֧٧ߧ�.

���ӧ���: Dj Ultor За непонятные символы извиняться не буду, пусть извиняется тот имбицил что загадил всю статью, может как нибудь исправлю.

[[���ѧ�֧ԧ��ڧ�:���ܧ�ڧ���]]

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