查看: 1819|回复: 5

[已经解决] 减少子弹的方法

  [复制链接]
梦石
0
星屑
50
在线时间
95 小时
注册时间
2011-1-19
回帖
16
发表于 2011-5-22 10:26:18 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
就是在装备火枪之后攻击,会减少一发火枪子弹,没子弹就不能攻击,这个效果怎么做??

酱油的

梦石
0
星屑
1840
在线时间
2161 小时
注册时间
2007-12-22
回帖
3216

贵宾

发表于 2011-5-22 10:30:57 | 显示全部楼层

点评

印象中見過O O  发表于 2011-5-22 11:00
禾西大人每次都能找到对应资源,是有印象还是搜索的呢0.0  发表于 2011-5-22 10:33

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复

使用道具 举报

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
回帖
3515
发表于 2011-5-22 10:42:31 | 显示全部楼层
首先是子弹攻击
Scene_Battle 3的"设置角色指令窗口"
插入一个没有子弹显示冷冻(?)的脚本
  1.   def phase3_setup_command_window
  2.     # 同伴指令窗口无效化
  3.     @party_command_window.active = false
  4.     @party_command_window.visible = false
  5.     # 角色指令窗口无效化
  6.     @actor_command_window.active = true
  7.     @actor_command_window.visible = true
  8.     # ↓增加
  9.     @actor_command_window.disable_item(0) if $game_party.item_number(item_id)==0 and $game_party.actors[@actor_index].weapon_id == 火枪数据库ID
  10.       # ↑增加
  11.     # 设置角色指令窗口的位置
  12.     @actor_command_window.x = @actor_index * 160
  13.     # 设置索引为 0
  14.     @actor_command_window.index = 0
  15.   end
复制代码
item_id为子弹的数据库ID
但是单显示冷冻还不行,还要在按下确定键的时候进行判断,于是在下面的"刷新画面 (角色命令回合 : 基本命令)"中:
  1.   def update_phase3_basic_command
  2.     # 按下 B 键的情况下
  3.     if Input.trigger?(Input::B)
  4.       # 演奏取消 SE
  5.       $game_system.se_play($data_system.cancel_se)
  6.       # 转向前一个角色的指令输入
  7.       phase3_prior_actor
  8.       return
  9.     end
  10.     # 按下 C 键的情况下
  11.     if Input.trigger?(Input::C)
  12.       # 角色指令窗口光标位置分之
  13.       case @actor_command_window.index
  14.       when 0  # 攻击
  15.         # ↓增加
  16.         if $game_party.item_number(item_id)==0 and $game_party.actors[@actor_index].weapon_id == 火枪数据库ID
  17.           $game_system.se_play($data_system.buzzer_se)
  18.           return
  19.         end
  20.         # ↑增加
  21.         # 演奏确定 SE
  22.         $game_system.se_play($data_system.decision_se)
  23.         # 设置行动
  24.         @active_battler.current_action.kind = 0
  25.         @active_battler.current_action.basic = 0
  26.         # 开始选择敌人
  27.         start_enemy_select
复制代码
于是乎普攻需要子弹的问题解决了,然后是普攻消耗子弹:
Game_Battler 3中的"应用通常攻击效果"
attacker : 攻击者 (battler)
好了,于是就是要判断攻击者是否装备火枪的角色,然后扣子弹
  1.   def attack_effect(attacker)
  2.     if attacker.is_a?(Game_Actor)
  3.       if attacker.weapon_id == 火枪ID
  4.         $game_party.gain_item(item_id,-1)
  5.       end
  6.     end
  7.     # 清除会心一击标志
  8.     self.critical = false
复制代码


以上未经试验

评分

参与人数 1星屑 +400 梦石 +2 收起 理由
「旅」 + 400 + 2

查看全部评分


http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

梦石
0
星屑
50
在线时间
95 小时
注册时间
2011-1-19
回帖
16
 楼主| 发表于 2011-5-22 19:12:11 | 显示全部楼层
不行啊,没用。
回复

使用道具 举报

梦石
0
星屑
93
在线时间
331 小时
注册时间
2010-10-24
回帖
735
发表于 2011-5-25 19:42:55 | 显示全部楼层
是arpg的吗?
回复

使用道具 举报

梦石
0
星屑
63
在线时间
167 小时
注册时间
2010-6-19
回帖
257
发表于 2011-5-29 11:39:26 | 显示全部楼层
变量加公共事件?··
《模拟热血三国》正在内测+制作中。。
诶呀,真强大。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部