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

Project1

 找回密码
 注册会员
搜索
查看: 2776|回复: 20
打印 上一主题 下一主题

战斗中角色透明度问题

 关闭 [复制链接]

Lv1.梦旅人

弃坑的微博控

梦石
0
星屑
50
在线时间
548 小时
注册时间
2008-6-23
帖子
2114
跳转到指定楼层
1
发表于 2008-7-25 02:04:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在等待命令的时候
角色处于半透明状态

把这个透明度255放在脚本哪行?

opacity = 255
放在哪里.........

左边的 改成右边的..

版务信息:本贴由楼主自主结贴~
《灵中那些事》停工很久了。..

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-2-13
帖子
1740
2
发表于 2008-7-25 02:39:18 | 只看该作者
这个:http://rpg.blue/web/htm/news322.htm
仅做参考,没有RMXP,不好实践{/gg}{/gg}
好吧,果然换个签名就没人认识我了。我承认我被时间埋没了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

弃坑的微博控

梦石
0
星屑
50
在线时间
548 小时
注册时间
2008-6-23
帖子
2114
3
 楼主| 发表于 2008-7-25 06:56:13 | 只看该作者
    # 应该被显示的角色的情况下
    if @battler.is_a?(Game_Actor) and @battler_visible
      # 不是主状态的时候稍稍降低点透明度
      if $game_temp.battle_main_phase
        self.opacity += 3 if self.opacity < 255
      else
        self.opacity -= 3 if self.opacity > 255
      end
    end




这个早设置了,
解决了一部分的效果而已...


怎么说呢...

就是在等待命令的时候是半透明的
不是非主状态下透明.....不是在主状态下透明的我改掉了

等待命令的时候(攻击,法术,防御,物品)
是半透明的
很苦恼
那个   冏 囧 浻 埛 烱 綗。。。。。。。。
《灵中那些事》停工很久了。..

回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
4
发表于 2008-7-25 07:00:27 | 只看该作者
不想透明 就删掉
状态条 半透明是这么干的
LZ要得效果就不知道了 道理应该是一样的吧{/pz}
或者 =255
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

弃坑的微博控

梦石
0
星屑
50
在线时间
548 小时
注册时间
2008-6-23
帖子
2114
5
 楼主| 发表于 2008-7-25 07:09:58 | 只看该作者
就是找不到那个半透明的藏身点才来求教的...冏囧
《灵中那些事》停工很久了。..

回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
6
发表于 2008-7-25 07:16:13 | 只看该作者
以下引用陈安于2008-7-24 23:09:58的发言:

就是找不到那个半透明的藏身点才来求教的...冏囧

什么是半透明的藏身点? 我还真不知道……
大于和小于改成等于
或者所有的注释掉 试下
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39988
在线时间
5813 小时
注册时间
2006-11-10
帖子
6684
7
发表于 2008-7-25 07:22:55 | 只看该作者
在那个脚本下按CTRL+F 查找opacity

默认的是255,如果要透明肯定要加上这个,把所有opacity的都改成255试看看就是了~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

弃坑的微博控

梦石
0
星屑
50
在线时间
548 小时
注册时间
2008-6-23
帖子
2114
8
 楼主| 发表于 2008-7-25 07:23:27 | 只看该作者
我都查过了
opacity
脚本里的
opacity我都查找过了

没有可以改了

估计要插入个
opacity=255的数值

让角色在等待命令时变为不透明

我认为你应该看看我上面的东西

我觉得我表达很清楚了  


睡觉了
明天中午回来找答案
《灵中那些事》停工很久了。..

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39988
在线时间
5813 小时
注册时间
2006-11-10
帖子
6684
9
发表于 2008-7-25 07:30:37 | 只看该作者
把脚本发上来看看吧- -...

没脚本谁知道在哪里改....
回复 支持 反对

使用道具 举报

Lv1.梦旅人

弃坑的微博控

梦石
0
星屑
50
在线时间
548 小时
注册时间
2008-6-23
帖子
2114
10
 楼主| 发表于 2008-7-25 20:13:27 | 只看该作者
是战斗者的脚本吧...
Game_Battler (分割定义 1)
  1. #==============================================================================
  2. # ■ Game_Battler (分割定义 1)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
  5. # 超级类来使用。
  6. #==============================================================================

  7. class Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :battler_name             # 战斗者 文件名
  12.   attr_reader   :battler_hue              # 战斗者 色相
  13.   attr_reader   :hp                       # HP
  14.   attr_reader   :sp                       # SP
  15.   attr_reader   :states                   # 状态
  16.   attr_accessor :hidden                   # 隐藏标志
  17.   attr_accessor :immortal                 # 不死身标志
  18.   attr_accessor :damage_pop               # 显示伤害标志
  19.   attr_accessor :damage                   # 伤害值
  20.   attr_accessor :critical                 # 会心一击标志
  21.   attr_accessor :animation_id             # 动画 ID
  22.   attr_accessor :animation_hit            # 动画 击中标志
  23.   attr_accessor :white_flash              # 白色屏幕闪烁标志
  24.   attr_accessor :blink                    # 闪烁标志
  25.   #--------------------------------------------------------------------------
  26.   # ● 初始化对像
  27.   #--------------------------------------------------------------------------
  28.   def initialize
  29.     @battler_name = ""
  30.     @battler_hue = 0
  31.     @hp = 0
  32.     @sp = 0
  33.     @states = []
  34.     @states_turn = {}
  35.     @maxhp_plus = 0
  36.     @maxsp_plus = 0
  37.     @str_plus = 0
  38.     @dex_plus = 0
  39.     @agi_plus = 0
  40.     @int_plus = 0
  41.     @hidden = false
  42.     @immortal = false
  43.     @damage_pop = false
  44.     @damage = nil
  45.     @critical = false
  46.     @animation_id = 0
  47.     @animation_hit = false
  48.     @white_flash = false
  49.     @blink = false
  50.     @current_action = Game_BattleAction.new
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 获取 MaxHP
  54.   #--------------------------------------------------------------------------
  55.   def maxhp
  56.     n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
  57.     for i in @states
  58.       n *= $data_states[i].maxhp_rate / 100.0
  59.     end
  60.     n = [[Integer(n), 1].max, 999999].min
  61.     return n
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 获取 MaxSP
  65.   #--------------------------------------------------------------------------
  66.   def maxsp
  67.     n = [[base_maxsp + @maxsp_plus, 0].max, 9999].min
  68.     for i in @states
  69.       n *= $data_states[i].maxsp_rate / 100.0
  70.     end
  71.     n = [[Integer(n), 0].max, 9999].min
  72.     return n
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 获取力量
  76.   #--------------------------------------------------------------------------
  77.   def str
  78.     n = [[base_str + @str_plus, 1].max, 999].min
  79.     for i in @states
  80.       n *= $data_states[i].str_rate / 100.0
  81.     end
  82.     n = [[Integer(n), 1].max, 999].min
  83.     return n
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 获取灵巧
  87.   #--------------------------------------------------------------------------
  88.   def dex
  89.     n = [[base_dex + @dex_plus, 1].max, 999].min
  90.     for i in @states
  91.       n *= $data_states[i].dex_rate / 100.0
  92.     end
  93.     n = [[Integer(n), 1].max, 999].min
  94.     return n
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 获取速度
  98.   #--------------------------------------------------------------------------
  99.   def agi
  100.     n = [[base_agi + @agi_plus, 1].max, 999].min
  101.     for i in @states
  102.       n *= $data_states[i].agi_rate / 100.0
  103.     end
  104.     n = [[Integer(n), 1].max, 999].min
  105.     return n
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 获取魔力
  109.   #--------------------------------------------------------------------------
  110.   def int
  111.     n = [[base_int + @int_plus, 1].max, 999].min
  112.     for i in @states
  113.       n *= $data_states[i].int_rate / 100.0
  114.     end
  115.     n = [[Integer(n), 1].max, 999].min
  116.     return n
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 设置 MaxHP
  120.   #     maxhp : 新的 MaxHP
  121.   #--------------------------------------------------------------------------
  122.   def maxhp=(maxhp)
  123.     @maxhp_plus += maxhp - self.maxhp
  124.     @maxhp_plus = [[@maxhp_plus, -9999].max, 9999].min
  125.     @hp = [@hp, self.maxhp].min
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 设置 MaxSP
  129.   #     maxsp : 新的 MaxSP
  130.   #--------------------------------------------------------------------------
  131.   def maxsp=(maxsp)
  132.     @maxsp_plus += maxsp - self.maxsp
  133.     @maxsp_plus = [[@maxsp_plus, -9999].max, 9999].min
  134.     @sp = [@sp, self.maxsp].min
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● 设置力量
  138.   #     str : 新的力量
  139.   #--------------------------------------------------------------------------
  140.   def str=(str)
  141.     @str_plus += str - self.str
  142.     @str_plus = [[@str_plus, -999].max, 999].min
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 设置灵巧
  146.   #     dex : 新的灵巧
  147.   #--------------------------------------------------------------------------
  148.   def dex=(dex)
  149.     @dex_plus += dex - self.dex
  150.     @dex_plus = [[@dex_plus, -999].max, 999].min
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ● 设置速度
  154.   #     agi : 新的速度
  155.   #--------------------------------------------------------------------------
  156.   def agi=(agi)
  157.     @agi_plus += agi - self.agi
  158.     @agi_plus = [[@agi_plus, -999].max, 999].min
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 设置魔力
  162.   #     int : 新的魔力
  163.   #--------------------------------------------------------------------------
  164.   def int=(int)
  165.     @int_plus += int - self.int
  166.     @int_plus = [[@int_plus, -999].max, 999].min
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● 获取命中率
  170.   #--------------------------------------------------------------------------
  171.   def hit
  172.     n = 100
  173.     for i in @states
  174.       n *= $data_states[i].hit_rate / 100.0
  175.     end
  176.     return Integer(n)
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 获取攻击力
  180.   #--------------------------------------------------------------------------
  181.   def atk
  182.     n = base_atk
  183.     for i in @states
  184.       n *= $data_states[i].atk_rate / 100.0
  185.     end
  186.     return Integer(n)
  187.   end
  188.   #--------------------------------------------------------------------------
  189.   # ● 获取物理防御
  190.   #--------------------------------------------------------------------------
  191.   def pdef
  192.     n = base_pdef
  193.     for i in @states
  194.       n *= $data_states[i].pdef_rate / 100.0
  195.     end
  196.     return Integer(n)
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 获取魔法防御
  200.   #--------------------------------------------------------------------------
  201.   def mdef
  202.     n = base_mdef
  203.     for i in @states
  204.       n *= $data_states[i].mdef_rate / 100.0
  205.     end
  206.     return Integer(n)
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 获取回避修正
  210.   #--------------------------------------------------------------------------
  211.   def eva
  212.     n = base_eva
  213.     for i in @states
  214.       n += $data_states[i].eva
  215.     end
  216.     return n
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● 更改 HP
  220.   #     hp : 新的 HP
  221.   #--------------------------------------------------------------------------
  222.   def hp=(hp)
  223.     @hp = [[hp, maxhp].min, 0].max
  224.     # 解除附加的战斗不能状态
  225.     for i in 1...$data_states.size
  226.       if $data_states[i].zero_hp
  227.         if self.dead?
  228.           add_state(i)
  229.         else
  230.           remove_state(i)
  231.         end
  232.       end
  233.     end
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● 更改 SP
  237.   #     sp : 新的 SP
  238.   #--------------------------------------------------------------------------
  239.   def sp=(sp)
  240.     @sp = [[sp, maxsp].min, 0].max
  241.   end
  242.   #--------------------------------------------------------------------------
  243.   # ● 全回复
  244.   #--------------------------------------------------------------------------
  245.   def recover_all
  246.     @hp = maxhp
  247.     @sp = maxsp
  248.     for i in @states.clone
  249.       remove_state(i)
  250.     end
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ● 获取当前的动作
  254.   #--------------------------------------------------------------------------
  255.   def current_action
  256.     return @current_action
  257.   end
  258.   #--------------------------------------------------------------------------
  259.   # ● 确定动作速度
  260.   #--------------------------------------------------------------------------
  261.   def make_action_speed
  262.     @current_action.speed = agi + rand(10 + agi / 4)
  263.   end
  264.   #--------------------------------------------------------------------------
  265.   # ● 战斗不能判定
  266.   #--------------------------------------------------------------------------
  267.   def dead?
  268.     return (@hp == 0 and not @immortal)
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 存在判定
  272.   #--------------------------------------------------------------------------
  273.   def exist?
  274.     return (not @hidden and (@hp > 0 or @immortal))
  275.   end
  276.   #--------------------------------------------------------------------------
  277.   # ● HP 0 判定
  278.   #--------------------------------------------------------------------------
  279.   def hp0?
  280.     return (not @hidden and @hp == 0)
  281.   end
  282.   #--------------------------------------------------------------------------
  283.   # ● 可以输入命令判定
  284.   #--------------------------------------------------------------------------
  285.   def inputable?
  286.     return (not @hidden and restriction <= 1)
  287.   end
  288.   #--------------------------------------------------------------------------
  289.   # ● 可以行动判定
  290.   #--------------------------------------------------------------------------
  291.   def movable?
  292.     return (not @hidden and restriction < 4)
  293.   end
  294.   #--------------------------------------------------------------------------
  295.   # ● 防御中判定
  296.   #--------------------------------------------------------------------------
  297.   def guarding?
  298.     return (@current_action.kind == 0 and @current_action.basic == 1)
  299.   end
  300.   #--------------------------------------------------------------------------
  301.   # ● 休止中判定
  302.   #--------------------------------------------------------------------------
  303.   def resting?
  304.     return (@current_action.kind == 0 and @current_action.basic == 3)
  305.   end
  306. end
复制代码


Game_Battler (分割定义 2)
  1. #==============================================================================
  2. # ■ Game_Battler (分割定义 2)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
  5. # 超级类来使用。
  6. #==============================================================================

  7. class Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 检查状态
  10.   #     state_id : 状态 ID
  11.   #--------------------------------------------------------------------------
  12.   def state?(state_id)
  13.     # 如果符合被附加的状态的条件就返回 ture
  14.     return @states.include?(state_id)
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 判断状态是否为 full
  18.   #     state_id : 状态 ID
  19.   #--------------------------------------------------------------------------
  20.   def state_full?(state_id)
  21.     # 如果符合被附加的状态的条件就返回 false
  22.     unless self.state?(state_id)
  23.       return false
  24.     end
  25.     # 秩序回合数 -1 (自动状态) 然后返回 true
  26.     if @states_turn[state_id] == -1
  27.       return true
  28.     end
  29.     # 当持续回合数等于自然解除的最低回合数时返回 ture
  30.     return @states_turn[state_id] == $data_states[state_id].hold_turn
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 附加状态
  34.   #     state_id : 状态 ID
  35.   #     force    : 强制附加标志 (处理自动状态时使用)
  36.   #--------------------------------------------------------------------------
  37.   def add_state(state_id, force = false)
  38.     # 无效状态的情况下
  39.     if $data_states[state_id] == nil
  40.       # 过程结束
  41.       return
  42.     end
  43.     # 无法强制附加的情况下
  44.     unless force
  45.       # 已存在的状态循环
  46.       for i in @states
  47.         # 新的状态和已经存在的状态 (-) 同时包含的情况下、
  48.         # 本状态不包含变化为新状态的状态变化 (-)
  49.         # (ex : 战斗不能与附加中毒同时存在的场合)
  50.         if $data_states[i].minus_state_set.include?(state_id) and
  51.            not $data_states[state_id].minus_state_set.include?(i)
  52.           # 过程结束
  53.           return
  54.         end
  55.       end
  56.     end
  57.     # 无法附加本状态的情况下
  58.     unless state?(state_id)
  59.       # 状态 ID 追加到 @states 序列中
  60.       @states.push(state_id)
  61.       # 选项 [当作 HP 0 的状态] 有效的情况下
  62.       if $data_states[state_id].zero_hp
  63.         # HP 更改为 0
  64.         @hp = 0
  65.       end
  66.       # 所有状态的循环
  67.       for i in 1...$data_states.size
  68.         # 状态变化 (+) 处理
  69.         if $data_states[state_id].plus_state_set.include?(i)
  70.           add_state(i)
  71.         end
  72.         # 状态变化 (-) 处理
  73.         if $data_states[state_id].minus_state_set.include?(i)
  74.           remove_state(i)
  75.         end
  76.       end
  77.       # 按比例大的排序 (值相等的情况下按照强度排序)
  78.       @states.sort! do |a, b|
  79.         state_a = $data_states[a]
  80.         state_b = $data_states[b]
  81.         if state_a.rating > state_b.rating
  82.           -1
  83.         elsif state_a.rating < state_b.rating
  84.           +1
  85.         elsif state_a.restriction > state_b.restriction
  86.           -1
  87.         elsif state_a.restriction < state_b.restriction
  88.           +1
  89.         else
  90.           a <=> b
  91.         end
  92.       end
  93.     end
  94.     # 强制附加的场合
  95.     if force
  96.       # 设置为自然解除的最低回数 -1 (无效)
  97.       @states_turn[state_id] = -1
  98.     end
  99.     # 不能强制附加的场合
  100.     unless  @states_turn[state_id] == -1
  101.       # 设置为自然解除的最低回数
  102.       @states_turn[state_id] = $data_states[state_id].hold_turn
  103.     end
  104.     # 无法行动的场合
  105.     unless movable?
  106.       # 清除行动
  107.       @current_action.clear
  108.     end
  109.     # 检查 HP 及 SP 的最大值
  110.     @hp = [@hp, self.maxhp].min
  111.     @sp = [@sp, self.maxsp].min
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 解除状态
  115.   #     state_id : 状态 ID
  116.   #     force    : 强制解除标志 (处理自动状态时使用)
  117.   #--------------------------------------------------------------------------
  118.   def remove_state(state_id, force = false)
  119.     # 无法附加本状态的情况下
  120.     if state?(state_id)
  121.       # 被强制附加的状态、并不是强制解除的情况下
  122.       if @states_turn[state_id] == -1 and not force
  123.         # 过程结束
  124.         return
  125.       end
  126.       # 现在的 HP 为 0 当作选项 [当作 HP 0 的状态]有效的场合
  127.       if @hp == 0 and $data_states[state_id].zero_hp
  128.         # 判断是否有另外的 [当作 HP 0 的状态]状态
  129.         zero_hp = false
  130.         for i in @states
  131.           if i != state_id and $data_states[i].zero_hp
  132.             zero_hp = true
  133.           end
  134.         end
  135.         # 如果可以解除战斗不能、将 HP 更改为 1
  136.         if zero_hp == false
  137.           @hp = 1
  138.         end
  139.       end
  140.       # 将状态 ID 从 @states 队列和 @states_turn hash 中删除
  141.       @states.delete(state_id)
  142.       @states_turn.delete(state_id)
  143.     end
  144.     # 检查 HP 及 SP 的最大值
  145.     @hp = [@hp, self.maxhp].min
  146.     @sp = [@sp, self.maxsp].min
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 获取状态的动画 ID
  150.   #--------------------------------------------------------------------------
  151.   def state_animation_id
  152.     # 一个状态也没被附加的情况下
  153.     if @states.size == 0
  154.       return 0
  155.     end
  156.     # 返回概率最大的状态动画 ID
  157.     return $data_states[@states[0]].animation_id
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 获取限制
  161.   #--------------------------------------------------------------------------
  162.   def restriction
  163.     restriction_max = 0
  164.     # 从当前附加的状态中获取最大的 restriction
  165.     for i in @states
  166.       if $data_states[i].restriction >= restriction_max
  167.         restriction_max = $data_states[i].restriction
  168.       end
  169.     end
  170.     return restriction_max
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 判断状态 [无法获得 EXP]
  174.   #--------------------------------------------------------------------------
  175.   def cant_get_exp?
  176.     for i in @states
  177.       if $data_states[i].cant_get_exp
  178.         return true
  179.       end
  180.     end
  181.     return false
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 判断状态 [无法回避攻击]
  185.   #--------------------------------------------------------------------------
  186.   def cant_evade?
  187.     for i in @states
  188.       if $data_states[i].cant_evade
  189.         return true
  190.       end
  191.     end
  192.     return false
  193.   end
  194.   #--------------------------------------------------------------------------
  195.   # ● 判断状态 [连续伤害]
  196.   #--------------------------------------------------------------------------
  197.   def slip_damage?
  198.     for i in @states
  199.       if $data_states[i].slip_damage
  200.         return true
  201.       end
  202.     end
  203.     return false
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● 解除战斗用状态 (战斗结束时调用)
  207.   #--------------------------------------------------------------------------
  208.   def remove_states_battle
  209.     for i in @states.clone
  210.       if $data_states[i].battle_only
  211.         remove_state(i)
  212.       end
  213.     end
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● 状态自然解除 (回合改变时调用)
  217.   #--------------------------------------------------------------------------
  218.   def remove_states_auto
  219.     for i in @states_turn.keys.clone
  220.       if @states_turn[i] > 0
  221.         @states_turn[i] -= 1
  222.       elsif rand(100) < $data_states[i].auto_release_prob
  223.         remove_state(i)
  224.       end
  225.     end
  226.   end
  227.   #--------------------------------------------------------------------------
  228.   # ● 状态攻击解除 (受到物理伤害时调用)
  229.   #--------------------------------------------------------------------------
  230.   def remove_states_shock
  231.     for i in @states.clone
  232.       if rand(100) < $data_states[i].shock_release_prob
  233.         remove_state(i)
  234.       end
  235.     end
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● 状态变化 (+) 的适用
  239.   #     plus_state_set  : 状态变化 (+)
  240.   #--------------------------------------------------------------------------
  241.   def states_plus(plus_state_set)
  242.     # 清除有效标志
  243.     effective = false
  244.     # 循环 (附加状态)
  245.     for i in plus_state_set
  246.       # 无法防御本状态的情况下
  247.       unless self.state_guard?(i)
  248.         # 这个状态如果不是 full 的话就设置有效标志
  249.         effective |= self.state_full?(i) == false
  250.         # 状态为 [不能抵抗] 的情况下
  251.         if $data_states[i].nonresistance
  252.           # 设置状态变化标志
  253.           @state_changed = true
  254.           # 附加状态
  255.           add_state(i)
  256.         # 这个状态不是 full 的情况下
  257.         elsif self.state_full?(i) == false
  258.           # 将状态的有效度变换为概率、与随机数比较
  259.           if rand(100) < [0,100,80,60,40,20,0][self.state_ranks[i]]
  260.             # 设置状态变化标志
  261.             @state_changed = true
  262.             # 附加状态
  263.             add_state(i)
  264.           end
  265.         end
  266.       end
  267.     end
  268.     # 过程结束
  269.     return effective
  270.   end
  271.   #--------------------------------------------------------------------------
  272.   # ● 状态变化 (-) 的使用
  273.   #     minus_state_set : 状态变化 (-)
  274.   #--------------------------------------------------------------------------
  275.   def states_minus(minus_state_set)
  276.     # 清除有效标志
  277.     effective = false
  278.     # 循环 (解除状态)
  279.     for i in minus_state_set
  280.       # 如果这个状态被附加则设置有效标志
  281.       effective |= self.state?(i)
  282.       # 设置状态变化标志
  283.       @state_changed = true
  284.       # 解除状态
  285.       remove_state(i)
  286.     end
  287.     # 过程结束
  288.     return effective
  289.   end
  290. end
复制代码


《灵中那些事》停工很久了。..

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-9 15:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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