骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY UU
精品包
查看: 34107|回复: 47

[分享] ModuleSystem的坑爹事

[复制链接]

12

主题

1501

帖子

1035

积分

波耶[MOD制作小组]

殿堂筑师

Rank: 4Rank: 4

UID
324735
第纳尔
3928
精华
1
互助
47
荣誉
25
贡献
0
魅力
65
注册时间
2010-10-15
QQ
鲜花(172) 鸡蛋(67)
发表于 2015-8-28 05:43:26 | 显示全部楼层 |阅读模式
本帖最后由 Borr 于 2018-3-7 09:39 编辑

在制作过程中曾遇到了几个MS无比坑爹的事情。有些难以理解的错误经过了无数编译、重进程序调试才终于找到原因,居然是MS自身的问题。 这里和大家分享一下,如果诸位有发现其他的,请也分享一下,减少大家被坑的次数

(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)


(点击展开 / 收起)

评分

参与人数 4荣誉 +2 第纳尔 +200 互助 +5 魅力 +1 收起 理由
hushuailiner2 + 1 乐于助人!
小丑遊戲 + 1 文章不错,继续努力!
蛋清 + 1 + 150 + 3 您的帖子很有价值!
海涵狮心王理查 + 50 + 2 乐于助人!

查看全部评分

鲜花鸡蛋

hushuailiner2  在2018-12-19 22:35  送朵鲜花  并说:学费必须交,受教了!
jj95198  在2018-4-24 15:40  送朵鲜花  并说:学习了,少走弯路
蛋清  在2016-7-11 14:11  送朵鲜花  并说:进来查坑交学费
蛋清  在2016-7-11 14:11  送朵鲜花  并说:进来查坑交学费
蛋清  在2016-7-11 14:11  送朵鲜花  并说:进来查坑交学费
蛋清  在2016-7-11 14:11  送朵鲜花  并说:进来查坑交学费
蛋清  在2016-7-11 14:11  送朵鲜花  并说:进来查坑交学费
oolonglgx(老李)  在2016-1-20 18:33  送朵鲜花  并说:确实。235也折磨过俺。

129

主题

1680

帖子

534

积分

骑士

Rank: 4Rank: 4

UID
2587559
第纳尔
2102
精华
0
互助
2
荣誉
2
贡献
0
魅力
58
注册时间
2015-8-26

骑士美德之英勇勋章[杰出会员活跃勋章]

鲜花(234) 鸡蛋(13)
发表于 2015-8-28 08:44:58 | 显示全部楼层
第一个和第三个看得懂,第二个看不懂
奉天之命,逆天而行!

19

主题

740

帖子

317

积分

见习骑士

Rank: 3

UID
1238843
第纳尔
7362
精华
0
互助
17
荣誉
1
贡献
177
魅力
19
注册时间
2013-3-19
鲜花(184) 鸡蛋(2)
发表于 2015-8-28 09:05:36 来自手机 | 显示全部楼层
我遇到过几次,编译后,进入游戏,玩家属性暴增,然后重新编译,恢复正常了,
头像被屏蔽

28

主题

1860

帖子

648

积分

囚犯[禁止访问]

自由骑士
战团ID:Pendant_Fall

UID
1800742
第纳尔
1386
精华
0
互助
12
荣誉
3
贡献
0
魅力
30
注册时间
2014-2-8

骑士美德之英勇勋章[杰出会员活跃勋章]骑砍中文站微博会员勋章骑砍中文站微信会员勋章

鲜花(403) 鸡蛋(2)
发表于 2015-8-28 10:24:09 | 显示全部楼层
MS表示已被坑
签名被屏蔽

17

主题

302

帖子

96

积分

扈从

Rank: 2Rank: 2

UID
2576211
第纳尔
393
精华
0
互助
1
荣誉
0
贡献
0
魅力
5
注册时间
2015-8-7
QQ
鲜花(29) 鸡蛋(0)
发表于 2015-8-28 14:23:21 | 显示全部楼层
呵呵 都看不懂
怡人桂花落,
夜静球色空。
团团惊群鸟,
上下春色中。

国内战团单机mod合集
一支豪门 ,曾数一数二,现三线暗淡。恐四面楚歌,叹五脏巨裂。哀六神无主。七冠,乃是历史。八强,只是奢望。唯九变十化,方凤凰涅盘。
荣耀剑下取,均衡乱中求。
倩影销,客还立断桥;纸伞薄,观云惨天高。醉殁西郊。

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2015-8-28 18:08:16 | 显示全部楼层
这几条都没有用到过。。。
rubik

73

主题

1340

帖子

537

积分

骑士

Rank: 4Rank: 4

UID
169458
第纳尔
741
精华
0
互助
11
荣誉
8
贡献
5
魅力
180
注册时间
2009-11-22

骑士美德之诚信勋章骑士美德之英勇勋章[杰出会员活跃勋章]元老骑士勋章

QQ
鲜花(49) 鸡蛋(0)
发表于 2015-8-28 18:14:12 | 显示全部楼层
rubik 发表于 2015-8-28 18:08
这几条都没有用到过。。。

啥时候更新捏  R大

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2015-8-28 19:56:43 | 显示全部楼层
borr叔诈尸了,好久不见~

不过降到地表这条语句为什么会出现这样的纰漏呢?是因为语句的计算原理之类的原因嘛?

12

主题

1501

帖子

1035

积分

波耶[MOD制作小组]

殿堂筑师

Rank: 4Rank: 4

UID
324735
第纳尔
3928
精华
1
互助
47
荣誉
25
贡献
0
魅力
65
注册时间
2010-10-15
QQ
鲜花(172) 鸡蛋(67)
 楼主| 发表于 2015-8-29 01:39:47 | 显示全部楼层
蛋清 发表于 2015-8-28 03:56
borr叔诈尸了,好久不见~

不过降到地表这条语句为什么会出现这样的纰漏呢?是因为语句的计算原理之类的原 ...

不知道,也许是设计时避免卡进碰撞体吧,但基本上是自做聪明的坑。

话说你的mod做的咋样啦

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2015-8-29 09:31:38 | 显示全部楼层
Borr 发表于 2015-8-29 01:39
不知道,也许是设计时避免卡进碰撞体吧,但基本上是自做聪明的坑。

话说你的mod做的咋样啦

在等谅大复活后的移植,最近自己又开了个坑正在填~

7

主题

74

帖子

22

积分

随仆

Rank: 1

UID
504484
第纳尔
609
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2011-9-2
鲜花(0) 鸡蛋(0)
发表于 2015-9-1 21:59:09 | 显示全部楼层
(store_div,":post_y_1",":post",100),
(store_mod,":post_x_1",":post",100),
请教各位大侠,坐标运算中store_mod(取余数)适合作用,不理解

点评

常用一:循环时,每N次只执行一次 常用二:用来排序。 常用三:用不同的数位,一个变量存多个数据  发表于 2015-9-2 23:30

67

主题

1000

帖子

810

积分

子爵[版主]

中级术士

Rank: 7Rank: 7Rank: 7

UID
1439773
第纳尔
17031
精华
1
互助
34
荣誉
24
贡献
110
魅力
148
注册时间
2013-7-4
鲜花(2182) 鸡蛋(2)
发表于 2015-9-2 16:29:40 | 显示全部楼层
地表的那个我也碰到了,现在总算是知道原因了。
我选择我喜欢。

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2015-9-6 22:31:29 | 显示全部楼层
本帖最后由 rubik 于 2015-9-6 22:41 编辑

很早以前发现的坑爹事:

官方论坛上Lav发布的header_operations.py详解里的troop_get_upgrade_troop
troop_get_upgrade_troop                  = 1561  # (troop_get_upgrade_troop, <destination>, <troop_id>, <upgrade_path>),
                                                 # Retrieves possible directions for non-hero troop upgrade. Use 0 to retrieve first upgrade path, and 1 to return second. Result of -1 means there's no such upgrade path for this troop.

官方自带的header_operations.py里的troop_get_upgrade_troop
troop_get_upgrade_troop                = 1561   # (troop_get_upgrade_troop,<destination>,<troop_id>,<upgrade_path>), #upgrade_path can be: 0 = get first node, 1 = get second node (returns -1 if not available)

这两者都说,如果没有后续的升级兵种,就返回-1。按常规来讲,没有找到符合条件的兵种的时候,返回值应该就是-1。 但实测发现,返回的是0(即玩家)。 早期的骑砍版本,仍然根据返回值是否大于-1来判定兵种是否可以升级,结果玩家在村子里招募到XX个玩家,因为顶级兵升级成玩家了。

评分

参与人数 1第纳尔 +10 互助 +1 收起 理由
海涵狮心王理查 + 10 + 1 乐于助人!

查看全部评分

rubik

12

主题

1501

帖子

1035

积分

波耶[MOD制作小组]

殿堂筑师

Rank: 4Rank: 4

UID
324735
第纳尔
3928
精华
1
互助
47
荣誉
25
贡献
0
魅力
65
注册时间
2010-10-15
QQ
鲜花(172) 鸡蛋(67)
 楼主| 发表于 2016-1-2 01:47:07 | 显示全部楼层
新更一坑。

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-1-3 00:21:39 | 显示全部楼层
本帖最后由 rubik 于 2016-1-3 00:37 编辑

我发现了一个算是骑砍MS里最大的坑了。 同一个mission_template里面,那些关于特殊时刻的触发器(比如ti_on_agent_killed_or_wounded,ti_on_agent_hit等)如果使用过多次,很容易出现冲突,说的就是返回值问题。

就以ti_on_agent_killed_or_wounded为例。如果同一个mission_template里面,前面一个或者几个以ti_on_agent_killed_or_wounded为条件的触发器设了返回值,最后一个以ti_on_agent_killed_or_wounded为条件的触发器没有设返回值。 最终的结果完全出乎意料之外。最后一个没有设返回值,前面几个以ti_on_agent_killed_or_wounded为条件的触发器设的返回值都无效,相当于没有设返回值。 如果都设了返回值,以最后一个设的返回值为准。 这太坑了,前面的几个同条件的触发器已经设了返回值,凭什么最后一个没有设返回值,就把前面设的返回值抹去? 当然,这并不意味着,同样的触发条件,最后一个触发器的内容抹掉了前面所有触发器的内容。 内容方面,只要不冲突,几个触发器里的内容都是有效的,可以共存的。比如ti_on_agent_killed_or_wounded,可以实现被锐器杀死变成打晕,还可以实现NPC击倒敌人,获得额外的武器点。分两个触发器写,两个效果都是有效的。只是返回值方面会出问题。

那些把同条件的触发器合并写在一起的人,是无法体会这个有多坑。反过来,这也教导了所有人,在同一个mission_template里面,要把同条件的触发器合并写在一个触发器里面。 这里的同条件,都是指的特殊时刻相同,而不是指检测周期相同。

评分

参与人数 1第纳尔 +10 互助 +1 收起 理由
海涵狮心王理查 + 10 + 1 乐于助人!

查看全部评分

rubik

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2016-1-3 16:35:41 | 显示全部楼层
rubik 发表于 2016-1-3 00:21
我发现了一个算是骑砍MS里最大的坑了。 同一个mission_template里面,那些关于特殊时刻的触发器(比如ti_on ...

最近也发现了类似这个特殊条件的问题。我在mission_template里面写了大概七八个ti_on_agent_hit的触发器来影响伤害返回值,然后就时不时的会出现-2147483648 这样的伤害数字,然后武器熟练度暴增到1000,穿盾秒杀什么的

12

主题

1501

帖子

1035

积分

波耶[MOD制作小组]

殿堂筑师

Rank: 4Rank: 4

UID
324735
第纳尔
3928
精华
1
互助
47
荣誉
25
贡献
0
魅力
65
注册时间
2010-10-15
QQ
鲜花(172) 鸡蛋(67)
 楼主| 发表于 2016-1-6 17:11:59 来自手机 | 显示全部楼层
楼上这个估计是主程序触发用到了reg吧,内容被覆盖掉了

点评

整个触发器是独立运行,倒是也没涉及到reg的问题,全都是临时变量……之前整合了一下触发器好多了  发表于 2016-1-10 09:58

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-1-6 17:43:18 来自手机 | 显示全部楼层
本帖最后由 rubik 于 2016-1-6 17:45 编辑
蛋清 发表于 2016-1-3 16:35
最近也发现了类似这个特殊条件的问题。我在mission_template里面写了大概七八个ti_on_agent_hit的触发器来 ...


保险起见,加一个val_max操作,强制最低伤害为0。即便真的出现bug,计算的值不正确或者算法本身有问题,也不会出现太离奇的结果。这是治标,治本还是要排查bug。

对了,战团最高伤害限定为500,不知道通过改触发器返回值能不能超过500。就算能超过500,也最好卡到500。

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-2-8 19:54:57 来自手机 | 显示全部楼层
本帖最后由 rubik 于 2016-2-8 20:21 编辑

又新增一条坑爹的。那个获取agent某块骨头位置的操作仅限于agent活着的情况,agent倒下之后,再用这个操作就容易跳出。我的MOD已经应验,我在代码里获取玩家头骨的位置,以此为基准来调整镜头的位置,结果玩家一倒下就跳出。

究其原理应该是agent倒下之后,尸体会析化消失,骨头也不存在了,获取骨头位置就自然出问题。我问了一些玩家,开启保留尸体也无济于事。

获取agent骨头位置的操作特有用,特别是获取头骨(编号9)的位置。获取头骨的位置(头骨的最低点,看起来是脖子的位置),再往上移动40个单位就能一次性确定agent头顶血条的位置。没有这个操作的时候,确定头顶血条的位置特麻烦,要判断agent是否骑马。如果人物或者马匹的骨骼被放大了,血条位置就又要特别地一一判断然后进行设定。

获取头骨的位置还可以判断是否爆头,用ti_on_agent_hit能获得被击中的pos,只要这个pos等于或高于agent头骨的位置,就是爆头了。

骨骼的编号,根据官方lav提供的ms版本,他提到用openBRF打开人物或者马匹的骨骼的brf文件,就能获取骨骼的名字和编号,右侧的预览图还可以直观看到具体是哪一块骨骼,相应的mesh线框会加粗。

@oolonglgx

点评

想起来了,当初连枷遇到过同样的问题,一死就跳出,也没细想,就直接加了个判断agent为生的条件就不管了  发表于 2016-2-8 23:50

评分

参与人数 1第纳尔 +10 互助 +1 收起 理由
海涵狮心王理查 + 10 + 1 原创内容,值得鼓励!

查看全部评分

184

主题

3189

帖子

1992

积分

骑士长

破晓骑士团[Dawn]
战团ID:Dawn_Forgive

高级术士

Rank: 5Rank: 5Rank: 5

UID
401472
第纳尔
10572
精华
1
互助
135
荣誉
26
贡献
356
魅力
109
注册时间
2011-3-28

第五届战团中国联赛季军勋章元老骑士勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑砍中文站微博会员勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(645) 鸡蛋(44)
发表于 2016-2-8 20:29:36 | 显示全部楼层
rubik 发表于 2016-2-8 19:54
又新增一条坑爹的。那个获取agent某块骨头位置的操作仅限于agent活着的情况,agent倒下之后,再用这个操作就 ...

ti_on_agent_hit现在直接有一个param给出受击骨骼,当初跟老李讨论相关问题时发现的,很省事,连判断都省了。
用openbrf查看骨骼号这个功能我也忘了,自己傻傻地写了段代码去找出了号和骨骼的对应关系。。
“其实我挺厌恶那种不明白任何情况,就劝你一定要大度的人,离他远一点,雷劈他的时候会连累到你。”
《海洋帝国》MOD预览视频集:http://space.bilibili.com/38505090
土豆:http://www.tudou.com/home/_45169175/

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-2-8 22:53:57 来自手机 | 显示全部楼层
本帖最后由 rubik 于 2016-2-8 23:01 编辑
海涵狮心王理查 发表于 2016-2-8 20:29
ti_on_agent_hit现在直接有一个param给出受击骨骼,当初跟老李讨论相关问题时发现的,很省事,连判断都省 ...


我认为谁把官方lav版MS里head_operation.py里关于所有操作的注释以及说明都翻译一遍的话,给个精华都不为过。这个版本的MS解决了我的很多困惑。

举个例子,盾牌的面积问题。非圆盾有长和高两个参数。他的注释里写得很清楚,length是盾牌中心到右,到左,到顶的距离,height是盾牌中心到底的距离。关键地,他指出要设置精度为100才能获得正确的盾牌height。这是我以前万万没想到的。

看了他的注释。我就知道骑砍的盾牌只有方盾和长方盾,外形都是虚的。长方盾是下摆加长的方盾,上端并不加高。

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-2-14 23:11:23 | 显示全部楼层
又更新一坑。 "game_get_skill_modifier_for_troop"这个script的作用是让特定的兵种获得特定技能的额外加成,绿字显示。 对其他技能加成没有什么问题,但千万不能对tracking(跟踪)技能进行加成,我有血的教训。我曾经添加了一本工具书,让持有这本书的NPC的跟踪技能获得1点额外加成。 结果玩家在大地图上行走的时候,走两步就一卡,走两步就一卡。注释掉相关的代码,在大地图上一点都不卡了。

也不要玩文字游戏,把tracking(跟踪)技能的名字变一下。没用的,游戏引擎是认技能ID的。我之前就把跟踪和向导合并,屏蔽向导,把向导的效果加到跟踪里面,最后把跟踪改名为向导。那本工具书名义上是加向导,但是实际上是加的跟踪,结果卡得一塌糊涂。后来赶紧换回来,那本工具书就又真正地加向导,不加跟踪了。虽然解决了卡的问题,但那个时候没有真正弄明白为什么卡。
rubik

184

主题

3189

帖子

1992

积分

骑士长

破晓骑士团[Dawn]
战团ID:Dawn_Forgive

高级术士

Rank: 5Rank: 5Rank: 5

UID
401472
第纳尔
10572
精华
1
互助
135
荣誉
26
贡献
356
魅力
109
注册时间
2011-3-28

第五届战团中国联赛季军勋章元老骑士勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑砍中文站微博会员勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(645) 鸡蛋(44)
发表于 2016-2-29 21:20:33 来自手机 | 显示全部楼层
新加的map icon必须编译过一遍后才能使用,直接加map icon然后应用给party是不行的。。

49

主题

376

帖子

145

积分

见习骑士

Rank: 3

UID
2053404
第纳尔
741
精华
0
互助
4
荣誉
1
贡献
0
魅力
11
注册时间
2014-7-3
鲜花(33) 鸡蛋(0)
发表于 2016-4-12 07:18:58 | 显示全部楼层
rubik 发表于 2016-2-14 23:11
又更新一坑。 "game_get_skill_modifier_for_troop"这个script的作用是让特定的兵种获得特定技能的额外加成 ...

难道这个加成是额外运算的。。。? 所以每走一步就会算周围情况

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2016-4-24 16:09:56 | 显示全部楼层
更新一个坑:
ti_on_agent_hit这一条件返回的造成伤害的物品ID是武器本身而非子弹。也就是说如果一个agent使用猎弩射出钢弩箭对另一agent造成伤害时,该条件返回的物品id是猎弩而非钢弩箭

943

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

Rank: 8Rank: 8Rank: 8Rank: 8

UID
45575
第纳尔
41279
精华
20
互助
1059
荣誉
584
贡献
1796
魅力
1692
注册时间
2007-10-24

骑砍中文站APP会员勋章元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之侠义勋章[杰出会员高级互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之荣耀勋章[杰出会员高级荣誉勋章]骑士美德之圣洁勋章[杰出会员高级精华勋章]杰出汉化小组成员勋章骑士美德之慷慨勋章骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章骑士美德之高贵勋章骑士美德之奉献勋章汉匈决战正版勋章

鲜花(2559) 鸡蛋(8)
发表于 2016-4-24 16:35:52 | 显示全部楼层
本帖最后由 rubik 于 2016-4-24 16:39 编辑
蛋清 发表于 2016-4-24 16:09
更新一个坑:
ti_on_agent_hit这一条件返回的造成伤害的物品ID是武器本身而非子弹。也就是说如果一个agent ...

ti_on_agent_hit的参数众多,第五个参数即为远程武器弹药的ID(如果使用的是远程武器),这个坑坑在官方自带的MS对于很多东西的解释过于简略。

ti_on_agent_hit               = -28.0 # Agent has been damaged with a weapon attack
    # trigger param 1 = damage inflicted agent_id
    # trigger param 2 = attacker agent_id
    # trigger param 3 = inflicted damage
    # trigger param 4 = hit bone
    # trigger param 5 = item_id of missile used to attack (if attack was with a ranged weapon)
    # reg0            = weapon item_id
    # pos0            = position of the hit area, rotation fields contain the direction of the blow
    # If (set_trigger_result) is used in the code with operation parameter equal or greater than zero, it will override the inflicted damage.

鲜花鸡蛋

蛋清  在2016-4-24 16:57  送朵鲜花  并说:是的,这个坑在没用lav注释的版本之前坑了我半天
rubik

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2016-4-25 18:00:43 | 显示全部楼层
再补个坑,跟汉化有关。
dialog里面上下标识为start:close_window的组会在编译时根据列表位置加上.x后缀方便汉化识别,然后坑就来了,如果MOD在这个文件的非尾端位置加了start:close_window的话,就会导致原有的同标识对话出现错乱。
避免方法:尽可能避免start:close_window对话,中间多跳转一次。实在不可避免就要做好一个一个往下重新排布汉化的觉悟

224

主题

6273

帖子

2987

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
169987
第纳尔
15218
精华
1
互助
101
荣誉
50
贡献
1605
魅力
252
注册时间
2009-11-28

元老骑士勋章汉匈决战正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之公正勋章[杰出会员高级财富勋章]骑士美德之奉献勋章骑士美德之高贵勋章骑砍中文站微博会员勋章

鲜花(1470) 鸡蛋(56)
发表于 2016-5-11 12:18:56 | 显示全部楼层
刚被坑完,还热乎着……其实也怪自己眼瞎没仔细看native,发出来提醒一下后人:
(store_sqrt, <destination_fixed_point>, <value_fixed_point>),
类似这样的操作语句,要注意: <value_fixed_point>这种变量必须提前设置好精度:(set_fixed_point_multiplier, 1),
否则就要按照比例进行计算再往里面填数
不过我觉得这种低级错误除了我也没别人会犯了。。。

点评

真的当然了。不过最坑的是sqrt(0)返回值不是零。  发表于 2016-5-12 01:36
http://bbs.mountblade.com.cn/forum.php?mod=redirect&goto=findpost&ptid=1883209&pid=7569198  发表于 2016-5-11 14:11

21

主题

140

帖子

92

积分

扈从

Rank: 2Rank: 2

UID
2733102
第纳尔
708
精华
0
互助
8
荣誉
1
贡献
0
魅力
0
注册时间
2016-3-31

战团正版勋章

鲜花(45) 鸡蛋(0)
发表于 2016-5-17 00:01:19 | 显示全部楼层
本帖最后由 zhl199565 于 2016-5-17 09:14 编辑

为什么我觉得余数并没有问题- -.........首先数学上的余数都是关于自然数的除法....是不包含任何负数过程的....(当然你自己可以定义建立模型,你定义一个()数的平方为负都可以...,名为xx氏数论),(补充:这里不是指虚数,而是其实数的平方就为负- -,表达的目的是其所谓定理上的不同(例子没举好,补充说明把)......其实这类例子有很多,比如欧式空间和黎曼空间)...
而对计算机而言所谓余数的正负便由被除数的正负来决定,而商的正负是被除数和除数异同决定的....这种人为的设定也是根据人的思维来决定的...
比如-3/-2的商就是1,余数就为-1,这没问题把, 你可以反过来验证一下,商*除数+余数=被除数.....余数的绝对值小于除数的绝对值...

点评

一个数平方的为负,说的就是数学里的虚数。  发表于 2016-5-17 00:45

12

主题

1501

帖子

1035

积分

波耶[MOD制作小组]

殿堂筑师

Rank: 4Rank: 4

UID
324735
第纳尔
3928
精华
1
互助
47
荣誉
25
贡献
0
魅力
65
注册时间
2010-10-15
QQ
鲜花(172) 鸡蛋(67)
 楼主| 发表于 2016-5-17 16:19:19 | 显示全部楼层
zhl199565 发表于 2016-5-16 10:01
为什么我觉得余数并没有问题- -.........首先数学上的余数都是关于自然数的除法....是不包含任何负数过程的 ...

这里的重点是程序的可靠性。总不能写行代码,还老要考虑是不是有的时候不适用要打补丁。

至于数学问题,mod定义就是0 到 n-1。 引入负数是多余的。
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2021-5-17 11:35 , Processed in 0.179053 second(s), 49 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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