Всем привет!   У меня возник вопрос по классам в ренпае, основную суть проблемы я написал в комментариях, надеюсь я правильно смог изложить суть проблемы.    ##################################################################################################################
## define events = EventHandler()   ## Инициализация до метки старта
## 
## $ events.create_event('introduction', dict(cond1 = False), 10) ## создание события
## 
## $ events.activate_event('introduction', 'cond1')    ## Устанавливает True
## 
## $ events.deactivate_event('introduction', 'cond1')   ## Устанавливает False
## 
## $ events.set_event('introduction', 'cond1', (day)) ## Активирует, устанавливает, и прыгает если все True
## 
## $ events.block_event('introduction')    ## Блокирует событие от дальнейшего выполнения
## 
## $ events.raise_events()     ## Выводит в журнал информацию о событиях
## 
## $ events.raise_event('introduction')    ## Выводит информацию о заданном событии
## 
##################################################################################################################
## 
## Прыжок осуществляется мгновенно, без проверки переменной (day)
## скорей всего я ошибся в какой либо из функций, но сам понять не могу
## т.к. RenPy отличается синтаксисом от Python и функции пишутся по разному
## 
## $ events.create_event('introduction', dict(cond1 = False), 10) == из этого события следует, что оно должно
## произойти по истечению десяти дней и переместить игрока к метке introduction.
## 
## $ events.set_event('introduction', 'cond1', (day)) == это событие должно запустить предыдущее, но этого не
## происходит, а просто совершается прыжок, без учета значения переменой (day)
## 
## Надеюсь я смог понятно изложить проблему...
## 
##################################################################################################################
init -10 python:
   Error = Exception            ## Вызов журнала трассировки для просмотра информации о событии
   
   # Инициализация системы событий
   class Event(object):
       def __init__(self, name, conditions, day, label = None):    ### day - сам добавил
           self.name = name
           self.conditions = conditions
           self.day = day ### Добавил по правилам, но почему-то не работает
           self.blocked = False
           if label == None:
               self.label = name
           else:
               self.label = label
   
   # Инициализация событий
   class EventHandler(object):
       global day  ### Думал поможет для вызова переменной из скрипта, но нет
       def __init__(self):
           self.events = dict()
           
       # Создает событие
       def create_event(self, name, conditions, day, label = None):    ### day - сам добавил
           if name in self.events.keys():
               return
           self.events['%s'%name] = Event(name, conditions, day, label)
           
       # Устанавливает события True, а так же проверяет события
       # и повторяет попытку перехода к метке, если все условия True.
       def set_event(self, name, condition, day):  ### day - сам добавил
           if name not in self.events.keys():
               raise Error, "Событие %s не существует!"%name
           if condition not in self.events[name].conditions.keys():
               raise Error, "Условие %s для события %s не существует!"%(condition, name)
           if self.events[name].blocked == True:
               return
           self.events[name].conditions[condition] = True
           
           # Если все условия установлены как True, то совершить прыжок.
           if all(v == True for v in self.events[name].conditions.itervalues()):
               if renpy.has_label(self.events[name].label):
                   if (day) == day:    ### Вот и проблема, неправильное чтение из скрипта(???но почему???) 
                       renpy.jump(self.events[name].label)
                   else:
                       raise Error, "Метка %s не существует! "%self.events[name].label
                   
       # Устанавливает значение true, без использования прыжка.
       def activate_event(self, name, condition, day):
           if name not in self.events.keys():
               raise Error, "Событие %s не существует!"%name
           if condition not in self.events[name].conditions.keys():
               raise Error, "Условие %s для события %s не существует!"%(condition, name)
           self.events[name].conditions[condition] = True
       
       # Устанавливает значение False для данного события.
       def deactivate_event(self, name, condition, day):
           if name not in self.events.keys():
               raise Error, "Событие %s не существует!"%name
           if condition not in self.events[name].conditions.keys():
               raise Error, "Условие %s для события %s не существует!"%(condition, name)
           self.events[name].conditions[condition] = False
       
       # Блокирует событие, применяется вместо удаления
       # (событие никогда не будет делать прыжок).
       def block_event(self, name):
           if name not in self.events.keys():
               raise Error, "Событие %s не существует!"%name
           self.events[name].blocked = True