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);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 |