ReadEmitterInfoz = function(tablename) local t = _G[tablename] if t ~= nil then for k, v in pairs(t) do SetEmitterInfo(k, MSG_SET_MAXPARTICLE, v.maxcount[1]) SetEmitterInfo(k, MSG_SET_SPAWNDIR1, v.dir1[1], v.dir1[2], v.dir1[3]) SetEmitterInfo(k, MSG_SET_SPAWNDIR2, v.dir2[1], v.dir2[2], v.dir2[3]) SetEmitterInfo(k, MSG_SET_GRAVITY, v.gravity[1], v.gravity[2], v.gravity[3]) SetEmitterInfo(k, MSG_SET_EMITRADIUS, v.radius[1], v.radius[2], v.radius[3]) SetEmitterInfo(k, MSG_SET_COLOR, v.color[1], v.color[2], v.color[3], v.color[4]) SetEmitterInfo(k, MSG_SET_EMITRATE, v.rate[1], v.rate[2], v.rate[3]) SetEmitterInfo(k, MSG_SET_SIZE, v.size[1], v.size[2], v.size[3]) SetEmitterInfo(k, MSG_SET_LIFETIME, v.life[1], v.life[2], v.life[3]) SetEmitterInfo(k, MSG_SET_TEXTURE, v.texture) SetEmitterInfo(k, MSG_SET_SPEED, v.speed[1]) SetEmitterInfo(k, MSG_SET_SRCMODE, v.srcmode[1]) SetEmitterInfo(k, MSG_SET_DESTMODE, v.destmode[1]) SetEmitterInfo(k, MSG_SET_ZENABLE, v.zenable[1]) SetEmitterInfo(k, MSG_SET_INIT) end end end ReadMagicFloorInfoz = function(tablename) local t = _G[tablename] if t ~= nil then for k, v in pairs(t) do SetMagicFloorInfo(k, MSG_SET_AREA, v.Speed[1]) SetMagicFloorInfo(k, MSG_SET_SIZE2, v.Size[1]) SetMagicFloorInfo(k, MSG_SET_ANGLE, v.Angle[1]) SetMagicFloorInfo(k, MSG_SET_RISEANGLE, v.RiseAngle[1]) SetMagicFloorInfo(k, MSG_SET_ALPHA, v.Alpha[1]) SetMagicFloorInfo(k, MSG_SET_FDA, v.FullDisplayAngle[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT0, v.Height0[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT1, v.Height1[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT2, v.Height2[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT3, v.Height3[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT4, v.Height4[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT5, v.Height5[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT6, v.Height6[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT7, v.Height7[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT8, v.Height8[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT9, v.Height9[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT10, v.Height10[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT11, v.Height11[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT12, v.Height12[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT13, v.Height13[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT14, v.Height14[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT15, v.Height15[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT16, v.Height16[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT17, v.Height17[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT18, v.Height18[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT19, v.Height19[1]) SetMagicFloorInfo(k, MSG_SET_HEIGHT20, v.Height20[1]) SetMagicFloorInfo(k, MSG_SET_INIT) end end end ReadEvilsPawInfoz = function(tablename) local t = _G[tablename] if t ~= nil then for k, v in pairs(t) do SetEvilsPawInfo(k, MSG_SET_OFFSET_POS, v.offsetPos[1], v.offsetPos[2], v.offsetPos[3]) SetEvilsPawInfo(k, MSG_SET_SIZE, v.Size[1]) SetEvilsPawInfo(k, MSG_SET_SPEED, v.Speed[1]) SetEvilsPawInfo(k, MSG_SET_INIT) end end end ReadAnimatedEmitterInfoz = function(tablename) local t = _G[tablename] if t ~= nil then for k, v in pairs(t) do SetAnimatedEmitterInfo(k, MSG_SET_MAXPARTICLE, v.maxcount[1]) SetAnimatedEmitterInfo(k, MSG_SET_SPAWNDIR1, v.dir1[1], v.dir1[2], v.dir1[3]) SetAnimatedEmitterInfo(k, MSG_SET_SPAWNDIR2, v.dir2[1], v.dir2[2], v.dir2[3]) SetAnimatedEmitterInfo(k, MSG_SET_GRAVITY, v.gravity[1], v.gravity[2], v.gravity[3]) SetAnimatedEmitterInfo(k, MSG_SET_EMITRADIUS, v.radius[1], v.radius[2], v.radius[3]) SetAnimatedEmitterInfo(k, MSG_SET_COLOR, v.color[1], v.color[2], v.color[3], v.color[4]) SetAnimatedEmitterInfo(k, MSG_SET_EMITRATE, v.rate[1], v.rate[2], v.rate[3]) SetAnimatedEmitterInfo(k, MSG_SET_SIZE, v.size[1], v.size[2], v.size[3]) SetAnimatedEmitterInfo(k, MSG_SET_LIFETIME, v.life[1], v.life[2], v.life[3]) SetAnimatedEmitterInfo(k, MSG_SET_TEXTURE, v.texture) SetAnimatedEmitterInfo(k, MSG_SET_SPEED, v.speed[1]) SetAnimatedEmitterInfo(k, MSG_SET_SRCMODE, v.srcmode[1]) SetAnimatedEmitterInfo(k, MSG_SET_DESTMODE, v.destmode[1]) SetAnimatedEmitterInfo(k, MSG_SET_ZENABLE, v.zenable[1]) SetAnimatedEmitterInfo(k, MSG_SET_INIT) end end end ReadEmitterInfoz_ver_1_0 = function(tablename) local t = _G[tablename] local version = _G[tablename .. "_version"] if t ~= nil then for k, v in pairs(t) do SetEmitterInfo(k, MSG_SET_MAXPARTICLE, v.maxcount[1]) SetEmitterInfo(k, MSG_SET_SPAWNDIR1, v.dir1[1], v.dir1[2], v.dir1[3]) SetEmitterInfo(k, MSG_SET_SPAWNDIR2, v.dir2[1], v.dir2[2], v.dir2[3]) SetEmitterInfo(k, MSG_SET_GRAVITY, v.gravity[1], v.gravity[2], v.gravity[3]) SetEmitterInfo(k, MSG_SET_EMITRADIUS, v.radius[1], v.radius[2], v.radius[3]) SetEmitterInfo(k, MSG_SET_COLOR, v.color[1], v.color[2], v.color[3], v.color[4]) SetEmitterInfo(k, MSG_SET_EMITRATE, v.rate[1], v.rate[2], v.rate[3]) SetEmitterInfo(k, MSG_SET_SIZE, v.size[1], v.size[2], v.size[3]) SetEmitterInfo(k, MSG_SET_LIFETIME, v.life[1], v.life[2], v.life[3]) SetEmitterInfo(k, MSG_SET_TEXTURE, v.texture) SetEmitterInfo(k, MSG_SET_SPEED, v.speed[1]) SetEmitterInfo(k, MSG_SET_SRCMODE, v.srcmode[1]) SetEmitterInfo(k, MSG_SET_DESTMODE, v.destmode[1]) if version == 1 then SetEmitterInfo(k, MSG_SET_ZENABLE, v.zenable[1]) end SetEmitterInfo(k, MSG_SET_INIT) end end end ReadEffectInfoz = function(tablename) local t = _G[tablename] if t ~= nil then for k, v in pairs(t) do SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_TYPE, v.Type[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_AREA, v.Speed[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_SIZE2, v.Size[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_ANGLE, v.Angle[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_RISEANGLE, v.RiseAngle[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_ALPHA, v.Alpha[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_FDA, v.FullDisplayAngle[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT0, v.Height0[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT1, v.Height1[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT2, v.Height2[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT3, v.Height3[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT4, v.Height4[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT5, v.Height5[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT6, v.Height6[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT7, v.Height7[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT8, v.Height8[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT9, v.Height9[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT10, v.Height10[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT11, v.Height11[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT12, v.Height12[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT13, v.Height13[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT14, v.Height14[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT15, v.Height15[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT16, v.Height16[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT17, v.Height17[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT18, v.Height18[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT19, v.Height19[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_HEIGHT20, v.Height20[1]) SetOtherEffectInfo(v.Type[1], v.ID[1], MSG_SET_INIT) end end end