Вообщем смысл такой. У меня возникла проблема. у меня атачатится 2 объекта и мне нужно В НИХ определить переменные.

Код AS1/AS2:
k = _root.battle.getNextHighestDepth();
_root.battle.attachMovie('pers_panel',n + '_eff',k);
k = _root.battle.getNextHighestDepth();
_root.battle.attachMovie('pers',n,k);
определение переменной 1 объект.

Код AS1/AS2:
_root.battle[n + '_eff'].eff_0.onLoad = function()
{
this.eff_0.gotoAndStop(5);
var On:String = 'On';
var skill_time:Number = 0;
var skill_name:String = '';
var skill_about:String = '';
var skill_level:Number = 0;
var cnt_ATTACK:Number = 0;
var cnt_HIT:Number = 0;
var cnt_DODGE:Number = 0;
var cnt_DEFENCE:Number = 0;
var cnt_CRITICAL_CHANCE:Number = 0;
var cnt_CRITICAL_DAMAGE:Number = 0;
var cnt_HP:Number = 0;
var add_STR:Number = 0;
var add_CON:Number = 0;
var add_ACC:Number = 0;
var add_AGI:Number = 0;
var add_INT:Number = 0;
var add_VAM:Number = 0;
var add_REF:Number = 0;
};
второй (не работает) :

Код AS1/AS2:
_root.battle[n].onLoad = function()
{
trace('!')
var HP_MAX_:Number = 100;
var HP_NOW_:Number = 100;
var ATTACK_MIN_:Number = 3;
var ATTACK_MAX_:Number = 5;
var DEFENCE_:Number = 2;
var DODGE_:Number = 50;
var HIT_:Number = 50;
var CRITICAL_CHANCE_:Number = 10;
var CRITICAL_DAMAGE_:Number = 1;
var REFLECT_:Number = 10;
var VAMPIR_:Number = 15;
var STR_:Number = 10;
var AGI_:Number = 10;
var INT_:Number = 10;
var ACC_:Number = 10;
var CON_:Number = 10;
var REF_:Number = 10;
var VAM_:Number = 100;
var HP_MAX:Number = 0;
var HP_NOW:Number = 0;
var ATTACK_MIN:Number = 0;
var ATTACK_MAX:Number = 0;
var DEFENCE:Number = 0;
var DODGE:Number = 0;
var HIT:Number = 0;
var CRITICAL_CHANCE:Number = 0;
var CRITICAL_DAMAGE:Number = 0;
var REF:Number = 0;
var VAM:Number = 0;
};
_root.battle[n].HP_MAX_ = 100;
_root.battle[n].HP_NOW_ = 100;
_root.battle[n].ATTACK_MIN_ = 3;
_root.battle[n].ATTACK_MAX_ = 5;
_root.battle[n].DEFENCE_ = 2;
_root.battle[n].DODGE_ = 50;
_root.battle[n].HIT_ = 50;
_root.battle[n].CRITICAL_CHANCE_ = 10;
_root.battle[n].CRITICAL_DAMAGE_ = 1;
_root.battle[n].REFLECT_ = 10;
_root.battle[n].VAMPIR_ = 15;
_root.battle[n].STR_ = 10;
_root.battle[n].AGI_ = 10;
_root.battle[n].INT_ = 10;
_root.battle[n].ACC_ = 10;
_root.battle[n].CON_ = 10;
_root.battle[n].REF_ = 10;
_root.battle[n].VAM_ = 100;
_root.battle[n].HP_MAX = 0;
_root.battle[n].HP_NOW = 0;
_root.battle[n].ATTACK_MIN = 0;
_root.battle[n].ATTACK_MAX = 0;
_root.battle[n].DEFENCE = 0;
_root.battle[n].DODGE = 0;
_root.battle[n].HIT = 0;
_root.battle[n].CRITICAL_CHANCE = 0;
_root.battle[n].CRITICAL_DAMAGE = 0;
_root.battle[n].REF = 0;
_root.battle[n].VAM = 0;
я выяснил то что это дело изза вложенности.в 1 случае я добавляю не в него переменные, а в объект который лежит в нем и ВСЕ работает. во второй напрямую к объекту и нифига

.
Помогите решить проблемку.
Да и еще. Если другие способы описать переменные в объекте? Просто писать onLoad. описывать в нем переменные, а потом после функции задавать им значения убожество.
Не пинайте сильно я же учусь
