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

Project1

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

[已经解决] 用了升级提示系统以后文字重叠

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2013-2-20
帖子
40
跳转到指定楼层
1
发表于 2013-7-24 14:13:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
{:2_271:}就像这样 求帮助

搜狗截图13年07月24日1409_1.jpg (29.86 KB, 下载次数: 18)

搜狗截图13年07月24日1409_1.jpg

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2013-2-20
帖子
40
2
 楼主| 发表于 2013-7-24 14:16:08 | 只看该作者
脚本:
#==============================================================================
# 本脚本来自66RPG.com,使用和转载请保留此信息
#==============================================================================
#==============================================================================
# 升级提示 v1.1
#
# 核心部分 By 叶子
# 窗口部分 原作者:桜雅 在土 修改:叶子
#
# Date: 2-12-2006 -v1.0
#       3-2-2006 -v1.1
#==============================================================================
#
# 在对话时,调用“增加EXP”或“增减等级”指令前,请等待3帧以上,否则对话框来不及消失。
#
# 当打开此号数的开关的时候,等级上升将不会提示,比如默认打开45号开关,等级上升不再提示
$不显示升级窗口 = 8
#==============================================================================

class Game_Actor
  #--------------------------------------------------------------------------
  # ● 更改 EXP
  #     exp : 新的 EXP
  #--------------------------------------------------------------------------
  def exp=(exp)
    # 记录旧等级
    last_level = @level
    @exp = [[exp, 9999999].min, 0].max
    # 升级
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      @level += 1
      # 学会特技
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
        end
      end
    end
    # 降级
    while @exp < @exp_list[@level]
      @level -= 1
    end
    # 修正当前的 HP 与 SP 超过最大值
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
    # 升级了的话,升级显示处理
    if @level > last_level and $game_switches[$不显示升级窗口] == false and
      not $BTEST
      show_level_up_result(last_level)
    end
  end
  #--------------------------------------------------------------------------
  # ● 升级显示处理
  #--------------------------------------------------------------------------
  def show_level_up_result(last_level)
    actor_parameters = self.last_parameters(last_level)
    last_maxhp = actor_parameters[0]
    last_maxsp = actor_parameters[1]
    last_str = actor_parameters[2]
    last_dex = actor_parameters[3]
    last_agi = actor_parameters[4]
    last_int = actor_parameters[5]
    level_up_window = Window_LevelUpWindow_A.new self,last_level,last_maxhp,
    last_maxsp,last_str,last_dex,last_agi,last_int
    level_up_window.visible = true
    skill_learning_window = Window_SkillLearning_A.new(@class_id,
    last_level, @level)
    # 循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 按下C就关闭窗口
      if Input.trigger?(Input::C)
        unless skill_learning_window.refresh
          level_up_window.dispose
          skill_learning_window.dispose
          return true
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 一次取得全部旧属性
  #--------------------------------------------------------------------------
  def last_parameters(level)
    #---------------------------
    # maxhp
    #---------------------------
    n = [[$data_actors[@actor_id].parameters[0, level] + @maxhp_plus, 1].max, 9999].min
    for i in @states
      n *= $data_states.maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, 9999].min
    maxhp = n
    #---------------------------
    # maxsp
    #---------------------------
    n = [[$data_actors[@actor_id].parameters[1, level] + @maxsp_plus, 0].max, 9999].min
    for i in @states
      n *= $data_states.maxsp_rate / 100.0
    end
    n = [[Integer(n), 0].max, 9999].min
    maxsp = n
    #---------------------------
    # str
    #---------------------------
    n = $data_actors[@actor_id].parameters[2, level]
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.str_plus : 0
    n += armor1 != nil ? armor1.str_plus : 0
    n += armor2 != nil ? armor2.str_plus : 0
    n += armor3 != nil ? armor3.str_plus : 0
    n += armor4 != nil ? armor4.str_plus : 0
    n = [[n + @str_plus, 1].max, 999].min
    for i in @states
      n *= $data_states.str_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999].min
    str = n
    #---------------------------
    # dex
    #---------------------------
    n = $data_actors[@actor_id].parameters[3, level]
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.dex_plus : 0
    n += armor1 != nil ? armor1.dex_plus : 0
    n += armor2 != nil ? armor2.dex_plus : 0
    n += armor3 != nil ? armor3.dex_plus : 0
    n += armor4 != nil ? armor4.dex_plus : 0
    n = [[n + @dex_plus, 1].max, 999].min
    for i in @states
      n *= $data_states.dex_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999].min
    dex = n
    #---------------------------
    # agi
    #---------------------------
    n = $data_actors[@actor_id].parameters[4, level]
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.agi_plus : 0
    n += armor1 != nil ? armor1.agi_plus : 0
    n += armor2 != nil ? armor2.agi_plus : 0
    n += armor3 != nil ? armor3.agi_plus : 0
    n += armor4 != nil ? armor4.agi_plus : 0
    n = [[n + @agi_plus, 1].max, 999].min
    for i in @states
      n *= $data_states.agi_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999].min
    agi = n
    #---------------------------
    # int
    #---------------------------
    n = $data_actors[@actor_id].parameters[5, level]
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += weapon != nil ? weapon.int_plus : 0
    n += armor1 != nil ? armor1.int_plus : 0
    n += armor2 != nil ? armor2.int_plus : 0
    n += armor3 != nil ? armor3.int_plus : 0
    n += armor4 != nil ? armor4.int_plus : 0
    n = [[n + @int_plus, 1].max, 999].min
    for i in @states
      n *= $data_states.int_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999].min
    int = n
    return [maxhp, maxsp, str, dex, agi, int]
  end
end


#==============================================================================
# 本脚本来自66RPG.com,使用和转载请保留此信息
#==============================================================================


#==============================================================================
# 本脚本来自66RPG.com,使用和转载请保留此信息
#==============================================================================

# ————————————————————————————————————

# ▼▲▼ XRXS_BP10. LEVEL UP!能力上昇表示ウィンドウ plus ▼▲▼
# by 桜雅 在土

#——以下3个如果需要修改,直接输入文件名即可
$data_system_level_up_se = "Audio/SE/苍之涛_升级" #升级时的音效设置
$data_system_level_up_me = "" # 升级时播放的ME
$data_system_skilllearn_se = "" # 学会特技时播放的声效。

#==============================================================================
# ■ Window_LevelUpWindow
#------------------------------------------------------------------------------
#  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
#==============================================================================
class Window_LevelUpWindow_A < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    super(210, 80, 220, 222)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.back_opacity = 160
    # 防止被对话框遮住
    self.z = 9999
    refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    # SEの再生
    if $data_system_level_up_se != ""
      Audio.se_play($data_system_level_up_se)
    end
    # MEの再生
    if $data_system_level_up_me != ""
      Audio.me_stop
      Audio.me_play($data_system_level_up_me)
    end
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    self.contents.clear
    self.contents.font.color = text_color(6)
    self.contents.font.size = 20
    self.contents.draw_text(0, 0, 160, 24, actor.name.to_s)
    self.contents.font.color = system_color
    self.contents.font.size = 18
    self.contents.draw_text( 0, 26, 160, 24, "等级")
    self.contents.font.size = 18
    self.contents.draw_text( 0, 48, 80, 24, $data_system.words.hp)
    self.contents.draw_text( 0, 70, 80, 24, $data_system.words.sp)
    self.contents.draw_text( 0, 92, 80, 24, $data_system.words.str)
    self.contents.draw_text( 0, 114, 80, 24, $data_system.words.dex)
    self.contents.draw_text( 0, 136, 80, 24, $data_system.words.agi)
    self.contents.draw_text( 0, 158, 80, 24, $data_system.words.int)
    self.contents.draw_text(110, 26, 128, 24, "→")
    self.contents.draw_text(110, 48, 128, 24, "→")
    self.contents.draw_text(110, 70, 128, 24, "→")
    self.contents.draw_text(110, 92, 128, 24, "→")
    self.contents.draw_text(110, 114, 128, 24, "→")
    self.contents.draw_text(110, 136, 128, 24, "→")
    self.contents.draw_text(110, 158, 128, 24, "→")
    self.contents.font.color = normal_color
    self.contents.draw_text( 60, 26, 88, 24, last_lv.to_s)
    self.contents.draw_text( 60, 48, 72, 24, up_hp.to_s)
    self.contents.draw_text( 60, 70, 72, 24, up_sp.to_s)
    self.contents.draw_text( 60, 92, 72, 24, up_str.to_s)
    self.contents.draw_text( 60, 114, 72, 24, up_dex.to_s)
    self.contents.draw_text( 60, 136, 72, 24, up_agi.to_s)
    self.contents.draw_text( 60, 158, 72, 24, up_int.to_s)
    self.contents.draw_text( 145, 26, 128, 24, actor.level.to_s)
    self.contents.draw_text( 145, 48, 128, 24, actor.maxhp.to_s)
    self.contents.draw_text( 145, 70, 128, 24, actor.maxsp.to_s)
    self.contents.draw_text( 145, 92, 128, 24, actor.str.to_s)
    self.contents.draw_text( 145, 114, 128, 24, actor.dex.to_s)
    self.contents.draw_text( 145, 136, 128, 24, actor.agi.to_s)
    self.contents.draw_text( 145, 158, 128, 24, actor.int.to_s)
  end
end
#==============================================================================
# ■ Window_SkillLearning
#------------------------------------------------------------------------------
#  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
#==============================================================================
class Window_SkillLearning_A < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(class_id, last_lv, now_lv)
    super(210, 322, 220, 56)
    self.contents = Bitmap.new(width - 32, height - 16) # わざと▽を表示
    self.visible = false
    self.back_opacity = 160
    # 防止被对话框遮住
    self.z = 9999
    @learn_skills = []
    for i in 0...$data_classes[class_id].learnings.size
      learn_lv = $data_classes[class_id].learnings.level
      # 今回のレベルアップ範囲で習得するスキルの場合
      if learn_lv > last_lv and learn_lv <= now_lv
        @learn_skills.push $data_skills[
        $data_classes[class_id].learnings.skill_id].name
      end
    end
    refresh
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    # 各描写
    skill_name = @learn_skills.shift
    if skill_name == nil
      return false
    end
    # SEの再生
    if $data_system_skilllearn_se != ""
      Audio.se_play($data_system_skilllearn_se, 100, 70)
    end
    self.contents.clear
    self.contents.font.size = 18
    self.contents.font.color = text_color(0)
    self.contents.draw_text(0,0,156,24, "学会特技:"+skill_name)
    self.contents.font.color = text_color(6)
    self.contents.draw_text(0,0,156,24, "          "+skill_name)
    self.contents.font.color = text_color(0)
    self.visible = true
    return true
  end
end
#==============================================================================
# 本脚本来自66RPG.com,使用和转载请保留此信息
#==============================================================================
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

3
发表于 2013-7-24 14:32:20 | 只看该作者
这玩意儿太麻烦,2行完成的东西居然写个几百行。
lv=Array.new(0,4)
Thread.new{loop{$game_party.actors.each_with_index{|i,ind|lv[ind]=lv[ind]!=i.level||i.level;p3(lv)}}}
本脚本需要ruby3.0支持
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2013-2-20
帖子
40
4
 楼主| 发表于 2013-7-24 16:52:59 | 只看该作者
end55rpg 发表于 2013-7-24 14:32
这玩意儿太麻烦,2行完成的东西居然写个几百行。
lv=Array.new(0,4)
Thread.new{loop{$game_party.actors.e ...

什么意思?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

5
发表于 2013-7-24 17:30:58 | 只看该作者
self.contents.draw_text(0,0,156,24, "学会特技:"+skill_name)
    self.contents.font.color = text_color(6)
    self.contents.draw_text(0,0,156,24, "          "+skill_name)
    self.contents.font.color = text_color(0)

改为
self.contents.draw_text(0,0,156,24, "学会特技:"+skill_name)
#    self.contents.font.color = text_color(6)
#    self.contents.draw_text(0,0,156,24, "          "+skill_name)
    self.contents.font.color = text_color(0)

评分

参与人数 1星屑 +90 收起 理由
︶ㄣ牛排ぶ + 90 认可答案

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
6
发表于 2013-7-24 18:09:42 | 只看该作者
    self.contents.font.color = text_color(0)
    self.contents.draw_text(0,0,156,24, "学会特技:")
    self.contents.font.color = text_color(6)
    self.contents.draw_text(0,100,156,24, skill_name)
    #self.contents.font.color = text_color(0)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-29 13:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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