function Timer(ncount, Param1)
     if not StopSheet then
          AlfingSheet();
          StopSheet=false;
     return;end;
return;end;
function SheetSwitched (ncount)
     StopSheet=true;
return;end;

function gameinput (sender,obj_id,attachedID)

  if sender == 2 then
      RemoveFromMouse(object);
    MessageProc(sender,obj_id);
  return;end;
    if sender == 100 then
  if flags.comx then
    speciale_action(2,12121,true);
    add_free_leaf("map26",25,101);
    set_satelite_leaf("rouk_enter");
    DoFile(25,101)
    flags.comx= false;
    flags.comx1= true;
  return;end;
  return;end;
     if sender==36 then          
          if obj_id==9999 then
               if not StopSheet then
                    AlfingSheet();
                    StopSheet=false;
               return;end;
          return;end;                    
     return;end;
  if sender==16 then
    if obj_id==42 then
      BlockCursor(false)
    return; end;
  return; end;
  if sender==35 then
    if obj_id==190 then
      StartAnimation(190,0,5)
    return;end;  
  return;end;
  if sender==12 then
  
  if obj_id==229 then
    AddElement("gr",obj_id);
    SetAlfaSheet(2.5)
    setcolor(obj_id,0,0,0,0.5,1);
    MoveObjectToTree(obj_id); 
    flags.kost= true;
  end;

  if SLevel==1.0 then return;end;  
  if last_id==obj_id then
    if flags.loc2 then
    if flags.items==13 and flags.pasp and flags.minicomplete3 then
      flags.loc2= false;
      flags.levelcomplete=true;
      DarkScreen(true);
      ShowMenu(false)
      return; end;    
      CreateWindow(150,250,"199",nil,nil,250,30);    
    return;end;
    end;
  return;end;
if sender==33 then
    BlockCursor(false);
    if obj_id==501 then -- тёмная плашка
      BlockCursor(false);
      if whole_darkness then
         if flags.levelcomplete then
          SetAlfa(500,0,1,1);
          speciale_action(4,500);
          BlockCursor(true);
        return;end;      
         --затемнилось
      return;end;
      whole_darkness=false;
         -- растемнилось
          AddParticleToObject(2,"pu4ok",269,460);
          MoveEmiter("pu4ok",269,460);
          if not flags.minicomplete17 then 
            StartEmiter("pu4ok"); 
          end;
      savegame(SaveLevel());
    return;end;     
    if obj_id==503 then --название уровня
        BlockCursor(false);
      if whole_darkness then
         --затемнилось
      return;end;      
      -- проявление меню вывод собщений в начале уровня ----
      ShowMenu(true);      
      ------
    return;end;
  return;end;
    if pause_state then
    if sender==1 or sender==6 or sender==14 then
      pause_state=false;
      --set_visible_object(11111,false);
    end;  
  return;end;
  if sender == 1 then --кликнули левой кнопкой мыши на активный объект
  last_id=obj_id
          if obj_id==501 then
              if flags.levelcomplete then
                if attachedID==-1 then
                delete_tree_leaf("Root","rouk_enter");-- Добавляет лист в дерево 
                delete_tree_leaf("Root","rouk_room");-- Добавляет лист в дерево 
                setnextlavel(9);
                loadlavel();  
                return; end;
              return;end;        
            DarkScreen(false);
            whole_darkness=false;
            SetAlfa(503,1,0,1);
          return;end;  

    -- if flags.dog then
      if obj_id==2 then
        if (not flags.minicomplete17) then
          if attachedID == 174 then
            playeffect("29");
            RemoveFromMouse(attachedID);
            add_free_leaf("Root","mini17",0,27);-- Добавляет чистый лист
            set_satelite_leaf("rouk_enter");
            DoFile(0,27)
            mini_create();
            flags.nohints=true;
          return; end;
          if (attachedID ~= 174) and (attachedID>-1) then
          RemoveFromMouse(attachedID);
            CreateWindow(150,250,"200",nil,nil,250,30);
          return; end;
          if attachedID==-1 then
          RemoveFromMouse(attachedID);
            CreateWindow(150,250,"208",nil,nil,250,30);
          return; end;
        return; end;
      return; end;
      ---------------------------------------------------------------------ЕСЛИ ПРОВЕРИЛИ АДРЕС УБИРАЕМ СОБАКУ------------------------------------------
      if flags.address then
        if obj_id == 229 and attachedID==-1 then
          collaps_obj(obj_id,0,0,10,0);
          playeffect("20")
        return; end;      
      if obj_id==40  then
      if  attachedID == 229 then -- собака в будке
          RemoveFromMouse(attachedID);
          SetAlfaSheet(2.0)
          DeleteElement("gr",attachedID);
          Set_Cursor(40,3);
                    speciale_action(2,40,true);  
          speciale_action(2,41,true); 
          speciale_action(2,42,true);  
          BlockCursor(true)
          flags.dog=true;
          StopEmiter("dog");
          AddParticleToObject(46,"dver",393,295);
          MoveEmiter("dver",393,295);
          if not flags.minicomplete29 then 
            StartEmiter("dver"); 
          end; 
          flags.addressdlyapodskazki=false
        return; end;        
        if (attachedID ~= 229) and (attachedID>-1) then
        RemoveFromMouse(attachedID);
                    CreateWindow(150,250,"200",nil,nil,250,30);
        return; end;
        if attachedID==-1 then
        RemoveFromMouse(attachedID);
                    CreateWindow(150,250,"2091",nil,nil,250,30);
        return; end;    
      return; end;
       end;
      ---------------------------------------------------------------------ЕСЛИ ПРОВЕРИЛИ АДРЕС------------------------------------------
      ---------------------------------------------------------------------------------ЕСЛИ СОБАКУ УБРАЛИ-------------------------
      if flags.dog then  
        if obj_id==46 then
          if flags.enter then      
            if flags.first then
            SwitchToSheet("re");
              setcurentleaf("rouk_room",25,2);
              playeffect("door");
              savegame(SaveLevel());
            return; end;
              if (not flags.first) then
                setcurentleaf("rouk_room",25,2);
                  playeffect("door");
                whole_darkness=false;
                DarkScreen(true);
                SetAlfa(503,0,1,1);
                speciale_action(4,503)
                flags.first=true;
                ShowMenu(false)
              return; end;
          return; end;          
          if attachedID == 167 then  
            playeffect("29");          
            RemoveFromMouse(attachedID);
            add_free_leaf("Root","mini29",0,39);
            set_satelite_leaf("rouk_enter");
            DoFile(0,39)
            mini_create();
            flags.nohints=true;
          return; end;                       
          if (attachedID ~= 167) and (attachedID>-1) then
          RemoveFromMouse(attachedID);
            CreateWindow(150,250,"200",nil,nil,250,30);
          return; end;
          if attachedID==-1 then
            CreateWindow(150,250,"206",nil,nil,250,30);
            flags.oil=true;          
          return; end;
         return; end;

        if  attachedID==-1 then            
          if obj_id > 0 and obj_id < 57  then --кликаем на активный объект
            playeffect("20");
            collaps_obj(obj_id,0,0,10,1);
          return 0; end;
        return; end;
    return; end;  
      if obj_id > 0 and obj_id < 200  then --кликаем на активный объект
      if not flags.address then
      RemoveFromMouse(attachedID);
        CreateWindow(150,250,"208",nil,nil,250,30);
        -- playeffect("20");
      return; end;
      if not flags.dog then
      RemoveFromMouse(attachedID);
        CreateWindow(150,250,"209",nil,nil,250,30);
        -- playeffect("20");
        return; end;
      return 0; end;
  ---------------------------------------------------ЕСЛИ ПРОВЕРИЛИ АДРЕС-------------------------------------------------
  return; end;


  if sender==14 then
    if obj_id>0 then
    StopSheet=true;
    object=obj_id
      addObjectToMouse(obj_id);
    return; end;
  return; end;  
  if sender==6  then
      if not flags.address then
      RemoveFromMouse(object);
        CreateWindow(150,250,"208",nil,nil,250,30);
        -- playeffect("20");
      return; end;
      if not flags.dog then
      RemoveFromMouse(object);
        CreateWindow(150,250,"209",nil,nil,250,30);
        -- playeffect("20");
      return; end;
  return; end;

  if sender==4 then
  if SLevel==1.0 then return;end;
    flags.loc2 = true;
  return; end;    
end
function SelectRandom()
  
if not flags.minicomplete17 then
  selectrandomobject(1.5,2);
return; end;
if flags.address and flags.addressdlyapodskazki then
  if flags.kost then
    selectrandomobject(1.5,40);
  return; end;
selectrandomobject(1.5,229);
return; end;
if flags.loc2 then
if not flags.loc3 then
selectrandomobject(1.5,46);
return; end;
return; end;

if not flags.minicomplete29 and flags.loc2 then
  selectrandomobject(1.5,46);
return; end;
  selectrandomobject(1.5,idObject);
  idObject=GetRandomObject();  
end;
function SelectRandomRadar(idObject)
    if idObject==244 then
      selectrandomobject(1.5,46);
  return;end;
  selectrandomobject(1.5,idObject);
end;
