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