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("map5",4,101);
    set_satelite_leaf("kabinet");
    DoFile(4,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==26 then          
          if obj_id==5 then
      flags.levelcomplete=true;
      DarkScreen(true);
      ShowMenu(false)
          return;end;                    
     return;end;
if sender==35 then
  if obj_id==632 then
    StartAnimation(632,0,3)
  return; end;
  if obj_id==201 then
    StartAnimation(201,0,3)
  return; end;
  if obj_id==270 then
    StartAnimation(270,0,3)
  return; end;
return;end;
  if sender==12 then
if obj_id==66 then
  AddElement("gr",obj_id);
  SetAlfaSheet(2.5)
  setcolor(obj_id,0,0,0,0.5,1);
  MoveObjectToTree(obj_id);  
end;
    if flags.all then
       if flags.phone then
       flags.all= false;
  flags.levelcomplete=true;
  DarkScreen(true);
  ShowMenu(false)
      return; end;    
      --CreateWindow(150,250,"202",nil,nil,250,30); 
    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(40,"tel1",379,403);
        MoveEmiter("tel1",379,403);
        if not flags.minicomplete48 then
        StartEmiter("tel1"); 
        end;
    AddParticleToObject(65,"seif",406,240);
    MoveEmiter("seif",406,240);
    if not flags.provod then
      StartEmiter("seif"); 
    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==2 then
--        AddElement("gr",obj_id);
--      return; end;



            if obj_id==40 then
      if flags.wire then
      if not flags.minicomplete48 then
        if (attachedID>-1) and (attachedID~=109) then
          CreateWindow(150,250,"202",nil,nil,250,30); 
        return; end;
        if (attachedID<=-1)  then
          CreateWindow(150,250,"202",nil,nil,250,30); 
          return;end;
        if attachedID==109 then
  playeffect("29");
        StopEmiter("tel1");
          --setcurentleaf("mini",0,1);
          RemoveFromMouse(attachedID);
          add_free_leaf("Root","mini48",0,58);-- Добавляет чистый лист
          set_satelite_leaf("kabinet");
          DoFile(0,58)
          mini_create();
          flags.nohints=true;
        return; end;    
      return; end;  
      return; end;    
        if (attachedID>-1) and (attachedID~=66) 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;
        if attachedID==66 then
        -- messagebox("1");
                playeffect("Electr");
          RemoveFromMouse(attachedID);
          SetAlfaSheet(2.0)
              DeleteElement("gr",attachedID);
          flags.wire=true;
          AddParticleToObject(40,"tel",335,448);
          MoveEmiter("tel",335,448);
          if not flags.minicomplete48 then
          StartEmiter("tel"); 
          end; 
          CreateWindow(150,250,"205",nil,nil,250,30); 
        return; end;          
      return; end;  

      if attachedID==-1 then
      if obj_id==501 then
        if flags.levelcomplete then
          delete_tree_leaf("Root","kabinet");-- Добавляет лист в дерево 
          setnextlavel(5);
          loadlavel();  
        return;end;        
            DarkScreen(false);
            whole_darkness=false;
          SetAlfa(503,1,0,1);
      return;end;      
    
      if obj_id==65 then 
        if (not flags.provod) and (not flags.otkrit) then 
        playeffect("MetalOpen");

          speciale_action(2,2);
          speciale_action(2,66);
          speciale_action(2,67);
          Set_Cursor(65,3);
          Set_Cursor(66,4);
          set_visible_object(65,false)
        return; end;
        if (flags.provod) and (flags.otkrit) then
          CreateWindow(150,250,"263",nil,nil,250,30); 
        return; end;        
      return; end;
      if obj_id==66 then 
        collaps_obj(obj_id,0,0,10,0);
        playeffect("20");

        speciale_action(2,2,true);
        speciale_action(2,67,true);
        Set_Cursor(40,4)
        Set_Cursor(66,3);
        StopEmiter("seif");

        flags.provod= true;
        flags.otkrit= true;
      return; end;

    
      
      if obj_id > 0 and obj_id < 200  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, lev4.0".." "..sender.."\n")
     flags.all=true;

  return; end;  
  

------------------------------------------------------------------------------------------------------------------  

end
function SelectRandom()
  idObject=GetRandomObject();
  if idObject==66 then
      selectrandomobject(1.5,65);
  return;end;
  if flags.all and (not flags.minicomplete48) then
    selectrandomobject(1.5,40);
  return; end;
  selectrandomobject(1.5,idObject);
end;
function SelectRandomRadar(idObject)

    if idObject==66 then
      selectrandomobject(1.5,65);
  return;end;
  selectrandomobject(1.5,idObject);
end;
