
---------Частицы-------------------------

AddParticleToObject(obj.kusok.id,"Korabl");
MoveEmiter("Korabl",569,429);		
AddParticleToObject(obj.paluba.id,"machta1");
MoveEmiter("machta1",810,355);

AddParticleToObject(555,"machta");
MoveEmiter("machta",930,480);

--если корабль поднят включаем частицы на мачту
if flags.upship then
StartEmiter("machta")
end

--если корабль поднят и не зашли в дыру, создаем полигон
if  flags.comics1 then
flags.dirka=true;	
CreatePolygon(255,4,"dirka");
speciale_action(4,255)
Set_Cursor(255,1);
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.plashechka.id,false)
			set_visible_object(obj[imagetex].id,false)
			del_object_from_game(5654547)		
			gameinput(26,imageid)			
	end
--наведение на мачту
	if sender==35 then	
		if not glove_on and not canusegadjets and not scaner_on then
			if obj_id == obj.paluba.id and not flags.upship and  flags.items_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	
	RotateHandler(obj_id);	
if obj_id ==obj.dragonfly.id then	
	StartAnimation( 5555555555,1,5 );
	return;end;
if obj_id ==43 then
		StartAnimation(433);
		StartTravel(433,1,nil,nil, { "InstantiationOfLine",2, -100,240,1024,240,25,false});
		
		return;end;
		
		if obj_id ==42 then
		StartAnimation(422);
		StartTravel(422,1,nil,nil, { "InstantiationOfLine",2, 1100,200,-100,760,25,false});
		return;end;
		
		if obj_id ==422 then
		
		StartTravel(42,1,nil,nil, { "InstantiationOfLine",2, 0,240,1200,460,25,false});
		return;end;
		
		if obj_id ==433 then
		StartAnimation(43);
		StartTravel(43,1,nil,nil, { "InstantiationOfLine",2, 1024,240,-100,460,25,false});
		return;end;	
	return;end;

	
	
	if sender == 33 then
	
	

	if not flags.finish then
	
		flags.finish = false;
		ShowMenu(true);
		SwitchToSheet("re");
		if flags.items_collected then
		SwitchToSheet("gr");
		
		end
	 return;end		
	return;end;
	
if sender == 100 then
	


	if flags.comicsend then 
		set_visible_object(obj.kusok.id,true);
		AddParticleToObject(obj.kusok.id,"Korabl");
		MoveEmiter("Korabl",569,429);
		StartEmiter("Korabl");		
		Set_Cursor(obj.kusok.id,4);		
		Set_Cursor(obj.paluba.id,4);
		flags.comicsend=false;		
	end;
---------------------------------	
	--Проверка при загрузке о завершении поседнего комикса
	if flags.finish ==true  and flags.comics1==true then

	DeleteElement("gr", obj.paluba.id);
     set_visible_object(obj.paluba1.id,true,3);
     set_visible_object(obj.tenpaluba1.id,true);		 
     set_visible_object(obj.korabl2.id,true);
     set_visible_object(obj.korabl1.id,false);  
	 set_visible_object(obj.kusok.id,false);	
	 speciale_action(4,obj.koralli.id);
	 flags.upship=true; 	      
	 --set_visible_object(obj.machta.id,false);
	 set_visible_object(obj.kamni.id,true);
	 speciale_action(4,obj.kamni.id);   	           
     speciale_action(10,obj.korabl2.id);
			   
     set_visible_object(obj.dirka.id,true);  
     speciale_action(4,obj.dirka.id); 
	 Set_Cursor(obj.dirka.id,1);        
			   	   	ShowMenu(true);
					SwitchToSheet("re");
	
end;

if flags.upship ==true and not flags.dirka then
		set_visible_object(obj.paluba1.id,true);
		set_visible_object(obj.tenpaluba1.id,true);		
		set_visible_object(obj.kusok.id,false);
		speciale_action(4,obj.korabl1.id, true , 4);
		speciale_action(4,obj.koralli.id);
		flags.upship=true; 	   
	    speciale_action(4,44); 
		speciale_action(4,43); 
		speciale_action(4,45); 
		speciale_action(4,46); 
		speciale_action(4,42);				  
		StartEmiter("machta");
		Set_Cursor(555,4);
		set_visible_object(obj.paluba.id,false);
		speciale_action( 4, top_plush_id );
		speciale_action( 4, bottom_plush_id);			
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);
			flags.start_draw = false;
		return; end;
---------------------------------------------------------

	
		
		
		
		
end;  -- 100 сендер



if sender==12 then
--откалапсился камень
if obj_id==obj.kamni15.id then
StoreObj(obj_id);

end
--если откалапсилось 15 то 
if flags.items >=15 then 


flags.comics2=true;
StartTimer(1000,1.2);

return;end;
return;end
	
	
if sender == 1 then
	
--переход на следующую локацию	
	if obj_id ==255 and not glove_on and not canusegadjets  then	
		if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
		return;end;
		flags.finish=true;	
		del_object_from_game(obj.dragonfly.id)
		leafobj={2234}
		GetRenderTarget(2234,"rendertar");	
		minigg=true;
		levelnext=16;	 
	end
	

	
--Берем мачту
	c1(flags.upship)
	c1(flags.items_collected)
	if obj_id == obj.paluba.id and not flags.upship and  flags.items_collected  then
		if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
		return;end;
	if attachedID==obj.kamni.id then
		CreatePlashechka(9999,"600","goodgirl")
		RemoveFromMouse(attachedID);
	return;end;
	
	
	if glove_on and attachedID==-1 then	
		-- addObjectToMouse(obj_id,-50,-50);	
		add_to_mouse(obj_id)
		SetCustomCursor(obj.glove.id);		
		flags.paluba =true;
		StopEmiter("machta1");	
		takeobjecttohand=true
		takepaluba=true
	else	
		CreatePlashechka(9999,"203","goodgirl")
	return;end;
	return;end;
---------------------------

------Ложим камни в мачту

if obj_id ==555 then 

		if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
		return;end;
	
	

if attachedID ==-1 and flags.upship and not flags.dirka then
 CreatePlashechka(9999,"205","goodgirl")
return;end;

if attachedID ==obj.kamni151.id then
			RemoveFromMouse(attachedID);
		HideGlove()
		takeobjecttohand=false
		DeleteElement("gr", attachedID);		
		SetHotPoint(obj.korabl1.id,0,300)		  
		SetHotPoint(obj.Rotatemachta.id,100,100)		  
		set_visible_object(obj.paluba1.id,false);		
		set_visible_object(obj.Rotatemachta.id,true);		  
		RotateObject(obj.korabl1.id,0,-8,0.6,false)
	    RotateObject(obj.Rotatemachta.id,0,8,0.6,false)		
		set_visible_object(obj.kusok.id,false);		
	    speciale_action(4,obj.koralli.id);
		flags.upship=true; 	 		
		speciale_action(4,44); 
		speciale_action(4,43); 
			   speciale_action(4,45); 
			   speciale_action(4,46); 
			    speciale_action(4,42);
			  set_visible_object(obj.paluba.id,false);
			   StopEmiter("machta1");
		   StartTimer(55, 1);		   	
			BlockCursor(true);

	playeffect("097");
end;
return;end;

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





------------Предметы поиска и камни
if obj_id >obj.dirokol15.id -1 and obj_id <obj.iashik15.id+1 then 
if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
return;end;
if obj_id ==obj.kamni15.id then
	if glove_on then
		flags.kamni =true;
		CollapseObj(obj_id);
		
		flags.items = flags.items +1;
		if flags.items==15 then
			flags.items_collected=true;
		end
		else
		CreatePlashechka(9999,"203","goodgirl")	
	end
	
return;end;





flags.items = flags.items +1;

if flags.items==15 then
		flags.items_collected=true;
end


CollapseObj(obj_id);
return;end;
---------------------------------------



-------Применяем палубу на корабль
if obj_id ==obj.kusok.id and flags.items >=15 then


if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
return;end;
		
 
     if flags.paluba ==false  then
	 
	 CreatePlashechka(9999,"200","goodgirl")
	 
	return; end;
	
	if flags.items_collected==true and attachedID ==-1 or attachedID==obj.kamni.id then
	CreatePlashechka(9999,"202","goodgirl")
	end;
	
	 if flags.paluba ==true and flags.items_collected == false   then
	 
	 if glove_on == false or glove_on ==true  then 
	 CreatePlashechka(9999,"201","goodgirl")
	 return;end;
	return; end;
	
     if takeobjecttohand and attachedID ~=obj.kamni.id then
	 
	 if flags.items_collected==true then
	 takeobjecttohand=false
	 takepaluba=false
     RemoveFromMouse(attachedID);
     DeleteElement("gr", attachedID);
	  speciale_action(2,obj.paluba1.id,true,3);
     set_visible_object(obj.tenpaluba1.id,true);		 
	  set_visible_object(obj.kusok.id,false);
	  speciale_action(4,obj.korabl1.id, true , 4);
	  speciale_action(4,obj.koralli.id);
	  flags.upship=true; 	 
	              speciale_action(4,44); 
				  speciale_action(4,43); 
				  speciale_action(4,45); 
				  speciale_action(4,46); 
				  speciale_action(4,42);			 
				 
				set_visible_object(obj.paluba.id,false);
				-- HideGlove();	
				CreatePolygon(555,4,"paluba")
				playeffect("095");
				AddParticleToObject(555,"machta");
				MoveEmiter("machta",910,383);
				StartEmiter("machta");
				Set_Cursor(555,4);
			return;end;
			
    return;end;	
	 
end;

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


end; --сендер 1

--Клик инвентаря	
	if sender == 14 then 	
		--takeobjecttohand=true;
	if glove_on and not takepaluba  and not scaner_on then
	addObjectToMouse(obj_id);
	SetCustomCursor(obj.glove.id);	
	
	else
	CreatePlashechka(9999,"203","goodgirl")
	end
	 	return; end; 
------------------------------------------

		
---------Таймер-------------------------	
			if sender == 36 then					
				if 	obj_id ==1000 and flags.comics2 then
					flags.comics2=false;				
					CreatePlashechka(79,"105","goodgirl")
					flags.comics22=true;
					ShowMenu(true);		
					SwitchToSheet("gr")
					flags.comics=false;
					AddParticleToObject(obj.paluba.id,"machta1");
					MoveEmiter("machta1",810,355);
					StartEmiter("machta1");
					Set_Cursor(obj.paluba.id,4)		
					StartEmiter("Korabl")
					Set_Cursor(obj.kusok.id,4)						
				return;end;
--поднялся корабль			
				if obj_id==55 then			
					BlockCursor(false);
					CreatePlashechka(50,"103","goodgirl")
					flags.comics1=true;
					flags.dirka=true;	
					CreatePolygon(255,4,"dirka");
					speciale_action(4,255)
					Set_Cursor(255,1);
					StopEmiter("machta")
					Set_Cursor(555,3)
              end;	
		return; end;

if sender ==26 then
--обработка после того как корабль поднялся
	if obj_id ==50 then		
	   flags.dirka=true;	
		CreatePolygon(255,4,"dirka");
		Set_Cursor(255,1);
	
	end
end

 ------------правая кнопка мыши----------------- 
if sender == 8 then	
	HideScaner();	
	HideRentgen()
	HideNvg();
	if takeobjecttohand then 
		RemoveFromMouse(obj.paluba.id);
		SetObjectPosition(obj.paluba.id,743,339)
		StartEmiter("machta1");	
		takeobjecttohand=false
		takepaluba=false
	return;end;
	HideGlove();	
return end;
-------------------------------------------------

------------Обработка меню---------
if sender == 2 then		
	RemoveFromMouse(object);
	MessageProc(sender,obj_id);		
return;end;	



	if sender==777 then
	--старт уровня			
		if top_plush_id and  flags.comics then		
			StartTimer(765,1.5)
				StartTimer(43342,0.5,"conv26")
			function conv26()
				CreatePlashechka(79,"101","goodgirl")	
			end		
							
			ShowMenu(true)
			SwitchToSheet("re")
			flags.comics=false;
		end
			
	if top_plush_id then		
		ShowMenu(true)
		end	
	
	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.dirka then
computation(255);	
return;end
		
	if flags.items >= 15 then
	
		if flags.items_collected and not flags.upship then
			computation(obj.kusok.id);			
		return; end;
		
		if flags.upship then
			computation(555)			
		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;
-------------------------------------