返回列表
查看: 15521|回复: 11
[版主推荐]
贴近真实的领主逃回自己主城的时间机制
[复制链接]
rubik
rubik
当前离线
好友130
在线时间15283 小时
最后登录2022-6-28
949
主题1万
回帖1万
积分
侯爵[超级版主]
枢机主教
UID45575
第纳尔41748
精华20
互助1060
荣誉584
贡献1796
魅力1705
注册时间2007-10-24
发消息
鲜花(2617) 鸡蛋(8)
电梯直达
1楼
发表于 2018-1-22 21:39:58
|
只看该作者
|倒序浏览
|阅读模式
本帖最后由 rubik 于 2018-1-22 22:14 编辑
很多人可能都发现了一个现象,领主战败之后,不管是哪国的,不管战败地点离自己的主城远还是近,都是同一个时刻回城。我的MOD里,这一点表现得尤其明显,领主回城多半会从城里取兵,取兵信息一下就刷屏了,各国领主的取兵信息都有。其他MOD领主回城都不取兵,较难发现,但领主同时逃回自己主城是一个不以MOD为转移的事实。原因就在module_simple_triggers.py里的下面这个触发器,时间设定上很粗糙,就是每48小时检测一次,只要同时满足两个条件(没有被俘,没有带队)的领主,到了检测的时间点,就会在这个时间点全部刷到各自的主城里面。 很显然,在家门口战败,和不远万里深入敌后战败,战败时间相差不大,在同一个检测周期内的话,所有战败领主都会是在同一个时刻逃回各自的主城,这非常不合理,对守土的一方也非常不公平。
# Respawn hero party after kingdom hero is released from captivity.
(48,
[
(try_for_range, ":troop_no", active_npcs_begin, active_npcs_end),
(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
(str_store_troop_name, s1, ":troop_no"),
(neg|troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
(neg|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
(store_troop_faction, ":cur_faction", ":troop_no"),
(try_begin),
(eq, ":cur_faction", "fac_outlaws"), #Do nothing
(else_try),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_troop_name, s4, ":troop_no"),
(display_message, "str_debug__attempting_to_spawn_s4"),
(try_end),
(call_script, "script_cf_select_random_walled_center_with_faction_and_owner_priority_no_siege", ":cur_faction", ":troop_no"),#Can fail
(assign, ":center_no", reg0),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_party_name, s7, ":center_no"),
(str_store_troop_name, s0, ":troop_no"),
(display_message, "str_debug__s0_is_spawning_around_party__s7"),
(try_end),
(call_script, "script_create_kingdom_hero_party", ":troop_no", ":center_no"),
(try_begin),
(eq, "$g_there_is_no_avaliable_centers", 0),
(party_attach_to_party, "$pout_party", ":center_no"),
(try_end),
#new
#(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
#(call_script, "script_npc_decision_checklist_party_ai", ":troop_no"), #This handles AI for both marshal and other parties
#(call_script, "script_party_set_ai_state", ":party_no", reg0, reg1),
#new end
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
(call_script, "script_party_set_ai_state", ":party_no", spai_holding_center, ":center_no"),
(else_try),
(neg|faction_slot_eq, ":cur_faction", slot_faction_state, sfs_active),
(try_begin),
(is_between, ":troop_no", kings_begin, kings_end),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, "fac_commoners"),
(else_try),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", 10),
(call_script, "script_cf_get_random_active_faction_except_player_faction_and_faction", ":cur_faction"),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, reg0),
(try_end),
(try_end),
(try_end),
]),
所以我引入了一个机制,每隔4个小时,寻找一下所有领主的下落,有下落的话,就重新记录一遍领主出现在大地图上的时间和位置。 如果领主战败了,或者从监狱逃跑,或者被敌人释放,领主就会从大地图上消失,失踪了。这种情况下,领主在地图上的时间和位置就不会更新了,失踪之前记录下的时间和位置就是领主最后一次出现在在大地图上的时间和位置。 然后就可以根据领主失踪前的位置和领主主城的位置,来计算回城需要的时间,再加上失踪的时刻,就是领主最终回城的时刻。每4小时检测一次,如果当前时刻小于领主最终回城的时刻,那么就算领主满足那两个条件(没有被俘,没有带队)也不会刷出,还需要再等4个小时,再次检测,直到当前时刻大于领主回城的时刻,领主才会刷出。
整体的代码结构都修改了,那我就直接贴整段修改后的代码,用的时候直接整段替换。黑色加粗的地方是重点的地方。
# Respawn hero party after kingdom hero is released from captivity.
## CC
(4,
[
(try_for_range, ":troop_no", active_npcs_begin, active_npcs_end),
(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
(str_store_troop_name, s1, ":troop_no"),
(try_begin), # can find troop's position
(this_or_next|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
(troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
(try_begin),
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
(ge, ":party_no", 1),
(assign, ":relevant_party", ":party_no"),
(else_try),
(troop_get_slot, ":cur_prisoner_of_party", ":troop_no", slot_troop_prisoner_of_party),
(ge, ":cur_prisoner_of_party", 0),
(assign, ":relevant_party", ":cur_prisoner_of_party"),
(try_end),
# record last_position_game_hours and last_position_closest_center
(store_current_hours, ":last_position_hours"),
(troop_set_slot, ":troop_no", slot_troop_last_position_game_hours, ":last_position_hours"),
(call_script, "script_get_closest_center", ":relevant_party"),
(assign, ":closest_center_no", reg0),
(troop_set_slot, ":troop_no", slot_troop_last_position_closest_center, ":closest_center_no"),
(else_try),
(neg|troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
(neg|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
(store_troop_faction, ":cur_faction", ":troop_no"),
(try_begin),
(eq, ":cur_faction", "fac_outlaws"), #Do nothing
(else_try),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_troop_name, s4, ":troop_no"),
(display_message, "str_debug__attempting_to_spawn_s4"),
(try_end),
(call_script, "script_cf_select_random_walled_center_with_faction_and_owner_priority_no_siege", ":cur_faction", ":troop_no"),#Can fail
(assign, ":center_no", reg0),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_party_name, s7, ":center_no"),
(str_store_troop_name, s0, ":troop_no"),
(display_message, "str_debug__s0_is_spawning_around_party__s7"),
(try_end),
(try_begin),
(store_current_hours, ":cur_hours"),
(troop_get_slot, ":last_position_closest_center", ":troop_no", slot_troop_last_position_closest_center),
(troop_get_slot, ":last_position_hours", ":troop_no", slot_troop_last_position_game_hours),
(store_distance_to_party_from_party, ":distance_troop_to_move", ":last_position_closest_center", ":center_no"),
(store_div, ":need_hours", ":distance_troop_to_move", 4),
(store_add, ":next_respawn_hours", ":last_position_hours", ":need_hours"),
(ge, ":cur_hours", ":next_respawn_hours"),
(call_script, "script_create_kingdom_hero_party", ":troop_no", ":center_no"),
(try_begin),
(eq, "$g_there_is_no_avaliable_centers", 0),
(party_attach_to_party, "$pout_party", ":center_no"),
(try_end),
#new
#(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
#(call_script, "script_npc_decision_checklist_party_ai", ":troop_no"), #This handles AI for both marshal and other parties
#(call_script, "script_party_set_ai_state", ":party_no", reg0, reg1),
#new end
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
(call_script, "script_party_set_ai_state", ":party_no", spai_holding_center, ":center_no"),
(try_end),
(else_try),
(neg|faction_slot_eq, ":cur_faction", slot_faction_state, sfs_active),
(try_begin),
(is_between, ":troop_no", kings_begin, kings_end),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, "fac_commoners"),
(else_try),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", 10),
(call_script, "script_cf_get_random_active_faction_except_player_faction_and_faction", ":cur_faction"),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, reg0),
(try_end),
(try_end),
(try_end),
(try_end),
]),
## CC
其中用到了两个新slot,需要在module_constants.py里面进行定义。
slot_troop_last_position_closest_center = 406
slot_troop_last_position_game_hours = 407
这是我MOD里的数值,具体的视自己MOD的情况而定。首先slot编号不能和已经存在的关于troop的slot冲突,其次slot的编号尽量小,这样可以使得存档更小,也使得MOD运行更流畅。
这样修改之后就合理多了。战败回城或从监狱放出或者逃走是根据距离来的,同一阵营,偏远主城的领主回城晚,前线主城的领主回城早。侵略者战败回城晚,守土者战败回城早,有利于守土者。那种大地图对角线,战败后回城的领主,可能一个星期才能回城,这比原版48小时,也就是两天要长得多。而就在城门口被击败的领主,最多4个小时就转身回城。按平均距离算,多数领主是在十几个小时回城,比原版最长48小时要短,战争节奏更加紧凑。
4个小时检测一次,间隔是比较合适的。每1小时检测一次,虽然更准,但是会消耗更多资源。检测时间间隔太长,距离相差比较大的可能都是同一时间回城,就没有区分度了。 再加上只是获取的领主失踪前,离他最近的哪一个center,而不是领主本身的位置坐标,换句话说就是获取的一个近似位置,所以这个机制也只是贴近真实,也只需要是贴近真实,不需要完全真实。
@Eason_hdy
评分
参与人数 2第纳尔 +100
互助 +5
魅力 +1
收起
理由
蛋清
+ 70
+ 3
+ 1
原创内容,值得鼓励!
小韦飞狼
+ 30
+ 2
您的帖子很有价值!
查看全部评分
鲜花鸡蛋ㄡPredoome々 在2019-8-26 01:37 送朵鲜花 并说:R大R大15653910782 在2019-5-23 10:53 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下15653910782 在2019-5-23 10:53 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下15653910782 在2019-5-23 10:53 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下15653910782 在2019-5-23 10:53 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下15653910782 在2019-5-23 10:53 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下Eason_hdy 在2018-8-14 10:43 送朵鲜花 并说:好久没来,看到R大@我了,好激动。y74k8 在2018-7-25 09:46 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下13051108791 在2018-4-29 12:48 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下erb 在2018-4-7 04:27 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下
分享到:
QQ好友和群
QQ空间
收藏13
分享
rubik
回复
鲜花(2617) 鸡蛋(8)
使用道具
举报
提升卡
置顶卡
沉默卡
变色卡
显身卡
rubik
rubik
当前离线
好友130
在线时间15283 小时
最后登录2022-6-28
949
主题1万
回帖1万
积分
侯爵[超级版主]
枢机主教
UID45575
第纳尔41748
精华20
互助1060
荣誉584
贡献1796
魅力1705
注册时间2007-10-24
发消息
鲜花(2617) 鸡蛋(8)
2楼
楼主|
发表于 2018-1-22 21:46:19
|
只看该作者
本帖最后由 rubik 于 2018-1-22 22:01 编辑
用到了两个slot,一个记录时间,一个记录位置。位置是二维的,一般需要两个slot,我是用离领主最近的center来近似记录领主的位置。只用记录下center的ID,一个slot就够了。领主逃回主城的速度,我设定为每小时4个单位。 区分白夜有点麻烦,按单骑的速度又太快了,还要考虑地形,绕路等因素。综合白天晚上及各种因素,再考虑游戏性,定为每小时4个单位,也就是4.0的速度。
细心的人会发现,这个触发器不光是为了处理领主回城的问题,最下面的代码还顺带处理了灭国之后,领主转投的问题。我虽然没有修改这段代码,但我修改了触发器的整体检测时间,由48小时改为4个小时。 这就意味着,领主的转投速度加快了很多倍。从代码可以看出,被灭国的领主,每个检测周期,只有10%的几率会转投其他国家,90%的几率选择继续等待。90%的等待几率,再加上48小时一次的检测频率,很可能几个月都不见某些领主成功转投其他国家,玩家都快以为这些领主完全消失了。 改成每4个小时检测一次,虽然每次的几率还是10%,但频率一高,领主也能快速成功转投其他国家了,避免玩家傻等很长时间都等不到某些领主转投。 我的MOD里有复辟,转投这一点就变得很重要,如果转投太慢了,很可能灭国的领主还没有转投成功,国家就复辟了,这些领主就不用转投了。
rubik
回复
鲜花(2617) 鸡蛋(8)
使用道具
举报
显身卡
BattleField
BattleField
当前离线
好友6
在线时间1056 小时
最后登录1970-1-1
19
主题1452
回帖511
积分
皇家侍卫长[官方战队队长]
光辉骑士团[UTD] 战团ID:UTD_awe23
UID2102975
第纳尔7295
精华0
互助10
荣誉2
贡献0
魅力73
注册时间2014-8-1
发消息
鲜花(77) 鸡蛋(2)
3楼
发表于 2018-1-22 23:05:53
|
只看该作者
本帖最后由 BattleField 于 2018-1-22 23:08 编辑
rubik 发表于 2018-1-22 21:46
用到了两个slot,一个记录时间,一个记录位置。位置是二维的,一般需要两个slot,我是用离领主最近的center ...
记录位置可以考虑将X和Y一一映射到一个对应数值上面的方法(只要值域在引擎所允许的数值范围内),也只要一个slot
进一步讲,其实只要是数学意义上数值的储存,都可以考虑这种方式。
回复
鲜花(77) 鸡蛋(2)
使用道具
举报
显身卡
rubik
rubik
当前离线
好友130
在线时间15283 小时
最后登录2022-6-28
949
主题1万
回帖1万
积分
侯爵[超级版主]
枢机主教
UID45575
第纳尔41748
精华20
互助1060
荣誉584
贡献1796
魅力1705
注册时间2007-10-24
发消息
鲜花(2617) 鸡蛋(8)
4楼
楼主|
发表于 2018-1-23 09:55:56
来自手机
|
只看该作者
的确可以用类似位运算的方法将多个数值储存在一个数值上,再通过取余数以及除后取整来把多个数值分解出来。但这个方法比较麻烦,坐标还面临负数的问题。最简洁,执行效率最高的还是准备两个slot分别记录x和y,然后把两个坐标赋到某个临时部队,再获取这个临时部队到领主主城的距离。我顶楼的方法,获取离领主最近的center,运算次数繁多,执行效率并不高。
回复
鲜花(2617) 鸡蛋(8)
使用道具
举报
显身卡
词穷
词穷
当前离线
好友0
在线时间0 小时
最后登录2019-1-2
0
主题7
回帖2
积分
平民
平民, 积分 2, 距离下一级还需 8 积分
平民, 积分 2, 距离下一级还需 8 积分
UID2849747
第纳尔75
精华0
互助0
荣誉0
贡献0
魅力0
注册时间2017-7-2
发消息
鲜花(0) 鸡蛋(0)
5楼
发表于 2018-1-26 14:52:26
|
只看该作者
支持r大!!!!
回复
鲜花(0) 鸡蛋(0)
使用道具
举报
显身卡
rubik
rubik
当前离线
好友130
在线时间15283 小时
最后登录2022-6-28
949
主题1万
回帖1万
积分
侯爵[超级版主]
枢机主教
UID45575
第纳尔41748
精华20
互助1060
荣誉584
贡献1796
魅力1705
注册时间2007-10-24
发消息
鲜花(2617) 鸡蛋(8)
6楼
楼主|
发表于 2018-1-27 10:54:34
|
只看该作者
本帖最后由 rubik 于 2018-1-27 11:17 编辑
更新一个用坐标x和y来记录领主位置的代码。这个更准确,执行效率更高。更准确这一点可以忽略,因为提高的准确度并不算很多。重点是执行效率,之前搜索离领主最近的center,会把所有的center都和当前的领主计算一遍距离,选出最近的一个,我的MOD里面,有140多个center,也就是要执行140多次计算距离的操作。而下面的代码,直接记录坐标,就省下了那140多次的操作。
第一处加粗的地方很重要,是设定坐标精度的。设为1,就代表直接使用坐标的整数部分。为什么要加这一行,是因为设定精度是一个全局操作,很可能在presentation里面设定为1000,查看某个presentation然后切到大地图上的时候,没有还原为1,那么代码里的坐标,就会被放大1000倍,完全就是一个错的坐标。后面加粗的两处,就是使用坐标来记录领主位置并计算距离的代码。
红色部分处于注释状态,这是我写的测试代码,输出回城之后的领主,他上次出现的时间,回城需要的时间,还有当前的时间。以判断代码是否正常运行,以及回城时间是否长得很离谱。最下面蓝色的部分是灭国后,领主转投其他阵营的几率。由于我把判定周期从48小时改为4个小时,检测频率提高了12倍,变相大大提高了转投的成功率,所以我就把这个10%改为5%。
# Respawn hero party after kingdom hero is released from captivity.
## CC
(4,
[ (set_fixed_point_multiplier, 1),
(try_for_range, ":troop_no", active_npcs_begin, active_npcs_end),
(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
(str_store_troop_name, s1, ":troop_no"),
(try_begin), # can find troop's position
(this_or_next|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
(troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
(try_begin),
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
(ge, ":party_no", 1),
(assign, ":relevant_party", ":party_no"),
(else_try),
(troop_get_slot, ":cur_prisoner_of_party", ":troop_no", slot_troop_prisoner_of_party),
(ge, ":cur_prisoner_of_party", 0),
(assign, ":relevant_party", ":cur_prisoner_of_party"),
(try_end),
# record last_position_game_hours and last_position_x, last_position_y
(store_current_hours, ":last_position_hours"),
(troop_set_slot, ":troop_no", slot_troop_last_position_hours, ":last_position_hours"),
(party_get_position, pos1, ":relevant_party"),
(position_get_x, ":pos_x", pos1),
(position_get_y, ":pos_y", pos1),
(troop_set_slot, ":troop_no", slot_troop_last_position_x, ":pos_x"),
(troop_set_slot, ":troop_no", slot_troop_last_position_y, ":pos_y"),
(else_try),
(neg|troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
(neg|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
(store_troop_faction, ":cur_faction", ":troop_no"),
(try_begin),
(eq, ":cur_faction", "fac_outlaws"), #Do nothing
(else_try),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_troop_name, s4, ":troop_no"),
(display_message, "str_debug__attempting_to_spawn_s4"),
(try_end),
(call_script, "script_cf_select_random_walled_center_with_faction_and_owner_priority_no_siege", ":cur_faction", ":troop_no"),#Can fail
(assign, ":center_no", reg0),
(try_begin),
(eq, "$cheat_mode", 2),
(str_store_party_name, s7, ":center_no"),
(str_store_troop_name, s0, ":troop_no"),
(display_message, "str_debug__s0_is_spawning_around_party__s7"),
(try_end),
(try_begin),
(store_current_hours, ":cur_hours"),
(troop_get_slot, ":pos_x", ":troop_no", slot_troop_last_position_x),
(troop_get_slot, ":pos_y", ":troop_no", slot_troop_last_position_y),
(position_set_x, pos1, ":pos_x"),
(position_set_y, pos1, ":pos_y"),
(party_set_position, "p_temp_party", pos1),
(troop_get_slot, ":last_position_hours", ":troop_no", slot_troop_last_position_hours),
(store_distance_to_party_from_party, ":distance_troop_to_move", "p_temp_party", ":center_no"),
(store_div, ":need_hours", ":distance_troop_to_move", 4),
(store_add, ":next_respawn_hours", ":last_position_hours", ":need_hours"),
(ge, ":cur_hours", ":next_respawn_hours"),
# ## test
# (try_begin),
# (gt, ":last_position_hours", 0),
# (str_store_troop_name, s0, ":troop_no"),
# (assign, reg3, ":last_position_hours"),
# (assign, reg4, ":need_hours"),
# (assign, reg5, ":cur_hours"),
# (display_message, "@{s0}, last_position_hours: {reg3}, need {reg4} hours, cur_hours: {reg5}"),
# (try_end),
# ## test
(call_script, "script_create_kingdom_hero_party", ":troop_no", ":center_no"),
(try_begin),
(eq, "$g_there_is_no_avaliable_centers", 0),
(party_attach_to_party, "$pout_party", ":center_no"),
(try_end),
#new
#(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
#(call_script, "script_npc_decision_checklist_party_ai", ":troop_no"), #This handles AI for both marshal and other parties
#(call_script, "script_party_set_ai_state", ":party_no", reg0, reg1),
#new end
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
(call_script, "script_party_set_ai_state", ":party_no", spai_holding_center, ":center_no"),
(try_end),
(else_try),
(neg|faction_slot_eq, ":cur_faction", slot_faction_state, sfs_active),
(try_begin),
(is_between, ":troop_no", kings_begin, kings_end),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, "fac_commoners"),
(else_try),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", 5),
(call_script, "script_cf_get_random_active_faction_except_player_faction_and_faction", ":cur_faction"),
(troop_set_slot, ":troop_no", slot_troop_change_to_faction, reg0),
(try_end),
(try_end),
(try_end),
(try_end),
]),
## CC
用到的3个新slot。
slot_troop_last_position_hours = 406
slot_troop_last_position_x = 407
slot_troop_last_position_y = 408
rubik
回复
鲜花(2617) 鸡蛋(8)
使用道具
举报
显身卡
15653910782
15653910782
当前离线
好友11
在线时间506 小时
最后登录2025-10-31
25
主题4009
回帖1230
积分
骑士长
骑士长, 积分 1230, 距离下一级还需 1769 积分
骑士长, 积分 1230, 距离下一级还需 1769 积分
UID2781503
第纳尔11061
精华0
互助4
荣誉0
贡献0
魅力59
注册时间2016-11-27
发消息
鲜花(97) 鸡蛋(1)
7楼
发表于 2018-2-1 08:05:52
来自手机
|
只看该作者
领军者会引入这个机制吗
回复
鲜花(97) 鸡蛋(1)
使用道具
举报
显身卡
先轸
先轸
当前离线
好友0
在线时间233 小时
最后登录2025-9-2
18
主题41
回帖18
积分
随仆
随仆, 积分 18, 距离下一级还需 11 积分
随仆, 积分 18, 距离下一级还需 11 积分
UID5336
第纳尔713
精华0
互助0
荣誉0
贡献0
魅力0
注册时间2007-2-1
发消息
鲜花(2) 鸡蛋(0)
8楼
发表于 2018-3-12 14:56:37
|
只看该作者
真是猛啊。工鞥合理。
回复
鲜花(2) 鸡蛋(0)
使用道具
举报
显身卡
不动明王霍金
不动明王霍金
当前离线
好友0
在线时间10 小时
最后登录2020-2-27
15
主题134
回帖45
积分
扈从
扈从, 积分 45, 距离下一级还需 54 积分
扈从, 积分 45, 距离下一级还需 54 积分
UID2882878
第纳尔404
精华0
互助0
荣誉0
贡献0
魅力0
注册时间2017-10-9
发消息
鲜花(3) 鸡蛋(1)
9楼
发表于 2018-4-10 19:06:56
|
只看该作者
在下感慨良多。。 唯有用 666666666 来表达我的心情。
回复
鲜花(3) 鸡蛋(1)
使用道具
举报
显身卡
rubik
rubik
当前离线
好友130
在线时间15283 小时
最后登录2022-6-28
949
主题1万
回帖1万
积分
侯爵[超级版主]
枢机主教
UID45575
第纳尔41748
精华20
互助1060
荣誉584
贡献1796
魅力1705
注册时间2007-10-24
发消息
鲜花(2617) 鸡蛋(8)
10楼
楼主|
发表于 2018-4-29 18:30:34
|
只看该作者
我测试过了,效果很好。我用萨兰德的加米耶德堡,快速耗死了萨兰德。 具体就是先占领加米耶德堡,然后守城击败来攻的集团军,萨兰德由于是本土作战,战败后基本上几个小时就都回城了,不到一天时间,又拉了一队集团军来攻城。连续守城三次,击败三波集团军,不到10天,萨兰德就被极大削弱了。然后斯瓦迪亚和罗多克联合攻城拔寨,中途萨兰德出现叛乱,最后萨兰德极速灭亡。
就以前的情况来讲,玩家多半也是采取这个战略,但效果不好。原因就四个字:动态平衡。 一个国家的实力不是恒定的,而是处于一种动态平衡的状态,一方面对外战争会损耗国力,一方面随着时间推移国力慢慢增长。以前领主回城慢,给了各城以充分的征兵时间,国力较容易补充。而一旦国力消耗的速度明显快于恢复速度,国家就会快速灭亡。所以领主本土作战快速回城取兵是一把双刃剑,一方面可以快速集结兵力反扑,收回失地,另外一方面,如果连续多次攻一个城失败,就会加速国力的消耗,导致快速灭亡。
rubik
回复
鲜花(2617) 鸡蛋(8)
使用道具
举报
显身卡
牵牛星¥幸福
牵牛星¥幸福
当前离线
好友56
在线时间1768 小时
最后登录1970-1-1
79
主题4996
回帖1673
积分
骑士长
暴风骑士团[SK] 战团ID:生锈的奥利奥
骑士长, 积分 1673, 距离下一级还需 1326 积分
骑士长, 积分 1673, 距离下一级还需 1326 积分
UID2127474
第纳尔1825
精华0
互助20
荣誉5
贡献10
魅力270
注册时间2014-8-17
发消息
鲜花(698) 鸡蛋(159)
11楼
发表于 2018-5-4 13:02:07
|
只看该作者
支持一下 领军者下版本加入吗
点评
rubik
1.439里面已经加入了。
发表于 2018-5-4 23:30
回复
鲜花(698) 鸡蛋(159)
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖 登录 | 注册(Register!)
本版积分规则
发表回复
回帖后跳转到最后一页
骑砍中文站APP会员勋章
参与APP测试贡献勋章
元老骑士勋章
元老骑士勋章
原版正版勋章
原版骑砍中文站正版用户勋章
战团正版勋章
战团骑砍中文站正版用户勋章
火与剑正版勋章
火与剑骑砍中文站正版用户勋章
拿破仑正版勋章
拿破仑骑砍中文站正版用户勋章
维京征服正版勋章
维京征服骑砍中文站正版用户勋章
骑士美德之英勇勋章[杰出会员活跃勋章]
法兰西
骑士美德之大无畏勋章[杰出会员高级活跃勋章]
俄罗斯
骑士美德之仁慈勋章[杰出会员互助勋章]
匈牙利
骑士美德之侠义勋章[杰出会员高级互助勋章]
威尼斯
骑士美德之谦恭勋章[杰出会员财富勋章]
阿兹特克
骑士美德之公正勋章[杰出会员高级财富勋章]
教皇国
骑士美德之忠诚勋章[杰出会员精华勋章]
摩尔
骑士美德之正义勋章[杰出会员荣誉勋章]
西西里
骑士美德之荣耀勋章[杰出会员高级荣誉勋章]
撒克逊
骑士美德之圣洁勋章[杰出会员高级精华勋章]
丹麦
杰出汉化小组成员勋章
苏格兰
骑士美德之慷慨勋章
米兰
骑士荣誉之原版汉化勋章
2007年原版汉化贡献者
骑士荣誉之战团汉化勋章
2010年战团汉化贡献者
骑士美德之高贵勋章
杰出会员高级贡献勋章
骑士美德之奉献勋章
杰出会员贡献勋章
汉匈决战正版勋章
汉匈决战骑砍中文站正版用户勋章
2024国庆青训杯季军勋章
2024国庆青训杯季军选手
第二届梦幻联赛奉献勋章
2024梦幻联赛优秀裁判/解说
第十一届战团中国联赛征战勋章
2023年战团中国联赛征战勋章
第十一届战团中国联赛铁骨勋章
2023年战团中国联赛优秀选手
第一届梦幻联赛参与勋章
2023梦幻联赛参与选手
第十届战团中国联赛征战勋章
2022年战团中国联赛征战勋章
霸主正版勋章
骑砍2:霸主骑砍中文站正版勋章
有生之年勋章
2019年骑马与砍杀2联机首测活动
骑砍中文站微博会员勋章
骑砍中文站八、九、十周年庆典
骑友真人秀Ⅱ勋章
骑砍中文站九周年庆典