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

Project1

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

[已经过期] 如何装备特定武器才能使用特定的技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2012-7-8
帖子
255
跳转到指定楼层
1
发表于 2012-8-10 19:37:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
比如当装备剑类武器时才能使用斩击技能
装备其他类武器就不能使用斩击技能
怎么做,要什么脚本?
对了,要用于横版战斗的。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2012-7-8
帖子
255
3
 楼主| 发表于 2012-8-12 20:30:35 | 只看该作者
本帖最后由 .さっとりーん 于 2012-8-15 20:59 编辑
devilg 发表于 2012-8-10 20:35
做起来还蛮简单的,主要是从rmxp里抄下来的自动状态
注意下面的是直接替换用的,因为是从自己的东西扣下来 ...


我想做成这样
用属性来判断,凡是武器加个斩击属性,就能使用
带有斩击属性的技能,这样可否实现
@devilg在不?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-7-30
帖子
147
2
发表于 2012-8-10 20:35:07 | 只看该作者
做起来还蛮简单的,主要是从rmxp里抄下来的自动状态
注意下面的是直接替换用的,因为是从自己的东西扣下来的而且写的乱七八糟,不能用的话告诉我。

  1. class Game_Battler
  2. def skill_can_use?(skill)
  3.     return false unless skill.is_a?(RPG::Skill)
  4.     return false unless movable?
  5.     return false if silent? and skill.spi_f > 0
  6.     required_state=[]
  7.     eval(skill.note)
  8.     for onlyYou in required_state
  9.       return false unless state?(onlyYou)
  10.     end
  11.     if skill.extension.include?("HP消耗")
  12.       return false if calc_mp_cost(skill) > hp
  13.     else
  14.       return false if calc_mp_cost(skill) > mp
  15.     end
  16.     if $game_temp.in_battle
  17.       return skill.battle_ok?
  18.     else
  19.       return skill.menu_ok?
  20.     end
  21.   end
  22. end

  23. class Scene_Battle < Scene_Base
  24.   def process_battle_start
  25.     process_battle_start_n01
  26.     #auto_state starts here
  27.    
  28.     # 如果二刀流让左(下部显示)手武器像右(上部表示)手武器那样没有持有时
  29.     # 在这里强制替换他
  30.     for member in $game_party.members
  31.       member.auto_state
  32.       if member.weapons[0] == nil and member.weapons[1] != nil
  33.         member.change_equip_by_id(0, member.armor1_id)
  34.         member.change_equip_by_id(1, 0)
  35.         member.two_swords_change = true
  36.       end
  37.     end
  38.     @status_window.refresh
  39.   end
  40. end

  41. class Game_Actor < Game_Battler
  42.   def auto_state
  43.   
  44.     for item in equips.compact
  45.       auto_stat_id =[]
  46.       eval(item.note)
  47.       if auto_stat_id!=[]
  48.         for i in auto_stat_id
  49.           if i[1]==@class_id || i[1]==0
  50.             add_state(i[0])
  51.             hp=0 if i[0]==1
  52.           end
  53.         end
  54.       end
  55.     end
  56.   end
  57. end
复制代码
设置完以后在斩击技能里的备注写上
required_state=[46]#类似的
然后在剑类武器的备注加上
auto_stat_id=[[46,0]]#46跟上面的数要对上。

点评

照做了,会报错。  发表于 2012-8-12 20:27

评分

参与人数 1梦石 +2 收起 理由
Luciffer + 2 好触啊。。。

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 04:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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