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

Project1

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

[已经解决] 求个地图显示血条的脚本QAQ

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
86 小时
注册时间
2013-7-17
帖子
61
跳转到指定楼层
1
发表于 2014-6-28 15:28:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
实在找不到。。只找到xp的QAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ

Lv4.逐梦者 (版主)

梦石
1
星屑
6616
在线时间
2650 小时
注册时间
2013-8-23
帖子
2315

开拓者

2
发表于 2014-6-28 16:13:14 | 只看该作者

这是@余烬之中 帮我写的一个范例

地图显示SAO血条 简易 教程.zip (1.46 MB, 下载次数: 799)

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2014-6-28 16:49:25 | 只看该作者
  1. #----------------------------------------------------------------------------
  2. #マップにウインドウ表示
  3. #----------------------------------------------------------------------------

  4. module MARU_MAP_WINDOW
  5.   
  6.   #★設定項目
  7.   
  8.   SWITCH = 1 #マップウインドウ表示に使用するスイッチ番号
  9.              #該当スイッチONで表示、OFFで非表示
  10.             
  11.   MANPUKU = 2 #「満腹度」減少を有効にするスイッチ
  12.               #このスイッチがOFFの時、満腹度及びHP(満腹度が0の時)は
  13.               #減少しない。
  14.               
  15.   WINDOW = true  #ウインドウスキンを自作のモノにするかどうか
  16.                   #「true」…自作ウインドウ
  17.                   #「false」…デフォルトウインドウ
  18.                   #trueにする場合、「system」フォルダに
  19.                   #該当ウインドウを入れる事。
  20.                   
  21.                   
  22.   #WINDOWをtrueにした場合の設定項目------------------------------------------
  23.               
  24.   W_NAME = [
  25.   "backwin",  #自作ウインドウのファイル名(「system」フォルダを参照する)
  26.   "backwin2",  #コンマ(,)で区切れば項目数を増やせます。
  27.   "Actor1"
  28.   ]
  29.   
  30.   W_NAME_V = 5 #自作ウインドウ画像変更に使う変数番号
  31.                #この変数が0の時、W_NAME一番目の項目のファイル名を読みこみ、
  32.                #1の時、W_NAME二番目の項目のファイルを読み込みます。
  33.                #項目数を増やせば、3や4も指定出来ます。
  34.                #(項目数-1)以上の数字は入れない事!エラーで強制終了します。
  35.   
  36.   W_X       = 6 #自作ウインドウ画像のX座標
  37.   W_Y       = 7 #自作ウインドウ画像のY座標
  38.   W_WSIZE   = 8 #自作ウインドウ画像の幅を決める変数番号
  39.   W_HSIZE   = 9 #自作ウインドウ画像の高さを決める変数番号
  40.   
  41.                 #自作ウインドウ描画スペースは544×96ピクセル。
  42.                 #画像の引き延ばし等は出来ません。
  43.   
  44.   OPACITY = 200       #自作ウインドウの透明度(0で透明、255で不透明)
  45.   
  46.   #---------------------------------------------------------------------------
  47.   
  48.   ACTOR  = 2 #ステータスを表示するアクターIDを参照する変数の番号
  49.              #変数が0の時はアクターID1番のステータスを表示
  50.             
  51.   NAME   =  "満腹度"     #満腹度(仮)の名前
  52.   VALUE  =  3            #満腹度(仮)の値を操作する変数の番号
  53.   MVALUE =  4            #満腹度(仮)の値の最大値とする変数の番号
  54.   STEP   =  10           #満腹度(仮)を1減らす歩数
  55.   DAMEGE =  10           #満腹度(仮)が0の時、一歩毎に受けるHPダメージ
  56.                         
  57.   
  58.   #★設定終わり

  59. end



  60. #==============================================================================
  61. # ■ Scene_Map
  62. #------------------------------------------------------------------------------
  63. #  マップ画面の処理を行うクラスです。
  64. #==============================================================================

  65. class Scene_Map < Scene_Base
  66.   #--------------------------------------------------------------------------
  67.   # ● 全ウィンドウの作成
  68.   #--------------------------------------------------------------------------
  69.   alias ma__create_all_windows create_all_windows
  70.   def create_all_windows
  71.     ma__create_all_windows #既存のウインドウ作成
  72.     create_mapwin_window   #「マップウインドウ作成」メソッドへ
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● マップウインドウの作成
  76.   #--------------------------------------------------------------------------
  77.   def create_mapwin_window
  78.     @map_window = Window_Mapwin.new #マップウインドウを作る
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● フレーム更新
  82.   #--------------------------------------------------------------------------
  83.   alias ma_update update
  84.   def update
  85.     ma_update  #既存のアップデート
  86.     @map_window.update #マップウインドウのアップデート
  87.   end
  88. end

  89. #==============================================================================
  90. # ■ Window_Mapwin
  91. #------------------------------------------------------------------------------
  92. #  マップに表示するウィンドウです。
  93. #==============================================================================

  94. class Window_Mapwin < Window_Selectable
  95.   #--------------------------------------------------------------------------
  96.   # ● オブジェクト初期化
  97.   #--------------------------------------------------------------------------
  98.   def initialize
  99.     super(win_adjust1,win_adjust1,Graphics.width+win_adjust2,fitting_height(3)+win_adjust2)
  100.     if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
  101.       self.visible = false
  102.     else
  103.       self.visible = true
  104.     end
  105.     if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
  106.       @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
  107.     else
  108.       @actorsta = $game_actors[1]
  109.     end
  110.     refresh
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● ウィンドウ幅の取得
  114.   #--------------------------------------------------------------------------
  115.   def window_width
  116.     return 140
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● ウインドウの更新
  120.   #--------------------------------------------------------------------------
  121.   def update
  122.     super
  123.     if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
  124.       self.visible = false
  125.       return
  126.     else
  127.       self.visible = true
  128.     end
  129.     if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
  130.       @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
  131.     else
  132.       @actorsta = $game_actors[1]
  133.     end
  134.     #値のチェック。描画時の値と違っていたらリフレッシュする。
  135.     actors = @actorsta.id
  136.     hpp = @actorsta.hp
  137.     mpp = @actorsta.mp
  138.     mhpp = @actorsta.mhp
  139.     mmpp = @actorsta.mmp
  140.     gold   = $game_party.gold
  141.     mname = $game_map.display_name
  142.     expp = @actorsta.exp
  143.     value = $game_variables[MARU_MAP_WINDOW::VALUE]
  144.     mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  145.     if MARU_MAP_WINDOW::WINDOW
  146.      skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
  147.      x = $game_variables[MARU_MAP_WINDOW::W_X]
  148.      y = $game_variables[MARU_MAP_WINDOW::W_Y]
  149.      width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
  150.      height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
  151.      if actors != @lastactor or gold != @last_g or mname != @last_name or
  152.        value != @last_value or mvalue != @last_mvalue or hpp != @last_hp or
  153.        mpp != @last_mp or mhpp != @last_mhp or mmpp != @last_mmp or
  154.        expp != @last_exp or skin != @last_skin or x != @last_x or
  155.        y != @last_y or width != @last_width or height != @last_height
  156.       refresh
  157.      end
  158.     else
  159.      if actors != @lastactor or gold != @last_g or mname != @last_name or
  160.        value != @last_value or mvalue != @last_mvalue or hpp != @last_hp or
  161.        mpp != @last_mp or mhpp != @last_mhp or mmpp != @last_mmp or
  162.        expp != @last_exp
  163.       refresh
  164.      end
  165.     end
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● リフレッシュ
  169.   #--------------------------------------------------------------------------
  170.   def refresh
  171.     contents.clear
  172.     if MARU_MAP_WINDOW::WINDOW
  173.       self.opacity = 0
  174.       bitmap = Cache.system(MARU_MAP_WINDOW::W_NAME[$game_variables[MARU_MAP_WINDOW::W_NAME_V]])
  175.       rect = Rect.new(0,0,$game_variables[MARU_MAP_WINDOW::W_WSIZE],$game_variables[MARU_MAP_WINDOW::W_HSIZE])
  176.       contents.blt($game_variables[MARU_MAP_WINDOW::W_X],$game_variables[MARU_MAP_WINDOW::W_Y], bitmap, rect,MARU_MAP_WINDOW::OPACITY)
  177.       bitmap.dispose
  178.     end
  179.     #名前・ステータス描写
  180.     draw_actor_name(@actorsta,win_adjust3,win_adjust3,96)
  181.     draw_actor_level(@actorsta,win_adjust3,24+win_adjust3)
  182.     draw_actor_hp(@actorsta, 96+win_adjust3, win_adjust3)
  183.     draw_actor_mp(@actorsta, 96+win_adjust3, 24+win_adjust3)
  184.     #マップ情報描写
  185.     change_color(system_color)
  186.     draw_text(230+win_adjust3,win_adjust3,165,line_height, "現在地")
  187.     change_color(normal_color)
  188.     draw_text(230+win_adjust3,24+win_adjust3,165,line_height, $game_map.display_name)
  189.     #経験値描写
  190.     draw_actor_next_exp(@actorsta, 395+win_adjust3, win_adjust3,120)
  191.     s_next = sprintf("Next")
  192.     change_color(system_color)
  193.     draw_text(395+win_adjust3, win_adjust3, 140, line_height, s_next)
  194.     change_color(normal_color)
  195.     #所持金描写
  196.     draw_currency_value($game_party.gold, Vocab::currency_unit, 395+win_adjust3, 24+win_adjust3, 120)
  197.     #おまけ描写
  198.     o_text = MARU_MAP_WINDOW::NAME
  199.     value = $game_variables[MARU_MAP_WINDOW::VALUE]
  200.     mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  201.     draw_actor_hara_gauge(win_adjust3, 48+win_adjust3,220)
  202.     change_color(system_color)
  203.     draw_text(win_adjust3, 48+win_adjust3, 140, line_height, o_text)
  204.     change_color(normal_color)
  205.     draw_text(win_adjust3, 48+win_adjust3, 220, line_height, value.to_s + "/" + mvalue.to_s, 2)
  206.    
  207.     #描画時点での各値の取得
  208.     @lastactor = @actorsta.id
  209.     @last_hp = @actorsta.hp
  210.     @last_mhp = @actorsta.mhp
  211.     @last_mp = @actorsta.mp
  212.     @last_mmp = @actorsta.mmp
  213.     @last_g = $game_party.gold
  214.     @last_name = $game_map.display_name
  215.     @last_exp = @actorsta.exp
  216.     @last_value = $game_variables[MARU_MAP_WINDOW::VALUE]
  217.     @last_mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  218.     if MARU_MAP_WINDOW::WINDOW
  219.      @last_skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
  220.      @last_x = $game_variables[MARU_MAP_WINDOW::W_X]
  221.      @last_y = $game_variables[MARU_MAP_WINDOW::W_Y]
  222.      @last_width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
  223.      @last_height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
  224.     end
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # ● 満腹度 の割合を取得
  228.   #--------------------------------------------------------------------------
  229.   def hara_rate
  230.     $game_variables[MARU_MAP_WINDOW::MVALUE] > 0 ? $game_variables[MARU_MAP_WINDOW::VALUE].to_f / $game_variables[MARU_MAP_WINDOW::MVALUE] : 0
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # ○ 満腹度 ゲージの描画
  234.   #     actor : アクター
  235.   #     x, y  : 描画先 X, Y 座標
  236.   #     width : 幅
  237.   #--------------------------------------------------------------------------
  238.   def draw_actor_hara_gauge(x, y, width = 120)
  239.     draw_gauge(KMS_GenericGauge::TP_IMAGE,
  240.       x, y, width, hara_rate,
  241.       KMS_GenericGauge::TP_OFFSET,
  242.       KMS_GenericGauge::TP_LENGTH,
  243.       KMS_GenericGauge::TP_SLOPE
  244.     )
  245.   end
  246.   #--------------------------------------------------------------------------
  247.   # ● ウインドウ位置調整その1
  248.   #--------------------------------------------------------------------------
  249.   def win_adjust1
  250.     MARU_MAP_WINDOW::WINDOW ? -12 : 0
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ● ウインドウ位置調整その2
  254.   #--------------------------------------------------------------------------
  255.   def win_adjust2
  256.     MARU_MAP_WINDOW::WINDOW ? 24 : 0
  257.   end
  258.   #--------------------------------------------------------------------------
  259.   # ● ウインドウ位置調整その3
  260.   #--------------------------------------------------------------------------
  261.   def win_adjust3
  262.     MARU_MAP_WINDOW::WINDOW ? 12 : 0
  263.   end
  264. end
  265.   
  266. #==============================================================================
  267. # ■ Game_Party
  268. #------------------------------------------------------------------------------
  269. #  パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ
  270. # スのインスタンスは $game_party で参照されます。
  271. #==============================================================================

  272. class Game_Party < Game_Unit
  273.   #--------------------------------------------------------------------------
  274.   # ● オブジェクト初期化
  275.   #--------------------------------------------------------------------------
  276.   alias hara_initialize initialize
  277.   def initialize
  278.     hara_initialize
  279.     @haraheri = MARU_MAP_WINDOW::STEP
  280.   end
  281.   #--------------------------------------------------------------------------
  282.   # ● プレイヤーが 1 歩動いたときの処理
  283.   #--------------------------------------------------------------------------
  284.   alias hara_on_player_walk on_player_walk
  285.   def on_player_walk
  286.     hara_on_player_walk
  287.     manpuku
  288.   end
  289.   #--------------------------------------------------------------------------
  290.   # ● 満腹度の処理
  291.   #--------------------------------------------------------------------------
  292.   def manpuku
  293.     if $game_player.normal_walk?
  294.       update_haraheri_steps if $game_switches[MARU_MAP_WINDOW::MANPUKU]
  295.       update_haraheri_damege if $game_switches[MARU_MAP_WINDOW::MANPUKU]
  296.     end
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ● 満腹度の歩数カウントを更新
  300.   #--------------------------------------------------------------------------
  301.   def update_haraheri_steps
  302.     @haraheri -= 1 if @haraheri > 0
  303.     if @haraheri == 0
  304.       $game_variables[MARU_MAP_WINDOW::VALUE] -= 1 if $game_variables[MARU_MAP_WINDOW::VALUE] > 0
  305.       @haraheri = MARU_MAP_WINDOW::STEP
  306.     end
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● 満腹度が0の時のダメージ更新
  310.   #--------------------------------------------------------------------------
  311.   def update_haraheri_damege
  312.     if $game_variables[MARU_MAP_WINDOW::VALUE] == 0
  313.     all_members.size.times{|i| $game_party.members[i].hp -= MARU_MAP_WINDOW::DAMEGE}
  314.     end
  315.   end
  316. end
复制代码

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
900 小时
注册时间
2012-11-13
帖子
893
4
发表于 2014-6-28 19:11:00 | 只看该作者
废弃
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
249 小时
注册时间
2011-12-2
帖子
363
5
发表于 2014-6-28 19:12:19 | 只看该作者
https://rpg.blue/forum.php?mod=v ... 4%E8%AE%B0%E6%9C%AC

黑色笔记本 可以显示等级红蓝和经验
以及还有对话框
不过对话框会出现读档时消失的bug

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 我很赞同

查看全部评分

你說霜冷長河,蒹葭蒼蒼。
後來伊人何在?獨坐未央。

哪怕跌到新兵,我也要尽全力去援助好人
哪怕被封被删,我也要尽全力去喷伸手党
不是说作为小白不能提问或让别人帮忙,只是有些人你们这样肆无忌惮地伸手甚至连句感谢都不会说你们家里人到底知不知道
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

6
发表于 2014-6-29 00:04:11 | 只看该作者
本帖最后由 VIPArcher 于 2014-6-29 00:13 编辑

来来来,我给你个范例。自己琢磨琢磨  RGSS300.dll被我删了,你自己复制一个进去吧。如果你下载了的话。
效果图

做范例老辛苦了,我要收费,哼~其实,我只是试试附件收费的功能。哈哈

仿碧轨地图显血.zip

635.75 KB, 下载次数: 206

DLL已删,自行复制

点评

0.0  发表于 2014-6-29 13:35
话说DLL什么的,保存一下不就有了么  发表于 2014-6-29 13:28

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
78
在线时间
602 小时
注册时间
2012-4-20
帖子
608
7
发表于 2014-7-1 16:44:38 | 只看该作者
亲看看这个范例,来自于www.atelier-rgss.com,很简单但是很好看。

U_Hud_Rorona.zip

1.46 MB, 下载次数: 454

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 认可答案

查看全部评分

https://rpg.blue/https://rpg.blue/data/attachment/album/201407/20/204500gw201w4tveh224td.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 08:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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