骑马与砍杀中文站论坛

用户名  找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

帖子
购买CDKEY 衣谷三国
查看: 2929|回复: 11

[功能与代码] 简单狙击枪代码源码

[复制链接]

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
发表于 2024-9-13 00:34:26 | 显示全部楼层 |阅读模式

hi,我是普信女
首先先感谢这一位a1550887802很抱歉,他这边是数字名字,不知道这位大佬的原名字叫什么感谢他的望远镜的一段代码,给我的启示,让我更改出了狙击枪


这个狙击枪还是依靠战团的准心来实现的如果想要依靠另一种射击方式,那个比较麻烦本人技术不好

1.原理是先使用一把准度非常高的步枪作为狙击枪模型item里面设置准度最高  2.使用一个简单的面板放大来实现这个效果3.在场景触发器里面写上指定按键开启指定按键关闭

这是很久以前弄的代码了,有错误的地方大佬请指出



有反编译的地方,是因为之前我的源码丢失,从我自己模组反编译出来的


然后单独提取这个功能的理解一下

第一步打开module_items.py


狙击枪物品代码



["97shibuqiang", "97shibuqiang", [("type_97", 0), ("type_97", 0)], itp_type_crossbow|itp_primary|itp_civilian|itp_next_item_as_melee, itcf_shoot_crossbow|itcf_carry_sword_back|itcf_reload_musket, 1110, weight(12.500000)|abundance(110)|difficulty(0)|accuracy(120)|spd_rtng(40)|shoot_speed(180)|max_ammo(5)|thrust_damage(60, pierce)|weapon_length(0), imodbits_none, [
    (ti_on_weapon_attack, [
        (play_sound, "snd_type_38_shot"),##音效
        ##自己设置粒子特效
    ]),
],  ],



第二步打开module_meshes.py

在最后一行的】上面写

("mm_jujiqiang", 0,"mm_spyglass_ui_buqiang", 0, 0, 0, 0, 0, 0, 1, 1, 1),


第三步

##############狙击枪


("jujiqiang", prsntf_read_only|prsntf_manual_end_only, 0,
   [
    (ti_on_presentation_load,  #在读取这个presentation时
      [
          (get_player_agent_no,":agent_id"),  #获得玩家的agent编号         
          (agent_is_alive,":agent_id"),  #玩家活着
          (agent_set_visibility, ":agent_id", 0),   #隐藏玩家
          (set_fixed_point_multiplier,100),  #设置定点乘数
          (set_zoom_amount,165),   #设置摄像机焦距                 可以理解为狙击枪距离设置(个人理解)


          (create_mesh_overlay, reg0, "mesh_mm_jujiqiang"),  #这些是设置望远镜的效果的
          (position_set_x, pos1, 50), #-1
          (position_set_y, pos1, 40), #-1
          (overlay_set_position, reg0, pos1),
          (position_set_x, pos1, 101), #-1
          (position_set_y, pos1, 100), #-1
          (overlay_set_size, reg0, pos1),
          (presentation_set_duration, 999999),  #运行时间很长,设置一个很大的数值
      ]),


    (ti_on_presentation_run,  #在这个presentation运行时
      [
          #(call_script,"script_client_get_my_agent"),
          #(assign,":agent_id",reg0),
          (get_player_agent_no,":agent_id"), #玩家的agent编号
          #(agent_is_active,":agent_id"),
          (assign,":continue",0), #设置,局部变量":continue",为0




          (try_begin), #尝试开始
            (neg|key_is_down, key_tilde),
            (key_is_down, key_left_shift),###shift键关闭狙击枪            
            (assign,":continue",1), #设置,局部变量":continue",为1



          (else_try), #或者
            (agent_get_wielded_item,":item_id",":agent_id",0), #获得玩家手上拿着的装备
            (neq,":item_id","itm_97shibuqiang"), #如果不是望远镜
            (assign,":continue",1), #设置,局部变量":continue",为1
          (try_end),  #尝试结束






          (eq,":continue",1),#如果,局部变量":continue",等于1
          (set_fixed_point_multiplier,100),  #设置定点乘数
          (set_zoom_amount,0), #设置摄像机焦距,为0(也就是不变焦)
          (agent_set_visibility, ":agent_id", 1),   #使玩家为可见的
          (presentation_set_duration, 0), #停止这个presentation的运行
      ]),


     ]),


第四步打开module_mission_templates.py
在39行添加代码

jujiqiang = (0, 0, 0,
    [
        (game_key_is_down, gk_defend),###右键开启
    ],
    [
        (neg|is_presentation_active, "prsnt_jujiqiang"),##忘记了哈哈大半夜有点懵
        (get_player_agent_no, ":wanjia"),##获取玩家编号
        (agent_is_alive, ":wanjia"),###玩家是否活着
        (agent_get_wielded_item, ":wuqi", ":wanjia", 0),###获取玩家的当前武器
        (eq, ":wanjia", "itm_97shibuqiang"),###如果武器等于这个狙击枪那就触发下面面板
        (start_presentation, "prsnt_jujiqiang"),###运行这个prsnt_jujiqiang面板
    ])



第五步在module_mission_templates.py搜索lead_charge这个是野战触发器
#################

(
    "lead_charge",mtf_battle_mode|mtf_synch_inventory,charge,
    "You lead your men to battle.",
    [
     (1,mtef_defenders|mtef_team_0,0,aif_start_alarmed,12,[]),
     (0,mtef_defenders|mtef_team_0,0,aif_start_alarmed,0,[]),
     (4,mtef_attackers|mtef_team_1,0,aif_start_alarmed,12,[]),
     (4,mtef_attackers|mtef_team_1,0,aif_start_alarmed,0,[]),
     ],
    [  
    jujiqiang,###在这个位置添加狙击枪触发器id

好像没了就这些


再次希望各位能做出更好的er zhan MOD能写出更好的代码   有错误,请指出谢谢各位了


狙击枪.rar

562.5 KB, 下载次数: 35

代码里需要用到的

评分

参与人数 1第纳尔 +20 互助 +1 魅力 +5 收起 理由
幼稚园殺手 + 20 + 1 + 5 文章不错,继续努力!

查看全部评分

鲜花鸡蛋

幼稚园殺手  在2024-9-13 21:12  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

16

主题

110

回帖

198

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
690
精华
0
互助
26
荣誉
3
贡献
0
魅力
158
注册时间
2021-12-28
鲜花(31) 鸡蛋(0)
发表于 2024-9-13 20:36:37 | 显示全部楼层
感谢分享

58

主题

2829

回帖

1791

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

UID
3054380
第纳尔
25229
精华
2
互助
57
荣誉
44
贡献
1016
魅力
1420
注册时间
2019-1-18

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章霸主正版勋章剧本设计大奖赛骑友真人秀Ⅷ勋章骑友真人秀Ⅶ勋章骑友真人秀Ⅸ勋章

QQ
鲜花(529) 鸡蛋(2)
发表于 2024-9-13 21:12:37 | 显示全部楼层
好厉害啊,支持
资本家的梦想
给我50w,我会拿出10w来外包,剩下40w给自己,不过我会对外说这50w都用来制作啦
那么这外包的10w,我会通过压榨大学生这种廉价的劳动力来为我赚取剩余价值,通过缩短必要劳动时间并延长剩余劳动时间而为我产生更多的剩余价值,这样钱就生钱了

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
 楼主| 发表于 2024-9-14 16:52:42 | 显示全部楼层

向大佬学习
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
 楼主| 发表于 2024-9-14 16:53:00 | 显示全部楼层

过奖了杀手
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

0

主题

13

回帖

9

积分

平民

Rank: 1

UID
3424721
第纳尔
23
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-10-5
鲜花(0) 鸡蛋(0)
发表于 2024-12-23 15:06:23 | 显示全部楼层
您好  能把天芒传奇2mod  开镜效果 单独提取一个mod吗 能开镜的枪就行,我自己研究一下午  都没弄好  等你发mod

11

主题

71

回帖

45

积分

扈从

Rank: 2Rank: 2

UID
3476407
第纳尔
19
精华
0
互助
4
荣誉
0
贡献
0
魅力
12
注册时间
2023-1-17
鲜花(7) 鸡蛋(0)
发表于 2024-12-23 16:10:26 | 显示全部楼层
11215245 发表于 2024-12-23 15:06
您好  能把天芒传奇2mod  开镜效果 单独提取一个mod吗 能开镜的枪就行,我自己研究一下午  都没弄好  等你 ...

天芒传奇是未开源mod

鲜花鸡蛋

11215245  在2024-12-25 10:00  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
期待.

5

主题

62

回帖

30

积分

扈从

Rank: 2Rank: 2

UID
1105950
第纳尔
284
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2012-12-5
鲜花(11) 鸡蛋(0)
发表于 2025-3-15 21:18:08 | 显示全部楼层
大佬您好!十分感谢您的代码分享!我有个疑问,请问module_mission_templates.py中的(eq, ":wanjia", "itm_97shibuqiang"),中的标签应该是":wuqi"吧,我试了原来的代码无法实现开镜,我还是个刚刚做mod的萌新,如果我的理解有误,恳请您指正!

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
 楼主| 发表于 7 天前 | 显示全部楼层
泡泡小QQ糖 发表于 2025-3-15 21:18
大佬您好!十分感谢您的代码分享!我有个疑问,请问module_mission_templates.py中的(eq, ":wanjia", "itm_ ...

":wuqi"代表是局部变量     
:是局部变量的开头
wuqi是局部变量的名字
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
 楼主| 发表于 7 天前 | 显示全部楼层
泡泡小QQ糖 发表于 2025-3-15 21:18
大佬您好!十分感谢您的代码分享!我有个疑问,请问module_mission_templates.py中的(eq, ":wanjia", "itm_ ...

你可以把其他照抄
然后把代码里的2处itm_97shibuqiang的换成你的item其他不动就行了
还有问题可以留qq有空看见qq说

风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

11

主题

71

回帖

45

积分

扈从

Rank: 2Rank: 2

UID
3476407
第纳尔
19
精华
0
互助
4
荣誉
0
贡献
0
魅力
12
注册时间
2023-1-17
鲜花(7) 鸡蛋(0)
发表于 6 天前 | 显示全部楼层
普信女 发表于 2025-3-16 12:50
":wuqi"代表是局部变量     
:是局部变量的开头
wuqi是局部变量的名字

他的意思是原代码中的获取当前武器和判断武器的变量没对上

        (agent_get_wielded_item, ":wuqi", ":wanjia", 0),

这里应该是变量 :wuqi 不是 变量 :wanjia

        (eq, ":wanjia", "itm_97shibuqiang"),
期待.

13

主题

60

回帖

97

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
3588356
第纳尔
673
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(20) 鸡蛋(0)
 楼主| 发表于 6 天前 | 显示全部楼层
路见不平拔刀侠 发表于 2025-3-17 12:44
他的意思是原代码中的获取当前武器和判断武器的变量没对上

        (agent_get_wielded_item, ":wuqi", " ...

嗯我的问题
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2025-3-23 16:08 , Processed in 0.102395 second(s), 30 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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