Project1

标题: 装备取下,不能走动!《解决》 [打印本页]

作者: 52129848    时间: 2016-4-26 22:28
标题: 装备取下,不能走动!《解决》
本帖最后由 丿梁丶小柒 于 2016-5-9 09:42 编辑

有没有取啦某个装备槽的装备 就不能移动的脚本 比如鞋子这栏 没装备 就不能移动

重装机兵人车双系统 横版战斗 范例.zip

368.96 KB, 下载次数: 75


作者: chd114    时间: 2016-4-27 06:43
是战斗不能行动还是在地图上不能动···
作者: howhow1314    时间: 2016-4-27 14:43
RUBY 代码复制
  1. class RPG::EquipItem
  2.   def boots?
  3.     etype_id == 1
  4.   end
  5. end
  6.  
  7. class Game_Player
  8.   alias py27042016_move_straight move_straight
  9.   def move_straight(d, turn_ok = true)
  10.     return set_direction(d) unless $game_party.leader.equips.any? {|equip| equip.boots? if equip}
  11.     py27042016_move_straight(d)
  12.   end
  13. end


第3行是判斷裝備是否靴子的條件,可自行修改
比如
RUBY 代码复制
  1. etype_id == 1

當中1是裝備類型id(默認0,1,2,3,4分別為武器,盾,頭,身體,裝飾)
或者
RUBY 代码复制
  1. note.include?("<靴子>")

那只要在裝備的備注欄寫<靴子>就可以

如果想要在事件(或者腳本)控制主角移動時沒靴子也正常移動的話, 下半部份換成這個
RUBY 代码复制
  1. class Game_Player
  2.   alias py27042016_move_by_input move_by_input
  3.   def move_by_input   
  4.     return if !movable? || $game_map.interpreter.running?
  5.     return set_direction(Input.dir4) unless $game_party.leader.equips.any? {|equip| equip.boots? if equip} if Input.dir4 > 0
  6.     py27042016_move_by_input
  7.   end
  8. end

就可以了
作者: Vortur    时间: 2016-4-27 15:28
本想说可以用事件模拟的,然楼上的答案亮瞎眼
作者: 52129848    时间: 2016-4-27 19:47
howhow1314 发表于 2016-4-27 14:43
class RPG::EquipItem
  def boots?
    etype_id == 1

重装机兵人车双系统 横版战斗 范例
作者: 52129848    时间: 2016-4-27 19:47
howhow1314 发表于 2016-4-27 14:43
class RPG::EquipItem
  def boots?
    etype_id == 1

重装机兵人车双系统 横版战斗 范例

重装机兵人车双系统 横版战斗 范例.zip

368.96 KB, 下载次数: 72


作者: howhow1314    时间: 2016-4-27 21:56
RUBY 代码复制
  1. class Game_Player
  2.   alias py27042016_move_straight move_straight
  3.   def move_straight(d, turn_ok = true)
  4.     if $game_party.members.any? {|actor| actor.class.id == 5 && (!actor.equips[2] || !actor.equips[4])}
  5.       return set_direction(d)
  6.     end
  7.     py27042016_move_straight(d)
  8.   end
  9. end


只要队伍里其中一辆战车没装备c装备或引擎就不能移动…(不过会转方向, 要是不想转方向把set_direction(d)拿掉就可以了,return要留着)

不知道是不是你要的效果






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1