查看: 3118|回复: 3

[已经解决] 如何禁止玩家在战斗中使用防御,道具和回复魔法特技。

[复制链接]
梦石
0
星屑
558
在线时间
377 小时
注册时间
2012-7-10
回帖
1207
发表于 2018-1-2 20:03:32 | 显示全部楼层 |阅读模式

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

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

×
在一场特别的战斗里需要。就是让玩家只能攻击和使用攻击魔法特技行动,以免玩家用非伤害的指令浪费回合。
太久没有来6R了,都是新面孔啊。
帮忙宣传游戏ing,虽说不常上线。
梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2018-1-2 23:35:06 | 显示全部楼层
提供一下思路
1.禁用防御
关闭1号开关时禁用防御
[pre lang="ruby"]def guard_usable?
    usable?($data_skills[guard_skill_id]) and $game_switches[1]
end[/pre]
2.禁用道具
关闭2号开关时禁用道具
[pre lang="ruby"]def add_item_command
    add_command(Vocab::item, :item , @actor.item_usable?)
end[/pre]
[pre lang="ruby"]def item_usable?
    $game_switches[2]
end[/pre]
3.禁用回复技能
我觉得的话其实禁用回复技能差不多等于目标不为我方(总不可能对敌方进行回复吧?)
所以在skill_conditions_met?(skill)方法里加个u_s?(skill)
然后定义一下u_s?(skill)
[pre lang="ruby"]def u_s?(item)
    if $game_switches[3]
      if item.for_friend?
        return false
      else
        return true
      end
    end
    return true
end[/pre]
正常情况下直接返回true,当打开3号开关的时候才会进行判断:目标为我方的技能禁用

以上只是提供思路给楼主作为参考用

点评

对敌方进行恢复技能的还真的有(比如涤洗之焰,先造成300伤害再持续恢复360hp),其实你只要判断hit_type就行了吧···  发表于 2018-1-3 19:26

评分

参与人数 1赞 +1 收起 理由
歌莉·萌露 + 1 塞糖

查看全部评分

笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

梦石
0
星屑
558
在线时间
377 小时
注册时间
2012-7-10
回帖
1207
 楼主| 发表于 2018-1-3 08:30:02 | 显示全部楼层
魔法丶小肉包 发表于 2018-1-2 23:35
提供一下思路
1.禁用防御
关闭1号开关时禁用防御

感谢,大致改出了需要的效果了。感谢提供地思路。
太久没有来6R了,都是新面孔啊。
帮忙宣传游戏ing,虽说不常上线。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部