Project1

标题: 技能相关(已解决) [打印本页]

作者: 世界第一中二    时间: 2017-1-21 12:21
标题: 技能相关(已解决)
本帖最后由 世界第一中二 于 2017-2-18 15:40 编辑

没错又是本萌新!
接下来想请教一系列的技能相关的问题喵~
1.制作一个技能,对敌人造成伤害,使用者的mp上限永久+1
2.制作一个技能,对特定的敌人造成10倍伤害
3.制作一个技能,对全体敌人造成伤害的同时,为我方全体队友回复hp并附加增益状态
4.制作一个技能,将自己的mp平分给队友(假如A有30mp,总共ABC三人在场,使用后Amp变为10,BCmp+10;若C战斗不能,则Amp变为15,Bmp增加15)
还有关于平a吸血的问题,普通攻击附加吸收这个属性具体有什么作用。
以上,恳求各位大佬解答

……已解决,感谢两位dalao的帮助。
作者: 烛龙之殇    时间: 2017-1-21 13:36
1,3用公共事件做,2修改技能的属性并把特定敌人对此属性的耐性调为1000%
作者: 世界第一中二    时间: 2017-1-21 22:51
烛龙之殇 发表于 2017-1-21 13:36
1,3用公共事件做,2修改技能的属性并把特定敌人对此属性的耐性调为1000%

能具体点么……1的话我试了试,可能是什么地方出了点问题,结果并没有能增加该角色的mp上限
2已解决

作者: 烛龙之殇    时间: 2017-1-22 08:28
1.在公共事件里新建一个"增加MP"
2.在技能设置的公共事件中将"增加MP"加上去

2345截图20170122082446.png (120.44 KB, 下载次数: 33)

2345截图20170122082446.png

2345截图20170122082501.png (11.66 KB, 下载次数: 32)

2345截图20170122082501.png

2345截图20170122082520.png (60.04 KB, 下载次数: 34)

2345截图20170122082520.png

作者: 世界第一中二    时间: 2017-1-22 11:33
哦哦,我知道哪里错了,我选择的是回复1mp而不是增加1mp上限,谢谢,问题123已解决
问题4有dalao帮忙么
还有话说设定了武器的攻击附加属性为【吸收】,平a的时候可以吸血么
作者: weew163com    时间: 2017-1-22 14:04
本帖最后由 weew163com 于 2017-1-22 14:17 编辑

别的有人回答了 这个是4的做法,

来到脚本管理器的 Game_Battler 的 item_apply(user, item)  (应用技能/物品的效果)
在它最下面两个end之间加入 make_tsxg(user, item)



然后在 main 前插入脚本

RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 设置特殊效果
  4.   #--------------------------------------------------------------------------  
  5.   def make_tsxg(user, item)
  6.     if item.is_a?(RPG::Skill)                                   #判断是技能不是物品
  7.       case item.id                                              #循环判断技能编号
  8.       when 2                                                    #如果是2号技能
  9.         the_mp = (user.mp/$game_party.alive_members.size).to_i  #定义使用者的mp除以人数的数值
  10.         user.mp = 0                                             #清空使用者的mp
  11.         $game_party.alive_members.each do |i|                   #每一个活着的成员执行一次(输出成员为i
  12.           i.mp += the_mp                                        #成员 i 的mp增加定义好的数值
  13.           over_mp = i.mp + the_mp - i.mmp                       #定义超出mp上限的数值
  14.           user.mp += over_mp if over_mp > 0                     #返还超出上限部分的mp
  15.         end
  16.       end
  17.     end
  18.   end
  19. end


==============================
脚本里面:
          over_mp = i.mp + the_mp - i.mmp
          user.mp += over_mp if over_mp > 0
这两句 表示如果mp+分给他的mp大于了他的最大mp
把多出来的mp返还给使用者。
如果不需要可以删除

作者: 世界第一中二    时间: 2017-1-22 23:52
weew163com 发表于 2017-1-22 14:04
别的有人回答了 这个是4的做法,

来到脚本管理器的 Game_Battler 的 item_apply(user, item)  (应用技能 ...

那……然后这个技能怎么制作啊_(:3」∠)_
作者: weew163com    时间: 2017-1-23 10:16
你把 when 2的2改成你的技能号码,然后你的技能只要能用出来就可以了。
会自动执行平分MP效果
你可以在技能里设置别的效果
使用技能会执行你设置的效果和平分mp两个效果
你只要平分效果的话伤害和使用效果可以不设置
作者: 世界第一中二    时间: 2017-1-23 12:19
问题已解决,谢谢




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