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 == 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==35 then          
          if obj_id==221 then
StartAnimation(221,0,5)  
          return;end;                    
     return;end;
if sender==12 then
if SLevel==1.0 then return;end;
  if flags.loc2 then
    if flags.loc1 and flags.loc2 then
    flags.loc2= false;
      flags.levelcomplete=true;
      DarkScreen(true);
      ShowMenu(false)
    return; end;
    CreateWindow(150,250,"199",nil,nil,250,30);     
  return;end;
return;end;

if sender == 26 then
  if obj_id==1 then
    collaps_obj(127,0,0,10,1);
    AddElement("gr",127);
    SetAlfaSheet(2.5)
    setcolor(127,0,0,0,0.5,1);
    MoveObjectToTree(127);
    flags.photo = true;
    frame=0;
    ShowMenu(false);
    add_free_leaf("comics1",19,51);
    set_satelite_leaf("daus_bar");
    DoFile(19,51)
  return;end;
  if obj_id==19 then
    if flags.all2 and flags.minicomplete22 and flags.minicomplete47 then
      flags.loc2 = true;      
      if flags.loc1 and flags.loc2 then
          flags.levelcomplete=true;
          DarkScreen(true);
          ShowMenu(false)
      return; end;  
    return;end;  
  return; end;
  if obj_id==5 then
    if flags.all2 and flags.minicomplete47 then
      flags.loc2 = true;      
      if flags.loc1 and flags.loc2 then
          flags.levelcomplete=true;
          DarkScreen(true);
          ShowMenu(false)
      return; end;  
    CreateWindow(150,250,"199",nil,nil,250,30);
    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;
         -- растемнилось
         
    return;end;     
    if obj_id==503 then --название levовня
        BlockCursor(false);
      if whole_darkness then
         --затемнилось
      return;end;  
      
      -- проявление меню вывод собщений в начале levовня ----
    AddParticleToObject(44,"pu4ok",345,396);
    MoveEmiter("pu4ok",345,396);
    if (not flags.minicomplete47)  then
    StartEmiter("pu4ok"); 
    end;
    AddParticleToObject(58,"moneti",554,152);
    MoveEmiter("moneti",554,152);
    if (not flags.minicomplete22)  then
    StartEmiter("moneti"); 
    end;
    ShowMenu(true);
    savegame(SaveLevel());
       --CreateWindow(150,250,"266");               
      ------
    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==58 then
      if (not flags.minicomplete22)  then
           if attachedID == 117 then 
             playeffect("29");
               RemoveFromMouse(attachedID);  
            add_free_leaf("Root","mini22",0,32);-- Добавляет чистый лист
            set_satelite_leaf("daus_bar");
            DoFile(0,32)
            mini_create();
            flags.nohints=true;
           return; end;
           if (attachedID ~= 117) and  (attachedID > -1)  then
           RemoveFromMouse(attachedID);
            CreateWindow(150,250,"200",nil,nil,250,30); 
           return; end;    
          if attachedID == -1 then
            CreateWindow(150,250,"203",nil,nil,250,30); 
           return; end;  
      return; end;
      return; end;

    if attachedID == -1 then
    
      if obj_id==501 then
  --        if whole_darkness then
        if flags.levelcomplete then
          LoadNextLevel()
        return;end;        
            DarkScreen(false);
            whole_darkness=false;
          SetAlfa(503,1,0,1);
      return;end;    
      
      if obj_id==60 then
        setcurentleaf("daus_vhod",19,0);
        playeffect("door");  
        SwitchToSheet("re");
        savegame(SaveLevel());
      return; end;


      
      if obj_id==44 then
      if (not flags.minicomplete47)  then
        playeffect("29");
        RemoveFromMouse(attachedID);
        DeleteElement("gr",attachedID);    
        add_free_leaf("Root","mini47",0,57);-- Добавляет чистый лист
        set_satelite_leaf("daus_bar");
        DoFile(0,57)
        mini_create();
        flags.nohints=true;
      return; end;
      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, lev19.1".." "..sender.."\n")
  if SLevel==1.0 then return;end;
   if flags.minicomplete22 and flags.minicomplete47 then
      flags.loc2 = true;
  
  return; end;  
    flags.all2=true;  
  return; end;  
  
end
function SelectRandom()
  idObject=GetRandomObject();
  if flags.all2 then
    if  not flags.minicomplete47 then
      selectrandomobject(1.5,44);
    end;
     if not flags.minicomplete22 then
      selectrandomobject(1.5,58);
    end;
    selectrandomobject(1.5,60);
  end;
  selectrandomobject(1.5,idObject);
end;
function SelectRandomRadar(idObject)

    if idObject==127 then
      selectrandomobject(1.5,58);
  return;end;
  selectrandomobject(1.5,idObject);
end;
