185 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | ||
| sub_state_0 <- 0
 | ||
| sub_state_1 <- 1
 | ||
| 
 | ||
| function setCustomData_po_CreatorWoodFence(obj,recive)
 | ||
| {
 | ||
| 
 | ||
| 	if (!obj) return;
 | ||
| 
 | ||
| 	local time = recive.readDword();
 | ||
| 	
 | ||
| 	local chr = obj.getTopCharacter();
 | ||
| 	
 | ||
| 	if (chr)
 | ||
| 	{
 | ||
| 		 local map = sq_GetMap(chr);
 | ||
| 		 
 | ||
| 		 if (map)
 | ||
| 		 {
 | ||
| 			map.recalcAStarAttributesByMovableObject(obj, false);
 | ||
| 		 }
 | ||
| 	}
 | ||
| 	
 | ||
| 	
 | ||
| 	obj.getVar().clear_vector();
 | ||
| 	
 | ||
| 	obj.getVar().push_vector(time); // 卫除 	
 | ||
| 	obj.getVar().push_vector(0); // ?楚斜
 | ||
| 	
 | ||
| 	obj.getVar().clear_timer_vector();
 | ||
| 	obj.getVar().push_timer_vector();
 | ||
| 	obj.getVar().push_timer_vector();
 | ||
| 			
 | ||
| 	local t = obj.getVar().get_timer_vector(0);
 | ||
| 	t.setParameter(20, -1);
 | ||
| 	t.resetInstant(0);
 | ||
| 	
 | ||
| 	obj.getVar().clear_ct_vector();
 | ||
| 	obj.getVar().push_ct_vector();
 | ||
| 	local timer = obj.getVar().get_ct_vector(0);
 | ||
| 	timer.Reset();
 | ||
| 	timer.Start(10000,0);
 | ||
| 	
 | ||
| 	obj.getVar("state").clear_vector();
 | ||
| 	obj.getVar("state").push_vector(0);
 | ||
| 	
 | ||
| 	
 | ||
| 	if(obj.isMyControlObject())
 | ||
| 	{
 | ||
| 		local pIntVec = sq_GetGlobalIntVector();
 | ||
| 		sq_IntVectorClear(pIntVec);
 | ||
| 		sq_IntVectorPush(pIntVec, 0);
 | ||
| 			
 | ||
| 		obj.addSetStatePacket(PASSIVEOBJ_SUB_STATE_0, pIntVec, STATE_PRIORITY_AUTO, false, "");
 | ||
| 	}
 | ||
| 
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| function setState_po_CreatorWoodFence(obj,state,datas)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	
 | ||
| 	local passiveState = state;
 | ||
| 	
 | ||
| 	obj.getVar("state").set_vector(0, passiveState);
 | ||
| 
 | ||
| 	if(passiveState == PASSIVEOBJ_SUB_STATE_0)
 | ||
| 	{
 | ||
| 		//local ani = obj.getCustomAnimation(0);
 | ||
| 		//obj.setCurrentAnimation(ani);
 | ||
| 	
 | ||
| 		local chr = obj.getTopCharacter();
 | ||
| 		
 | ||
| 		local map = sq_GetMap(chr);
 | ||
| 
 | ||
| 		if (map)
 | ||
| 		{
 | ||
| 			map.recalcAStarAttributesByMovableObject(obj, false);
 | ||
| 		}
 | ||
| 	}
 | ||
| 	else if(passiveState == PASSIVEOBJ_SUB_STATE_1)
 | ||
| 	{
 | ||
| 		local ani = obj.getCustomAnimation(0);
 | ||
| 		obj.setCurrentAnimation(ani);
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| function procAppend_po_CreatorWoodFence(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 
 | ||
| 	local chr = obj.getTopCharacter();
 | ||
| 	
 | ||
| 	local passiveState = obj.getVar("state").get_vector(0);
 | ||
| 	
 | ||
| 	if (chr)
 | ||
| 	{
 | ||
| 		local initFlag = obj.getVar().get_vector(1);
 | ||
| 		
 | ||
| 		if (!initFlag)
 | ||
| 			 obj.getVar().set_vector(1, 1);
 | ||
| 	}
 | ||
| 	
 | ||
| 	
 | ||
| 	local ani = sq_GetCurrentAnimation(obj);
 | ||
| 	
 | ||
| 	if (passiveState == PASSIVEOBJ_SUB_STATE_0)
 | ||
| 	{	
 | ||
| 		local t = obj.getVar().get_ct_vector(0);
 | ||
| 		if (t)
 | ||
| 		{
 | ||
| 			local currentT = t.Get();
 | ||
| 			
 | ||
| 			local maxTime = obj.getVar().get_vector(0);
 | ||
| 			
 | ||
| 			if (currentT >= maxTime)
 | ||
| 			{
 | ||
| 				if (obj.isMyControlObject())
 | ||
| 				{
 | ||
| 					local pIntVec = sq_GetGlobalIntVector();
 | ||
| 				
 | ||
| 					sq_IntVectorClear(pIntVec);
 | ||
| 					sq_IntVectorPush(pIntVec, 0);
 | ||
| 
 | ||
| 					obj.addSetStatePacket(PASSIVEOBJ_SUB_STATE_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
 | ||
| 					//sq_SendDestroyPacketPassiveObject(obj);
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 	}
 | ||
| 	else if (passiveState == PASSIVEOBJ_SUB_STATE_1)
 | ||
| 	{
 | ||
| 		if (sq_IsEnd(ani))
 | ||
| 		{
 | ||
| 			sq_SendDestroyPacketPassiveObject(obj);
 | ||
| 		}
 | ||
| 	}
 | ||
| 
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| function onChangeSkillEffect_po_CreatorWoodFence(obj,skillIndex,reciveData)
 | ||
| {
 | ||
| 
 | ||
| 	if(!obj) return;
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| function onDestroyObject_po_CreatorWoodFence(obj,object)
 | ||
| {
 | ||
| 
 | ||
| 	if(!obj) return;
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| function onKeyFrameFlag_po_CreatorWoodFence(obj,flagIndex)
 | ||
| {
 | ||
| 
 | ||
| 	if(!obj) return;
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function onEndCurrentAni_po_CreatorWoodFence(obj)
 | ||
| {
 | ||
| 
 | ||
| 	if(!obj) return;
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| function destroy_po_CreatorWoodFence(obj)
 | ||
| {
 | ||
| 	local chr = obj.getTopCharacter();
 | ||
| 	
 | ||
| 	if (chr)
 | ||
| 	{
 | ||
| 		 local map = sq_GetMap(chr);
 | ||
| 		 
 | ||
| 		 if (map)
 | ||
| 		 {
 | ||
| 			map.recalcAStarAttributesByMovableObject(obj, true);
 | ||
| 		 }
 | ||
| 	}
 | ||
| } |