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

Project1

 找回密码
 注册会员
搜索

MOG的蓄力时间调整(加速减速)求助

查看数: 224 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-10-23 21:12

正文摘要:

本帖最后由 神隐的主犯 于 2024-10-24 20:00 编辑 RUBY 代码复制#==============================================================================# +++ MOG - ATB战斗系统   ...

回复

神隐的主犯 发表于 2024-10-24 20:02:36
本帖最后由 神隐的主犯 于 2024-10-24 20:03 编辑

我新的尝试是。直接对速度修正下手【1359行左右代码】
  1. def self.set_cast_action(item)
  2.     item.speed *= 1.5 if @command_actor.state?(38)#结舌
  3.     item.speed *= 0.5 if @command_actor.state?(39)#急速
  4.     value = item.speed.abs
  5.   #  value *= 1.5 if @command_actor.state?(38)
  6.   #  value *= 0.5 if @command_actor.state?(39)
  7.       if value > 10
  8.          @command_actor.atb_cast = [item,value,0]
  9.       else   
  10.          @command_actor.atb_cast = [item,10,10]
  11.       end  
  12.       @command_actor.animation_id = MOG_ATB_SYSTEM::CAST_ANIMATION
  13.       @command_actor.atb = 0 ; @command_actor.next_turn = false
  14.       @command_actor = nil
  15.   end      
复制代码

但是这样发现了一个大问题,队友a拥有急速状态时,队友b也会受到影响(即使b没有状态),然后速度修正会无限重复生效*2*2*2…………
比如原速度修正40,一次急速后变成20,急速消失后再次获得急速行动,就会变成10的修正(且无法返回初值),这该怎麽办啊QAQ

点评

所以会出现你这样的情况,应对方法是先用clone进行复制本体来尝试解决,因为这里只需要读取蓄力时间等信息,所以应该没什么问题  发表于 2024-10-24 21:50
你不能直接对item下手,因为它指向的是数据库的技能,默认脚本所有角色学的技能都是数据库里唯一的那个id,改了会影响所有角色的该id的技能  发表于 2024-10-24 21:46
该方法第一行新写一句item = item.clone然后测试一下看一下  发表于 2024-10-24 21:35
神隐的主犯 发表于 2024-10-24 17:01:24
本帖最后由 神隐的主犯 于 2024-10-24 19:58 编辑

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

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

GMT+8, 2024-11-17 21:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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