查看: 1888|回复: 7

[已经解决] 如何设计一个伤害随武器等级提升的单体技能?

[复制链接]
梦石
0
星屑
50
在线时间
6 小时
注册时间
2012-1-24
回帖
6
发表于 2017-1-10 22:35:33 | 显示全部楼层 |阅读模式

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

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

×
如题,本人是个彻头彻尾的新手,刚刚开始尝试制作游戏,特来请教。
计划制作一名如下角色:武器不可更换但可通过事件升级,每升一级增加固定伤害值,角色所有技能威力也随之提升。公式大致为:技能威力=武器等级*固定伤害*技能系数。
想到了利用技能“公共事件“来实现效果,但尝试后发现公共事件中“减少敌人体力“仅可选择“全体敌人“或特定编号敌人,如此一来单体伤害技能便无法选择想攻击的目标……
另一个麻烦,是公共事件似乎无法实现这个公式,而技能伤害公式中又无法代入常量计算,目前尚未找到解决办法。

顺便一问:令特定角色没有“攻击”技能,有实现的办法吗?
梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
回帖
1263

开拓者剧作品鉴家

发表于 2017-1-10 23:07:42 | 显示全部楼层
"而技能伤害公式中又无法代入常量计算"


1.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
6 小时
注册时间
2012-1-24
回帖
6
 楼主| 发表于 2017-1-11 08:50:57 | 显示全部楼层
RaidenInfinity 发表于 2017-1-10 23:07
"而技能伤害公式中又无法代入常量计算"

居然没注意到最后的小字……自己基本功不扎实啊。感谢指点。

点评

希望这个角色没有“攻击”命令,这样我就可以制作另一个技能来代替常规攻击  发表于 2017-1-11 11:33
另外让特定角色没有攻击技能 指的是让“攻击”指令灰掉不可点选吗?  发表于 2017-1-11 10:15
回复

使用道具 举报

梦石
0
星屑
50
在线时间
6 小时
注册时间
2012-1-24
回帖
6
 楼主| 发表于 2017-1-11 11:33:39 | 显示全部楼层
RaidenInfinity 发表于 2017-1-10 23:07
"而技能伤害公式中又无法代入常量计算"

希望这个角色没有“攻击”命令,这样我就可以制作另一个技能来代替常规攻击
回复

使用道具 举报

梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
回帖
1263

开拓者剧作品鉴家

发表于 2017-1-11 11:54:39 | 显示全部楼层
[pre lang="ruby"]
#玩家角色类 (继承 战斗人员类)
class Game_Actor < Game_Battler
  
  #判定攻击是否可是用
  def attack_usable?
    #判定:如果[]内包含角色ID则返回假值/禁用攻击
    return false if [1,2,3].include?(@actor_id) #改[]里面的数值
    super #调用Game_BattlerBase里面的attack_usable?原方法
  end
  
end
[/pre]
这个插件脚本会导致特定角色(请在[]里面定义,如果只有一个的话就[1]这样就好)的攻击指令被禁止使用(显示灰色)。
我是比较建议这样做,当然完全移除攻击指令也是有方法的:
[pre lang="ruby"]
#角色战斗指令窗
class Window_ActorCommand < Window_Command
  #增添攻击指令
  def add_attack_command
    #如果[]里面包含角色ID则返回(不执行增添)
    return if [1,2,3].include?(@actor.id)
    #否则增添攻击指令
    add_command(Vocab::attack, :attack, @actor.attack_usable?)
  end
end  
[/pre]
用了这个就不需要上面的了(虽然两个一起放也没啥问题)
绿字注释已经说明了每行代码是干啥的。

点评

感谢!回去试一试  发表于 2017-1-12 11:01
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部