function SheetSwitched (ncount)
     StopSheet=true;
return;end;
function Timer(ncount, Param1)
     if not StopSheet then
          AlfingSheet();
          StopSheet=false;
     return;end;
return;end;
function gameinput (sender,obj_id,attachedID)
  if sender == 100 then
    if flags.comx then
      speciale_action(2,12121,true);
      add_free_leaf("map4",3,101);
      set_satelite_leaf("gallery");
      DoFile(3,101)
      flags.comx= false;
      flags.comx1= true;
    return;end;
  return;end;
  if sender == 2 then
      RemoveFromMouse(object);
    MessageProc(sender,obj_id);
  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==12 then
        if obj_id==53 then
      AddElement("gr",53);
      setcolor(53,0,0,0,0.5,1);
      MoveObjectToTree(53);
      StopEmiter("Svet");
      Set_Cursor(45,3);
      playeffect("29");
        end;   
    if flags.object then
      if flags.cleanportrait then
      flags.object= false;
      flags.levelcomplete=true;
      DarkScreen(true);
      ShowMenu(false)
      return; end;      
    return;end;
  return;end;
  
  if sender == 26 then
    if obj_id==1 then
      if flags.object then
          flags.levelcomplete=true;
      DarkScreen(true);
    ShowMenu(false)
       return;end;
    return;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(45,"Svet",427,529);
      MoveEmiter("Svet",427,529);
      if not flags.minicomplete27 then
        StartEmiter("Svet"); 
      end;
      AddParticleToObject(21,"portret",410,338);
      MoveEmiter("portret",410,338);
      if not flags.minicomplete19 then
        StartEmiter("portret"); 
      end;
    return;end;     
    if obj_id==503 then --название уровня
        BlockCursor(false);
      if whole_darkness then
         --затемнилось
      return;end;      
      -- проявление меню вывод собщений в начале уровня ----
      ShowMenu(true);
    -- CreateWindow(150,250,"198",nil,nil,250,30);             
      ------
          savegame(SaveLevel());
    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 --кликнули левой кнопкой мыши на активный объект
            if obj_id==45 then
      if not flags.minicomplete27 then
        if  attachedID==111 then -- горшки
          playeffect("29");
          RemoveFromMouse(attachedID);
          add_free_leaf("Root","mini27",0,37);
          set_satelite_leaf("gallery");
          DoFile(0,37)
            mini_create();
            flags.nohints=true;
        return; end;      
        if  (attachedID~=111) and (attachedID>-1) then -- горшки
        RemoveFromMouse(attachedID);
          CreateWindow(150,250,"200",nil,nil,250,30);
        return; end;
        if  attachedID<=-1 then -- горшки
          CreateWindow(150,250,"201",nil,nil,250,30);
        return; end;
      return; end;
      return; end;
     if obj_id==21  then
      if not flags.portrait then    
        if (not flags.minicomplete19) then --потррет
          if  (not flags.sobrano) then
          if  attachedID==108 then -- горшки
            playeffect("29");
            RemoveFromMouse(attachedID);
            add_free_leaf("Root","mini19",0,29);-- Добавляет чистый лист
            set_satelite_leaf("gallery");
            DoFile(0,29)
              mini_create();
              flags.nohints=true;
            return; end;
            end;
          if   flags.sobrano then
            playeffect("29");
            RemoveFromMouse(attachedID);
            add_free_leaf("Root","mini19",0,29);-- Добавляет чистый лист
            set_satelite_leaf("gallery");
            DoFile(0,29)
          return; end;
          if  (attachedID~=108) and (attachedID>-1) then -- горшки
          RemoveFromMouse(attachedID);
            CreateWindow(150,250,"200",nil,nil,250,30);
          return; end;
          if  attachedID<=-1 and (not flags.sobrano) then -- горшки
            CreateWindow(150,250,"206",nil,nil,250,30);
          return; end;
        return; end;
      return; end;          
    return; end;  
      if attachedID==-1 then
        if obj_id==501 then
        if flags.levelcomplete then
          delete_tree_leaf("Root","gallery");-- Добавляет лист в дерево 
          setnextlavel(4);
          loadlavel();
        return;end;        
            DarkScreen(false);
            whole_darkness=false;
          SetAlfa(503,1,0,1);
      return;end;
  
        if obj_id > 0 and obj_id < 200 and attachedID == -1 then --кликаем на активный объект
          playeffect("20");
          collaps_obj(obj_id,0,0,10,1);
        return 0; end
      return; 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==4 then
  -- WriteToConsole("sender = 4, lev3.0".." "..sender.."\n")
    flags.object=true;
  
  return; end;  
------------------------------------------------------------------------------------------------------------------  
end
function SelectRandom()
  if flags.object and not  flags.comp then
    selectrandomobject(1.5,21);
  return; end;
    idObject=GetRandomObject();
  if not flags.minicomplete27 and idObject==53 then
  selectrandomobject(1.5,45);
  return; end;
  if flags.object and (not flags.minicomplete19) then
  selectrandomobject(1.5,21);
  return; end;
  selectrandomobject(1.5,idObject);
end;
function SelectRandomRadar(idObject)
    if idObject==53 then
      selectrandomobject(1.5,45);
  return;end;
  selectrandomobject(1.5,idObject);
end;
