tenho a seguitne tabela lua


local MapPropertyTbl = {
    ["AllMaps"] = {
        EnableMap = true,
        Itens = {
            Keepafteruse = {
                Yggdrasilberry = true,
                Assumptio_5_Scroll = true,
            }
        }
    },
    ["geffen"] = {
        EnableMap = true,
        Settings = {
            DefaultColorChar =  true,
            BlockSendChatMessage = false,
            KeepTransformIfDead = true,
            Max_ASPD = 199,
        },
        MapFlags = {
            MF_PVP = true,
            MF_NOMEMO = false,
            MF_BEXP = 10000,
            MF_JEXP = 10000,
        },
        BlockJobEnterMap = {
            ["All"] = {
                Enable = true,
                BaseLv = 0,
                JobLv = 0,
                GroupID = 0,
            },
            ["1st"] = {
                Enable = false,
                BaseLv = 0,
                JobLv = 0,
                GroupID = 0,
            },
            ["2nd"] = {
                Enable = true,
                BaseLv = 20,
                JobLv = 10,
                GroupID = 0,
            },
            [job.CRUSADER] = {
                Enable = false,
                BaseLv = 0,
                JobLv = 0,
                GroupID = 0,
            },
            [job.HIGH_PRIEST] = {
                Enable = false,
                BaseLv = 0,
                JobLv = 0,
                GroupID = 0,
            }
        },
        EffectStatus = {
            [SC_ASSUMPTIO] = {
                EnableSkillOnly = true,
                MultiplyTime = 6.0
            },
            [SC_FOOD_VIT] = {
                MultiplyTime = 2.5,
            },
            [SC_HIDING] = {
                MultiplyTime = 1.2,
            },
            [SC_BURNING] = {
                MultiplyTime = 1.5,
            }
        },
        PlayerMap = function()
            RemoveStatus();
            bonus(bMaxHPrate,1000)
            bonus(bCastrate,-100)
            bonus(bDelayrate,-100)
            bonus(bHPrecovRate,500)
            script.skill(MO_TRIPLEATTACK,10)


            local transformInfo = {
                [B_KATRINN] = {
                    skills = { WZ_STORMGUST, WZ_VERMILION, MG_SIGHT, WZ_METEOR, HW_GANBANTEIN, HW_NAPALMVULCAN, WZ_FIREPILLAR, WZ_HEAVENDRIVE, WZ_WATERBALL },
                    status = { bStr = 80, bAgi = 80, bVit = 80, bInt = 100, bDex = 150, bLuk = 50, bMatk = 8000 }
                },
                [B_SEYREN] = {
                    skills = { KN_SPEARBOOMERANG, LK_SPIRALPIERCE, KN_TWOHANDQUICKEN, SM_BASH, SM_MAGNUM, SM_PROVOKE, SM_ENDURE },
                    status = { bStr = 100, bAgi = 100, bVit = 80, bInt = 80, bDex = 150, bLuk = 50, bAtk = 900, bAtk2 = 1200, bAtkRange = 9 }
                },
                [B_EREMES] = {
                    skills = { AS_GRIMTOOTH, TF_POISON, AS_SONICBLOW, AS_VENOMDUST, ASC_BREAKER, ASC_METEORASSAULT },
                    status = { bStr = 100, bAgi = 100, bVit = 80, bInt = 80, bDex = 150, bLuk = 50, bAtk = 100, bAtk2 = 1300 }
                }
            }


            local transformMonsterID = MapProperty.GetTransformMonsterID()
            dispbottom("Transform id " .. transformMonsterID)


            local transform = transformInfo[transformMonsterID]
            if transform ~= nil then
                for i = 1, #transform.skills do
                    MapProperty.SetSkillTransformMonster(transform.skills[i], i-1)
                end
                for bonusType, bonusValue in pairs(transform.status) do
                    bonus(bonusType, bonusValue)
                end
            end
        end,
        EnterMap = function()
            math.randomseed(os.time())
            local monster = { B_KATRINN, B_SEYREN, B_EREMES }
            local TranformID = monster[math.random(1, #monster)]


            MapProperty.TranformMonster(TranformID, TRANSFORM_EFFECT)
            hateffect(HAT_EF_SHRINK, true)
            percentheal(100, 100)
            --sc_end(SC_ASSUMPTIO)
            --checkpvp()
        end,
        ExitMap = function()
            hateffect(HAT_EF_SHRINK, false)
            --sc_end(SC_ASSUMPTIO)
        end,


    },
    ["new_1-1"] = {
        EnableMap = true,
        Itens = {
            ConsumeOnly = {
                Yggdrasilberry = true,
                Superb_Fish_Slice = true,
                Seed_Of_Yggdrasil = true,
                Assumptio_5_Scroll = true,
            },
            EquipOnly   = {
                Cotton_Shirt = true,
                Main_Gauche = true,
                Mace = false,
                Gryphon_Hat = true,
            },
            Keepafteruse = {
                Yggdrasilberry = true,
            },
        },
        BlockJobEnterMap = {
            All = {
                Enable = false,
                BaseLv = 0,
                JobLv = 0,
                GroupID = 99,
            },
        },
        BlockSkills = {
            HP_ASSUMPTIO = true,
            PR_KYRIE = false,
        },
        EffectStatus = {
            [SC_ASSUMPTIO] = {
                EnableSkillOnly = true,
                MultiplyTime = 6.0
            },
        },
        PlayerMap = function()
            RemoveStatus()
            bonus(bCastrate,-100)
            bonus(bDelayrate,-100)
            bonus(bDex, 900)
            bonus(bAgi, 600)
            script.skill(MO_TRIPLEATTACK,20)
        end,
        EnterMap = function()
            heal(2000, 2000)
            --print(getequipname(EQI_HEAD_TOP))
            --print(getgmlevel())
            --print(getgroupid())
            --print(checkskill(MO_TRIPLEATTACK))
            --print(getgdskilllv(1,GD_GUARDUP))
            --setcart(2)
            --print(checkcart())
            hateffect(HAT_EF_SHRINK, true)
        end,
        ExitMap = function()
            hateffect(HAT_EF_SHRINK, false)
        end,
    },
    ["comodo"] = {
        EnableMap = true,
        Settings = {
            DefaultColorChar =  false,
            BlockSendChatMessage = false,
            KeepTransformIfDead = false,
            Max_ASPD = 199,
        },
        PlayerMap = function()
            bonus(bAgi, 50)
            bonus(bMaxSPrate, 1000)
        end,
        EnterMap = function()
            specialeffect(EF_CLOAKING, AREA, playerattached())
            showscript("Trans-Form-!! Bloody Murderer Fo-rm!!")
            print(jobname(GetParam(Class)))
            --warp("Random")
            montransform(BLOODY_MURDERER, -1, SC_MTF_MHP, 1000)
        end,
        ExitMap = function()
            servicemessage("comodo", 0xFFFFFF)
            --sc_end(SC_MONSTER_TRANSFORM)
        end,
    },
    ["izlude"] = {
        EnableMap = true,
        PlayerMap = function()
            RemoveStatus()
        end,
        EnterMap = function()
            changebase(Job_Mage)
            percentheal(100,100)
            --[[local sd = struct.map_session_data(map.GetSession())


            for i = 0, 200 do
                if sd.inventory_data[i] then
                    print(sd.inventory_data[i].name)
                    for j = 1, 3 do
                        print(sd.inventory_data[i].class_base[j])
                    end
                end
            end]]--
        end,
        ExitMap = function()
            changebase(GetParam(Class))
        end
    }
}


MapPropertyTbl["payon"] = table.inherit(MapPropertyTbl["new_1-1"], {
    EnableMap = true,
    BlockSkills = {
        HP_ASSUMPTIO = true
    }
})

Escreva um código md completo para o uso da tabela lua, dando exemplos de uso completos, explicando detalhadamente cada campo