查看: 2138|回复: 2

[已经过期] 如何设定一个跟SP消耗量有关的技能

[复制链接]
梦石
0
星屑
1442
在线时间
328 小时
注册时间
2016-4-4
回帖
126

开拓者

发表于 2017-4-2 19:12:19 | 显示全部楼层 |阅读模式

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

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

×
我想设计一个 技能威力跟全队已消耗的SP挂钩的技能  目前思路是:
一个技能[S1]连接到一个公共事件中
公共事件中用脚本计算变量
然后把这个变量..先暂时称为lLEFT_SP把   把LEFT_SP赋值给另一个变量...称其为POWER把   
然后 强制行动该角色 使其使用另一个技能...[S2]
然后  利用自定义技能公式脚本 修饰一下S2 #F: ( 威力 + V[POWER] ) * b.index/2

思路是这样 然后关键是这个LEFT_SP..全队的剩余SP的值该如何用公共事件计算
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-4-3 01:23:36 | 显示全部楼层
本帖最后由 guoxiaomi 于 2017-4-3 01:25 编辑

事件脚本:如果死亡的角色不算的话这么做,否则删掉第 3 行
  1. leftsp = 0
  2. $game_party.actors.each do |a|
  3.   next if a.dead? # a死亡就不算
  4.   leftsp = leftsp + a.maxsp - a.sp
  5. end
  6. $game_variables[1] = leftsp
复制代码


事件的话,就只能判断队伍里的角色,然后计算maxsp - sp的总和了。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
34459
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2017-4-3 08:30:25 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2017-4-3 08:53 编辑
  1. #全队剩余SP
  2. $game_variables[1] = 0
  3. $game_party.actors.each{|a| $game_variables[1] += a.sp unless a.dead?}
复制代码


如果用到技能伤害算法里,就不得不考虑敌人,可以先直接弄一个剩余SP加威力的函数,比如叫 sp_power

[pre lang="ruby"]#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  def sp_power
    target = self.is_a?(Game_Actor) ? $game_party.actors.clone : $game_troop.enemies.clone
    power = 0
    target.each{|t| power += t.sp if t.exist?}
    return power
  end
end
#==============================================================================[/pre]

然后在技能伤害计算式里,user.sp_power  代表队伍剩余SP量,角色/敌人都有效。再根据技能ID改一下伤害计算式就行了。
xp vx va mv  va mz 各类型脚本/插件定制
回复 1 0

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部