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

Project1

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

[已经解决] 请问,如果只想在地图上显示HP怎么做

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1613
在线时间
719 小时
注册时间
2013-10-20
帖子
146

开拓者

跳转到指定楼层
1
发表于 2013-11-8 19:22:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RT,用脚本的话我不知道怎么改而且那对作者不尊重...

点评

行1〜行60可進行不同設定  发表于 2013-11-26 00:07
開関1on時顕示,off不顕示  发表于 2013-11-26 00:04
整個複制後貼到遊戲腳本編輯庫的Main以上  发表于 2013-11-24 05:55
别查成分了,啥也没有

Lv5.捕梦者

梦石
0
星屑
22958
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
2
发表于 2013-11-8 20:07:24 | 只看该作者
  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
复制代码

点评

怎么用...  发表于 2013-11-8 20:38

评分

参与人数 1星屑 +66 收起 理由
熊喵酱 + 66 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 06:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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