将家具、基础建筑的存留时间设定成3888000s确实可以使这些物品不会消失,永久存在于服务器。但是会导致这些战利品的刷新不会更替,也不便于过期玩家的领地管理。
如何解决这个问题?首先要了解领地旗的工作原理是什么。
*)关联文件:ServerFolder\mpmissions\MapFolder\db\globals.xml & types.xml
1)领地旗的存留时间在globals.xml(全局设置)和types.xml(物品类设置)里都有定义,但是globals.xml的优先权是高于types.xml的。就比如你在types.xml里把领地旗的存留时间设置为10秒,它也不见得一定会在10秒后被刷新掉,因为领地范围内的建筑包括领地旗的存留时间都受到了全局设置的限制,这个限制就是全局设置里的FlagRefreshFrequency和FlagRefreshMaxDuration的值。
2)这里按照工作顺序解释一下几个重要词条的作用:
//全局设置中的FlagRefreshFrequency=激活状态:领地范围内的物品(包括领地旗本身)将会在这个时间后重置存留时间倒计时。
//全局设置中的FlagRefreshMaxDuration=①领地旗降到底部的时间;②这段时间内,保持FlagRefreshFrequency的激活状态。(每一次升旗升到顶将会重置这个时间)
//物品类设置中的Lifetime=物品存留时间
3)工作顺序
领地旗范围内所有家具/基础建筑的存留时间都会在FlagRefreshFrequency(秒)之后重置倒计时,直到FlagRefreshMaxDuration(秒)后领地旗降落到底部,物品的存留时间开始按照types.xml里的定义开始倒计时。存留时间消耗完后,被定义的这个家具/建筑 消失。
4)举例:
假设:我设定FlagRefreshFrequency=86400秒(一天);设定FlagRefreshMaxDuration=432000秒(五天);设定领地旗Lifetime=86400秒(一天);设定领地范围内的建筑栅栏门(Fence)的存留时间为129600秒(一天半),同时为了方便理解,假设我的栅栏门在领地旗建立之后几乎同时建立。这样,假设我在某一天0点0分建造这个领地旗,且之后我不对这个领地旗进行互动,将会发生以下这些事:
第一天结束,领地旗的存留时间86400秒流逝到最后一秒后,因FlagRefreshFrequency的设定也是86400秒而重置存留时间,重新倒计时,栅栏门的存留时间也因为还没流逝完而在这个时刻重新倒计时,之后几天重复这个流程;领地旗下降有五个阶段,FlagRefreshMaxDuration的值为5天即:每天下降1/5的高度;第五天结束后,领地旗降到底部,FlagRefreshFrequency终止激活,领地旗和栅栏门的存留时间开始按照types.xml里的设定开始倒计时;第六天领地旗存留时间流逝完毕,领地旗消失;12小时候栅栏门存留时间结束,栅栏门消失。至此,我的领地被彻底清除。
5)这样做有什么好处?
自动清理过期的领地;不在领地范围内的战利品存留时间结束后会正常刷新掉;对优化服务器性能有好处。
6)需要注意的点:领地内需要受保护的家具/基础建筑的lifetime必须大于或等于FlagRefreshFrequency的值,若小于这个值,这个物品将会在FlagRefreshFrequency还没生效之前就被刷新掉。
如何解决这个问题?首先要了解领地旗的工作原理是什么。
*)关联文件:ServerFolder\mpmissions\MapFolder\db\globals.xml & types.xml
1)领地旗的存留时间在globals.xml(全局设置)和types.xml(物品类设置)里都有定义,但是globals.xml的优先权是高于types.xml的。就比如你在types.xml里把领地旗的存留时间设置为10秒,它也不见得一定会在10秒后被刷新掉,因为领地范围内的建筑包括领地旗的存留时间都受到了全局设置的限制,这个限制就是全局设置里的FlagRefreshFrequency和FlagRefreshMaxDuration的值。
2)这里按照工作顺序解释一下几个重要词条的作用:
//全局设置中的FlagRefreshFrequency=激活状态:领地范围内的物品(包括领地旗本身)将会在这个时间后重置存留时间倒计时。
//全局设置中的FlagRefreshMaxDuration=①领地旗降到底部的时间;②这段时间内,保持FlagRefreshFrequency的激活状态。(每一次升旗升到顶将会重置这个时间)
//物品类设置中的Lifetime=物品存留时间
3)工作顺序
领地旗范围内所有家具/基础建筑的存留时间都会在FlagRefreshFrequency(秒)之后重置倒计时,直到FlagRefreshMaxDuration(秒)后领地旗降落到底部,物品的存留时间开始按照types.xml里的定义开始倒计时。存留时间消耗完后,被定义的这个家具/建筑 消失。
4)举例:
假设:我设定FlagRefreshFrequency=86400秒(一天);设定FlagRefreshMaxDuration=432000秒(五天);设定领地旗Lifetime=86400秒(一天);设定领地范围内的建筑栅栏门(Fence)的存留时间为129600秒(一天半),同时为了方便理解,假设我的栅栏门在领地旗建立之后几乎同时建立。这样,假设我在某一天0点0分建造这个领地旗,且之后我不对这个领地旗进行互动,将会发生以下这些事:
第一天结束,领地旗的存留时间86400秒流逝到最后一秒后,因FlagRefreshFrequency的设定也是86400秒而重置存留时间,重新倒计时,栅栏门的存留时间也因为还没流逝完而在这个时刻重新倒计时,之后几天重复这个流程;领地旗下降有五个阶段,FlagRefreshMaxDuration的值为5天即:每天下降1/5的高度;第五天结束后,领地旗降到底部,FlagRefreshFrequency终止激活,领地旗和栅栏门的存留时间开始按照types.xml里的设定开始倒计时;第六天领地旗存留时间流逝完毕,领地旗消失;12小时候栅栏门存留时间结束,栅栏门消失。至此,我的领地被彻底清除。
5)这样做有什么好处?
自动清理过期的领地;不在领地范围内的战利品存留时间结束后会正常刷新掉;对优化服务器性能有好处。
6)需要注意的点:领地内需要受保护的家具/基础建筑的lifetime必须大于或等于FlagRefreshFrequency的值,若小于这个值,这个物品将会在FlagRefreshFrequency还没生效之前就被刷新掉。