骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 1436|回复: 5

[功能与代码] 将俘虏转化为奴隶兵

[复制链接]

3

主题

24

回帖

18

积分

随仆

Rank: 1

UID
3280741
第纳尔
277
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2021-10-21
鲜花(1) 鸡蛋(0)
发表于 2024-1-14 18:05:32 | 显示全部楼层 |阅读模式
本帖最后由 ghmhcgm 于 2024-1-14 18:16 编辑

这是我的帖子武装士兵修改版。(只需付钱) - MOD制作技术区 - 骑马与砍杀中文站论坛 - Powered by Discuz! (mountblade.com.cn)的拓展,用队伍里的俘虏来换取奴隶兵。(我没有合适的兵种,就只能拿斯骑示范了。)功能我测试过一遍了,有些小问题,但大体还能用。这也算是一篇半求助帖子吧。下面进入正题:
在module_game_menus.py中加入这几段代码:

      ("camp_arms",[],"arms.",
       [(jump_to_menu,"mnu_camp_arms"),
        ]
       ),##添加到营地菜单

然后到menu最后]之前添加。
  ("camp_arms",0,
   "what do you want to the armed forces?",
   "none",
   [
     ],
    [

      ("camp_national_army",[  
          (party_get_num_prisoners, ":prisoner", "p_main_party"), #检测俘虏数量
          (ge, ":prisoner", 5),#数量大于5
      ],"army.",
       [(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
          (try_for_range_backwards, ":i_stack", 0, ":num_stacks"),
           (party_prisoner_stack_get_troop_id, ":troop_no", "p_main_party", ":i_stack"),# 获取囚犯首领id
           (neg|troop_is_hero, ":troop_no"),# 不是英雄
           (val_add, ":troop_no", 1),
           (ge,":num_stacks",5),
           (party_remove_prisoners, "p_main_party", ":num_stacks", 5),#移除五个俘虏
           (party_add_members,"p_main_party","trp_swadian_man_at_arms",1),#得到一个奴隶兵
          (else_try),
           (display_message,"@no_injuries",0xFFFFFFFF),
           (jump_to_menu,"mnu_camp"),
          (try_end),

       ),
     ("camp_money_to_morale_back",[],"Go back.",#返回
       [(jump_to_menu, "mnu_camp"),
        ]
       ),
    ]
)
这就是代码部分,但不知怎的这字符串会出现两遍,我把图放出来,希望有大佬能帮忙完善一下。本人不会py,技术实在有限。

微信图片_20240114180806_new.png

3

主题

24

回帖

18

积分

随仆

Rank: 1

UID
3280741
第纳尔
277
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2021-10-21
鲜花(1) 鸡蛋(0)
 楼主| 发表于 2024-1-14 18:11:30 | 显示全部楼层
本帖最后由 ghmhcgm 于 2024-1-14 18:14 编辑

忘记发图了

25

主题

185

回帖

188

积分

见习骑士

Rank: 3

UID
3225805
第纳尔
1432
精华
0
互助
25
荣誉
0
贡献
0
魅力
196
注册时间
2021-3-14
鲜花(46) 鸡蛋(0)
发表于 2024-1-14 20:55:09 | 显示全部楼层

循环问题啊 ,你漏了

评分

参与人数 2第纳尔 +20 收起 理由
幼稚园殺手 + 10 乐于助人!
Aomine Daiki + 10 乐于助人!

查看全部评分

鲜花鸡蛋

ghmhcgm  在2024-1-14 22:01  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

3

主题

24

回帖

18

积分

随仆

Rank: 1

UID
3280741
第纳尔
277
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2021-10-21
鲜花(1) 鸡蛋(0)
 楼主| 发表于 2024-1-14 22:01:39 | 显示全部楼层
快乐风猫 发表于 2024-1-14 20:55
循环问题啊 ,你漏了

请问需要怎么改,能教我一下吗?或者说说要用哪个条件语句,比如说不用循环也可以的那种。我还没学会py,只知道一些有注释过条件语句,谢谢。

25

主题

185

回帖

188

积分

见习骑士

Rank: 3

UID
3225805
第纳尔
1432
精华
0
互助
25
荣誉
0
贡献
0
魅力
196
注册时间
2021-3-14
鲜花(46) 鸡蛋(0)
发表于 2024-1-16 12:59:08 | 显示全部楼层
本帖最后由 快乐风猫 于 2024-1-16 13:02 编辑
ghmhcgm 发表于 2024-1-14 22:01
请问需要怎么改,能教我一下吗?或者说说要用哪个条件语句,比如说不用循环也可以的那种。我还没学会py, ...

("camp_national_army",[  
          (party_get_num_prisoners, ":prisoner", "p_main_party"), #检测俘虏数量
          (ge, ":prisoner", 5),#数量大于5
      ],"army.",
       [(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
          (try_for_range_backwards, ":i_stack", 0, ":num_stacks"),
           (party_prisoner_stack_get_troop_id, ":troop_no", "p_main_party", ":i_stack"),# 获取囚犯首领id
           (neg|troop_is_hero, ":troop_no"),# 不是英雄
           (val_add, ":troop_no", 1),
          (try_begin),
           (ge,":num_stacks",5),
           (party_remove_prisoners, "p_main_party", ":num_stacks", 5),#移除五个俘虏
           (party_add_members,"p_main_party","trp_swadian_man_at_arms",1),#得到一个奴隶兵
          (else_try),
           (display_message,"@no_injuries",0xFFFFFFFF),
           (jump_to_menu,"mnu_camp"),
          (try_end),
          (try_end),

       ),


如果有多个 (else_try),判断条件的话 必须要 (try_begin),开始,最后(try_end),来结束,还有try_for_range也需要(try_end),来结束循环,有多少try_for_range就要多少个(try_end),来结束循环

评分

参与人数 1第纳尔 +10 收起 理由
幼稚园殺手 + 10 乐于助人!

查看全部评分

鲜花鸡蛋

ghmhcgm  在2024-1-16 23:44  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

3

主题

24

回帖

18

积分

随仆

Rank: 1

UID
3280741
第纳尔
277
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2021-10-21
鲜花(1) 鸡蛋(0)
 楼主| 发表于 2024-1-16 23:44:01 | 显示全部楼层
快乐风猫 发表于 2024-1-16 12:59
("camp_national_army",[  
          (party_get_num_prisoners, ":prisoner", "p_main_party"), #检测俘 ...

谢谢大佬,学到东西了。
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-5-18 11:53 , Processed in 0.127227 second(s), 27 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表