骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 【战团】自定义战利品

[复制链接]

9

主题

5

回帖

44

积分

扈从

Rank: 2Rank: 2

UID
3645558
第纳尔
120
精华
0
互助
8
荣誉
0
贡献
0
魅力
50
注册时间
2024-4-15
鲜花(4) 鸡蛋(0)
发表于 2024-4-16 22:25:31 | 显示全部楼层 |阅读模式
本帖最后由 b1ink 于 2024-4-16 22:30 编辑



## 自定义战利品

简单的描述就是,击败某支部队模板之后,有一定概率掉落某样东西.

由于每次我们击败一支部队,都会获取战利品,所以我们在战利品计算函数```party_calculate_loot```里去添加代码就可以了.

思路就是这样,这次我们将自定义战利品封装成一个函数,以便我们随时调用.

**函数的封装调用**,请看这个帖子(若没有基础请务必先看此贴):
https://bbs.mountblade.com.cn/thread-2104999-1-1.html


那么我们先写自定义战利品的部分,加个函数```b1_chanceloot_pt_singleitem```吧:

```python
(store_script_param, ":custom_enemy_party_template_id", 1), #自定义敌方部队模板 pt_ 开头的
(store_script_param, ":loot_item_id", 2), #自定义战利品物品 itm_ 开头的
(store_script_param, ":loot_chance", 3), #自定义战利品掉落几率 0-100 之间的整数

(try_begin),
    (party_get_template_id, ":enemy_party_template_id", "$g_enemy_party"), #g_enemy_party这个全局变量,在party_calculate_loot里面有定义,是当前敌人部队的指针,我们用party_get_template_id获取它的模板id,也就是pt_开头的id.
    (eq, ":enemy_party_template_id", ":custom_enemy_party_template_id"),
    (store_random_in_range,":roll", 0, 100),
    (lt, ":roll", ":loot_chance"),
    (troop_ensure_inventory_space, "trp_temp_troop", 1),
    (troop_add_item, "trp_temp_troop", ":loot_item_id"),
    (troop_sort_inventory, "trp_temp_troop"),
(try_end),
```

用MBCodeEditor编译成txt,并放入```scripts```中,注意总函数数量 **+1**:

```python
b1_chanceloot_pt_singleitem -1
12 23 2 1224979098644774912 1 23 2 1224979098644774913 2 23 2 1224979098644774914 3 4 0 1609 2 1224979098644774915 144115188075856187 31 2 1224979098644774915 1224979098644774912 2136 3 1224979098644774916 0 100 2147483678 2 1224979098644774916 1224979098644774914 1510 2 360287970189639683 1 1530 3 360287970189639683 1224979098644774913 0 1511 1 360287970189639683 3 0
```

最后我们在```scripts```,找到战利品计算函数```party_calculate_loot```,添加一行调用即可.

例如我想让`绿林强盗`pt_forest_bandits这个部队模板有`95%`的几率掉落`龙泪`itm_qualis,可以这样写:

```python
(call_script,"script_b1_chanceloot_pt_singleitem", "pt_forest_bandits", "itm_qualis", 95),
```

再举个例子,让`赏金猎人`pt_manhunters这个部队模板有`50%`的几率掉落`天鹅绒`itm_velvet,可以这样写:

```python
(call_script,"script_b1_chanceloot_pt_singleitem", "pt_manhunters", "itm_velvet", 50),
```

把这一句编译好添加到```party_calculate_loot```最后一行,注意总行数变化;或者将```party_calculate_loot```里的代码全部拉出来转成py,最下面一行加上这一句,编译成txt,再覆盖回去,注意总行数变化(这是很基础的东西,以后不会再提)


***

附一个网址(若打不开请用chrome或用steam++等加速github):

https://b1inkie.github.io/b1note.github.io/

装备某件物品时增加属性点;添加书籍;全自动武器;自爆步兵;光环:移速BUFF(光写了 没测);散弹 但是每一个弹头都是自瞄;自定义战利品等等功能都可以在这里找到.

若依旧有疑问或需要视频讲解,可以加下面群:
附加半个交流群: 855512521




评分

参与人数 1第纳尔 +10 互助 +1 收起 理由
Aomine Daiki + 10 + 1 乐于助人!

查看全部评分

28

主题

4157

回帖

3131

积分

子爵[版主]

世纪风云制作组[程序]

圣殿骑士团[KT]
战团ID:Epig

中级术士

Rank: 7Rank: 7Rank: 7

UID
1706215
第纳尔
34958
精华
3
互助
157
荣誉
79
贡献
2005
魅力
207
注册时间
2013-12-8

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士精神之文韬勋章杰出版主勋章骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章骑砍中文站微信会员勋章骑友真人秀勋章汉匈决战荣誉用户勋章元老骑士勋章霸主正版勋章

鲜花(2039) 鸡蛋(904)
发表于 2024-4-21 15:52:08 | 显示全部楼层
看得人眼瞎,麻烦改一下编辑代码啊
童鞋们,欢迎来到骑马与砍杀学院,我是你们的科任老师,猪猪老师,由我来为童鞋们介绍以下课程:
1、人间五十年life50 2.0测试版
2、永恒世界4.5.5公测版
3、永恒世界网页端 UCP2.0
4、大逃杀1.0公测版
5、永恒世界4.5特别版
6、常见PY报错解决方案

9

主题

5

回帖

44

积分

扈从

Rank: 2Rank: 2

UID
3645558
第纳尔
120
精华
0
互助
8
荣誉
0
贡献
0
魅力
50
注册时间
2024-4-15
鲜花(4) 鸡蛋(0)
 楼主| 发表于 2024-4-22 18:29:55 | 显示全部楼层
恶猪 发表于 2024-4-21 15:52
看得人眼瞎,麻烦改一下编辑代码啊

markdown编写的,```python开头 ```结尾,拉到你自己的编辑器里去看

9

主题

5

回帖

44

积分

扈从

Rank: 2Rank: 2

UID
3645558
第纳尔
120
精华
0
互助
8
荣誉
0
贡献
0
魅力
50
注册时间
2024-4-15
鲜花(4) 鸡蛋(0)
 楼主| 发表于 2024-4-22 18:46:17 | 显示全部楼层
本帖最后由 b1ink 于 2024-4-22 18:47 编辑

remove()                           

9

主题

5

回帖

44

积分

扈从

Rank: 2Rank: 2

UID
3645558
第纳尔
120
精华
0
互助
8
荣誉
0
贡献
0
魅力
50
注册时间
2024-4-15
鲜花(4) 鸡蛋(0)
 楼主| 发表于 2024-4-22 18:47:02 | 显示全部楼层
恶猪 发表于 2024-4-21 15:52
看得人眼瞎,麻烦改一下编辑代码啊

提一嘴 兄弟 你别在我贴子下挨个留言了 我厌蠢症都要犯了
1. 全文使用markdown撰写 ```python 中间是代码``` ,阅读请拉到自己编辑器里去看
2. [功能与代码]是我的分享贴,给只想ctrlc ctrlv的朋友用的, 你要教学我有发到[经验与教程]里面
3. 出处就是我的主页,标注在每篇帖子最下面
4. 配置部分我都做了注释. 就这么点东西,还能怎么注释,真要手把手教啊

28

主题

4157

回帖

3131

积分

子爵[版主]

世纪风云制作组[程序]

圣殿骑士团[KT]
战团ID:Epig

中级术士

Rank: 7Rank: 7Rank: 7

UID
1706215
第纳尔
34958
精华
3
互助
157
荣誉
79
贡献
2005
魅力
207
注册时间
2013-12-8

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士精神之文韬勋章杰出版主勋章骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章骑砍中文站微信会员勋章骑友真人秀勋章汉匈决战荣誉用户勋章元老骑士勋章霸主正版勋章

鲜花(2039) 鸡蛋(904)
发表于 2024-4-23 12:32:36 | 显示全部楼层
b1ink 发表于 2024-4-22 18:47
提一嘴 兄弟 你别在我贴子下挨个留言了 我厌蠢症都要犯了
1. 全文使用markdown撰写 ```python 中间是代码 ...

我挨个评论只是为了让某些真正乐于分享的汽油不要贴下空无一人回复罢了,你还摆弄起来了?你天资过人?

论坛是给各种汽油在手机或者电脑看,其中包括初学MB,熟练或者只是想探讨学习的,你发布的东西只能在编辑软件上看,你直接复制黏贴改都不想改,那你发布在论坛干嘛?发到论坛上好几位汽油包括我看的不舒服,我批评你有错?

而且如果一个写代码的人连变量命名都可以省略的,那我觉得这个人的逻辑思维以及记忆能力已经超越百分之八九十的人,可是我看你的发的代码也没强到这种地步,你“写”的几篇代码里面,编排格式风格两异,如果都是出自你自己手怎么会有这种情况?

反编译分享是可耻的,我让你做出注释是让大家知道不管是不是你写的,都证明你已经理解透彻,把理解思路注释出来方便小白学习也是一种分享,还这么点怎么注释?注释很写很多东西,但是没有经过自己思考自然写不出来
童鞋们,欢迎来到骑马与砍杀学院,我是你们的科任老师,猪猪老师,由我来为童鞋们介绍以下课程:
1、人间五十年life50 2.0测试版
2、永恒世界4.5.5公测版
3、永恒世界网页端 UCP2.0
4、大逃杀1.0公测版
5、永恒世界4.5特别版
6、常见PY报错解决方案
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-5-4 02:24 , Processed in 0.116383 second(s), 20 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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