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