骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

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

[复制链接]

9

主题

49

回帖

92

积分

男爵[见习版主]

Rank: 6Rank: 6

UID
3588356
第纳尔
151
精华
0
互助
15
荣誉
0
贡献
0
魅力
70
注册时间
2023-12-7
鲜花(16) 鸡蛋(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, 下载次数: 9

代码里需要用到的

评分

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

查看全部评分

鲜花鸡蛋

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

16

主题

107

回帖

197

积分

见习骑士

Rank: 3

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

55

主题

2759

回帖

1769

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

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

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

QQ
鲜花(512) 鸡蛋(2)
发表于 2024-9-13 21:12:37 | 显示全部楼层
好厉害啊,支持
珍惜 奉献 不负韶华

9

主题

49

回帖

92

积分

男爵[见习版主]

Rank: 6Rank: 6

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

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

9

主题

49

回帖

92

积分

男爵[见习版主]

Rank: 6Rank: 6

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

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

本版积分规则

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

GMT+8, 2024-11-19 08:41 , Processed in 0.123119 second(s), 27 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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