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

Project1

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

[已经解决] 升级提示脚本如何显示升级角色名?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
236
在线时间
191 小时
注册时间
2010-6-22
帖子
233
跳转到指定楼层
1
发表于 2010-8-25 16:03:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 仙芋 于 2010-8-29 19:34 编辑

部份脚本:
  1. #--------------------------------------------------------------------------
  2. # ● リフレッシュ
  3. #--------------------------------------------------------------------------
  4. def refresh
  5.    # 各描写
  6.    skill_name = @learn_skills.shift
  7.    if skill_name == nil
  8.      return false
  9.    end
  10.    # SEの再生
  11.    if $data_system_skilllearn_se != ""
  12.      Audio.se_play($data_system_skilllearn_se, 100, 70)
  13.    end
  14.     @backsp3.bitmap = Bitmap.new("Graphics/Pictures/newskill.png")
  15.     @backsp3.x = 175
  16.     @backsp3.y = 320
  17.     @backsp3.z = 502
  18.   #========================================
  19.    self.contents.clear
  20.    self.contents.font.size = 18
  21.    self.contents.font.color = text_color(7)
  22.    self.contents.font.bold = true
  23.    self.contents.draw_text(0,0,156,24,+ "习得  "+skill_name)
  24.    self.contents.font.color = text_color(7)
  25.    self.visible = true
  26.    return true
  27. end
  28. def dispose
  29.    @backsp3.dispose
  30.    super
  31. end
  32. end
复制代码

点评

你提供的脚本不全啊,这是获得新特技提示吧!! 愿意加名字把self.contents.draw_text(0+180, 0, 160, 24, actor.name.to_s) 加到22句上  发表于 2010-8-25 17:38

Lv2.观梦者

梦石
0
星屑
344
在线时间
185 小时
注册时间
2007-9-2
帖子
168
2
发表于 2010-8-25 17:35:47 | 只看该作者
加上这一句
self.contents.draw_text(0+180, 0, 160, 24, actor.name.to_s)

评分

参与人数 1星屑 +240 收起 理由
「旅」 + 240 认可答案

查看全部评分

新手作品:《幻想》———缓慢制作中———
   
合击技能!哇哈哈~~~                                                                     金山寺求宝~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
236
在线时间
191 小时
注册时间
2010-6-22
帖子
233
3
 楼主| 发表于 2010-8-25 18:58:26 | 只看该作者
回复 zhli667 的帖子
我希望做到" [角色名]习得[新特技] "

点评

把self.contents.draw_text(0,0,156,24,+ "习得 "+skill_name)句,换成 self.contents.draw_text(0,100,156,24,+ "习得 "+skill_name) self.contents.draw_text(0, 0, 156, 24, actor.name.to_s) 位置不对自己   发表于 2010-8-25 21:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
115 小时
注册时间
2010-5-3
帖子
346
4
发表于 2010-8-25 19:34:14 | 只看该作者
楼主用的是哪个版本的升级脚本啊,我用的不单止显示头像,姓名等级的全都有显示,要的话私下找我
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
344
在线时间
185 小时
注册时间
2007-9-2
帖子
168
5
发表于 2010-8-25 21:07:16 | 只看该作者
本帖最后由 zhli667 于 2010-8-28 14:41 编辑

把self.contents.draw_text(0,0,156,24, "习得 "+skill_name)句,换成
  1. self.contents.draw_text(0,100,156,24, "习得 "+skill_name)
  2. self.contents.draw_text(0, 0, 156, 24, actor.name.to_s)
复制代码
位置不对自己调整
新手作品:《幻想》———缓慢制作中———
   
合击技能!哇哈哈~~~                                                                     金山寺求宝~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
236
在线时间
191 小时
注册时间
2010-6-22
帖子
233
6
 楼主| 发表于 2010-8-26 02:05:40 | 只看该作者
本帖最后由 仙芋 于 2010-8-26 02:07 编辑

回复 zhli667 的帖子
报错...


全脚本:
  1. class Game_Actor
  2. #--------------------------------------------------------------------------
  3. # ● 更改 EXP
  4. #     exp : 新的 EXP
  5. #--------------------------------------------------------------------------
  6. def exp=(exp)
  7.    # 记录旧等级
  8.    last_level = @level
  9.    @exp = [[exp, 9999999].min, 0].max
  10.    # 升级
  11.    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  12.      @level += 1
  13.      @hp = maxhp
  14.      @sp = maxsp
  15.          
  16.      # 学会特技
  17.      for j in $data_classes[@class_id].learnings
  18.        if j.level == @level
  19.          learn_skill(j.skill_id)
  20.        end
  21.      end
  22.    end
  23.    # 降级
  24.    while @exp < @exp_list[@level]
  25.      @level -= 1
  26.    end
  27.    # 修正当前的 HP 与 SP 超过最大值
  28.    @hp = [@hp, self.maxhp].min
  29.    @sp = [@sp, self.maxsp].min
  30.    # 升级了的话,升级显示处理
  31.    if @level > last_level and $game_switches[$不显示升级窗口] == false and
  32.      not $BTEST
  33.      show_level_up_result(last_level)
  34.    end
  35. end
  36. #--------------------------------------------------------------------------
  37. # ● 升级显示处理
  38. #--------------------------------------------------------------------------
  39. def show_level_up_result(last_level)
  40.    actor_parameters = self.last_parameters(last_level)
  41.    last_maxhp = actor_parameters[0]
  42.    last_maxsp = actor_parameters[1]
  43.    last_str = actor_parameters[2]
  44.    last_dex = actor_parameters[3]
  45.    last_agi = actor_parameters[4]
  46.    last_int = actor_parameters[5]
  47.    last_pdef = actor_parameters[6]
  48.    level_up_window = Window_LevelUpWindow_A.new self,last_level,last_maxhp,
  49.    last_maxsp,last_str,last_dex,last_agi,last_int,last_pdef
  50.    level_up_window.visible = true
  51.    skill_learning_window = Window_SkillLearning_A.new(@class_id,
  52.    last_level, @level)
  53.    # 循环
  54.    loop do
  55.      # 刷新游戏画面
  56.      Graphics.update
  57.      # 刷新输入信息
  58.      Input.update
  59.      # 按下C就关闭窗口
  60.      if Input.trigger?(Input::C)
  61.        unless skill_learning_window.refresh
  62.          level_up_window.dispose
  63.          skill_learning_window.dispose
  64.          return true
  65.        end
  66.      end
  67.    end
  68. end
  69. #--------------------------------------------------------------------------
  70. # ● 一次取得全部旧属性
  71. #--------------------------------------------------------------------------
  72. def last_parameters(level)
  73.    #---------------------------
  74.    # maxhp
  75.    #---------------------------
  76.    n = [[$data_actors[@actor_id].parameters[0, level] + @maxhp_plus, 1].max, 9999].min
  77.    for i in @states
  78.      n *= $data_states[i].maxhp_rate / 100.0
  79.    end
  80.    n = [[Integer(n), 1].max, 9999].min
  81.    maxhp = n
  82.    #---------------------------
  83.    # maxsp
  84.    #---------------------------
  85.    n = [[$data_actors[@actor_id].parameters[1, level] + @maxsp_plus, 0].max, 9999].min
  86.    for i in @states
  87.      n *= $data_states[i].maxsp_rate / 100.0
  88.    end
  89.    n = [[Integer(n), 0].max, 9999].min
  90.    maxsp = n
  91.    #---------------------------
  92.    # str
  93.    #---------------------------
  94.    n = $data_actors[@actor_id].parameters[2, level]
  95.    weapon = $data_weapons[@weapon_id]
  96.    armor1 = $data_armors[@armor1_id]
  97.    armor2 = $data_armors[@armor2_id]
  98.    armor3 = $data_armors[@armor3_id]
  99.    armor4 = $data_armors[@armor4_id]
  100.    n += weapon != nil ? weapon.str_plus : 0
  101.    n += armor1 != nil ? armor1.str_plus : 0
  102.    n += armor2 != nil ? armor2.str_plus : 0
  103.    n += armor3 != nil ? armor3.str_plus : 0
  104.    n += armor4 != nil ? armor4.str_plus : 0
  105.    n = [[n + @str_plus, 1].max, 999].min
  106.    for i in @states
  107.      n *= $data_states[i].str_rate / 100.0
  108.    end
  109.    n = [[Integer(n), 1].max, 999].min
  110.    str = n
  111.    #---------------------------
  112.    # dex
  113.    #---------------------------
  114.    n = $data_actors[@actor_id].parameters[3, level]
  115.    weapon = $data_weapons[@weapon_id]
  116.    armor1 = $data_armors[@armor1_id]
  117.    armor2 = $data_armors[@armor2_id]
  118.    armor3 = $data_armors[@armor3_id]
  119.    armor4 = $data_armors[@armor4_id]
  120.    n += weapon != nil ? weapon.dex_plus : 0
  121.    n += armor1 != nil ? armor1.dex_plus : 0
  122.    n += armor2 != nil ? armor2.dex_plus : 0
  123.    n += armor3 != nil ? armor3.dex_plus : 0
  124.    n += armor4 != nil ? armor4.dex_plus : 0
  125.    n = [[n + @dex_plus, 1].max, 999].min
  126.    for i in @states
  127.      n *= $data_states[i].dex_rate / 100.0
  128.    end
  129.    n = [[Integer(n), 1].max, 999].min
  130.    dex = n
  131.    #---------------------------
  132.    # agi
  133.    #---------------------------
  134.    n = $data_actors[@actor_id].parameters[4, level]
  135.    weapon = $data_weapons[@weapon_id]
  136.    armor1 = $data_armors[@armor1_id]
  137.    armor2 = $data_armors[@armor2_id]
  138.    armor3 = $data_armors[@armor3_id]
  139.    armor4 = $data_armors[@armor4_id]
  140.    n += weapon != nil ? weapon.agi_plus : 0
  141.    n += armor1 != nil ? armor1.agi_plus : 0
  142.    n += armor2 != nil ? armor2.agi_plus : 0
  143.    n += armor3 != nil ? armor3.agi_plus : 0
  144.    n += armor4 != nil ? armor4.agi_plus : 0
  145.    n = [[n + @agi_plus, 1].max, 999].min
  146.    for i in @states
  147.      n *= $data_states[i].agi_rate / 100.0
  148.    end
  149.    n = [[Integer(n), 1].max, 999].min
  150.    agi = n
  151.    #---------------------------
  152.    # int
  153.    #---------------------------
  154.    n = $data_actors[@actor_id].parameters[5, level]
  155.    weapon = $data_weapons[@weapon_id]
  156.    armor1 = $data_armors[@armor1_id]
  157.    armor2 = $data_armors[@armor2_id]
  158.    armor3 = $data_armors[@armor3_id]
  159.    armor4 = $data_armors[@armor4_id]
  160.    n += weapon != nil ? weapon.int_plus : 0
  161.    n += armor1 != nil ? armor1.int_plus : 0
  162.    n += armor2 != nil ? armor2.int_plus : 0
  163.    n += armor3 != nil ? armor3.int_plus : 0
  164.    n += armor4 != nil ? armor4.int_plus : 0
  165.    n = [[n + @int_plus, 1].max, 999].min
  166.    for i in @states
  167.      n *= $data_states[i].int_rate / 100.0
  168.    end
  169.    n = [[Integer(n), 1].max, 999].min
  170.    int = n
  171.    return [maxhp, maxsp, str, dex, agi, int]
  172. end
  173. end


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


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

  180. # ------------------------------------

  181. # ▼▲▼ XRXS_BP10. LEVEL UP!能力上升表示ウィンドウ plus ▼▲▼
  182. # by 樱雅 在土

  183. #--以下3个如果需要修改,直接输入文件名即可
  184. $data_system_level_up_se = "" #升级时的音效设置
  185. $data_system_level_up_me = "" # 升级时播放的ME
  186. $data_system_skilllearn_se = "" # 学会特技时播放的声效。

  187. #==============================================================================
  188. # ■ Window_LevelUpWindow
  189. #------------------------------------------------------------------------------
  190. #  バトル终了时、レベルアップした场合にステータスを表示するウィンドウです。
  191. #==============================================================================
  192. class Window_LevelUpWindow_A < Window_Base
  193. #--------------------------------------------------------------------------
  194. # ● オブジェクト初期化
  195. #--------------------------------------------------------------------------
  196. def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int,last_pdef)
  197.    super(140, 20, 400, 350)
  198.    self.contents = Bitmap.new(width - 32, height - 32)
  199.    self.visible = false
  200.    self.opacity = 0
  201.    # 防止被对话框遮住
  202.    self.z = 9999
  203.    @backsp2 = Sprite.new
  204.    @backsp2.bitmap = Bitmap.new("Graphics/Pictures/升级.png")
  205.    @backsp2.x = 180
  206.    @backsp2.y = 30
  207.    @backsp2.z = 500
  208.    refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int,last_pdef)
  209.    # SEの再生
  210.    if $data_system_level_up_se != ""
  211.      Audio.se_play($data_system_level_up_se)
  212.    end
  213.    # MEの再生
  214.    if $data_system_level_up_me != ""
  215.      Audio.me_stop
  216.      Audio.me_play($data_system_level_up_me)
  217.    end
  218. end
  219. #--------------------------------------------------------------------------
  220. # ● リフレッシュ
  221. #--------------------------------------------------------------------------
  222. def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int,last_pdef)
  223.    self.contents.clear
  224.    self.contents.font.color = Color.new(64,70,124,255)
  225.    self.contents.font.size = 18
  226.    self.contents.draw_text( 0, 48, 80, 24, $data_system.words.hp)
  227.    self.contents.draw_text( 0, 70, 80, 24, $data_system.words.sp)
  228.    self.contents.draw_text( 0, 92, 80, 24, $data_system.words.str)
  229.    self.contents.draw_text( 0, 114, 80, 24, $data_system.words.dex)
  230.    self.contents.draw_text( 0, 136, 80, 24, $data_system.words.agi)
  231.    self.contents.draw_text( 0, 158, 80, 24, $data_system.words.int)
  232.    bitmap = RPG::Cache.icon("加.png")
  233.    self.contents.blt(170,30 ,bitmap, Rect.new(0, 0, 48, 36))
  234.    bitmap = RPG::Cache.icon("加.png")
  235.    self.contents.blt(170,62 ,bitmap, Rect.new(0, 0, 48, 36))
  236.    bitmap = RPG::Cache.icon("加.png")
  237.    self.contents.blt(170,94 ,bitmap, Rect.new(0, 0, 48, 36))
  238.    bitmap = RPG::Cache.icon("加.png")
  239.    self.contents.blt(170,126 ,bitmap, Rect.new(0, 0, 48, 36))
  240.    bitmap = RPG::Cache.icon("加.png")
  241.    self.contents.blt(170,158 ,bitmap, Rect.new(0, 0, 48, 36))
  242.    bitmap = RPG::Cache.icon("加.png")
  243.    self.contents.blt(170,192 ,bitmap, Rect.new(0, 0, 48, 36))
  244.    bitmap = RPG::Cache.icon("加.png")
  245.    self.contents.blt(170,222 ,bitmap, Rect.new(0, 0, 48, 36))
  246.    bitmap = RPG::Cache.icon("加.png")
  247.    self.contents.blt(170,254 ,bitmap, Rect.new(0, 0, 48, 36))

  248.    self.contents.font.color = Color.new(64,70,124,255)
  249.    self.contents.draw_text( 130, 30, 88, 24, last_lv.to_s)
  250.    self.contents.draw_text( 130, 62, 72, 24, up_hp.to_s)
  251.    self.contents.draw_text( 130, 94, 72, 24, up_sp.to_s)
  252.    self.contents.draw_text( 130, 126, 72, 24, up_str.to_s)
  253.    self.contents.draw_text( 130, 256, 72, 24, up_dex.to_s)
  254.    self.contents.draw_text( 130, 224, 72, 24, up_agi.to_s)
  255.    self.contents.draw_text( 130, 158, 72, 24, up_int.to_s)
  256.    self.contents.draw_text( 130, 192, 72, 24, actor.pdef.to_s)
  257.    self.contents.draw_text( 235, 30, 128, 24, actor.level.to_s)
  258.    self.contents.draw_text( 235, 62, 128, 24, actor.maxhp.to_s)
  259.    self.contents.draw_text( 235, 94, 128, 24, actor.maxsp.to_s)
  260.    self.contents.draw_text( 235, 126, 128, 24, actor.str.to_s)
  261.    self.contents.draw_text( 235, 256, 128, 24, actor.dex.to_s)
  262.    self.contents.draw_text( 235, 224, 128, 24, actor.agi.to_s)
  263.    self.contents.draw_text( 235, 158, 128, 24, actor.int.to_s)
  264.    self.contents.draw_text( 235, 192, 128, 24, actor.pdef.to_s)
  265. end
  266. def dispose
  267.    @backsp2.dispose
  268.    super
  269. end

  270. end
  271. #==============================================================================
  272. # ■ Window_SkillLearning
  273. #------------------------------------------------------------------------------
  274. #  レベルアップ时などにスキルを习得した场合にそれを表示するウィンドウです。
  275. #==============================================================================
  276. class Window_SkillLearning_A < Window_Base
  277. #--------------------------------------------------------------------------
  278. # ● オブジェクト初期化
  279. #--------------------------------------------------------------------------
  280. def initialize(class_id, last_lv, now_lv)
  281.    super(210, 322, 220, 56)
  282.    self.contents = Bitmap.new(width - 32, height - 16) # わざと▽を表示
  283.    self.visible = false
  284.    self.opacity = 0
  285.    # 防止被对话框遮住
  286.    self.z = 9999
  287.    @learn_skills = []
  288.    @backsp3 = Sprite.new
  289.    for i in 0...$data_classes[class_id].learnings.size
  290.      learn_lv = $data_classes[class_id].learnings[i].level
  291.      # 今回のレベルアップ范围で习得するスキルの场合
  292.      if learn_lv > last_lv and learn_lv <= now_lv
  293.        @learn_skills.push $data_skills[
  294.        $data_classes[class_id].learnings[i].skill_id].name
  295.    else
  296.      @backsp3.bitmap = Bitmap.new("Graphics/Windowskins/nil.png")
  297.      end
  298.    end
  299.    refresh
  300. end
  301. #--------------------------------------------------------------------------
  302. # ● リフレッシュ
  303. #--------------------------------------------------------------------------
  304. def refresh
  305.    # 各描写
  306.    skill_name = @learn_skills.shift
  307.    if skill_name == nil
  308.      return false
  309.    end
  310.    # SEの再生
  311.    if $data_system_skilllearn_se != ""
  312.      Audio.se_play($data_system_skilllearn_se, 100, 70)
  313.    end
  314.     @backsp3.bitmap = Bitmap.new("Graphics/Pictures/newskill.png")
  315.     @backsp3.x = 175
  316.     @backsp3.y = 320
  317.     @backsp3.z = 502
  318.   #========================================
  319.    self.contents.clear
  320.    self.contents.font.size = 18
  321.    self.contents.font.color = text_color(7)
  322.    self.contents.font.bold = true
  323.    self.contents.draw_text(0,0,156,24, "习得  "+skill_name)
  324.    self.contents.font.color = text_color(7)
  325.    self.visible = true
  326.    return true
  327. end
  328. def dispose
  329.    @backsp3.dispose
  330.    super
  331. end
  332. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1530
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

7
发表于 2010-8-29 14:08:27 | 只看该作者
找不到353这一行,另外因为这个需要图片所以测试不能。

上传工程是不是比较方便?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
236
在线时间
191 小时
注册时间
2010-6-22
帖子
233
8
 楼主| 发表于 2010-8-29 19:33:41 | 只看该作者
沙发正解
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 23:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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