 
     .          -.      - : 

acdc  bardak  

ActivePerl 5.8.8    acdc  

[]
[]   
 .     . ,   character_desc_escape.xml   gamedata\config\gameplay\       ,    .   character_desc_escape.xml,   ,   </xml>    : 

<specific_character id="esc_dark_stalker_voron" no_random = "1">
;   ,   no_random = "1"

<name></name>
<icon>ui_npc_dark_voron</icon>
<map_icon x="0" y="0"></map_icon>
<bio>sim_stalker_novice_bio</bio>

<class>esc_dark_stalker_01</class> --         .
;..    ,          ,  .
<community>dark_stalker</community>
<money min="500000" max="500000" infinitive="1"></money>
;  ,     - infinitive="1"
;         .

<rank>1000</rank>
<reputation>-553</reputation>

<visual>actors\dark_stalker\dark_stalker_voron</visual> ;  -    .ogf
<snd_config>characters_voice\human_01\monolith\</snd_config>
<crouch_type>-1</crouch_type>
<panic_treshold>0</panic_treshold>
<supplies>
[spawn] \n
wpn_gauss \n
ammo_gauss \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml" 
</supplies>

#include "gameplay\character_criticals_3.xml"

<start_dialog>hello_dialog_dark_stalker</start_dialog>
<actor_dialog>dm_cool_info_dialog</actor_dialog>
<actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>
<actor_dialog>join_dark</actor_dialog>
</specific_character> ,   ,     ,    .       .   npc_profile.xml,      . -   : 

<character id="esc_dark_stalker_voron">
<class>esc_dark_stalker_01</class> --         .
;..    ,          ,  .
<specific_character>esc_dark_stalker_voron</specific_character> --     .
</character>[]  
 .      .   gamedata\config\creatures\spawn_sections.ltx    : 

[esc_dark_stalker_voron]:stalker_trader -   ...         =)
$spawn                =  "respawn\esc_dark_stalker_voron" -     
character_profile    = esc_dark_stalker_voron -  ,   npc_profile.xml
spec_rank = regular
community = dark_stalker - []   all.spawn 
,   - .  Arhet'y  .   acdc  bardak'a  all.spawn,     ( active perl      -   )         .    : 

[8796]
; cse_abstract properties
section_name = stalker_trader -- ,    
name = dark_stalker_voron --  ,  ;     
position = -215.67399597168,-20.403390884355,-151.03227233887 --    
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942

; cse_alife_trader_abstract properties
character_profile = esc_dark_stalker_voron

; cse_alife_object properties
game_vertex_id = 61 -- ,      ,           
distance = 3.5
level_vertex_id = 42599 -- ,      ,       
object_flags = 0xfffffffb
custom_data = <<END
[logic]
cfg = scripts\esc_voron.ltx --   
[smart_terrains]
none = true --  ;     -     
;   -           ,    

[spawn]
wpn_gauss --    ,  ,     
END
story_id = 9958 -  _    

; cse_visual properties
visual_name = actors\dark_stalker\dark_stalker_voron --  ,    .ogf ,    !

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 2
dynamic_out_restrictions = 
dynamic_in_restrictions = 

upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 --   ,     position
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0

; cse_alife_monster_abstract properties

upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0

; cse_alife_human_abstract properties
predicate5 = 2,2,1,2,0
predicate4 = 2,2,1,2

; cse_ph_skeleton properties

upd:start_dialog = 

; se_stalker properties    ! 

[] 
,    ,     - gamedata\config\scripts\esc_voron.ltx    : 

[logic]
active = walker
trade = misc\trade_voron.ltx --  ,     
trader_flags = 0 -  
inv_max_weight = 10000 --   
on_death = death

[walker]
path_walk = esc_sin_voron_walk --  ,          
path_look = esc_sin_voron_look --    
meet = meet --       

[meet]
use = true
use_wpn = true --  
meet_talk_enabled = true           .    ,   gamedata/scripts/ui_main_menu.script  : 

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  ,     (),     CREDITS     ,       ,       .  - F12      . 

[]   
 ,    ,        ,    -    all.spawn   way_**.ltx    .    ,  .   way_l01_escape.ltx : 

[esc_sin_voron_look] -- ,     ''gamedata\config\scripts\esc_voron.ltx''
points = p0,p1
p0:name = wp00
p0:flags = 0x1
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688
p0:game_vertex_id = 46
p0:level_vertex_id = 54218

p1:name = wp01
p1:flags = 0x1
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313
p1:game_vertex_id = 61
p1:level_vertex_id = 45276


[esc_sin_voron_walk] -- ,     ''gamedata\config\scripts\esc_voron.ltx''
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -215.67399597168,-20.403390884355,-151.03227233887
p0:game_vertex_id = 47
p0:level_vertex_id = 37503     -      . 

    all.spawn  (         -   help.txt    ),      gamedata/spawn    . 

[]    
   ,         .    -   ... , , ... 

   (    ""-  ,       ,  .   .   " "  "trade_....ltx".    (      , ..         ,    ...   "trade_freedom.ltx"     "trade_wolf"         . 

    .     ,    "gulag_escape.ltx" (  ,  ,     .     : 

;-------------------------------------------------------------------------------------------------;-- ESCAPE LAGER;-------------------------------------------------------------------------------------------------; [logic@esc_lager_volk]active = walker@esc_lager_volk_walker1on_death = death@wolf [walker@esc_lager_volk_walker1]path_walk = wolf_walkpath_look = wolf_lookmeet = meet@wolfon_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2danger = danger_condition@shustryi [remark@esc_lager_volk1]anim = hello_wpnsnd = esc_wolf_say_thankstarget = actoron_signal = sound_end| walker@esc_lager_volk_walker2on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2danger = danger_condition@shustryi    -  "[logic@esc_lager_volk]"  : 

trade = misc\trade_wolf.ltxinv_max_weight = 10000    : 

;-------------------------------------------------------------------------------------------------;-- ESCAPE LAGER;-------------------------------------------------------------------------------------------------; [logic@esc_lager_volk]active = walker@esc_lager_volk_walker1on_death = death@wolftrade = misc\trade_wolf.ltxinv_max_weight = 10000     " ",       ,      .     "" -  .      ,    ,       "character_desc_escape.xml".      "#include "gameplay\character_criticals_4.xml""    ,     ,   ,    . 

  ,       . 

P.S.-, ,  - ,      .        ,          : 

function actor_binder:reinit()	object_binder.reinit(self) 	local npc_id = self.object:id() 	db.storage[npc_id] = { } 	self.st = db.storage[npc_id]	self.st.pstor = nil 	self.next_restrictors_update_time = -10000 	self.object:set_callback(callback.inventory_info, self.info_callback, self)	self.object:set_callback(callback.article_info, self.article_callback, self)	self.object:set_callback(callback.on_item_take, self.on_item_take, self)	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)	self.object:set_callback(callback.task_state, self.task_callback, self)	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self);  	if self.object:clsid() ~= clsid.script_trader then		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)	end 	db.storage[self.object:id()] = { } 	self.st = db.storage[self.object:id()] 	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)	self.object:set_callback(callback.hit,					self.hit_callback,		self)	self.object:set_callback(callback.death,				self.death_callback,	self)end    ,    -             ,      .       ,    ,    "  "          . 

 ,  ... ,           ,    (   )   ,     ,    , ,  . 
