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

Project1

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

[已经过期] 求在地图上显示生命,sp的脚本!

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-6-12
帖子
56
跳转到指定楼层
1
发表于 2010-6-20 20:18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
2
发表于 2010-6-20 20:21:53 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Map      From : DIYRPG            修改 : bbaugle
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面的类。
  5. #==============================================================================
  6. class Scene_Map
  7.   #--------------------------------------------------------------------------
  8.   # ● 在这里控制脚本的属性
  9.   #--------------------------------------------------------------------------
  10.   SWITCH_ID = 6 #在这里设定开关的编号……
  11.   $center_hud = false #这里决定是否将HUD(状态窗口)居中显示……
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化别名
  14.   #--------------------------------------------------------------------------
  15.   alias raz_hud_main main
  16.   alias raz_hud_update update
  17.   #--------------------------------------------------------------------------
  18.   # ● 主进程
  19.   #--------------------------------------------------------------------------  
  20.   def main
  21.     @size = $game_party.actors.size
  22.     raz_hud_main
  23.     @hud_window.dispose
  24.     @hud2_window.dispose
  25.     for i in 0...$game_party.actors.size
  26.       @hud_dummy[i].dispose
  27.     end #for
  28.   end #def
  29.   #--------------------------------------------------------------------------
  30.   # ● 刷新画面
  31.   #--------------------------------------------------------------------------  
  32.   def update
  33.     if @size != $game_party.actors.size
  34.       @hud_window.refresh
  35.       show_window
  36.     end #if
  37.     if @hud != true
  38.       main_window
  39.     end #if
  40.     turn_hud_on_off
  41.     @hud_window.update
  42.     @hud2_window.update
  43.     raz_hud_update
  44.   end #def
  45.   #--------------------------------------------------------------------------
  46.   # ● 与状态窗口的显示行为相关的语句
  47.   #--------------------------------------------------------------------------   
  48.   def show_window
  49.     @size = $game_party.actors.size
  50.     for i in 0..3
  51.       @hud_dummy[i].visible = ($game_party.actors[i] != nil)
  52.     end #for
  53.   end #def
  54.   #--------------------------------------------------------------------------
  55.   # ● 与状态窗口的创建相关的语句
  56.   #--------------------------------------------------------------------------     
  57.   def main_window
  58.     @opacity = 0
  59.     @hud_dummy = []
  60.     for i in 0...4
  61.       y = $game_party.actors.size - 1
  62.       x = 240 - (y * 80)
  63.       if $center_hud == true
  64.         @hud_dummy[i] = Window_Base.new(160 * i + x, 372,160, 108)
  65.       else
  66.         @hud_dummy[i] = Window_Base.new(160 * i, 100,160, 108)
  67.       end #if
  68.       @hud_dummy[i].opacity = @opacity
  69.       @hud_dummy[i].visible = false
  70.     end #for
  71.     @hud_window = Window_HUD.new
  72.     @hud2_window = Window_HUD2.new
  73.     for i in 0...$game_party.actors.size
  74.       @hud_dummy[i].visible = $game_party.actors[i] != nil
  75.     end #for
  76.     @hud = true
  77.   end #def
  78.   #--------------------------------------------------------------------------
  79.   # ● 与状态窗口的开关相关的语句
  80.   #--------------------------------------------------------------------------   
  81.   def turn_hud_on_off
  82.    if $game_switches[SWITCH_ID] == false #关掉开关
  83.      $game_temp.common_event_id =11
  84.     @hud_window.visible = false
  85.     @hud2_window.visible = false
  86.       for i in 0...$game_party.actors.size
  87.         @hud_dummy[i].visible = false
  88.       end #for
  89.     end #if
  90.    if $game_switches[SWITCH_ID] == true #打开开关
  91.      $game_temp.common_event_id =11
  92.      @hud_window.visible = true
  93.      @hud2_window.visible = true
  94.      for i in 0...$game_party.actors.size
  95.        @hud_dummy[i].visible = true
  96.      end #for
  97.    end #if
  98.   end #def
  99. end #class
  100. #==============================================================================
  101. # ■ Window_HUD
  102. #------------------------------------------------------------------------------
  103. #  地图画面中显示的状态窗口。
  104. #==============================================================================
  105. class Window_HUD < Window_Base
  106.   #--------------------------------------------------------------------------
  107.   # ● 初始化对象
  108.   #--------------------------------------------------------------------------
  109.   def initialize
  110.     super(-100, -100, 800, 600)
  111.     self.contents = Bitmap.new(width - 32, height - 32)
  112.     self.opacity = 0
  113.     for i in 0...$game_party.actors.size
  114.       actor = $game_party.actors[i]
  115.       eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp")#; @old_exp#{i+1} = actor.now_exp")
  116.     end #for
  117.     refresh
  118.   end #def
  119.   #--------------------------------------------------------------------------
  120.   # ● 刷新
  121.   #--------------------------------------------------------------------------
  122.   def refresh
  123.     self.contents.clear
  124.     for i in 0...$game_party.actors.size
  125.       a = $game_party.actors.size - 1
  126.       actor = $game_party.actors[i]
  127.       if $center_hud == true
  128.        x = (i * 160 + 25) + (240 - (a * 80))
  129.       else
  130.        x = i * 160 + 25
  131.      end #if

  132.      
  133.    
  134.      
  135.       self.contents.font.name = (["黑体"])
  136.       self.contents.font.size = 14
  137.       self.contents.font.bold = false
  138.       self.contents.draw_text(182, 80, 100,32, actor.name)

  139.       draw_actor_face(actor, 115, 160)
  140.       draw_actor_lvp(actor, 100, 108)
  141.       draw_actor_hpp(actor, 150, 124,1000)
  142.       draw_actor_spp(actor, 150, 140,1000)
  143.       draw_actor_expp(actor, 102, 569,1000)
  144.       draw_gold(actor, 600, 555-26)
  145.       draw_mission(actor, 160, 530)
  146.       
  147.       #draw_actor_exp(actor, 90, 220, 204)
  148.       
  149.       
  150.       

  151.       
  152.       width = 100
  153.       height = 6
  154.       draw_slant_bar(150, 110,actor.hp, actor.maxhp, width, height, Color.new(150, 0, 0), Color.new(155, 155, 60))
  155.       draw_slant_bar(150, 125,actor.sp, actor.maxsp, width, height, Color.new(0, 0, 150), Color.new(60, 155, 155))
  156.      # draw_slant_bar(150, 140, actor.now_exp, actor.next_exp, width, height, Color.new(0, 150, 0), Color.new(60, 255, 60))
  157.       $game_temp.common_event_id =11
  158.       
  159.       self.contents.font.name = (["黑体"])#(["911 Porscha"])#(["DigifaceWide"])#(["256 Bytes"])
  160.       self.contents.font.size = 14
  161.       self.contents.font.bold = true
  162.       self.contents.draw_text(153, 97, 100, 32, "#{actor.hp}/#{actor.maxhp}", 1)
  163.       self.contents.draw_text(153, 97 + 16, 100, 32, "#{actor.sp}/#{actor.maxsp}", 1)
  164.       #self.contents.draw_text(153, 97 + 32, 100, 32, "#{actor.now_exp}/#{actor.next_exp}", 1)
  165.       self.contents.font.size = 18
  166.       self.contents.draw_text(80+10, 80-3, 100, 32, "#{actor.level}", 1)
  167.     end #for
  168.   end #def
  169.   #--------------------------------------------------------------------------
  170.   # ● 刷新画面
  171.   #--------------------------------------------------------------------------
  172.   def update
  173.     super
  174.     for i in 0...$game_party.actors.size
  175.       actor = $game_party.actors[i]
  176.       if (eval("@old_hp#{i+1}") != actor.hp or eval("@old_sp#{i+1}") != actor.sp)# or
  177.         #eval("@old_exp#{i+1}") != actor.now_exp)
  178.         refresh
  179.         eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp")#; @old_exp#{i+1} = actor.now_exp")
  180.       end #if
  181.     end #super
  182.   end #def
  183. end #class


  184. #==============================================================================
  185. # ■ Window_HUD 2
  186. #------------------------------------------------------------------------------
  187. #  地图画面中显示的金钱窗口。
  188. #==============================================================================
  189. class Window_HUD2 < Window_Base
  190.   #--------------------------------------------------------------------------
  191.   # ● 初始化对象
  192.   #--------------------------------------------------------------------------
  193.   def initialize
  194.     super(-100, -100, 800, 600)
  195.     self.contents = Bitmap.new(width - 32, height - 32)
  196.     self.opacity = 0
  197.     refresh
  198.   end #def
  199.   #--------------------------------------------------------------------------
  200.   # ● 刷新
  201.   #--------------------------------------------------------------------------
  202.   def refresh
  203.     self.contents.clear
  204.       self.contents.font.name = (["DigifaceWide"])#(["256 Bytes"])
  205.       self.contents.font.size = 16
  206.       self.contents.font.bold = true
  207.       
  208.       cxg = contents.text_size($data_system.words.gold).width
  209.       self.contents.font.color = normal_color
  210.       self.contents.draw_text(580, 526-26, 120-cxg-2, 32, $game_party.gold.to_s, 2)
  211.   end #def
  212.   #--------------------------------------------------------------------------
  213.   # ● 刷新画面
  214.   #--------------------------------------------------------------------------
  215.   def update
  216.     super
  217.       refresh
  218.     #end #super
  219.   end #def
  220. end
  221. =begin
  222. #==============================================================================
  223. # ■ Window_HUD 3
  224. #------------------------------------------------------------------------------
  225. #  地图画面中显示的经验窗口。
  226. #==============================================================================
  227. class Window_HUD3 < Window_Base
  228.   #--------------------------------------------------------------------------
  229.   # ● 初始化对象
  230.   #--------------------------------------------------------------------------
  231.   def initialize
  232.     super(-100, -100, 800, 600)
  233.     self.contents = Bitmap.new(width - 32, height - 32)
  234.     self.opacity = 0
  235.     refresh
  236.   end #def
  237.   #--------------------------------------------------------------------------
  238.   # ● 刷新
  239.   #--------------------------------------------------------------------------
  240.   def refresh
  241.     self.contents.clear
  242.     for i in 0...$game_party.actors.size
  243.       actor = $game_party.actors[i]
  244.     self.contents.font.name = (["黑体"])#(["911 Porscha"])#(["DigifaceWide"])#(["256 Bytes"])
  245.     self.contents.font.size = 14
  246.     self.contents.font.bold = true
  247.     self.contents.draw_text(-125, 97 + 45, 640, 48, "#{actor.now_exp}/#{actor.next_exp}", 1)
  248.     end
  249.   end #def
  250.   #--------------------------------------------------------------------------
  251.   # ● 刷新画面
  252.   #--------------------------------------------------------------------------
  253.   def update
  254.     super
  255.     for i in 0...$game_party.actors.size
  256.       actor = $game_party.actors[i]
  257.       if (eval("@old_exp#{i+1}") != actor.now_exp)
  258.         refresh
  259.         eval("@old_exp#{i+1} = actor.now_exp")
  260.       end #if
  261.     end #super
  262.   end #def
  263. end #class

  264. =end

  265. #==============================================================================
  266. # ■ Window_Base
  267. #------------------------------------------------------------------------------
  268. #  游戏中全部窗口的超级类。
  269. #==============================================================================
  270. class Window_Base < Window
  271.   #状态条的绘制
  272.   def draw_slant_bar(x, y, min, max, width = 152, height = 6,
  273.       bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
  274.     for i in 0..height
  275.       self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
  276.     end #for
  277.     for i in 1..(height - 1)
  278.       r = 100 * (height - i) / height + 0 * i / height
  279.       g = 100 * (height - i) / height + 0 * i / height
  280.       b = 100 * (height - i) / height + 0 * i / height
  281.       a = 255 * (height - i) / height + 255 * i / height
  282.       self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
  283.     end #for
  284.     for i in 1..( (min / max.to_f) * width - 1)
  285.       for j in 1..(height - 1)
  286.         r = bar_color.red * (width - i) / width + end_color.red * i / width
  287.         g = bar_color.green * (width - i) / width + end_color.green * i / width
  288.         b = bar_color.blue * (width - i) / width + end_color.blue * i / width
  289.         a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
  290.         self.contents.fill_rect(x + i + j, y + height - j,1, 1, Color.new(r, g, b, a))
  291.       end #for
  292.     end #for
  293.   end #def
  294. end #class
  295. #==============================================================================
  296. # ■ Game_Actor
  297. #------------------------------------------------------------------------------
  298. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  299. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  300. #==============================================================================
  301. class Game_Actor
  302.   #获取当前EXP
  303.   def now_exp
  304.     return @exp - @exp_list[@level]
  305.   end #def
  306.   
  307.   
  308.   #获取下一级需要EXP的数值
  309.   def next_exp
  310.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  311.   end #def
  312.   
  313.   def exp=(exp)
  314.     @exp = [[exp, 9999999].min, 0].max
  315.     # 升级
  316.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  317.       @level += 1
  318.       @hp = @maxhp
  319.       @sp = @maxsp

  320.       $game_temp.common_event_id =22
  321.       $game_variables[50] += 5
  322.       
  323.       
  324.       for i in 0...$game_party.actors.size
  325.       actor = $game_party.actors[i]
  326.       end #for
  327.       $game_variables[42] == actor.level
  328.     #changeTitle("Candy's Tour  [Game]Name:Candy Level:#{actor.level} \000")
  329.    
  330.     end
  331.     # 修正当前的 HP 与 SP 超过最大值
  332.     @hp = [@hp, self.maxhp].min
  333.     @sp = [@sp, self.maxsp].min
  334.   end
  335. end
复制代码
如果出错就把出错的地方删掉。免得太麻烦
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-6-12
帖子
56
3
 楼主| 发表于 2010-6-26 17:56:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
111 小时
注册时间
2010-6-26
帖子
80
4
发表于 2010-6-27 08:09:06 | 只看该作者
哇塞,有冲突这很正常,你费得着说别人骗你啊?
人家好心好意帮你找,你却说他骗你,你这人也太什么了吧?!?!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-6-12
帖子
56
5
 楼主| 发表于 2010-6-27 17:11:52 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
6
发表于 2010-6-27 17:36:10 | 只看该作者
是做ARPG吧~论坛上有一个ARPG系统叫:系统-夜想曲的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-23 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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