查看: 2510|回复: 4

[已经过期] 怎么加入变量条?

[复制链接]
梦石
0
星屑
50
在线时间
18 小时
注册时间
2014-11-8
回帖
3
发表于 2015-1-15 17:49:45 | 显示全部楼层 |阅读模式

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

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

×
怎么用变量加入一个类似于饥饿条的东西?然后让他几十秒减1,这种,然后让他显示出来

职业の水客

梦石
2
星屑
16989
在线时间
7497 小时
注册时间
2010-6-16
回帖
3464

极短27评委MZ评测员极短26评委开拓者

发表于 2015-1-15 20:07:28 | 显示全部楼层
可以用显示图片...
变量=X时 显示/清楚 X号图片

评分

参与人数 1星屑 +100 收起 理由
丿梁丶小柒 + 100 我很赞同

查看全部评分

游戏开发工具集,一站式AI生图+图片完美像素化及相关处理网站。
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
PS2:接受MV/MZ插件定制(QQ763992443)
回复

使用道具 举报

梦石
0
星屑
50
在线时间
18 小时
注册时间
2014-11-8
回帖
3
 楼主| 发表于 2015-1-16 20:41:36 | 显示全部楼层
寂静的夜里 发表于 2015-1-15 20:07
可以用显示图片...
变量=X时 显示/清楚 X号图片

具体怎么弄才好呢?如何用变量,什么计时器什么的
回复

使用道具 举报

梦石
0
星屑
757
在线时间
469 小时
注册时间
2013-8-3
回帖
853
发表于 2015-1-18 10:29:28 | 显示全部楼层
貌似怪可能不触,但貌似怪会努力脱离渣的
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2015-1-18 21:38:43 | 显示全部楼层
本帖最后由 tseyik 于 2015-1-18 22:02 编辑

https://rpg.blue/thread-374522-1-1.html
満腹度脚本
関数1on時表示表示状態
関数2on畤満腹度有效
変数2表示角色(0=角色1)
変数3満腹度操作満腹度
変数4設定満腹度最大値





[pre lang="ruby" line="1"]#----------------------------------------------------------------------------
#マップにウインドウ表示
#----------------------------------------------------------------------------

module MARU_MAP_WINDOW

  #★設定項目

  SWITCH = 1 #在地圖表示窗口/使用開関番号
             #指定開関ON表示、OFF非表示

  MANPUKU = 2 #指定「満腹度」減少有効的開関
              #指定開関OFF時、満腹度及HP(満腹度到0時)
              #不會減少。

  WINDOW = true  #窗口スキン自作
                  #「true」…自作窗口
                  #「false」…預設窗口
                  #true之場合、自作窗口スキン圖片放在「system」文件夾
                  #該当ウインドウを入れる事。


  #WINDOWtrue之場合設定項目------------------------------------------

  W_NAME = [
  "backwin",  #自作窗口文件名(「system」フォルダを参照する)
  "backwin2",  #コンマ(,)で区切れば項目数を増やせます。
  "Actor1"
  ]

  W_NAME_V = 5 #自作窗口画像変更に使用的変数番号
               #這変数0之時、使用W_NAME一番目的項目文件名、
               #1の時、W_NAME二番目の項目のファイルを読み込みます。
               #項目数を増やせば、3や4も指定出来ます。
               #(項目数-1)以上の数字は入れない事!エラーで強制終了します。

  W_X       = 6 #自作窗口画像之X座標
  W_Y       = 7 #自作窗口画像之Y座標
  W_WSIZE   = 8 #自作窗口画像之寛決定之変数番号
  W_HSIZE   = 9 #自作窗口画像之高決定之変数番号

                #自作ウインドウ描画スペースは544×96ピクセル。
                #画像の引き延ばし等は出来ません。

  OPACITY = 200       #自作窗口画像之透明度(0で透明、255で不透明)

  #---------------------------------------------------------------------------

  ACTOR  = 2 #ステータスを表示するアクターIDを参照する変数の番号
             #変数が0の時はアクターID1番のステータスを表示

  NAME   =  "満腹度"     #満腹度(仮)の名前
  VALUE  =  3            #満腹度(仮)の値を操作する変数の番号
  MVALUE =  4            #満腹度(仮)の値の最大値とする変数の番号
  STEP   =  10           #満腹度(仮)を1減らす歩数
  DAMEGE =  10           #満腹度(仮)が0の時、一歩毎に受けるHPダメージ


  #★設定終わり

end



#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● 全ウィンドウの作成
  #--------------------------------------------------------------------------
  alias ma__create_all_windows create_all_windows
  def create_all_windows
    ma__create_all_windows #既存のウインドウ作成
    create_mapwin_window   #「マップウインドウ作成」メソッドへ
  end
  #--------------------------------------------------------------------------
  # ● マップウインドウの作成
  #--------------------------------------------------------------------------
  def create_mapwin_window
    @map_window = Window_Mapwin.new #マップウインドウを作る
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias ma_update update
  def update
    ma_update  #既存のアップデート
    @map_window.update #マップウインドウのアップデート
  end
end

#==============================================================================
# ■ Window_Mapwin
#------------------------------------------------------------------------------
#  マップに表示するウィンドウです。
#==============================================================================

class Window_Mapwin < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(win_adjust1,win_adjust1,Graphics.width+win_adjust2,fitting_height(3)+win_adjust2)
    if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
      self.visible = false
    else
      self.visible = true
    end
    if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
      @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
    else
      @actorsta = $game_actors[1]
    end
    refresh
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウ幅の取得
  #--------------------------------------------------------------------------
  def window_width
    return 140
  end
  #--------------------------------------------------------------------------
  # ● ウインドウの更新
  #--------------------------------------------------------------------------
  def update
    super
    if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
      self.visible = false
      return
    else
      self.visible = true
    end
    if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
      @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
    else
      @actorsta = $game_actors[1]
    end
    #値のチェック。描画時の値と違っていたらリフレッシュする。
    actors = @actorsta.id
    hpp = @actorsta.hp
    mpp = @actorsta.mp
    mhpp = @actorsta.mhp
    mmpp = @actorsta.mmp
    gold   = $game_party.gold
    mname = $game_map.display_name
    expp = @actorsta.exp
    value = $game_variables[MARU_MAP_WINDOW::VALUE]
    mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
    if MARU_MAP_WINDOW::WINDOW
     skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
     x = $game_variables[MARU_MAP_WINDOW::W_X]
     y = $game_variables[MARU_MAP_WINDOW::W_Y]
     width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
     height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
     if actors != @lastactor or gold != @last_g or mname != @last_name or
       value != @last_value or mvalue != @last_mvalue or hpp != @last_hp or
       mpp != @last_mp or mhpp != @last_mhp or mmpp != @last_mmp or
       expp != @last_exp or skin != @last_skin or x != @last_x or
       y != @last_y or width != @last_width or height != @last_height
      refresh
     end
    else
     if actors != @lastactor or gold != @last_g or mname != @last_name or
       value != @last_value or mvalue != @last_mvalue or hpp != @last_hp or
       mpp != @last_mp or mhpp != @last_mhp or mmpp != @last_mmp or
       expp != @last_exp
      refresh
     end
    end
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    if MARU_MAP_WINDOW::WINDOW
      self.opacity = 0
      bitmap = Cache.system(MARU_MAP_WINDOW::W_NAME[$game_variables[MARU_MAP_WINDOW::W_NAME_V]])
      rect = Rect.new(0,0,$game_variables[MARU_MAP_WINDOW::W_WSIZE],$game_variables[MARU_MAP_WINDOW::W_HSIZE])
      contents.blt($game_variables[MARU_MAP_WINDOW::W_X],$game_variables[MARU_MAP_WINDOW::W_Y], bitmap, rect,MARU_MAP_WINDOW::OPACITY)
      bitmap.dispose
    end
    #名前・ステータス描写
    draw_actor_name(@actorsta,win_adjust3,win_adjust3,96)
    draw_actor_level(@actorsta,win_adjust3,24+win_adjust3)
    draw_actor_hp(@actorsta, 96+win_adjust3, win_adjust3)
    draw_actor_mp(@actorsta, 96+win_adjust3, 24+win_adjust3)
    #マップ情報描写
    change_color(system_color)
    draw_text(230+win_adjust3,win_adjust3,165,line_height, "現在地")
    change_color(normal_color)
    draw_text(230+win_adjust3,24+win_adjust3,165,line_height, $game_map.display_name)
    #経験値描写
    draw_actor_next_exp(@actorsta, 395+win_adjust3, win_adjust3,120)
    s_next = sprintf("Next")
    change_color(system_color)
    draw_text(395+win_adjust3, win_adjust3, 140, line_height, s_next)
    change_color(normal_color)
    #所持金描写
    draw_currency_value($game_party.gold, Vocab::currency_unit, 395+win_adjust3, 24+win_adjust3, 120)
    #おまけ描写
    o_text = MARU_MAP_WINDOW::NAME
    value = $game_variables[MARU_MAP_WINDOW::VALUE]
    mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
    draw_actor_hara_gauge(win_adjust3, 48+win_adjust3,220)
    change_color(system_color)
    draw_text(win_adjust3, 48+win_adjust3, 140, line_height, o_text)
    change_color(normal_color)
    draw_text(win_adjust3, 48+win_adjust3, 220, line_height, value.to_s + "/" + mvalue.to_s, 2)

    #描画時点での各値の取得
    @lastactor = @actorsta.id
    @last_hp = @actorsta.hp
    @last_mhp = @actorsta.mhp
    @last_mp = @actorsta.mp
    @last_mmp = @actorsta.mmp
    @last_g = $game_party.gold
    @last_name = $game_map.display_name
    @last_exp = @actorsta.exp
    @last_value = $game_variables[MARU_MAP_WINDOW::VALUE]
    @last_mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
    if MARU_MAP_WINDOW::WINDOW
     @last_skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
     @last_x = $game_variables[MARU_MAP_WINDOW::W_X]
     @last_y = $game_variables[MARU_MAP_WINDOW::W_Y]
     @last_width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
     @last_height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
    end
  end
  #--------------------------------------------------------------------------
  # ● 満腹度 の割合を取得
  #--------------------------------------------------------------------------
  def hara_rate
    $game_variables[MARU_MAP_WINDOW::MVALUE] > 0 ? $game_variables[MARU_MAP_WINDOW::VALUE].to_f / $game_variables[MARU_MAP_WINDOW::MVALUE] : 0
  end
  #--------------------------------------------------------------------------
  # ○ 満腹度 ゲージの描画
  #     actor : アクター
  #     x, y  : 描画先 X, Y 座標
  #     width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_hara_gauge(x, y, width = 120)
    draw_gauge(KMS_GenericGauge::TP_IMAGE,
      x, y, width, hara_rate,
      KMS_GenericGauge::TP_OFFSET,
      KMS_GenericGauge::TP_LENGTH,
      KMS_GenericGauge::TP_SLOPE
    )
  end
  #--------------------------------------------------------------------------
  # ● ウインドウ位置調整その1
  #--------------------------------------------------------------------------
  def win_adjust1
    MARU_MAP_WINDOW::WINDOW ? -12 : 0
  end
  #--------------------------------------------------------------------------
  # ● ウインドウ位置調整その2
  #--------------------------------------------------------------------------
  def win_adjust2
    MARU_MAP_WINDOW::WINDOW ? 24 : 0
  end
  #--------------------------------------------------------------------------
  # ● ウインドウ位置調整その3
  #--------------------------------------------------------------------------
  def win_adjust3
    MARU_MAP_WINDOW::WINDOW ? 12 : 0
  end
end

#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ
# スのインスタンスは $game_party で参照されます。
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias hara_initialize initialize
  def initialize
    hara_initialize
    @haraheri = MARU_MAP_WINDOW::STEP
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーが 1 歩動いたときの処理
  #--------------------------------------------------------------------------
  alias hara_on_player_walk on_player_walk
  def on_player_walk
    hara_on_player_walk
    manpuku
  end
  #--------------------------------------------------------------------------
  # ● 満腹度の処理
  #--------------------------------------------------------------------------
  def manpuku
    if $game_player.normal_walk?
      update_haraheri_steps if $game_switches[MARU_MAP_WINDOW::MANPUKU]
      update_haraheri_damege if $game_switches[MARU_MAP_WINDOW::MANPUKU]
    end
  end
  #--------------------------------------------------------------------------
  # ● 満腹度の歩数カウントを更新
  #--------------------------------------------------------------------------
  def update_haraheri_steps
    @haraheri -= 1 if @haraheri > 0
    if @haraheri == 0
      $game_variables[MARU_MAP_WINDOW::VALUE] -= 1 if $game_variables[MARU_MAP_WINDOW::VALUE] > 0
      @haraheri = MARU_MAP_WINDOW::STEP
    end
  end
  #--------------------------------------------------------------------------
  # ● 満腹度が0の時のダメージ更新
  #--------------------------------------------------------------------------
  def update_haraheri_damege
    if $game_variables[MARU_MAP_WINDOW::VALUE] == 0
    all_members.size.times{|i| $game_party.members.hp -= MARU_MAP_WINDOW::DAMEGE}
    end
  end
end

[/pre]

点评

請無視,這脚為vA使用  发表于 2015-1-18 22:04
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部