设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1975|回复: 8
打印 上一主题 下一主题

[已经解决] 寻找一种脚本,装备指定武器时若MP为0无法使用普通攻击或普通攻击无效果

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
670
在线时间
894 小时
注册时间
2007-4-3
帖子
84
跳转到指定楼层
1
发表于 2011-9-9 21:50:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xyzgwx 于 2011-9-10 12:16 编辑

用来配合普通攻击消费MP的脚本把普通攻击当火炮用(因为各种原因无法用特技+变量制作火炮)

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

2
发表于 2011-9-10 10:53:08 | 只看该作者
是不让选择普通攻击还是可以选择,但不会有效果。
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
670
在线时间
894 小时
注册时间
2007-4-3
帖子
84
3
 楼主| 发表于 2011-9-10 12:15:18 | 只看该作者
feizhaodan 发表于 2011-9-10 10:53
是不让选择普通攻击还是可以选择,但不会有效果。

这个无所谓 ,只要是类似的效果就好
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2011-9-10 12:25:37 | 只看该作者
乍一看应该是消耗弹药的武器
可以在 Scene_Battle 的 update_actor_command_selection 方法中按下C键后的判断中增加MP判断的控制。
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

5
发表于 2011-9-10 13:06:23 | 只看该作者
xyzgwx 发表于 2011-9-10 12:15
这个无所谓 ,只要是类似的效果就好
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新角色命令选择
  9.   #--------------------------------------------------------------------------
  10.   def update_actor_command_selection
  11.     if @active_battler.mp == 0
  12.       @actor_command_window.draw_item(0, false)
  13.     end
  14.     if Input.trigger?(Input::B)
  15.       Sound.play_cancel
  16.       prior_actor
  17.     elsif Input.trigger?(Input::C)
  18.       case @actor_command_window.index
  19.       when 0  # 攻击
  20.         if @active_battler.mp == 0
  21.           Sound.play_buzzer
  22.           return
  23.         else
  24.           Sound.play_decision
  25.           @active_battler.action.set_attack
  26.           start_target_enemy_selection
  27.         end
  28.       when 1  # 技能
  29.         Sound.play_decision
  30.         start_skill_selection
  31.       when 2  # 防御
  32.         Sound.play_decision
  33.         @active_battler.action.set_guard
  34.         next_actor
  35.       when 3  # 物品
  36.         Sound.play_decision
  37.         start_item_selection
  38.       end
  39.     end
  40.   end
  41. end
复制代码
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
670
在线时间
894 小时
注册时间
2007-4-3
帖子
84
6
 楼主| 发表于 2011-9-10 13:50:24 | 只看该作者
feizhaodan 发表于 2011-9-10 13:06

进一步测试发现无法指定武器
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
354
在线时间
1036 小时
注册时间
2011-5-19
帖子
2098
7
发表于 2011-9-10 14:11:03 | 只看该作者
偶来乱入……一定要脚本吗?公共事件也行呀~~所以~~偶又来发扬公共事件了喵~~

公共事件——并行处理(记得要一开始打开开关)——变数的操作——代入主角的MP(用不同变量代入不同角色)——条件的分歧——变数(刚刚带入的)——等于——常数——0,在原条件的分歧里继续条件的分歧——主角——武器XX被装备——变数的操作(新变数)——代入主角的攻击力——参数值的增减——那个主角——攻击力——减少——新变数;

这样主角的攻击力变为1(脚本默认攻击下限为1,你可以改脚本使攻击力下限变为0),自然打不伤怪。
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

8
发表于 2011-9-10 14:43:00 | 只看该作者
xyzgwx 发表于 2011-9-10 13:50
进一步测试发现无法指定武器
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新角色命令选择
  9.   #--------------------------------------------------------------------------
  10.   def update_actor_command_selection
  11.     if @active_battler.mp == 0 and [1, 2,3].include?(@active_battler.weapon_id)
  12.       @actor_command_window.draw_item(0, false)
  13.     else
  14.       @actor_command_window.draw_item(0, true)
  15.     end
  16.     if Input.trigger?(Input::B)
  17.       Sound.play_cancel
  18.       prior_actor
  19.     elsif Input.trigger?(Input::C)
  20.       case @actor_command_window.index
  21.       when 0  # 攻击
  22.         if @active_battler.mp == 0 and [1, 2,3].include?(@active_battler.weapon_id)
  23.           Sound.play_buzzer
  24.           return
  25.         else
  26.           Sound.play_decision
  27.           @active_battler.action.set_attack
  28.           start_target_enemy_selection
  29.         end
  30.       when 1  # 技能
  31.         Sound.play_decision
  32.         start_skill_selection
  33.       when 2  # 防御
  34.         Sound.play_decision
  35.         @active_battler.action.set_guard
  36.         next_actor
  37.       when 3  # 物品
  38.         Sound.play_decision
  39.         start_item_selection
  40.       end
  41.     end
  42.   end
  43. end
复制代码
在12行和23行的[]里填入你想生效的武器ID。用","(半角英文逗号)隔开。

两个[]里最好是一样的,不然可能显示和实际会出现不同

点评

成了,没有任何问题,并且兼容性大好!  发表于 2011-9-10 14:53

评分

参与人数 1星屑 +24 收起 理由
MSQ + 24 =W=

查看全部评分

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
354
在线时间
1036 小时
注册时间
2011-5-19
帖子
2098
9
发表于 2011-9-10 14:47:37 | 只看该作者
feizhaodan 发表于 2011-9-10 14:43
在12行和23行的[]里填入你想生效的武器ID。用","(半角英文逗号)隔开。

两个[]里最好是一样的,不然可 ...

脚本大好,果然在VX提问区闲逛会找到很多连发布区都没有好东西,建议在发布区再贴下。表示感谢~~
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-9 17:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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