126 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| getroottable()["iceAreaRainCreatePos"] <- {};
 | ||
| getroottable()["iceAreaRainCreatePos"] = [[26,-30],[91,15],[-66,-5],[114,-39],[-37,-34],[-109,5],
 | ||
| 							  [26,20],[-20,4],[134,-12],[-92,-42],[-44,25],[-120,-23],[-23,-52],[62,-55],
 | ||
| 							  [55,1],[-10,-13],[84,-24]];
 | ||
| 				
 | ||
| ICEAREA_VAR_AREA_SIZE <- 0;	// 葆彻霞 觼晦徽						  
 | ||
| ICEAREA_VAR_LIFE_TIME <- 1; // 葆彻霞 卫除
 | ||
| ICEAREA_VAR_ICE_COUNT <- 2; // 当撩 橡挤 偎热
 | ||
| ICEAREA_VAR_ICE_RATE  <- 3; // 彩念 ?睦
 | ||
| ICEAREA_VAR_ICE_LEVEL <- 4; // 彩念溯涟
 | ||
| ICEAREA_VAR_ICE_TIME  <- 5; // 彩念卫除
 | ||
| 
 | ||
| function setCustomData_po_ATIceArea(obj,receiveData)
 | ||
| {		
 | ||
| 	if(!obj)
 | ||
| 		return;
 | ||
| 
 | ||
| 	local areaSizeRate= receiveData.readFloat();
 | ||
| 	local lifeTime	  = receiveData.readDword();
 | ||
| 	local iceRainCount= receiveData.readDword();
 | ||
| 	local iceRate	  = receiveData.readDword();
 | ||
| 	local iceLevel	  = receiveData.readDword();
 | ||
| 	local iceTime	  = receiveData.readDword();	
 | ||
| 	
 | ||
| 	local var = obj.getVar();
 | ||
| 	var.setFloat(ICEAREA_VAR_AREA_SIZE,areaSizeRate);
 | ||
| 	var.setInt(ICEAREA_VAR_LIFE_TIME,lifeTime);
 | ||
| 	var.setInt(ICEAREA_VAR_ICE_COUNT,iceRainCount);
 | ||
| 	var.setInt(ICEAREA_VAR_ICE_RATE,iceRate);
 | ||
| 	var.setInt(ICEAREA_VAR_ICE_LEVEL,iceLevel);
 | ||
| 	var.setInt(ICEAREA_VAR_ICE_TIME,iceTime);	
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function onTimeEvent_po_ATIceArea(obj, timeEventIndex, timeEventCount)
 | ||
| {		
 | ||
| 	if(!obj)
 | ||
| 		return false;
 | ||
| 		
 | ||
| 	if(timeEventIndex == 0) {
 | ||
| 		local var = obj.getVar();
 | ||
| 		local areaSizeRate = var.getFloat(ICEAREA_VAR_AREA_SIZE);
 | ||
| 		local iceRainCount = var.getInt(ICEAREA_VAR_ICE_COUNT);
 | ||
| 		local iceRate	   = var.getInt(ICEAREA_VAR_ICE_RATE);
 | ||
| 		local iceLevel	   = var.getInt(ICEAREA_VAR_ICE_LEVEL);
 | ||
| 		local iceTime	   = var.getInt(ICEAREA_VAR_ICE_TIME);
 | ||
| 
 | ||
| 		if(timeEventCount < iceRainCount)
 | ||
| 		{
 | ||
| 			local currentIndex = timeEventCount%::iceAreaRainCreatePos.len();
 | ||
| 			local pos = ::iceAreaRainCreatePos[currentIndex];	
 | ||
| 			local x = pos[0];
 | ||
| 			local y = pos[1];
 | ||
| 			local iceSizeRate = sq_getRandom(80,110)*0.01; //橡挤 念姜 觼晦			
 | ||
| 			
 | ||
| 			if(areaSizeRate != 1.0)
 | ||
| 			{
 | ||
| 				x = x * areaSizeRate;
 | ||
| 				y = y * areaSizeRate;
 | ||
| 			}
 | ||
| 			
 | ||
| 			if(obj.isMyControlObject())
 | ||
| 			{
 | ||
| 				sq_BinaryStartWrite();			
 | ||
| 				sq_BinaryWriteDword(iceRate);		// 彩念 ?睦
 | ||
| 				sq_BinaryWriteDword(iceLevel);		// 彩念 溯涟
 | ||
| 				sq_BinaryWriteDword(iceTime);		// 彩念 卫除
 | ||
| 				sq_BinaryWriteFloat(iceSizeRate);	// 橡挤 念姜 觼晦
 | ||
| 				
 | ||
| 				sq_SendCreatePassiveObjectPacket(obj,24226, 0, x.tointeger(), y.tointeger(), 250, ENUM_DIRECTION_NEUTRAL);
 | ||
| 			}
 | ||
| 		}	
 | ||
| 		else
 | ||
| 		{			
 | ||
| 			obj.setTimeEvent(1,500,1,false);
 | ||
| 			return true; // 颤桧该 属寥 酝钦
 | ||
| 		}
 | ||
| 	}
 | ||
| 	else if(timeEventIndex == 1) {
 | ||
| 		//饵塭虽朝 ?溯歜戏煎 撮?
 | ||
| 		local ani = obj.getCurrentAnimation();
 | ||
| 		if(ani) {
 | ||
| 			ani.setCurrentFrameWithChildLayer(11);
 | ||
| 		}
 | ||
| 	}
 | ||
| 	return false;	
 | ||
| } 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| function onKeyFrameFlag_po_ATIceArea(obj,flagIndex)
 | ||
| {		 
 | ||
| 	if(!obj)
 | ||
| 		return false;
 | ||
| 
 | ||
| 	local var = obj.getVar();
 | ||
| 	if(flagIndex == 1) {
 | ||
| 		local sizeRate = var.getFloat(ICEAREA_VAR_AREA_SIZE);//葆彻霞 觼晦徽
 | ||
| 		if(sizeRate != 1.0) {
 | ||
| 			local ani = obj.getCurrentAnimation();				
 | ||
| 			ani.setImageRateFromOriginal(sizeRate,sizeRate);
 | ||
| 		}		
 | ||
| 	}
 | ||
| 	if(flagIndex == 2) {
 | ||
| 		local var = obj.getVar();
 | ||
| 		local lifeTime	   = var.getInt(ICEAREA_VAR_LIFE_TIME);
 | ||
| 		local iceRainCount = var.getInt(ICEAREA_VAR_ICE_COUNT);
 | ||
| 				
 | ||
| 		local createGap = lifeTime/iceRainCount;
 | ||
| 		obj.setTimeEvent(0,createGap.tointeger(),500,false); 
 | ||
| 	}	
 | ||
| 	return true;
 | ||
| }
 | ||
| 
 | ||
| function onEndCurrentAni_po_ATIceArea(obj)
 | ||
| {
 | ||
| 	if(!obj)
 | ||
| 		return;
 | ||
| 
 | ||
| 	if(obj.isMyControlObject())
 | ||
| 	{
 | ||
| 		sq_SendDestroyPacketPassiveObject(obj);
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
|  |