骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY UU
查看: 13095|回复: 13

[分享] 远程武器报告射击距离(战团)

[复制链接]

940

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

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

UID
45575
第纳尔
40624
精华
20
互助
1056
荣誉
583
贡献
1796
魅力
1681
注册时间
2007-10-24

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

鲜花(2542) 鸡蛋(8)
发表于 2010-7-5 21:57:33 | 显示全部楼层 |阅读模式
本帖最后由 rubik 于 2010-7-5 21:58 编辑

战团比原版多了一个新的物品触发器的触发时刻:ti_on_missile_hit。 也就是当投射物击中物体的时刻。这也意味着原版是无法实现这个功能的。

具体的释义:
ti_on_missile_hit        = -52.0 #can only be used in module_items triggers
# Position Register 1: Missile Position
# Trigger Param 1: shooter agent id


有一个参数,就是射击者,另外有一个位置值寄存器pos1记录投射物击中物体时的位置。

2者联系起来,获取射击者的位置,然后射击者位置到投射物的位置之间的距离自然就是射击距离了。相关的代码自然就水到渠成了。

下面是一个触发器的宏定义。 将触发器的内容赋值到missile_distance_trigger里面。具体的内容,就是计算距离。而且限定射击者是玩家,因为显示非玩家角色的射击距离意义不大,且相当地刷屏。
## CC
missile_distance_trigger = [
  (ti_on_missile_hit,
    [
      (store_trigger_param_1,
":shooter_agent"),
      
      (get_player_agent_no,
":player_agent"),
      (try_begin),
        (eq,
":shooter_agent", ":player_agent"),
        (agent_get_position, pos2,
":shooter_agent"),
        (agent_get_horse,
":horse_agent", ":player_agent"),
        (try_begin),
          (gt,
":horse_agent", -1),
          (position_move_z, pos2,
200),
        (else_try),
          (position_move_z, pos2,
150),
        (try_end),
        (get_distance_between_positions_in_meters,
":distance", pos1, pos2),
        (assign, reg61,
":distance"),
        (display_message,
"@Shot distance: {reg61} meters.", 0xCCCCCC),
      (try_end),
    ])]
## CC


剩下的事情就是给各种投射物,或者说弹药加这个物品触发器。 注意是加到弹药里面,不是加到武器里。 比如弓箭,是把这个触发器加到箭里面,而不是加到弓里面。 当然了,武器和弹药是一体的就没有什么好说的,比如各种投掷武器,直接加。

比如:
["tutorial_arrows","Arrows", [("arrow",0),("flying_arrow",ixmesh_flying_ammo),("quiver", ixmesh_carry)], itp_type_arrows, itcf_carry_quiver_back, 0,weight(3)|abundance(160)|weapon_length(95)|thrust_damage(0,pierce)|max_ammo(20),imodbits_missile,missile_distance_trigger],


红色的部分就是新加的部分,注意那个逗号。 就按照这样,给所有的弹药都加上这个触发器就完毕了。

不用宏定义,那个每个要加的物品都要贴上那个触发器的所有内容。有多少件就重复多少遍,看起来非常不简洁。

评分

参与人数 1第纳尔 +20 互助 +2 收起 理由
alixyang + 20 + 2 这个挖掘粉有价值~~~

查看全部评分

2

主题

311

帖子

93

积分

扈从

Rank: 2Rank: 2

UID
239448
第纳尔
362
精华
0
互助
0
荣誉
0
贡献
0
魅力
10
注册时间
2010-4-23
鲜花(0) 鸡蛋(0)
发表于 2010-7-5 22:26:06 | 显示全部楼层
看不懂...不过这个功能很实用..

42

主题

4122

帖子

2322

积分

男爵[离任版主]

Rank: 5Rank: 5Rank: 5

UID
43191
第纳尔
7619
精华
0
互助
143
荣誉
37
贡献
85
魅力
290
注册时间
2007-10-11

骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之诚信勋章原版正版勋章战团正版勋章元老骑士勋章霸主正版勋章

QQ
鲜花(4) 鸡蛋(0)
发表于 2010-7-5 22:35:06 | 显示全部楼层
说不得。。习惯关掉所有提示的路过。。

R大下次更新能不能 加一个关掉所有提示的按钮呢。。。
自助者人恒助之,自弃者人恒弃之.
。。置顶真是他妈的茶几。。
想要得到别人的尊重,首先要学会去尊重别人。

282

主题

4465

帖子

4613

积分

贵族[MOD作者]

圣剑MOD制作组[程序]

Rank: 7Rank: 7Rank: 7

UID
63912
第纳尔
5348
精华
6
互助
180
荣誉
177
贡献
245
魅力
717
注册时间
2008-1-13

原版正版勋章战团正版勋章骑士美德之正义勋章[杰出会员荣誉勋章]骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章

鲜花(9) 鸡蛋(0)
发表于 2010-7-6 02:21:20 | 显示全部楼层
这个操作就是报告远程落点的吧   
这样就能直接将多人模式的旗帜做成标枪了  丢出去随便插到哪里就直接标示出来方便大家寻找

----- 这样就能实现旗帜短距离远传了  而不是现在这样一个人死扛(或者接力棒方式传递)

实际上,一个更文明更有趣,没有一丝血腥的体育模式呼之欲出。


圣剑第一章

论坛问答指南
MOD制作最简入门
联机MOD场景地图制作
汉化是一种自豪的苦力


虽然圆桌骑士公会的头衔被某人摘掉了,我们还是其中的一员,始终信奉自由、平等与公正。

1

主题

101

帖子

111

积分

见习骑士

Rank: 3

UID
263370
第纳尔
394
精华
0
互助
14
荣誉
1
贡献
0
魅力
7
注册时间
2010-6-7
鲜花(0) 鸡蛋(0)
发表于 2010-7-6 11:38:20 | 显示全部楼层
有道理,不过 (store_trigger_param_1, ":shooter_agent"),
      
这句话是什么意思呢,将:shooter agent储存到触发器的参数1里面????什么意思啊??

282

主题

4465

帖子

4613

积分

贵族[MOD作者]

圣剑MOD制作组[程序]

Rank: 7Rank: 7Rank: 7

UID
63912
第纳尔
5348
精华
6
互助
180
荣誉
177
贡献
245
魅力
717
注册时间
2008-1-13

原版正版勋章战团正版勋章骑士美德之正义勋章[杰出会员荣誉勋章]骑士荣誉之原版汉化勋章骑士荣誉之战团汉化勋章

鲜花(9) 鸡蛋(0)
发表于 2010-7-6 12:10:49 | 显示全部楼层
ti_on_missile_hit        = -52.0 #can only be used in module_items triggers
# Position Register 1: Missile Position
# Trigger Param 1: shooter agent id

回楼上,参照上面解释,就是把这个触发的参数1   存到:shooter agent 这个临时变量里


圣剑第一章

论坛问答指南
MOD制作最简入门
联机MOD场景地图制作
汉化是一种自豪的苦力


虽然圆桌骑士公会的头衔被某人摘掉了,我们还是其中的一员,始终信奉自由、平等与公正。

37

主题

1123

帖子

1872

积分

波耶[MOD制作小组]

暴风骑士团(SK)
战团ID:SK_Dante

锻造宗师

Rank: 4Rank: 4

UID
113898
第纳尔
1110
精华
3
互助
81
荣誉
83
贡献
10
魅力
151
注册时间
2009-2-7

骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士精神之浪漫勋章原版正版勋章战团正版勋章霸主正版勋章元老骑士勋章骑士美德之正义勋章[杰出会员荣誉勋章]

鲜花(9) 鸡蛋(0)
发表于 2010-7-6 21:51:42 | 显示全部楼层
报告距离不喜欢
不过这个触发器倒是能做出一些怪异的东西

940

主题

2万

帖子

1万

积分

侯爵[超级版主]

枢机主教

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

UID
45575
第纳尔
40624
精华
20
互助
1056
荣誉
583
贡献
1796
魅力
1681
注册时间
2007-10-24

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

鲜花(2542) 鸡蛋(8)
 楼主| 发表于 2010-7-7 13:21:10 | 显示全部楼层
get_distance_between_positions_in_meters
是以米为单位获取两点之间的距离。 亲测了一下,战场里,3D坐标之间100个单位的长度就是1米。 所以用get_distance_between_positions获取了距离,然后除以100和这个get_distance_between_positions_in_meters是一样的效果。 不过get_distance_between_positions_in_meters更直接一些,数值也不至于太大。

不过这样就不精确了,精度是1米。1米以内都被取整个取掉了。所以我决定还是用采用的那个,然后把射击距离搞得更精确一些,比如53.12米。

1

主题

16

帖子

5

积分

平民

Rank: 1

UID
178570
第纳尔
26
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2009-12-26

原版正版勋章战团正版勋章

鲜花(0) 鸡蛋(0)
发表于 2010-7-18 01:12:48 | 显示全部楼层
把“投射物击中物体的时刻”变成“弹药发射后的x秒(x为弹药最大可能飞行时间)”然后放进原版行不行?

3

主题

92

帖子

43

积分

扈从

Rank: 2Rank: 2

UID
38360
第纳尔
117
精华
0
互助
1
荣誉
1
贡献
0
魅力
0
注册时间
2007-9-12

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

鲜花(1) 鸡蛋(0)
发表于 2010-10-19 21:33:32 | 显示全部楼层
  1. (try_begin),
  2.           (gt, ":horse_agent", -1),
  3.           (position_move_z, pos2, 200),
  4.         (else_try),
  5.           (position_move_z, pos2, 150),
  6.         (try_end),
复制代码
这段话是什么意思呢?难道pos2是三维坐标?get_distance_between_positions_in_meters获取的是两个三维坐标之间的距离?
杀戮,何时是个止境?
我不过想体验下战斗~

《司马法》曰:‘国虽大,好战必亡;天下虽平,忘战必危。’夫怒者逆德也,兵者凶器也,争者末节也。夫务战胜,穷武事者,未有不悔者也。

3

主题

92

帖子

43

积分

扈从

Rank: 2Rank: 2

UID
38360
第纳尔
117
精华
0
互助
1
荣誉
1
贡献
0
魅力
0
注册时间
2007-9-12

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

鲜花(1) 鸡蛋(0)
发表于 2010-10-19 21:50:16 | 显示全部楼层
  1. (try_begin),
  2.           (gt, ":horse_agent", -1),
  3.           (position_move_z, pos2, 200),
  4.         (else_try),
  5.           (position_move_z, pos2, 150),
  6.         (try_end),
复制代码
这段话是什么意思呢?难道pos2是三维坐标?get_distance_between_positions_in_meters获取的是两个三维坐标之间的距离?
杀戮,何时是个止境?
我不过想体验下战斗~

《司马法》曰:‘国虽大,好战必亡;天下虽平,忘战必危。’夫怒者逆德也,兵者凶器也,争者末节也。夫务战胜,穷武事者,未有不悔者也。

37

主题

1123

帖子

1872

积分

波耶[MOD制作小组]

暴风骑士团(SK)
战团ID:SK_Dante

锻造宗师

Rank: 4Rank: 4

UID
113898
第纳尔
1110
精华
3
互助
81
荣誉
83
贡献
10
魅力
151
注册时间
2009-2-7

骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士精神之浪漫勋章原版正版勋章战团正版勋章霸主正版勋章元老骑士勋章骑士美德之正义勋章[杰出会员荣誉勋章]

鲜花(9) 鸡蛋(0)
发表于 2010-10-22 01:29:21 | 显示全部楼层
本帖最后由 wuyoutianxia 于 2010-10-22 01:30 编辑
(try_begin),
          (gt, ":horse_agent", -1),
          (position_move_z, pos2, 200),
        (else_try),
          (position_move_z, pos2, 150),
        (try_end),这段话是什么意思呢?难道pos2 ...
unice 发表于 2010-10-19 21:50


那是计算玩家是否骑马,如果骑马则Z坐标为200
这样一来精确度就高很多,不要小看这一点点差距,如果在同一水平面,都不骑马的话射击角度是一条水平直线,玩家骑马的话,按直角三角形来算的话,现在的距离是一条斜边,要大于水平长度很多

3

主题

92

帖子

43

积分

扈从

Rank: 2Rank: 2

UID
38360
第纳尔
117
精华
0
互助
1
荣誉
1
贡献
0
魅力
0
注册时间
2007-9-12

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

鲜花(1) 鸡蛋(0)
发表于 2010-10-22 15:08:34 | 显示全部楼层
12# wuyoutianxia


多谢指教~
杀戮,何时是个止境?
我不过想体验下战斗~

《司马法》曰:‘国虽大,好战必亡;天下虽平,忘战必危。’夫怒者逆德也,兵者凶器也,争者末节也。夫务战胜,穷武事者,未有不悔者也。

346

主题

7910

帖子

3553

积分

子爵[版主]

自由骑士
战团ID:Rain_Drop

Rank: 7Rank: 7Rank: 7

UID
87963
第纳尔
6781
精华
1
互助
126
荣誉
45
贡献
467
魅力
1596
注册时间
2008-8-17

元老骑士勋章原版正版勋章战团正版勋章火与剑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之大无畏勋章[杰出会员高级活跃勋章]骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之正义勋章[杰出会员荣誉勋章]骑士美德之诚信勋章骑士精神之浪漫勋章骑士精神之末日浩劫勋章骑士美德之奉献勋章骑士美德之慷慨勋章中文站微博会员勋章中文站微信会员勋章霸主正版勋章

QQ
鲜花(442) 鸡蛋(17)
发表于 2010-10-29 00:22:26 | 显示全部楼层
挖出来再学习学习。管理莫扣我的低能儿了
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2020-10-22 18:08 , Processed in 0.123314 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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