查看: 3200|回复: 10

[已经解决] 请教几个问题

[复制链接]
梦石
0
星屑
825
在线时间
223 小时
注册时间
2014-5-23
回帖
47
发表于 2014-5-25 16:31:58 | 显示全部楼层 |阅读模式

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

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

×
1 做了一个同伴加入的事件,同伴加入后发现他不是满血,这是怎么回事啊
2现在使用了豪华版技能冷却脚本,按照说明在技能名称后添加了半角逗号和数字,但游戏里并没有效果,也没提示出错,不知是什么原因

那位大神帮帮忙啊
[pre lang="ruby" line="1"]#=======================================================================
#  豪华版技能冷却系统 By 绿发的Eclair
#  使用方法:在特技名称后面用半角逗号分割,写上冷却回合数。
#  比如 十字斩,10 就是特技 十字斩 冷却10个回合了。
#  注意这个冷却是敌我通用的,不只是我方,敌人也不会使用冷却中的技能哦。
#  不想让特技窗口中显示冷却回合数, $冷却时间显示 = false 就行了。
#  冲突性:存在,但是除了RTAB外似乎整合难度不大。
#=======================================================================
$冷却时间显示 = true
module RPG
  class Skill
  def cold
    return @name.split(/,/)[1]
  end
  def name(actor = nil)
    if $冷却时间显示 and actor != nil and actor.cold[@id] != nil
      a = (@name.split(/,/)[0] == nil ? 0 : @name.split(/,/)[0])
      return a + "(" + actor.cold[@id].to_s + "回合冷却)"
    else
      return (@name.split(/,/)[0] == nil ? 0 : @name.split(/,/)[0])
    end
  end
  end
end
class Game_Battler
  attr_accessor :cold
  alias initialize_cold :initialize
  def initialize
    @cold = {}
    initialize_cold
  end
  def set_cold(key,val)
    return if @cold[key] == nil
    @cold[key] += val
    @cold.delete(key) if @cold[key] <= 0
  end
  alias skill_can_use_addcold :skill_can_use?
  def skill_can_use?(skill_id)
    return false if @cold[skill_id] != nil
    skill_can_use_addcold(skill_id)
  end
end
class Scene_Battle
  alias make_skill_action_result_addcold :make_skill_action_result
  def make_skill_action_result
    make_skill_action_result_addcold
    if @skill.cold.to_i != 0
    @active_battler.cold[@skill.id] = @skill.cold.to_i
    end
  end
  alias start_phase4_addcold :start_phase4
  def start_phase4
    for i in $game_party.actors + $game_troop.enemies
      for j in i.cold.keys
      i.set_cold(j,-1)
      end   
    end   
    start_phase4_addcold
  end     
end   
class Window_Skill < Window_Selectable
    def draw_item(index)
    skill = @data[index]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(skill.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    if $scene.is_a?(Scene_Battle)
    self.contents.draw_text(x + 28, y, 204, 32, skill.name(@actor), 0)
    else
    self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
    end
    self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
end
class Game_Enemy < Game_Battler
    def make_action
    # 清除当前行动
    self.current_action.clear
    # 无法行动的情况
    unless self.movable?
      # 过程结束
      return
    end
    # 抽取现在有效的行动
    available_actions = []
    rating_max = 0
    for action in self.actions
      # 确认回合条件
      n = $game_temp.battle_turn
      a = action.condition_turn_a
      b = action.condition_turn_b
      if (b == 0 and n != a) or
         (b > 0 and (n < 1 or n < a or n % b != a % b))
        next
      end
      # 确认 HP 条件
      if self.hp * 100.0 / self.maxhp > action.condition_hp
        next
      end
      if self.cold[action.skill_id] != nil
        next
      end
      # 确认等级条件
      if $game_party.max_level < action.condition_level
        next
      end
      # 确认开关条件
      switch_id = action.condition_switch_id
      if switch_id > 0 and $game_switches[switch_id] == false
        next
      end
      # 符合条件 : 添加本行动
      available_actions.push(action)
      if action.rating > rating_max
        rating_max = action.rating
      end
    end
    # 最大概率值作为 3 合计计算(0 除外)
    ratings_total = 0
    for action in available_actions
      if action.rating > rating_max - 3
        ratings_total += action.rating - (rating_max - 3)
      end
    end
    # 概率合计不为 0 的情况下
    if ratings_total > 0
      # 生成随机数
      value = rand(ratings_total)
      # 设置对应生成随机数的当前行动
      for action in available_actions
        if action.rating > rating_max - 3
          if value < action.rating - (rating_max - 3)
            self.current_action.kind = action.kind
            self.current_action.basic = action.basic
            self.current_action.skill_id = action.skill_id
            self.current_action.decide_random_target_for_enemy
            return
          else
            value -= action.rating - (rating_max - 3)
          end
        end
      end
    end
  end
end
#=======================================================================
#豪华版技能冷却系统
#=======================================================================[/pre]

点评

请勿一贴多问~  发表于 2014-6-4 10:16

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-5-25 16:37:11 | 显示全部楼层
本帖最后由 taroxd 于 2014-5-25 17:06 编辑

1. 加入后补满不就好了
2. 不知道,但是逗号后面的数字之后不能写其他东西。(话说第一次见到冷却用“cold”这个单词的……)

点评

moy
因为是国人吧|||不过YEAB的restriction在国内也基本不具辨识度233,估计colddown比较适合大部分人  发表于 2014-5-25 18:13

评分

参与人数 1星屑 +60 收起 理由
天地有正气 + 60 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
825
在线时间
223 小时
注册时间
2014-5-23
回帖
47
 楼主| 发表于 2014-5-25 16:43:38 | 显示全部楼层
taroxd 发表于 2014-5-25 16:37
1. 加入后补满不就好了
2. 不知道,但是数字后不能写其他东西。(话说第一次见到冷却用“cold”这个单词的 ...

必须要他满状态加入,有强迫症的孩子伤不起,难道是我不小心在哪儿设置了?
版主大人的意思是脚本有问题
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-5-25 16:50:04 | 显示全部楼层
stidus 发表于 2014-5-25 16:43
必须要他满状态加入,有强迫症的孩子伤不起,难道是我不小心在哪儿设置了?
版主大人的意思是脚本有问题 ...

1. 请告诉我满状态加入和加入后补满的区别在哪儿……
2. 咱前三个字就写的“不知道”哇,只是给了一种出错的可能而已
回复

使用道具 举报

梦石
0
星屑
825
在线时间
223 小时
注册时间
2014-5-23
回帖
47
 楼主| 发表于 2014-5-25 17:12:13 | 显示全部楼层
taroxd 发表于 2014-5-25 16:50
1. 请告诉我满状态加入和加入后补满的区别在哪儿……
2. 咱前三个字就写的“不知道”哇,只是给了一种出 ...

感觉不是很完美。。。我是不是应该给他加个受伤的剧情,这样就说的通的
好吧 能不能圈一下作者
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-5-25 17:15:39 | 显示全部楼层
stidus 发表于 2014-5-25 17:12
感觉不是很完美。。。我是不是应该给他加个受伤的剧情,这样就说的通的
好吧 能不能圈一下作者 ...

为什么加入后补满会不完美啊。。。加入后“完全回复”不是很自然的设定吗!?

然后,我估计这年代的脚本是圈不到作者的。等待会XP脚本的来回答吧。
回复

使用道具 举报

梦石
0
星屑
825
在线时间
223 小时
注册时间
2014-5-23
回帖
47
 楼主| 发表于 2014-5-25 17:21:21 | 显示全部楼层
taroxd 发表于 2014-5-25 17:15
为什么加入后补满会不完美啊。。。加入后“完全回复”不是很自然的设定吗!?

然后,我估计这年代的脚本 ...

原来如此 我还以为是要让我给他加满呢。。。新手就是这么让人拙计
看来只能慢慢等了
回复

使用道具 举报

梦石
0
星屑
290
在线时间
3599 小时
注册时间
2012-2-29
回帖
3320

黄金编剧

发表于 2014-5-25 18:02:21 | 显示全部楼层
唔,第一条有个可能性
就是这个队友之前加入过,血量降低后又走了
然后再次加入时没有初始化
是这样么

点评

moy
不过如果真是重新加入的,那更不能初始化了,还是完全恢复比较靠谱  发表于 2014-5-25 18:14

评分

参与人数 1星屑 +50 收起 理由
天地有正气 + 50 我很赞同

查看全部评分

简化 高效 简约 便捷,为用户体验而思考。
回复

使用道具 举报

梦石
0
星屑
825
在线时间
223 小时
注册时间
2014-5-23
回帖
47
 楼主| 发表于 2014-5-25 18:22:15 | 显示全部楼层
·雾逝者· 发表于 2014-5-25 18:02
唔,第一条有个可能性
就是这个队友之前加入过,血量降低后又走了
然后再次加入时没有初始化

是第一次加入,加入后只有差不多一半血的样子。现在已经用完全恢复弄好了
能看一下第二个问题吗
回复

使用道具 举报

梦石
0
星屑
50
在线时间
111 小时
注册时间
2011-10-1
回帖
185
发表于 2014-5-27 01:41:13 来自手机 | 显示全部楼层
stidus 发表于 2014-5-25 18:22
是第一次加入,加入后只有差不多一半血的样子。现在已经用完全恢复弄好了
能看一下第二个问题吗 ...

。。。是不是用了什么破hp限的脚本。脚本的话,不懂。你可以换别的试试嘛
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部