查看: 3904|回复: 12

[已经解决] 我是脚本盲在学,有没有办法让技能需要什么武器才能用

[复制链接]
梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
发表于 2017-3-4 13:21:37 | 显示全部楼层 |阅读模式

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

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

×
我是脚本盲在学,想问下有没有办法让技能需要什么武器才能用的办法呢?
梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2017-3-4 13:30:46 | 显示全部楼层
回复

使用道具 举报

梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
 楼主| 发表于 2017-3-4 13:39:07 | 显示全部楼层
十分感谢~
回复

使用道具 举报

梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
 楼主| 发表于 2017-3-4 13:40:13 | 显示全部楼层
不过好像这个是删除技能的,有没有那种不删除的呢
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-3-4 14:08:54 | 显示全部楼层
把你刚才发的VX脚本copy了一下:
[pre lang="ruby"]#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
#  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
# 超级类来使用。
#==============================================================================
  SW_SET = [17,18,19,20,21,22,23,24]    # 此处设定武器和技能关联的属性id
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 判断是否可以使用技能
  #     skill : 技能
  #     self.weapons : 武器id的数组
  #--------------------------------------------------------------------------
  alias _SkillWeapon_skill_can_use? skill_can_use?
  def skill_can_use?(skill_id)
    if self.is_a?(Game_Actor)
      $data_weapons[0] = RPG::Weapon.new
      $data_weapons[0].element_set =[]
      sw_boolean = false # 判断武器和技能关联
      s = SW_SET & $data_skills[skill_id].element_set
      if s.empty?
        sw_boolean = true
      else
        s2 = s & $data_weapons[self.weapon_id].element_set
        if !s2.empty?
          sw_boolean = true
        end
      end
      $data_weapons[0] = nil
      return false if sw_boolean == false
    end
    return _SkillWeapon_skill_can_use?(skill_id)
  end
end
[/pre]
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2017-3-4 14:30:52 | 显示全部楼层
随手写了一个。
功能:特定的技能需要相同属性的武器才可以释放,否则不能使用。
用法:新建一个属性,命名为【需要武器】,属性的ID需要跟脚本里的ID设置绑定(见脚本)。设置需要武器才能使用的技能的时候,首先将此技能附加【需要武器】的属性,然后再勾选实际的技能属性(例如【斧头】),所需要的武器必须有同样的属性才可以使用。
[pre lang="Ruby"]STATE_NEED_WEAPON = 20 # 【需要武器】状态绑定的 ID
class Game_Actor < Game_Battler
  def skill_can_use?(skill_id)
    skill = $data_skills[skill_id]
    weapon = $data_weapons[weapon_id]
    if skill.element_set.include?(STATE_NEED_WEAPON)
      return false if weapon.nil? || (skill.element_set & weapon.element_set).empty?
    end
    super
  end
end
[/pre]
回复

使用道具 举报

梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
 楼主| 发表于 2017-3-4 14:42:22 | 显示全部楼层
好的谢谢2位,我去试试~
回复

使用道具 举报

梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
 楼主| 发表于 2017-3-4 14:45:37 | 显示全部楼层
版主大大~你设定的那个是直接用在我发的这脚本基础上么~还是怎么?貌似是只能绑定一个ID?
回复

使用道具 举报

梦石
0
星屑
153
在线时间
41 小时
注册时间
2017-2-11
回帖
13
 楼主| 发表于 2017-3-4 14:56:47 | 显示全部楼层
我想用的是在XP上的

点评

试一下我的  发表于 2017-3-4 18:52
回复

使用道具 举报

梦石
0
星屑
60
在线时间
52 小时
注册时间
2017-1-12
回帖
183
发表于 2017-3-4 15:05:35 | 显示全部楼层
其实完全能用事件实现的...
我可以告诉你原理...

评分

参与人数 1星屑 -1 收起 理由
RyanBern -1 那你就告诉呀

查看全部评分

别问我是谁! 我只是一个不为人知的小白而已..
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部