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

Project1

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

[已经过期] 平时升级脚本的小修改。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
跳转到指定楼层
1
发表于 2013-10-4 17:14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 爆焰 于 2013-10-5 17:15 编辑

@myownroc
就是我弄了一个物品,使用后角色会升级,可是这个脚本无法在菜单界面起到作用,请问该怎么做?
这个是在平时升级的提示脚本,不是战斗升级提示。
  1. $不显示升级窗口 = 45

  2. # 以上开关,当打开的时候,获得物品将不会提示,比如默认打开41号开关,获得金钱不再提示

  3. # ————————————————————————————————————

  4. class Interpreter  
  5. attr_accessor :parameters

  6. #--------------------------------------------------------------------------
  7. # ● 增减 EXP
  8. #--------------------------------------------------------------------------
  9. def command_315
  10.   # 获取操作值
  11.   value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  12.   # 处理重复
  13.   iterate_actor(@parameters[0]) do |actor|
  14.     # 记录等级
  15.     last_level = actor.level
  16.     # 更改角色 EXP
  17.     actor.exp += value
  18.     # 如果角色升级了的话,显示升级窗口
  19.     if actor.level > last_level and $game_switches[$不显示升级窗口] == false
  20.       show_level_up_result(actor, last_level)
  21. #############降级、减经验修正    By    OCTSJimmy##########################
  22.     elsif actor.level < last_level and $game_switches[$不显示升级窗口] == false
  23.       show_level_up_result(actor, last_level)
  24. #############降级、减经验修正    By    OCTSJimmy##########################
  25.     end
  26.   end
  27.   # 继续
  28.   return true
  29. end
  30. #--------------------------------------------------------------------------
  31. # ● 增减等级
  32. #--------------------------------------------------------------------------
  33. def command_316
  34.   # 获取操作值
  35.   value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  36.   # 处理重复
  37.   iterate_actor(@parameters[0]) do |actor|
  38.     # 记录等级
  39.     last_level = actor.level
  40.     # 更改角色的等级
  41.     actor.level += value
  42.     # 如果角色升级了的话,显示升级窗口
  43.     if actor.level > last_level and $game_switches[$不显示升级窗口] == false
  44.       show_level_up_result(actor, last_level)
  45. #############降级、减经验修正    By    OCTSJimmy##########################
  46.     elsif actor.level < last_level and $game_switches[$不显示升级窗口] == false
  47.       show_level_up_result(actor, last_level)
  48. #############降级、减经验修正    By    OCTSJimmy##########################
  49.     end
  50.   end
  51.   # 继续
  52.   return true
  53. end
  54. #--------------------------------------------------------------------------
  55. # ● 升级显示处理
  56. #--------------------------------------------------------------------------
  57. def show_level_up_result(actor,last_level)
  58.   actor_parameters = actor.last_parameters(last_level)
  59.   last_maxhp = actor_parameters[0]
  60.   last_maxsp = actor_parameters[1]
  61.   last_str = actor_parameters[2]
  62.   last_dex = actor_parameters[3]
  63.   last_agi = actor_parameters[4]
  64.   last_int = actor_parameters[5]
  65.   level_up_window = Window_LevelUpWindow.new actor,last_level,last_maxhp,
  66.   last_maxsp,last_str,last_dex,last_agi,last_int
  67.   level_up_window.visible = true
  68. #############降级、减经验修正    By    OCTSJimmy##########################
  69.   if actor.level > last_level
  70.     skill_learning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
  71.   elsif actor.level < last_level
  72.     skill_learning_window = Window_ForgetLearning.new(actor.class_id, last_level, actor.level)
  73.   end
  74. #############降级、减经验修正    By    OCTSJimmy##########################
  75.   #——声效,可以自己改
  76.   Audio.me_play("Audio/ME/"+"007-Fanfare01")
  77.   # 循环
  78.   loop do
  79.     # 刷新游戏画面
  80.     Graphics.update
  81.     # 刷新输入信息
  82.     Input.update
  83.     # 按下C就关闭窗口
  84.     if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  85.       unless skill_learning_window.refresh
  86.         level_up_window.dispose
  87.         skill_learning_window.dispose
  88.         return true
  89.       end
  90.     end
  91.   end
  92. end
  93. end


  94. class Game_Battler
  95. #--------------------------------------------------------------------------
  96. # ● 一次取得全部旧属性
  97. #--------------------------------------------------------------------------
  98. def last_parameters(level)
  99.   #---------------------------
  100.   # maxhp
  101.   #---------------------------
  102.   n = [[$data_actors[@actor_id].parameters[0, level] + @maxhp_plus, 1].max, 9999].min
  103.   for i in @states
  104.     n *= $data_states[i].maxhp_rate / 100.0
  105.   end
  106.   n = [[Integer(n), 1].max, 9999].min
  107.   maxhp = n
  108.   #---------------------------
  109.   # maxsp
  110.   #---------------------------
  111.   n = [[$data_actors[@actor_id].parameters[1, level] + @maxsp_plus, 0].max, 9999].min
  112.   for i in @states
  113.     n *= $data_states[i].maxsp_rate / 100.0
  114.   end
  115.   n = [[Integer(n), 0].max, 9999].min
  116.   maxsp = n
  117.   #---------------------------
  118.   # str
  119.   #---------------------------
  120.   n = $data_actors[@actor_id].parameters[2, level]
  121.   weapon = $data_weapons[@weapon_id]
  122.   armor1 = $data_armors[@armor1_id]
  123.   armor2 = $data_armors[@armor2_id]
  124.   armor3 = $data_armors[@armor3_id]
  125.   armor4 = $data_armors[@armor4_id]
  126.   n += weapon != nil ? weapon.str_plus : 0
  127.   n += armor1 != nil ? armor1.str_plus : 0
  128.   n += armor2 != nil ? armor2.str_plus : 0
  129.   n += armor3 != nil ? armor3.str_plus : 0
  130.   n += armor4 != nil ? armor4.str_plus : 0
  131.   n = [[n + @str_plus, 1].max, 999].min
  132.   for i in @states
  133.     n *= $data_states[i].str_rate / 100.0
  134.   end
  135.   n = [[Integer(n), 1].max, 999].min
  136.   str = n
  137.   #---------------------------
  138.   # dex
  139.   #---------------------------
  140.   n = $data_actors[@actor_id].parameters[3, level]
  141.   weapon = $data_weapons[@weapon_id]
  142.   armor1 = $data_armors[@armor1_id]
  143.   armor2 = $data_armors[@armor2_id]
  144.   armor3 = $data_armors[@armor3_id]
  145.   armor4 = $data_armors[@armor4_id]
  146.   n += weapon != nil ? weapon.dex_plus : 0
  147.   n += armor1 != nil ? armor1.dex_plus : 0
  148.   n += armor2 != nil ? armor2.dex_plus : 0
  149.   n += armor3 != nil ? armor3.dex_plus : 0
  150.   n += armor4 != nil ? armor4.dex_plus : 0
  151.   n = [[n + @dex_plus, 1].max, 999].min
  152.   for i in @states
  153.     n *= $data_states[i].dex_rate / 100.0
  154.   end
  155.   n = [[Integer(n), 1].max, 999].min
  156.   dex = n
  157.   #---------------------------
  158.   # agi
  159.   #---------------------------
  160.   n = $data_actors[@actor_id].parameters[4, level]
  161.   weapon = $data_weapons[@weapon_id]
  162.   armor1 = $data_armors[@armor1_id]
  163.   armor2 = $data_armors[@armor2_id]
  164.   armor3 = $data_armors[@armor3_id]
  165.   armor4 = $data_armors[@armor4_id]
  166.   n += weapon != nil ? weapon.agi_plus : 0
  167.   n += armor1 != nil ? armor1.agi_plus : 0
  168.   n += armor2 != nil ? armor2.agi_plus : 0
  169.   n += armor3 != nil ? armor3.agi_plus : 0
  170.   n += armor4 != nil ? armor4.agi_plus : 0
  171.   n = [[n + @agi_plus, 1].max, 999].min
  172.   for i in @states
  173.     n *= $data_states[i].agi_rate / 100.0
  174.   end
  175.   n = [[Integer(n), 1].max, 999].min
  176.   agi = n
  177.   #---------------------------
  178.   # int
  179.   #---------------------------
  180.   n = $data_actors[@actor_id].parameters[5, level]
  181.   weapon = $data_weapons[@weapon_id]
  182.   armor1 = $data_armors[@armor1_id]
  183.   armor2 = $data_armors[@armor2_id]
  184.   armor3 = $data_armors[@armor3_id]
  185.   armor4 = $data_armors[@armor4_id]
  186.   n += weapon != nil ? weapon.int_plus : 0
  187.   n += armor1 != nil ? armor1.int_plus : 0
  188.   n += armor2 != nil ? armor2.int_plus : 0
  189.   n += armor3 != nil ? armor3.int_plus : 0
  190.   n += armor4 != nil ? armor4.int_plus : 0
  191.   n = [[n + @int_plus, 1].max, 999].min
  192.   for i in @states
  193.     n *= $data_states[i].int_rate / 100.0
  194.   end
  195.   n = [[Integer(n), 1].max, 999].min
  196.   int = n
  197.   return [maxhp, maxsp, str, dex, agi, int]
  198. end
  199. end


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

  203. # ————————————————————————————————————

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

  206. #——以下3个如果需要修改,直接输入文件名即可
  207. $data_system_level_up_se = "009-Fanfare01" #升级时的音效设置
  208. $data_system_level_up_me = "Audio/ME/007-Fanfare01" # 升级时播放的ME
  209. $data_system_skilllearn_se = "" # 学会特技时播放的声效。

  210. #==============================================================================
  211. # ■ Window_LevelUpWindow
  212. #------------------------------------------------------------------------------
  213. #  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
  214. #==============================================================================
  215. class Window_LevelUpWindow < Window_Base
  216. #--------------------------------------------------------------------------
  217. # ● オブジェクト初期化
  218. #--------------------------------------------------------------------------
  219. def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  220.   super(210, 100, 220, 222)
  221.   self.contents = Bitmap.new(width - 32, height - 32)
  222.   self.visible = false
  223.   self.back_opacity = 160
  224.   refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  225.   # SEの再生
  226.   if $data_system_level_up_se != ""
  227.     Audio.se_play($data_system_level_up_se)
  228.   end
  229.   # MEの再生
  230.   if $data_system_level_up_me != ""
  231.     Audio.me_stop
  232.     Audio.me_play($data_system_level_up_me)
  233.   end
  234. end
  235. #--------------------------------------------------------------------------
  236. # ● リフレッシュ
  237. #--------------------------------------------------------------------------
  238. def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  239.   self.contents.clear
  240.   self.contents.font.color = text_color(6)
  241.   self.contents.font.size = 20
  242.   self.contents.draw_text(0, 0, 160, 24, actor.name.to_s)
  243.   self.contents.font.color = system_color
  244.   self.contents.font.size = 18
  245.   self.contents.draw_text( 0, 26, 160, 24, "等级")
  246.   self.contents.font.size = 18
  247.   self.contents.draw_text( 0, 48, 80, 24, $data_system.words.hp)
  248.   self.contents.draw_text( 0, 70, 80, 24, $data_system.words.sp)
  249.   self.contents.draw_text( 0, 92, 80, 24, $data_system.words.str)
  250.   self.contents.draw_text( 0, 114, 80, 24, $data_system.words.dex)
  251.   self.contents.draw_text( 0, 136, 80, 24, $data_system.words.agi)
  252.   self.contents.draw_text( 0, 158, 80, 24, $data_system.words.int)
  253.   self.contents.draw_text(110, 26, 128, 24, "→")
  254.   self.contents.draw_text(110, 48, 128, 24, "→")
  255.   self.contents.draw_text(110, 70, 128, 24, "→")
  256.   self.contents.draw_text(110, 92, 128, 24, "→")
  257.   self.contents.draw_text(110, 114, 128, 24, "→")
  258.   self.contents.draw_text(110, 136, 128, 24, "→")
  259.   self.contents.draw_text(110, 158, 128, 24, "→")
  260.   self.contents.font.color = normal_color
  261.   self.contents.draw_text( 60, 26, 88, 24, last_lv.to_s)
  262.   self.contents.draw_text( 60, 48, 72, 24, up_hp.to_s)
  263.   self.contents.draw_text( 60, 70, 72, 24, up_sp.to_s)
  264.   self.contents.draw_text( 60, 92, 72, 24, up_str.to_s)
  265.   self.contents.draw_text( 60, 114, 72, 24, up_dex.to_s)
  266.   self.contents.draw_text( 60, 136, 72, 24, up_agi.to_s)
  267.   self.contents.draw_text( 60, 158, 72, 24, up_int.to_s)
  268.   self.contents.draw_text( 145, 26, 128, 24, actor.level.to_s)
  269.   self.contents.draw_text( 145, 48, 128, 24, actor.maxhp.to_s)
  270.   self.contents.draw_text( 145, 70, 128, 24, actor.maxsp.to_s)
  271.   self.contents.draw_text( 145, 92, 128, 24, actor.str.to_s)
  272.   self.contents.draw_text( 145, 114, 128, 24, actor.dex.to_s)
  273.   self.contents.draw_text( 145, 136, 128, 24, actor.agi.to_s)
  274.   self.contents.draw_text( 145, 158, 128, 24, actor.int.to_s)
  275. end
  276. end
  277. #==============================================================================
  278. # ■ Window_SkillLearning
  279. #------------------------------------------------------------------------------
  280. #  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
  281. #==============================================================================
  282. class Window_SkillLearning < Window_Base
  283. #--------------------------------------------------------------------------
  284. # ● オブジェクト初期化
  285. #--------------------------------------------------------------------------
  286. def initialize(class_id, last_lv, now_lv)
  287.   super(210, 322, 220, 56)
  288.   self.contents = Bitmap.new(width - 32, height - 16) # わざと▽を表示
  289.   self.visible = false
  290.   self.back_opacity = 160
  291.   @learn_skills = []
  292.   for i in 0...$data_classes[class_id].learnings.size
  293.     learn_lv = $data_classes[class_id].learnings[i].level
  294.     # 今回のレベルアップ範囲で習得するスキルの場合
  295.     if learn_lv > last_lv and learn_lv <= now_lv
  296.       @learn_skills.push $data_skills[
  297.       $data_classes[class_id].learnings[i].skill_id].name
  298.     end
  299.   end
  300.   refresh
  301. end
  302. #--------------------------------------------------------------------------
  303. # ● リフレッシュ
  304. #--------------------------------------------------------------------------
  305. def refresh
  306.   # 各描写
  307.   skill_name = @learn_skills.shift
  308.   if skill_name == nil
  309.     return false
  310.   end
  311.   # SEの再生
  312.   if $data_system_skilllearn_se != ""
  313.     Audio.se_play($data_system_skilllearn_se, 100, 70)
  314.   end
  315.   self.contents.clear
  316.   self.contents.font.size = 18
  317.   self.contents.font.color = text_color(0)
  318.   self.contents.draw_text(0,0,156,24, "学会特技:"+skill_name)
  319.   self.contents.font.color = text_color(6)
  320.   self.contents.draw_text(0,0,156,24, "          "+skill_name)
  321.   self.contents.font.color = text_color(0)
  322.   self.visible = true
  323.   return true
  324. end
  325. end
  326. #==============================================================================
  327. # ■ Window_ForgetLearning
  328. #------------------------------------------------------------------------------
  329. #  遗忘特技,用SkillLearning改的    By OCTSJimmy
  330. #==============================================================================
  331. class Window_ForgetLearning < Window_Base
  332. #--------------------------------------------------------------------------
  333. # ● オブジェクト初期化
  334. #--------------------------------------------------------------------------
  335. def initialize(class_id, last_lv, now_lv)
  336.   super(210, 322, 220, 56)
  337.   self.contents = Bitmap.new(width - 32, height - 16) # わざと▽を表示
  338.   self.visible = false
  339.   self.back_opacity = 160
  340.   @learn_skills = []
  341.   #for i in 0...$data_classes[class_id].learnings.size
  342.   for i in $data_classes[class_id].learnings
  343.     #learn_lv = $data_classes[class_id].learnings[i].level
  344.     learn_lv = i.level
  345.     # 今回のレベルアップ範囲で習得するスキルの場合
  346.     if learn_lv < last_lv and learn_lv > now_lv
  347.       @learn_skills.push $data_skills[i.skill_id].name
  348.       #$data_classes[class_id].learnings[i].skill_id].name
  349.     end
  350.   end
  351.   refresh
  352. end
  353. #--------------------------------------------------------------------------
  354. # ● リフレッシュ
  355. #--------------------------------------------------------------------------
  356. def refresh
  357.   # 各描写
  358.   skill_name = @learn_skills.shift
  359.   if skill_name == nil
  360.     return false
  361.   end
  362.   # SEの再生
  363.   if $data_system_skilllearn_se != ""
  364.     Audio.se_play($data_system_skilllearn_se, 100, 70)
  365.   end
  366.   self.contents.clear
  367.   self.contents.font.size = 18
  368.   self.contents.font.color = text_color(0)
  369.   self.contents.draw_text(0,0,156,24, "遗忘特技:"+skill_name)
  370.   self.contents.font.color = text_color(6)
  371.   self.contents.draw_text(0,0,156,24, "          "+skill_name)
  372.   self.contents.font.color = text_color(0)
  373.   self.visible = true
  374.   return true
  375. end
  376. end


  377. #==============================================================================
  378. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  379. #==============================================================================
复制代码

点评

那有这样的?有哪个游戏是使用了升级的物品后回到地图才显示的……  发表于 2013-10-4 18:05
话说回到地图界面再出现又不会怎么样。。。  发表于 2013-10-4 17:24
加了,还是没用。你明天有空帮我看看吧。  发表于 2013-10-4 17:16
没收到@,话说@完用户后要加个空格。。。  发表于 2013-10-4 17:15

博客:我的博客

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2013-10-4 17:39:28 | 只看该作者
本帖最后由 恋′挂机 于 2013-10-4 17:43 编辑

Scene_Item 167行后
  1.         lv = $game_party.actors[@target_window.index].level
  2.         if @item.id == 1
  3.           $game_party.actors[@target_window.index].exp += 9999
  4.           lv_2 = $game_party.actors[@target_window.index].level
  5.         end
  6.         @target_window.refresh
  7.         if lv_2 > lv
  8.         w = Window_Base.new(200, 20, 240, 64)
  9.         w.opacity = 0;w.contents_opacity = 0
  10.         w.z = 9999
  11.         w.contents = Bitmap.new(240-32, 64-32)
  12.         w.contents.font.color = Color.new(50,
  13.         255, 80, 255);tex = "升级拉!~~~"
  14.         w.contents.draw_text(4, 0, w.width, 32, tex)
  15.         for i in 0..20;Graphics.update;
  16.         w.opacity += 10;w.contents_opacity += 10;
  17.         w.y += 7;end;
  18.         for i in 0..50;Graphics.update;end
  19.         for i in 0..20;Graphics.update;w.opacity -=
  20.         10;w.contents_opacity -= 10;end;w.dispose
  21.         end
复制代码
之前我记得好像给你说过类似的问题,就不多补充了。
使用1号物品,试试看吧

点评

难道一定要把现成的给你才好  发表于 2013-10-4 19:01
打错,在原有基础上补充一点显示个图标,名字都是很简单的  发表于 2013-10-4 19:01
额你会做一些补充,显示个图标,显示个名字等等还是很简单的  发表于 2013-10-4 18:59
我要的是像我上面的那个脚本那样显示的,只是地方换到了使用增加等级的物品才显示出来而已。  发表于 2013-10-4 18:04
刚复制有误。。  发表于 2013-10-4 17:43

评分

参与人数 1星屑 +60 收起 理由
myownroc + 60 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 06:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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