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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2014-11-8
帖子
9
跳转到指定楼层
发表于 2015-1-15 17:49:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

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

Lv5.捕梦者

梦石
0
星屑
22948
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
4
发表于 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設定満腹度最大値





RUBY 代码复制
  1. #----------------------------------------------------------------------------
  2. #マップにウインドウ表示
  3. #----------------------------------------------------------------------------
  4.  
  5. module MARU_MAP_WINDOW
  6.  
  7.   #★設定項目
  8.  
  9.   SWITCH = 1 #在地圖表示窗口/使用開関番号
  10.              #指定開関ON表示、OFF非表示
  11.  
  12.   MANPUKU = 2 #指定「満腹度」減少有効的開関
  13.               #指定開関OFF時、満腹度及HP(満腹度到0時)
  14.               #不會減少。
  15.  
  16.   WINDOW = true  #窗口スキン自作
  17.                   #「true」…自作窗口
  18.                   #「false」…預設窗口
  19.                   #true之場合、自作窗口スキン圖片放在「system」文件夾
  20.                   #該当ウインドウを入れる事。
  21.  
  22.  
  23.   #WINDOWtrue之場合設定項目------------------------------------------
  24.  
  25.   W_NAME = [
  26.   "backwin",  #自作窗口文件名(「system」フォルダを参照する)
  27.   "backwin2",  #コンマ(,)で区切れば項目数を増やせます。
  28.   "Actor1"
  29.   ]
  30.  
  31.   W_NAME_V = 5 #自作窗口画像変更に使用的変数番号
  32.                #這変数0之時、使用W_NAME一番目的項目文件名、
  33.                #1の時、W_NAME二番目の項目のファイルを読み込みます。
  34.                #項目数を増やせば、3や4も指定出来ます。
  35.                #(項目数-1)以上の数字は入れない事!エラーで強制終了します。
  36.  
  37.   W_X       = 6 #自作窗口画像之X座標
  38.   W_Y       = 7 #自作窗口画像之Y座標
  39.   W_WSIZE   = 8 #自作窗口画像之寛決定之変数番号
  40.   W_HSIZE   = 9 #自作窗口画像之高決定之変数番号
  41.  
  42.                 #自作ウインドウ描画スペースは544×96ピクセル。
  43.                 #画像の引き延ばし等は出来ません。
  44.  
  45.   OPACITY = 200       #自作窗口画像之透明度(0で透明、255で不透明)
  46.  
  47.   #---------------------------------------------------------------------------
  48.  
  49.   ACTOR  = 2 #ステータスを表示するアクターIDを参照する変数の番号
  50.              #変数が0の時はアクターID1番のステータスを表示
  51.  
  52.   NAME   =  "満腹度"     #満腹度(仮)の名前
  53.   VALUE  =  3            #満腹度(仮)の値を操作する変数の番号
  54.   MVALUE =  4            #満腹度(仮)の値の最大値とする変数の番号
  55.   STEP   =  10           #満腹度(仮)を1減らす歩数
  56.   DAMEGE =  10           #満腹度(仮)が0の時、一歩毎に受けるHPダメージ
  57.  
  58.  
  59.   #★設定終わり
  60.  
  61. end
  62.  
  63.  
  64.  
  65. #==============================================================================
  66. # ■ Scene_Map
  67. #------------------------------------------------------------------------------
  68. #  マップ画面の処理を行うクラスです。
  69. #==============================================================================
  70.  
  71. class Scene_Map < Scene_Base
  72.   #--------------------------------------------------------------------------
  73.   # ● 全ウィンドウの作成
  74.   #--------------------------------------------------------------------------
  75.   alias ma__create_all_windows create_all_windows
  76.   def create_all_windows
  77.     ma__create_all_windows #既存のウインドウ作成
  78.     create_mapwin_window   #「マップウインドウ作成」メソッドへ
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● マップウインドウの作成
  82.   #--------------------------------------------------------------------------
  83.   def create_mapwin_window
  84.     @map_window = Window_Mapwin.new #マップウインドウを作る
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● フレーム更新
  88.   #--------------------------------------------------------------------------
  89.   alias ma_update update
  90.   def update
  91.     ma_update  #既存のアップデート
  92.     @map_window.update #マップウインドウのアップデート
  93.   end
  94. end
  95.  
  96. #==============================================================================
  97. # ■ Window_Mapwin
  98. #------------------------------------------------------------------------------
  99. #  マップに表示するウィンドウです。
  100. #==============================================================================
  101.  
  102. class Window_Mapwin < Window_Selectable
  103.   #--------------------------------------------------------------------------
  104.   # ● オブジェクト初期化
  105.   #--------------------------------------------------------------------------
  106.   def initialize
  107.     super(win_adjust1,win_adjust1,Graphics.width+win_adjust2,fitting_height(3)+win_adjust2)
  108.     if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
  109.       self.visible = false
  110.     else
  111.       self.visible = true
  112.     end
  113.     if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
  114.       @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
  115.     else
  116.       @actorsta = $game_actors[1]
  117.     end
  118.     refresh
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● ウィンドウ幅の取得
  122.   #--------------------------------------------------------------------------
  123.   def window_width
  124.     return 140
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● ウインドウの更新
  128.   #--------------------------------------------------------------------------
  129.   def update
  130.     super
  131.     if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
  132.       self.visible = false
  133.       return
  134.     else
  135.       self.visible = true
  136.     end
  137.     if $game_variables[MARU_MAP_WINDOW::ACTOR] != 0
  138.       @actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
  139.     else
  140.       @actorsta = $game_actors[1]
  141.     end
  142.     #値のチェック。描画時の値と違っていたらリフレッシュする。
  143.     actors = @actorsta.id
  144.     hpp = @actorsta.hp
  145.     mpp = @actorsta.mp
  146.     mhpp = @actorsta.mhp
  147.     mmpp = @actorsta.mmp
  148.     gold   = $game_party.gold
  149.     mname = $game_map.display_name
  150.     expp = @actorsta.exp
  151.     value = $game_variables[MARU_MAP_WINDOW::VALUE]
  152.     mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  153.     if MARU_MAP_WINDOW::WINDOW
  154.      skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
  155.      x = $game_variables[MARU_MAP_WINDOW::W_X]
  156.      y = $game_variables[MARU_MAP_WINDOW::W_Y]
  157.      width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
  158.      height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
  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 or skin != @last_skin or x != @last_x or
  163.        y != @last_y or width != @last_width or height != @last_height
  164.       refresh
  165.      end
  166.     else
  167.      if actors != @lastactor or gold != @last_g or mname != @last_name or
  168.        value != @last_value or mvalue != @last_mvalue or hpp != @last_hp or
  169.        mpp != @last_mp or mhpp != @last_mhp or mmpp != @last_mmp or
  170.        expp != @last_exp
  171.       refresh
  172.      end
  173.     end
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● リフレッシュ
  177.   #--------------------------------------------------------------------------
  178.   def refresh
  179.     contents.clear
  180.     if MARU_MAP_WINDOW::WINDOW
  181.       self.opacity = 0
  182.       bitmap = Cache.system(MARU_MAP_WINDOW::W_NAME[$game_variables[MARU_MAP_WINDOW::W_NAME_V]])
  183.       rect = Rect.new(0,0,$game_variables[MARU_MAP_WINDOW::W_WSIZE],$game_variables[MARU_MAP_WINDOW::W_HSIZE])
  184.       contents.blt($game_variables[MARU_MAP_WINDOW::W_X],$game_variables[MARU_MAP_WINDOW::W_Y], bitmap, rect,MARU_MAP_WINDOW::OPACITY)
  185.       bitmap.dispose
  186.     end
  187.     #名前・ステータス描写
  188.     draw_actor_name(@actorsta,win_adjust3,win_adjust3,96)
  189.     draw_actor_level(@actorsta,win_adjust3,24+win_adjust3)
  190.     draw_actor_hp(@actorsta, 96+win_adjust3, win_adjust3)
  191.     draw_actor_mp(@actorsta, 96+win_adjust3, 24+win_adjust3)
  192.     #マップ情報描写
  193.     change_color(system_color)
  194.     draw_text(230+win_adjust3,win_adjust3,165,line_height, "現在地")
  195.     change_color(normal_color)
  196.     draw_text(230+win_adjust3,24+win_adjust3,165,line_height, $game_map.display_name)
  197.     #経験値描写
  198.     draw_actor_next_exp(@actorsta, 395+win_adjust3, win_adjust3,120)
  199.     s_next = sprintf("Next")
  200.     change_color(system_color)
  201.     draw_text(395+win_adjust3, win_adjust3, 140, line_height, s_next)
  202.     change_color(normal_color)
  203.     #所持金描写
  204.     draw_currency_value($game_party.gold, Vocab::currency_unit, 395+win_adjust3, 24+win_adjust3, 120)
  205.     #おまけ描写
  206.     o_text = MARU_MAP_WINDOW::NAME
  207.     value = $game_variables[MARU_MAP_WINDOW::VALUE]
  208.     mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  209.     draw_actor_hara_gauge(win_adjust3, 48+win_adjust3,220)
  210.     change_color(system_color)
  211.     draw_text(win_adjust3, 48+win_adjust3, 140, line_height, o_text)
  212.     change_color(normal_color)
  213.     draw_text(win_adjust3, 48+win_adjust3, 220, line_height, value.to_s + "/" + mvalue.to_s, 2)
  214.  
  215.     #描画時点での各値の取得
  216.     @lastactor = @actorsta.id
  217.     @last_hp = @actorsta.hp
  218.     @last_mhp = @actorsta.mhp
  219.     @last_mp = @actorsta.mp
  220.     @last_mmp = @actorsta.mmp
  221.     @last_g = $game_party.gold
  222.     @last_name = $game_map.display_name
  223.     @last_exp = @actorsta.exp
  224.     @last_value = $game_variables[MARU_MAP_WINDOW::VALUE]
  225.     @last_mvalue = $game_variables[MARU_MAP_WINDOW::MVALUE]
  226.     if MARU_MAP_WINDOW::WINDOW
  227.      @last_skin = $game_variables[MARU_MAP_WINDOW::W_NAME_V]
  228.      @last_x = $game_variables[MARU_MAP_WINDOW::W_X]
  229.      @last_y = $game_variables[MARU_MAP_WINDOW::W_Y]
  230.      @last_width = $game_variables[MARU_MAP_WINDOW::W_WSIZE]
  231.      @last_height = $game_variables[MARU_MAP_WINDOW::W_HSIZE]
  232.     end
  233.   end
  234.   #--------------------------------------------------------------------------
  235.   # ● 満腹度 の割合を取得
  236.   #--------------------------------------------------------------------------
  237.   def hara_rate
  238.     $game_variables[MARU_MAP_WINDOW::MVALUE] > 0 ? $game_variables[MARU_MAP_WINDOW::VALUE].to_f / $game_variables[MARU_MAP_WINDOW::MVALUE] : 0
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ○ 満腹度 ゲージの描画
  242.   #     actor : アクター
  243.   #     x, y  : 描画先 X, Y 座標
  244.   #     width : 幅
  245.   #--------------------------------------------------------------------------
  246.   def draw_actor_hara_gauge(x, y, width = 120)
  247.     draw_gauge(KMS_GenericGauge::TP_IMAGE,
  248.       x, y, width, hara_rate,
  249.       KMS_GenericGauge::TP_OFFSET,
  250.       KMS_GenericGauge::TP_LENGTH,
  251.       KMS_GenericGauge::TP_SLOPE
  252.     )
  253.   end
  254.   #--------------------------------------------------------------------------
  255.   # ● ウインドウ位置調整その1
  256.   #--------------------------------------------------------------------------
  257.   def win_adjust1
  258.     MARU_MAP_WINDOW::WINDOW ? -12 : 0
  259.   end
  260.   #--------------------------------------------------------------------------
  261.   # ● ウインドウ位置調整その2
  262.   #--------------------------------------------------------------------------
  263.   def win_adjust2
  264.     MARU_MAP_WINDOW::WINDOW ? 24 : 0
  265.   end
  266.   #--------------------------------------------------------------------------
  267.   # ● ウインドウ位置調整その3
  268.   #--------------------------------------------------------------------------
  269.   def win_adjust3
  270.     MARU_MAP_WINDOW::WINDOW ? 12 : 0
  271.   end
  272. end
  273.  
  274. #==============================================================================
  275. # ■ Game_Party
  276. #------------------------------------------------------------------------------
  277. #  パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ
  278. # スのインスタンスは $game_party で参照されます。
  279. #==============================================================================
  280.  
  281. class Game_Party < Game_Unit
  282.   #--------------------------------------------------------------------------
  283.   # ● オブジェクト初期化
  284.   #--------------------------------------------------------------------------
  285.   alias hara_initialize initialize
  286.   def initialize
  287.     hara_initialize
  288.     @haraheri = MARU_MAP_WINDOW::STEP
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ● プレイヤーが 1 歩動いたときの処理
  292.   #--------------------------------------------------------------------------
  293.   alias hara_on_player_walk on_player_walk
  294.   def on_player_walk
  295.     hara_on_player_walk
  296.     manpuku
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ● 満腹度の処理
  300.   #--------------------------------------------------------------------------
  301.   def manpuku
  302.     if $game_player.normal_walk?
  303.       update_haraheri_steps if $game_switches[MARU_MAP_WINDOW::MANPUKU]
  304.       update_haraheri_damege if $game_switches[MARU_MAP_WINDOW::MANPUKU]
  305.     end
  306.   end
  307.   #--------------------------------------------------------------------------
  308.   # ● 満腹度の歩数カウントを更新
  309.   #--------------------------------------------------------------------------
  310.   def update_haraheri_steps
  311.     @haraheri -= 1 if @haraheri > 0
  312.     if @haraheri == 0
  313.       $game_variables[MARU_MAP_WINDOW::VALUE] -= 1 if $game_variables[MARU_MAP_WINDOW::VALUE] > 0
  314.       @haraheri = MARU_MAP_WINDOW::STEP
  315.     end
  316.   end
  317.   #--------------------------------------------------------------------------
  318.   # ● 満腹度が0の時のダメージ更新
  319.   #--------------------------------------------------------------------------
  320.   def update_haraheri_damege
  321.     if $game_variables[MARU_MAP_WINDOW::VALUE] == 0
  322.     all_members.size.times{|i| $game_party.members[i].hp -= MARU_MAP_WINDOW::DAMEGE}
  323.     end
  324.   end
  325. end

点评

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
647
在线时间
469 小时
注册时间
2013-8-3
帖子
884
3
发表于 2015-1-18 10:29:28 | 只看该作者
貌似怪可能不,但貌似怪会努力脱离
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

Lv4.逐梦者 (版主)

职业の水客

梦石
0
星屑
13969
在线时间
7201 小时
注册时间
2010-6-16
帖子
3497

开拓者

1
发表于 2015-1-15 20:07:28 | 只看该作者
可以用显示图片...
变量=X时 显示/清楚 X号图片

评分

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

查看全部评分

一个看图的地方
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 19:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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