//*************************************************************************//
//      функция запуска триггера
//*************************************************************************//
func void Start_Trigger_Attribute_TimeBonus(var c_npc slf,var int attribute,var int value,var int time)
{
    Attribute_TimeBonus = attribute;
    var C_Trigger trigger;
    //*************************************************************************//
    //- Func   - функция, которую будет вызывать триггер.
    //- Self   - NPC, который при вызове функции будет помещаться в self.
    //- Other  - NPC, который при вызове функции будет помещаться в other.
    //- Victim - NPC, который при вызове функции будет помещаться в victim.
    //AI_StartTriggerScriptEx(имя функции, задержка, self, other, victim) - расширенная функция, если необходимо указать в нее определенных участников
    trigger = AI_StartTriggerScriptEx("Trigger_Attribute_TimeBonus", 1, slf, null, null);
     trigger.AIVariables[0] = time;        // число повторов(секунд) триггера
    trigger.AIVariables[1] = attribute;  // атрибут
     trigger.AIVariables[2] = value;      // бонус к атрибуту
 
};
//*************************************************************************//
//      сам Trigger
//*************************************************************************//
func int Trigger_Attribute_TimeBonus()
{
    if (SelfTrigger.Delay < 1000)
    {
        SelfTrigger.Delay = 1000; // раз в секунду
        B_RaiseAttribute(self,SelfTrigger.AIVariables[1],SelfTrigger.AIVariables[2]);
    };
    Hlp_msg = Str_Format("Trigger_Attribute_TimeBonus[%s]. Счётчик %i", self.name, SelfTrigger.AIVariables[0]);
    Hlp_PrintConsole(Hlp_msg);
    SelfTrigger.AIVariables[0] -= 1;        // счётчик времени
 
    if (SelfTrigger.AIVariables[0] <= 0)
    {
        B_RaiseAttribute(self,SelfTrigger.AIVariables[1], -SelfTrigger.AIVariables[2]);
        attribute_TimeBonus = 0;
        return LOOP_END;
    };
    return LOOP_CONTINUE;
};