scanirovanie=false

AddParticleToObject(1,"Highlight");
MoveEmiter("Highlight",460,465);
AddParticleToObject(obj.microscope.id,"micro");
MoveEmiter("micro",456,461);
AddParticleToObject(obj.chemic.id,"chemic");
MoveEmiter("chemic",650,512);
AddParticleToObject(obj.scan.id,"scan");
MoveEmiter("scan",494+60,390+18);
-- BlockCursor(false)




if flags.mini_chemic and not flags.mini_scan_complete then
StartEmiter("scan")
end

if flags.mini_scan_complete then
Set_Cursor(obj.scan.id,3)
end

WaitRender();

function gameinput(sender,obj_id,attachedID)
c("\n"..sender.."\n")
	if SLevel==1.0 then return; end;	
--обработчик плашек	
	 if (sender == 1  or sender==5) and not isTimes  and imagetex~=-1 then			
			set_visible_object(obj[imagetex].id,false)
			set_visible_object(obj.plashechka.id,false)
			del_object_from_game(5654547)		
			gameinput(26,imageid)			

	end
	
	if sender == 2 then
		RemoveFromMouse(object);
		MessageProc(sender,obj_id);
	end;		
	
	if sender == 26 then
	
--сообщение девушки после того как сказал проф Привет друзья
	if obj_id ==60 then
		CreatePlashechka(61,"99","goodgirl")	
		
	return;end
--включаем стрелочку на микроскоп после сообщения вначале от девушки	
	if obj_id==61 then
		-- set_visible_object(obj.arrow22.id,true)		
		SwitchToSheet("gr")
		StartEmiter( "micro" )
		BlockCursor(false)
	return;end
--собрали всё и прошли все мини, перед переходом на соед локацию проф говорит что есть в ангаре самолёт	
	if obj_id ==63 then
		CreatePlashechka(64,"97","prof")		
	return;end
--рендер для перехода на след локацию	
	if obj_id==64 then
			ShowMenu(false)		
			del_object_from_game(obj.dragonfly.id)
			flags.finish=true;		
			leafobj={2234}
			GetRenderTarget(2234,"rendertar");	
			minigg=true;
			levelnext=6;
			set_visible_object(5558,false);		
	return;end
	
	if obj_id ==66 then
	SwitchToSheet("gr")
	end
	if obj_id==99 then
		if flags.mini_scan_complete and flags.items_collected then	
			canmenu=true
			CreatePlashechka(63,"98","goodgirl")	
		end
		
	end
	
	
		if obj_id== 1 then			
			flags.mini_micro= true;
			Set_Cursor( obj.microscope.id, 2 );
		
		return; end;
	return; end;
	
	if sender == 12 then
--откалапсился сканер	
	
--откалапсился мусор					
if (obj.note.is_collapsed and obj.termometr.is_collapsed and  obj.umbrella.is_collapsed and  obj.brush.is_collapsed and  obj.motok.is_collapsed and
			 obj.pincet.is_collapsed and  obj.shipci.is_collapsed and  obj.lupa.is_collapsed and  obj.cake.is_collapsed and  obj.nojnici.is_collapsed and
			obj.gusenica.is_collapsed and  obj.pencil.is_collapsed and  obj.otvertka.is_collapsed and  obj.scotch.is_collapsed and  obj.loc_scaner.is_collapsed )then			
					flags.items_collected=true						
					AlternateTimer("SwitchSheet1",1000)	
--прошли все мини игры и откаалпсился посл предмет, говорит что "Пора в путь"					
					if flags.items_collected and flags.mini_scan and flags.mini_scan_complete then
					CreatePlashechka(63,"98","goodgirl")					
					set_visible_object(5558,false);
					set_visible_object(obj.arrow11.id,false);
					set_visible_object(obj.arrow22.id,false);
					ShowMenu(true)
					canmenu=true
					end
			end		
		
	
			if obj.loc_scaner.id == obj_id then
				if  flags.finish then SetCurrentRM("menu");
					AddButtonToBook(100005,"6","scaner_blue",nil,nil,nil, 888,132,45,29,true,true,4);
					SetCurrentRM("main");
					PushButton(100005,false);
				return;end
			
			flags.scaner_taken = true;
			playeffect("023")
			flags.scaner = true;
			SetCurrentRM("menu");
			AddButtonToBook(100005,"6","scaner_blue",nil,nil,nil, 888,132,45,29,true,true,4);
			SetCurrentRM("main");
			PushButton(100005,false);
			
			-- CreateWindow(CWX,CWY,"664",63634,nil,100,230);
			
			CreatePlashechka(6442423,"664","goodgirl",true)
			
			set_visible_object(obj.arrow11.id,true);
			StartAnimation(obj.arrow11.id);
			playeffect("018")
			set_visible_object(obj.arrow22.id,false);	
			setcolor( obj.loc_scaner.id, 0, 0, 0, 0.5, 1 );
			obj.loc_scaner.is_collapsed = true;
			
			set_visible_object(5558,true);
			StartAnimation(5558);
				
		end;
end;

	if sender == 14 then
		if obj_id == obj.a0033.id and not scaner_on then
			addObjectToMouse(obj_id);
		return; end;
	return; end;
	
	if sender == 33 then
	
	if flags.mini_chemic and not flags.mini_scan_complete and not flags.clickEnter then
		Set_Cursor( obj.scan.id, 2 );
		Set_Cursor( obj.microscope.id, 3 );	
		StartEmiter("scan")	
		c("1111\n")
	end
	if  flags.takescan and not flags.scan_true then
		set_visible_object(obj.arrow11.id,true);
		StartAnimation(obj.arrow11.id);
		playeffect("018")
	end;
	
	if flags.finish_mini1 and not flags.clickEnter then
		ShowMenu(true);
		flags.finish_mini1=false
		StartEmiter("scan")	
		Set_Cursor( obj.scan.id, 2 );	
		c("22222\n")
	end;	
	 if   flags.comics2 then					
			CreatePlashechka(6555,"55","prof")
			StartEmiter("scan")
			set_visible_object(obj.goodgirl.id,false)	
			flags.comics2 = false;
			flags.mini_scan=true;
			ShowMenu(true)		
	return;end
			
	if flags.finish_mini2 then
				if flags.items_collected  then
					CreatePlashechka(63,"98","goodgirl")
					ShowMenu(true)
					canmenu=true
					flags.finish=true
					else
					CreatePlashechka(68,"95","goodgirl")
					ShowMenu(true)
					SwitchToSheet("re");
				end
	flags.finish_mini2=false
	flags.miniscan=true;
	return;end	
	
	if not flags.finish then
		-- flags.finish = false;
		-- ShowMenu(true);
		-- SwitchToSheet("re");		
	    end;	  
	return;end;
	
	
	if sender == 8 then
		HideGlove();		 
		HideScaner();
		HideRentgen()
		HideNvg();
	return end;
	
	
if sender ==41 then	

	RotateHandler(obj_id);	
	
	if obj_id ==obj.dragonfly.id then	
	StartAnimation( 5555555555,1,5 );
	return;end;
	
	return;end;
	if sender==777 then
	
--рендер таргет для первой мини	
		if flags.start_mini1  and not flags.mini2 then
			set_visible_object(obj.arrow22.id,false);		
			flags.mini_micro= false;			
			leafobj={2234}
			GetRenderTarget(2234,"rendertar");	
			mininame="mini";
			mininum1=5;
			mininum2=11;
			mininame2="lab";
		return; end;

--рендер таргет на 2 мини игру		
	 if flags.start_mini3 and not flags.finish_mini2 then
			ShowMenu(false);					
			StopEmiter("scan")			
			leafobj={2234}
			GetRenderTarget(2234,"rendertar");	
			mininame="mini3";
			mininum1=5;
			mininum2=12;
			mininame2="lab";
			
	return;end;	
	
	if flags.scaner_taken and not flags.scanerdoehal then
		CreatePlashechka(6442423,"664","goodgirl",true)			
		set_visible_object(obj.arrow11.id,true);
		StartAnimation(obj.arrow11.id);
		set_visible_object(obj.arrow22.id,false);	
		set_visible_object(5558,true);
		StartAnimation(5558);
		playeffect("018")
	end
		 
	if top_plush_id then		
		ShowMenu(true)
	end	
	
	end
	
	if sender ==28 then	
--старт локации проф появляется	
			if top_plush_id and flags.comics1 then				
				speciale_action(4,600)
				speciale_action(2,600,true);
				StartTimer(888,1.5);
				BlockCursor(true)
				ShowMenu(true)
				SwitchToSheet("re")				
			return;end	
	return;end
	
	if sender == 100 then	
	
			if not flags.add_a0033 then
				flags.add_a0033= true
				AddElement(sheet,obj.a0033.id);
				MoveObjectToTree(obj.a0033.id);
				obj.a0033.is_stored = true;
			end
			if flags.first_time_load then	
					flags.first_time_load=false
				set_visible_object(obj.intro.id,true);
				speciale_action(4,obj.intro.id);				
			return; end;		 		
	return; end;

--наведение на кнопку "сканировать в сканере"	
	
	if sender==35 and flags.scan_true and not flags.scanerdoehal then
		-- speciale_action(2,obj.enter1.id)
		SetAlfa(obj.enter1.id,0.01,1,0) 
		flags.clickEnter=true
	end
--уведение от кнопки "сканировать"	
	if sender==39 and flags.scan_true and not flags.scanerdoehal then	
		-- speciale_action(2,obj.enter1.id)	
		SetAlfa(obj.enter1.id,1,0.01,0) 		
	end
	
	if sender==16 then
--появилась полоса в сканере,пора начать движение полосы
		if obj_id ==obj.polosa1.id then
			playeffect("024")
			MoveObjectX(obj.polosa1.id,112,839,4)			
			StartTimer(555,5)
		return;end;
	return;end
	
if sender == 1 then
	if not	flags.saygirl		then return;end
--тыкнули на "сканировать" в сканере
	if obj_id == obj.enter1.id and not flags.startscaner then
		flags.clickEnter=true
		speciale_action(2,obj.polosa1.id,true,2);	
		speciale_action(4,obj.polosa1.id);	
		speciale_action(4,obj.plashechka.id)
		speciale_action(4,obj.goodgirl.id)
		speciale_action(4,5654547)	
		flags.startscaner=true
		set_visible_object(obj.plashechka.id,false)
					set_visible_object(obj.goodgirl.id,false)
					del_object_from_game(5654547)		
	return;end;
--тыкнули сканером на предмет чтоб отсканировать и включается рендер таргет	
	    if obj_id == 876 and not flags.scan_true and not flags.finish then
			if scaner_on then
		scanirovanie = true
		leafobj={2235}
		GetRenderTarget(2235,"rendertar1");	
		
		function rendertar1(tex_name,tex_id)
		Set_Cursor(876,3)
		
				StopEmiter("micro")
				Set_Cursor(obj.microscope.id,3)
				Set_Cursor( obj.scan.id,3)
				StopEmiter("scan")
				speciale_action(2,obj.scanner1.id	)			   
				speciale_action(2,obj.izobr.id,true);
				speciale_action(4,obj.izobr.id);					
				speciale_action(4,obj.enter1.id);					
				HideScaner();				
				ShowMenu(false);
				flags.scan_true=true;
				HideScaner();
				set_text(5654547,"66")			
				set_visible_object(obj.arrow11.id,false);	
		end;
			return;end;
			-- if attachedID ==-1 and flags.scaner then
			-- CreatePlashechka(9999,"67","goodgirl")
			-- return;end;
		return;end;
--тыкаем на мусор	
		if (obj_id == obj.note.id or obj_id == obj.termometr.id or obj_id == obj.umbrella.id or obj_id == obj.brush.id or obj_id == obj.motok.id or
			obj_id == obj.pincet.id or obj_id == obj.shipci.id or obj_id == obj.lupa.id or obj_id == obj.cake.id or obj_id == obj.nojnici.id or
			obj_id == obj.gusenica.id or obj_id == obj.pencil.id or obj_id == obj.otvertka.id or obj_id == obj.scotch.id or obj_id == obj.loc_scaner.id )  then
				flags.items=flags.items+1 
			if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
			return;end;
			c("\nFlags.items= "..flags.items.."\n")
				CollapseObj(obj_id);				
				
			
				if flags.items>= 15 then					
					flags.items_collected = true
					c("EEEEEEEEEEEEE")
					 -- flags.finish=true
				end
				
				if obj_id == obj.loc_scaner.id then
				flags.takescan=true;
				HideGlove()
				return;end;
		return; end;
--тыкаем на микроскоп манускриптом		
		if obj_id == obj.microscope.id and not flags.mini_scan and not scaner_on and not scanirovanie then
			if attachedID==obj.a0033.id then
			playeffect("053")
			set_visible_object(obj.arrow22.id,false);	
				RemoveFromMouse(attachedID);			
				Set_Cursor( obj.scan.id, 2 );
				Set_Cursor( obj.microscope.id, 3 );
				ShowMenu( false );
				
				ClosePlushes();
				flags.start_mini1 = true;
				return; end	
				CreatePlashechka(9999,"59","goodgirl")
		return; end	
--тыкаем на скан манускриптом	
	if obj_id == obj.scan.id and flags.mini_scan and not flags.mini_scan_complete and not scanirovanie then
		
			if attachedID==obj.a0033.id then	
			playeffect("053")
				RemoveFromMouse(attachedID);
				if obj.a0033.is_stored then
					UnStoreObj(obj.a0033.id);
				end;
					Set_Cursor( obj.scan.id, 3 );
					ShowMenu( false );
					
					
					ClosePlushes();
					flags.start_mini3 = true;		
					flags.start_mini1=true;
					flags.finish_mini1=false;
				return; end;
					CreatePlashechka(9999,"61","goodgirl")
		return; end	

return; end;

--проф исчез, появилась надпись, "Как дела Ребята? "	
	if sender ==15 then	
		if obj_id ==600 then
			CreatePlashechka(60,"100","prof")
			flags.comics1=false
			del_object_from_game(600)		
			flags.saygirl=true
			set_visible_object(obj.arrow22.id,true)
			StartAnimation(obj.arrow22.id)
			c("gm")
			SwitchToSheet("gr")
			StartEmiter( "micro" )
			playeffect("018")
		end	
	end
	
	
	if sender==36 then	
--таймер после которого проф исчезает в начале локации	
		if obj_id==888 then		
			speciale_action(2,600,true)					
		end	
--полоса доехала по таймеру в сканере, и сканер исчезает	
	if obj_id ==555 then
		scanirovanie=false
		speciale_action(2,obj.scanner1.id);				 
		speciale_action(2,obj.izobr.id);							
		speciale_action(2,obj.polosa1.id);
		del_object_from_game(obj.scanner1.id)
		del_object_from_game(obj.izobr.id)
		del_object_from_game(obj.polosa1.id)
		del_object_from_game(obj.enter1.id)
		if not flags.mini2 then
			set_visible_object(obj.arrow22.id,true);	
			StartAnimation(obj.arrow22.id)
			playeffect("018")
		end
		flags.clickEnter=false
		flags.scanerdoehal=true
		ShowMenu(true);	
		DeleteRenderTarget(2235)  					 
		leafobj={}	
		
		if not flags.mini2 then
		StartEmiter("micro")
		Set_Cursor(obj.microscope.id,2)
		end
		
		if not flags.miniscan and flags.mini2 then
		StartEmiter("scan")
		
		Set_Cursor(obj.scan.id,2)
		end
		
		
		
		-- set_text(5654547,"68")
		-- isTimes=false
		-- StartTimer(2323,6,"endofplash")
		
		CreatePlashechka(99,"68","goodgirl")
				
				-- function endofplash()
					-- set_visible_object(obj.plashechka.id,false)
					-- set_visible_object(obj.goodgirl.id,false)
					-- del_object_from_game(5654547)					
				-- end
		
	return;end;
	
	return;end
	
	
return; end; 


function SelectRandom()
local dist=-1;local a=-1;local b=-1;local v=100;local t=-1;local diag=-1;
local width = -1;local height = -1;local radius=1.2;
	c1(flags.mini_scan_complete)
	if flags.finish  and  flags.mini_scan_complete then  return end		
	
	 if flags.items_collected  then
			if not flags.mini_micro_complete and not flags.mini_chemic then
			computation( obj.microscope.id)			
			return; end;
			
			if flags.mini_scan then
			computation(  obj.scan.id)				
			return; end;
	return end
	
	ok = false
	while not ok do
		help_id = GetRandomObject();
		for i,v in pairs(obj) do
			if v.id == help_id and not v.is_collapsed then
				ok = true
				x,y=GetObjectPosition(v.id);
				x1,y1=GetObjectPosition(obj.dragonfly.id);
				width,height = GetObjectSize(v.id)
				a= (x-x1); b= (y-y1);  dist= math.sqrt (a^2+b^2);				
		        t=dist/400;		
                r = (math.sqrt(width^2+height^2)*0.5);		
				
				if r<50 then	r=75;	radius=4;	end  -- при радиусе меньше 50 определяем время кружения и радиус стрекозы
				
				if r>50 and r <100 then	r=87 radius=2.5;  end  --при радиусе больше 50 и меньше 100
				
				if r>100 then 	r=100 	radius=0.75;  end  -- при радиусе больше 100
				
				StartBigTravel(obj.dragonfly.id, v.id, 0, t, r/90, t, 2 ,radius);
			return end
		end
	end
end;
