
local count=0;
OnMouseOver(obj.prop.id);
OnMouseOver(obj.ski1.id);
OnMouseOver(obj.ski2.id);
OnMouseOver(obj.sail.id);

--Emitters-------------------
AddParticleToObject(obj.delta_broken.id,"Highlight"); --частицы на разбитый дельтаплан
MoveEmiter("Highlight",310,195);

AddParticleToObject(obj.delta_established.id,"Highlight1"); --частицы на собранный дельтаплан
MoveEmiter("Highlight1",460,250);

AddParticleToObject(obj.loc_glove.id,"glove");----частицы на glove
MoveEmiter("glove",859,439);
if flags.glove_1 then			--восстановление состояние глове лежит на земле.
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);	
			flags.start_podskazka	= true;
			set_visible_object(5559,false);
		
		end
function Level0TutorWithGlove()  --функция колбек,вызывается после нажатия на перчатку.
			if flags.tutor and flags.first then				
				-- flags.ski = true;				
				-- set_text(5654547,"206")
				CreatePlashechka(667,"206","goodgirl")	
				
			StartTimer(663253,1.3,"tutor5")
			function tutor5()
				set_visible_object(obj.arrow4.id,true);
				StartAnimation(obj.arrow4.id);
				c("arrow4")
				playeffect("018")
			end
				
				flags.start_arrow3 = false;
				flags.start_arrow4 = true;
			end;	
end





WaitRender();

function gameinput( sender,obj_id,attachedID )
	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==35 then	
		if not glove_on and not canusegadjets  and flags.glove_taken and not flags.details_collected then
		
			if obj_id == obj.prop.id or obj_id == obj.ski1.id or obj_id == obj.ski2.id or obj_id == obj.sail.id  then
			set_visible_object(100004,false)
			set_visible_object(333,true)
			StartAnimation(333)		
			return;end
			
			if obj_id ==obj.delta_broken.id and flags.details_collected then
				set_visible_object(100004,false)
				set_visible_object(333,true)
				StartAnimation(333)		
			return;end
	
		end
	return;end
	------------------------------------------------------------------------------------------------
	
	
	---уведение с объектов требующих наведения---
	if sender==39 then		
	set_visible_object(333,false)
	set_visible_object(100004,true)
	return;end
	---------------------------------------------
	
	
	---старт анимации стрекозы когда она долетела обратно и обработка гаджетов----------
	if sender ==41 then	
	if obj_id ==obj.dragonfly.id then	
	StartAnimation( 5555555555,1,5 );
	end
	
	RotateHandler(obj_id);	
	
	return;end;
	-----------------------------------------------------------------------------------
	
	
	----перчатка после нажатия приехала на место---------
	if sender ==100004 then
		Level0TutorWithGlove();			
	return;end;
	-----------------------------------------------------
		
	
	if sender == 26 then
	
	
	----сообщение о том что все предметы собраны и сани установлены----
	if obj_id==89 then
		if flags.dosie then
		CreatePlashechka(88,"69","goodgirl")	
		end	
	return;end
	------------------------------------------------------------------
	
	
	----сообщение о том что мы нашли досье---------------------------
	if obj_id==88 then
	speciale_action(2,obj.message1.id,true)
	StartTimer(23242,2,"deldosie")
	imageid=234242423;
	flags.dosie=false
	function deldosie()	
	del_object_from_game(obj.message1.id)
	end
	
	return;end;
	-----------------------------------------------------------------
		
	---обработчик сообщения о том что налась мини игра--------------	
	if obj_id ==67  then		
		ClosePlushes()
		flags.mini_go=true;
		set_visible_object(333,false)
		set_visible_object(100004,true)	
	return;end
	----------------------------------------------------------------
		
	end;  --енд оф 26 сендер
	
	 if sender == 36 then	
	
		---обработчик того что собрали все предметы и сани установлены, пора в путь!-----
		if obj_id ==222 then
				CreatePlashechka(67,"106","goodgirl")	
				BlockCursor(true)
		return;end;
		---------------------------------------------------------------------------------
	 return;end;	
	 
	 
	if sender == 2 then
		c("\n*****************************\n                     sender2\n*****************************\n")
		RemoveFromMouse(object);		
		MessageProc(sender,obj_id);
	return;end;	
	
	if sender==6 then
	
			if flags.dosie then		
				flags.dosie=false
				c("dosie")
				speciale_action(2,obj.message1.id,true)
				StartTimer(435252,1.5,"poprobuitiknut")			
				function poprobuitiknut()
					set_text(5654547,"202")
				end			
			end
	
	end
	
	---сендер о старте локации, можем приступать к действию----
	if sender==777 then
		if top_plush_id then		
			ShowMenu(true)			
		end		
			----если не использовали подсказку в туторе и вышли----
		if flags.starthint then
			CreatePlashechka(63426,"208","goodgirl",true)						
			set_visible_object(obj.arrow5.id,true);
			StartAnimation(obj.arrow5.id);
			playeffect("018")
			flags.start_arrow4 = false;
			flags.start_arrow5 = true;
			flags.nohints = false;		
			SwitchToSheet("re");
			canmenu=false;
			flags.glove_1=false;
			flags.tutor=true;
			flags.bag=false;	
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);
		return;end
		
		--------------------------------------------------------
		--не взяли рюкзак и вышли-------------------------------------------
		if not flags.bag and not flags.start_arrow5 then
			CreatePlashechka(63426,"40","goodgirl",true)	
			flags.comics2=false;	
			ShowMenu(true)
			SwitchToSheet("re")
			flags.tutor = true;		
			set_visible_object(obj.arrow.id,false);
			flags.nohints= true;			
			StartTimer(66553,2,"tutor1")
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);
			function tutor1()
				speciale_action(2,obj.arrowforbag.id,true);				
				StartAnimation(obj.arrowforbag.id);	
				flags.cantakebag=true
				playeffect("018")
			end		
		return;end
		
		--если  взяли рюкзак и не нажали на вкладку и вышли---------------------		
		if flags.bag and flags.tutor and not flags.endofhint then
			CreatePlashechka(63426,"202","goodgirl",true)					
			speciale_action(2,obj.arrow2.id);
			StartAnimation(obj.arrow2.id);
			playeffect("018")
			flags.start_arrow = false;
			flags.start_arrow2 = true;	
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);
		return;end
		----------------------------------------------------
		
		
	
		
		---если не взяли перчу и вышли-------------------------		
		if flags.take then
			StartAnimation(obj.arrowforglove.id)
			playeffect("018")
			set_visible_object(obj.arrowforglove.id,true)
			StartEmiter("glove")
			Set_Cursor(obj.loc_glove.id,4)	
			CreatePlashechka(63426,"208","goodgirl",true)
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);
		return;end
		--------------------------------------------------------
		
		----взяли перчатку но не использовали-------------------
		if flags.glo then		
			CreatePlashechka(63426,"204","goodgirl",true)			
			set_visible_object(5555,true);
			StartAnimation(5555);			
			playeffect("018")			
			flags.first= true;		
			StartEmiter("Highlight");
			Set_Cursor(obj.delta_broken.id,4);
		return;end		
		---------------------------------------------------------
		
		
		
		
		--сохранились и вышли из мини игры--------------------------
		if flags.mini_go then	
			c("sdsadas")
			ShowMenu(false)			
			leafobj={2234}
			GetRenderTarget(2234,"rendertar");				
			mininame="mini1";
			mininum1=0;
			mininum2=10;
			mininame2="peak";			
		end
		---------------------------------------------------------------
		
		if flags.takeski then
			flags.tutor=false		
		return;end
		
	end
	----------------------------------------------------------------енд оф 777 сендер
	
	if sender==28 then		

		---старт локации, старт тутора------------
		if  flags.comics2 then	
		
			CreatePlashechka(63426,"40","goodgirl",true)	
			flags.comics2=false;	
			ShowMenu(true)
			SwitchToSheet("re")
			flags.tutor = true;		
			set_visible_object(obj.arrow.id,false);
			flags.nohints= true;			
			StartTimer(66553,2,"tutor1")
			dragonfly_is_usable=false
			-- function tutor1()	
				-- speciale_action(2,obj.arrowforbag.id,true);				
				-- StartAnimation(obj.arrowforbag.id);		
				-- flags.cantakebag=true
				-- c1(flags.cantakebag)
			-- end
			
			
			
		return;end
		
		-------------------------------------------------------
	end
	

	
	if sender == 100 then	
	


		if flags.delta_deployed then
			StartEmiter("Highlight1");
			Set_Cursor( obj.delta_established.id, 2 );
		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;		
		
	end;  --енд оф 100 сендер
	
	
	if sender == 8 then
		takeobjecttohand=false;	

		if flags.delta_taken then
			flags.delta_taken = false;			
			set_visible_object(obj.delta_hint.id,false);
			RemoveFromMouse(obj.delta_broken.id);
			SetObjectPosition(obj.delta_broken.id,209,4);
		return;end;
		HideGlove();
		set_visible_object(5559,false);	
	end;

	if sender == 12 then -- Collaps finished its work --
		
		
		--коллапс досье о персонаже------------
		
		if obj_id==obj.dosie.id and not flags.dosie then
			flags.dosie=true
			c("flags.dosie\n")
			c1(flags.dosie)
			loadresource("data\\images\\message1.png","message1");
			addactivobjecttogame(NewId("message1"), "message1", 300,80,"","");
			set_visible_object(obj.message1.id,false)
			speciale_action(4,obj.message1.id)
			speciale_action(2,obj.message1.id,true)
			CreatePlashechka(88,"69","goodgirl")			
			imageid=88;
			BlockCursor(true)
			StartTimer(23423423,1.5,"dosie")
			function dosie()
				BlockCursor(false)
			end
			
		end
		--собрали все предметы и детали собрали----
		
		if flags.items1>=11 and flags.details_collected  then		
		AlternateTimer("SwitchSheet1",2000)		
		end
		
		
		--взяли рюкзак--------------------------
		if obj_id == obj.backpack.id  then	 
				
			set_text(5654547,"202")				
			StartTimer(665253,1,"tutor2")
			function tutor2()
				speciale_action(2,obj.arrow2.id,true);
				StartAnimation(obj.arrow2.id);	
				playeffect("018")
				flags.vkladka=true
			end
			set_visible_object(obj.arrowforbag.id,false);				
				
			flags.start_arrow = false;
			flags.start_arrow2 = true;	
			takeobjecttohand=true
			flags.bagstored=true			
		end;
		
		----взяли лыжу------------------------
		if obj.ski1.id == obj_id then		
		flags.glo=false;
		
			set_visible_object(obj.arrow4.id,false);-----ski1				
			flags.glove_1=true;			
			CreatePlashechka(667,"207","goodgirl")	
			StartTimer(66534253,0.3,"tutor6")
			BlockCursor(true)
			function tutor6()
			StartAnimation(5559)
			playeffect("018")
			set_visible_object(5559,true);	
			BlockCursor(false)
			end
			
			StartTimer(66534253,4,"tutor77")			
			function tutor77()			
				set_visible_object(5559,false)			
			end
			
			flags.takeski=true;			
			
			flags.tutorforglove=true;			
		end;	
		
		--взяли перчу------------------------------
		if obj.loc_glove.id == obj_id then
			playeffect("023")
			flags.glove_taken = true;
			flags.glo = true;
			SetCurrentRM("menu");
			AddButtonToBook(100004,"7","glove_blue",nil,nil,nil,945,180,30,30,true,true,2);
			PushButton(100004,false)			
			SetCurrentRM("main");			
			flags.use_rent=false;
			CreatePlashechka(667,"204","goodgirl",true)			
			flags.items1 = flags.items1 + 1;
			set_visible_object(obj.arrowforglove.id,false)
			BlockCursor(true)
			StartTimer(6625253,0.3,"tutor4")
			function tutor4()
			BlockCursor(false)
				set_visible_object(5555,true);
				StartAnimation(5555);				
				playeffect("018")
			end
			
			
			flags.start_arrow2 = false;
			flags.start_arrow3 = true;		
			flags.first= true;					
			flags.tutor=true
			flags.take=false;
			
		end;			
		
		--взяли лыжу1 или лыжу 2 или пропеллер или сэил--------------
		if 	obj_id == obj.sail.id  or obj_id == obj.prop.id or obj_id == obj.ski1.id or obj_id == obj.ski2.id then
				StoreObj(obj_id);		
				
				if obj.sail1.is_stored and obj.prop1.is_stored and obj.ski11.is_stored and obj.ski21.is_stored then						
					flags.details_collected = true;
					Set_Cursor(obj.delta_broken.id,4);								
					flags.wind=false;
					
				-- if flags.tutor then
					-- set_text(5654547,"62")
				-- else
					CreatePlashechka(667,"62","goodgirl")	
				-- end
									
				end;
		end;	
		----если отколаплислось чтото другое кроме частей дельтаплана---------------
		if obj_id ~= obj.ski1.id and obj_id ~= obj.ski2.id and obj_id ~= obj.prop.id and obj_id ~= obj.sail.id then
			if flags.sani and flags.items1 == 11 then
				StartEmiter("Highlight1");
				Set_Cursor(obj.sail_packed.id,2);						
				CreatePlashechka(89,"59","goodgirl")					
			end;			
		end;
		
		
	end; --енд оф 12 сендер

	if sender == 14 then -- Menu click
		if obj_id == obj.sail1.id or obj_id == obj.prop1.id or obj_id == obj.ski11.id or obj_id == obj.ski21.id then
		
		--проьбуем взять с инвенторя части когда дельтаплан не перемещён----------
			if not flags.delta_deployed then
				CreatePlashechka(667,"66","goodgirl")
			return; end;
		--пробуем взять части без перчатки----------------------------------------
			if not glove_on then
				CreatePlashechka(667,"60","goodgirl")
			return; end;
			addObjectToMouse(obj_id);	
			takeobjecttohand=true;
			SetCustomCursor(obj.glove.id);
		end; --details of the deltaplane		
	end;
	
	
	if sender == 1 then 	
	--тыкнули на рюкзак---------------------------
	
		if obj_id == obj.backpack.id and flags.cantakebag  then
			flags.bag = true;					
			CollapseObj(obj.backpack.id);
			flags.items1 = flags.items1 + 1;
			StartEmiter("glove");		
			flags.ranec=false;				
			AddTool();		
			flags.cantakebag=false
			set_visible_object(obj.arrowforbag.id,false);		
		return;end;
		c1(flags.endofhint)
if not flags.endofhint  then  set_text(5654547,"68") return; end;   --если не пройден тутор то нельзя брать предметы 
		
	--тыкнули на сэил 	
	if obj_id == obj.sail.id and attachedID == -1 then
		
			if glove_on then
				if not flags.ski  then  CreatePlashechka(667,"73","goodgirl")	return; end;
				CollapseObj(obj_id);				
			else					
					CreatePlashechka(667,"55","goodgirl")				
			end;
		return; end;	
		
	--тыкнули на пропеллер ( полигон)--------------
		if obj_id == 70  then
			
			if glove_on then
			if not flags.ski  then   CreatePlashechka(667,"73","goodgirl") return; end;
				CollapseObj(obj.prop.id);
				set_visible_object(70,false)
			else			
					CreatePlashechka(667,"60","goodgirl")				
			end
		
		return;end
	--тыкнули на лыжу 1 (полигон)-----------	
		if obj_id == 71  then			
			if glove_on then
				CollapseObj(obj.ski1.id);
				BlockCursor(true);
				set_visible_object(71,false)
				set_visible_object(obj.arrow4.id,false);
				 flags.ski=true
			else			
					CreatePlashechka(667,"60","goodgirl")				
			end
		return;end
	--тыкнули на лыжу 2 (полигон)------------------
	
		if obj_id == 72  then			
			
			if glove_on then
				if not flags.ski  then   CreatePlashechka(667,"73","goodgirl") return; end;
				CollapseObj(obj.ski2.id);
				set_visible_object(72,false)
			else				
					CreatePlashechka(667,"60","goodgirl")				
			end
		return;end
		
	
	--коллапс частей----
	
		-- if obj_id == obj.ski1.id and flags.bag and flags.ski and attachedID == -1 then
			-- if glove_on then
				-- CollapseObj(obj_id);
				-- flags.ski=false;
			-- elseif  flags.tutor then
					-- set_text(5654547,"55")
			-- else
				-- CreatePlashechka(667,"55","goodgirl")
		
				
			-- end;
		-- return; end;
		
		--тыкнули на перчу-----
		if obj_id == obj.loc_glove.id and attachedID == -1  then		
		
			-- if flags.take then
				CollapseObj(obj_id);				
				if obj_id == obj.loc_glove.id then			
					setcolor(obj.loc_glove.id,0,0,0,1,1);		
					flags.glove=true;
				end;			
			-- end;
		return; end;		
		c1(flags.bag)
		
		--коллапс мусора------------
		if (obj_id == obj.coin1.id or obj_id == obj.coin2.id or obj_id == obj.coin3.id or obj_id == obj.coin4.id or 
			obj_id == obj.coin5.id or obj_id == obj.burger.id  or obj_id == obj.lamp.id  or obj_id ==obj.molotok1.id or obj_id == obj.dosie.id ) and attachedID == -1 then
			
			
			-- if obj_id == obj.loc_glove.id then
			-- end;
			if obj_id == obj.coin4.id then
				StartAnimation(obj.snow_fall.id,0,6);	
				playeffect("026")				
			end;				
			flags.items1 = flags.items1 + 1;
			CollapseObj(obj_id);				
		return; end;
		--коллапс частей-----
		
		--тыкнули на разбитый дельтаплан---------
		if obj_id == obj.delta_broken.id and attachedID == -1 then
			if not glove_on then				
					CreatePlashechka(667,"61","goodgirl")				
			return; end;
			if not flags.details_collected then				
					CreatePlashechka(667,"63","goodgirl")				
			return; end;
			speciale_action(4,obj_id);
			flags.delta_taken = true;	
			set_visible_object(obj.delta_hint.id,true);
			StartAnimation(obj.delta_hint.id);			
		--	addObjectToMouse(obj_id,-70,-140);
			add_to_mouse(obj_id)
			takeobjecttohand=true;
			playeffect("022")
			SetCustomCursor(obj.glove.id);
		return; end;
		-- End Take delta --
		
		
		--тыкнули на перестановленый дельтаплан--------------
		if obj_id ==obj.delta_established.id and flags.items1==11 and flags.sani  then
		CreatePlashechka(67,"106","goodgirl")	
		BlockCursor(true)
		flags.sani=false
		return;end;
		-- Deploy Delta and details --
		if obj_id == obj.delta_hint.id or obj_id == obj.sail_packed.id  or obj_id == obj.delta_established.id or obj_id == obj.ski3_set.id or
			obj_id == obj.ski1_set.id or obj_id == obj.ski2_set.id or obj_id == obj.prop_installed.id  then
			if flags.delta_taken then
				if takeobjecttohand then
					flags.delta_taken = false;
					flags.delta_deployed = true;
					takeobjecttohand=false
					StartAnimation(obj.sosul_fall.id,0,9);
					playeffect("005")
					playeffect("027")
					set_visible_object(obj.delta_broken.id,false);
					set_visible_object(obj.delta_hint.id,false);
					
					RemoveFromMouse(attachedID);
					SetAlfa(obj.delta_established.id,0.0,1.0,2);
					SetAlfa(obj.ski3_set.id,0.0,1.0,2);
					Set_Cursor( obj.delta_established.id, 2 );
					StartEmiter("Highlight1");
				return; end;
			return; end;

			if attachedID == -1 and flags.delta_deployed and ( not flags.sani1 or not flags.sani2 or not flags.sani3 or not flags.sani4 ) then
				CreatePlashechka(667,"67","goodgirl")
			end;
			
			if flags.sani then
				if flags.items1 == 11 then
					flags.comics3 = true;
					WaitRender();
					
				else
					CreatePlashechka(62267,"64","goodgirl")
				end;
			end;
			
			-- Deployment of details --
			if flags.delta_deployed then
				if attachedID == obj.ski11.id or  attachedID == obj.ski21.id or attachedID == obj.prop1.id or attachedID == obj.sail1.id then
					RemoveFromMouse(attachedID);
					UnStoreObj(attachedID);					
					if attachedID~=-1 and attachedID == obj.ski11.id then
						set_visible_object(obj.ski1_set.id,true);
										playeffect("028")
						flags.ski1 = false;
						takeobjecttohand=false
					end;
					if attachedID~=-1 and attachedID == obj.ski21.id then
						set_visible_object(obj.ski2_set.id, true);
									playeffect("028")
						flags.ski2 = false;
						takeobjecttohand=false
					end;
					if attachedID~=-1 and attachedID == obj.prop1.id then
						set_visible_object(obj.prop_installed.id, true);
						playeffect("028")
						flags.prop = false;
						takeobjecttohand=false
					end;
					if attachedID~=-1 and  attachedID == obj.sail1.id then
						set_visible_object(obj.sail_packed.id, true);
						playeffect("028")
						Set_Cursor(obj.sail_packed.id,2);						
						flags.sail = false;
						takeobjecttohand=false
					end;
					if not flags.sani1 then
						flags.sani1 = true;
					return; end;
					if not flags.sani2 then
						flags.sani2 = true;
					return; end;
					if not flags.sani3 then
						flags.sani3 = true;
					return; end;
					if not flags.sani4 then
						flags.sani4 = true;
						flags.sani = true;
						HideGlove();
						
						if flags.items1 == 11 then						
							StartEmiter("Highlight1");
							StartTimer(222,0.5);
						else
							CreatePlashechka(667,"65","goodgirl")
						end;
					return; end;
				return; end;
			return; end;
			-- End Deployment of details --		
		return; end;
	return; end;

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;
	

	--все предметы собраны 
	if flags.items1 >= 11 then		
	--и дельтаплан не переставлен летим на разбитый дельтаплан 
		if not flags.delta_deployed then
		computation(obj.delta_broken.id);	
		return; end;	
	--дельаплан переставлен---
		if flags.delta_deployed then		
		computation(obj.delta_established.id);
		return; end;
		
		return
	end
	ok = false
	
	while not ok do
	
	
	--тутор, летит на перчу----	
	--if flags.tutor and not flags.glove then
	 -- help_id=obj.loc_glove.id;	
	-- flags.clickhint=true
	 -- set_visible_object(obj.arrow5.id,false);
	-- else
	
	help_id = GetRandomObject();
--	end
		
		
		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;