骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

分享战场玩家杀敌奖励功能

[复制链接]

6

主题

40

回帖

14

积分

随仆

Rank: 1

UID
2806072
第纳尔
270
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2017-2-10
鲜花(8) 鸡蛋(0)
发表于 2021-7-25 00:29:37 | 显示全部楼层 |阅读模式

最近中文站有一个小萌新问了一个小问题,发现中文站一些人在帖子下面都回答不准确,
特地来解答一下,顺便开源这个小功能,功能比较多样:
玩家击杀(击晕)一定数量敌人后,会播放音乐,提升部队勇气,士气。也可以加入
自己想要的功能(比如回血子类的)该功能比较开放,小框架我已经搭建好了。
整合到自己mod就标明:中文站—少林寺。我直接默认同意的。我这个人比较佛系。

先去constants.py增加一个槽
slot_beat_sun_count = 0

再去mt.py增加两个公共触发器(因为有两个战场要用到)
common_kill_count = (0,0,ti_once,   
  [],
[  
  (get_player_agent_no, ":player"),  #
  (agent_is_alive, ":player"),  #
  (get_player_agent_kill_count,reg4),##记录玩家杀敌数量
  (get_player_agent_kill_count,reg5,1),##记录玩家击晕数量
  (val_add,reg4,reg5),##两者相加到reg4里面
  (agent_set_slot,":player",slot_beat_sun_count,reg4),##记录到槽里面
])   ##设置一下开场记录玩家击杀数,方便接下来统计杀敌数量

common_kill = (0.1,0,ti_once,         ##只触发一次,防止击杀一定人数后,一直触发音乐等奖励
  [
  (get_player_agent_no, ":player"),  ##这个应该不用我说了。。。。
  (agent_is_alive, ":player"),  #这个也是。。。。。
  (agent_get_slot,reg6,":player",slot_beat_sun_count),##获取槽,玩家已经击杀的人数,这个不能算在本局击杀人数上面
  (get_player_agent_kill_count,reg4),##这个上面说了
  (get_player_agent_kill_count,reg5,1),##这个也说了
  (val_add,reg4,reg5),##这个也说了
  (val_sub,reg4,reg6),##此时reg4已经代表玩家目前击杀数量减去槽里面记录的击杀数量就是本局击杀数量
  (eq,reg4, 5), ##如果说本局击杀数量已经达到了5人就会触发执行块内容
  ],
    [  
(try_begin),
  (get_player_agent_no, ":player"),##这个应该不用我说了。。。。
  (assign, ":initial_courage_score", 500),
  (val_add,":initial_courage_score",200),
  (agent_set_slot, ":player", slot_agent_courage_score, ":initial_courage_score"), ##上面三段是设置玩家部队勇气值为500,如果击杀人数达标奖励200部队勇气
  (party_get_morale, ":cur_morale", ":player"),
  (val_add,":cur_morale",20),
  (party_set_morale, ":player", ":cur_morale"),##跟勇气差不多奖励20部队士气
  (play_sound, "snd_"),##这个是播放音乐,自己去选一个,(应该不用我顺便教一下sound吧)
  (display_message,"@ok{reg6}  100  5",0x32CD32),##这个可以在奖励后显示文字,如果要显示增加几点勇气的记得要用{reg},这个才能在显示器显示数字,内容自己编吧,后面是字体颜色。
(try_end),
])
如果玩家还要增加回血等等其他奖励,可以塞在第二个触发器的执行块里面

然后去mt.py
去找一下lead_charge_ai_wagenburg的战斗场景触发器在下面增加下面两条就OK
    common_kill_count,
    common_kill,
去找一下lead_charge的战斗场景触发器在下面增加下面两条就OK
    common_kill_count,
    common_kill,
这样子你就可以在进攻或者防守的战场上使用这个功能了,要是想在村庄战斗也使用这个
那就自己找村庄战斗场景吧

对于该功能讲解:
(get_player_agent_kill_count,reg5,1),后面加个1代表玩家累计击晕数量,没有则是击杀数量

因为只能找到累计击杀数量,所以我用了槽的减法记录当局击杀数。

评分

参与人数 1第纳尔 +23 收起 理由
stevenxxy007 + 23 文章不错,继续努力!

查看全部评分

鲜花鸡蛋

只是个过路的  在2021-8-2 13:11  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
NEW_SHIT  在2021-7-25 17:36  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

3

主题

181

回帖

120

积分

见习骑士

Rank: 3

UID
286084
第纳尔
1293
精华
0
互助
13
荣誉
0
贡献
0
魅力
26
注册时间
2010-7-23

骑砍中文站APP会员勋章霸主正版勋章

QQ
鲜花(33) 鸡蛋(0)
发表于 2021-8-2 10:30:18 来自手机 | 显示全部楼层
可玩性不错啊,我记得乱舞水浒中有类似的功能,触发时还会显示下头像,你们的思路可能是一样的,很棒
来自: iPhone客户端

53

主题

151

回帖

66

积分

扈从

Rank: 2Rank: 2

UID
2628029
第纳尔
1167
精华
0
互助
1
荣誉
0
贡献
0
魅力
2
注册时间
2015-10-31

战团正版勋章维京征服正版勋章

鲜花(4) 鸡蛋(0)
发表于 2021-9-9 21:43:31 | 显示全部楼层
怎么实现杀敌数到一定数量就给现有的武器加攻击力?大佬

58

主题

960

回帖

545

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
81513
第纳尔
5223
精华
1
互助
18
荣誉
5
贡献
100
魅力
124
注册时间
2008-6-26
QQ
鲜花(120) 鸡蛋(0)
发表于 2021-9-10 09:21:09 | 显示全部楼层
return19860510 发表于 2021-9-9 21:43
怎么实现杀敌数到一定数量就给现有的武器加攻击力?大佬

这个做不到~武器属性相关的operator只有get没有set,但是可以给杀人的武器加个前缀啥的

53

主题

151

回帖

66

积分

扈从

Rank: 2Rank: 2

UID
2628029
第纳尔
1167
精华
0
互助
1
荣誉
0
贡献
0
魅力
2
注册时间
2015-10-31

战团正版勋章维京征服正版勋章

鲜花(4) 鸡蛋(0)
发表于 2021-9-11 00:05:52 | 显示全部楼层
stevenxxy007 发表于 2021-9-10 09:21
这个做不到~武器属性相关的operator只有get没有set,但是可以给杀人的武器加个前缀啥的

那也可以啊,比如怎么砍足100人手中的武器变成平衡,砍足500人变成极品的

52

主题

443

回帖

269

积分

贵族[MOD作者]

Rank: 7Rank: 7Rank: 7

UID
2743526
第纳尔
2451
精华
0
互助
18
荣誉
3
贡献
10
魅力
252
注册时间
2016-5-3

霸主正版勋章

鲜花(201) 鸡蛋(0)
发表于 2021-9-11 09:36:50 | 显示全部楼层
return19860510 发表于 2021-9-11 00:05
那也可以啊,比如怎么砍足100人手中的武器变成平衡,砍足500人变成极品的

这个说起来有些复杂,如果是我做,思路大概是这样:
1、首先要记录手中的这把武器,但是因为武器基本不是唯一的,因此需要指定到自己手里的这一把;
2、楼主的代码里已经有累计杀敌数的操作了,把那个累计杀敌数的结果,记录到自己手里的这把武器上,然后根据杀敌数判断加一个前缀,就行了。
难点是第一步,就像凉大这个帖子里说的https://bbs.mountblade.com.cn/thread-2067411-1-2.html,在武器不是唯一的情况下,单纯的用item slot操作,会使这个名字的所有武器都有这个效果,因此就需要限制,帖子里的思路解释的很清楚了;阁下有空看一看,就知道怎么处理了。

评分

参与人数 1第纳尔 +23 互助 +1 收起 理由
stevenxxy007 + 23 + 1 乐于助人!

查看全部评分

您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-11-19 14:50 , Processed in 0.155106 second(s), 26 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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