Project1

标题: 如何设置一个饥饿参数? [打印本页]

作者: 白魔导师宝儿    时间: 2013-11-1 12:43
标题: 如何设置一个饥饿参数?
假如设置是这样?
初始饥饿值为100,游戏进行每30秒减少1
到0时就会弹出对话框,然后结束游戏
然而可以用特殊的物品增加饥饿度
并且能在状态栏查看饥饿值
请教怎么设置
作者: 铃仙·优昙华院·因幡    时间: 2013-11-1 14:40
这东西完全是可以用 事件 + 变量 + 公共事件 来完成的.

状态新加一句脚本就OK.
作者: 白魔导师宝儿    时间: 2013-11-2 09:44
铃仙·优昙华院·因幡 发表于 2013-11-1 14:40
这东西完全是可以用 事件 + 变量 + 公共事件 来完成的.

状态新加一句脚本就OK.  ...

能否求一个范例
我这想不明白怎么制作
作者: 白魔导师宝儿    时间: 2013-11-3 16:46
请求帮助
作者: 945127391    时间: 2013-11-3 20:38
我记得站上似乎曾经有类似的教程,是给角色新增属性的,你可以尝试一下站内搜索。
作者: a554187203    时间: 2013-11-5 23:34
本帖最后由 a554187203 于 2013-11-5 23:49 编辑

楼主,已经完成,首先你需要两个变量,一个是游戏时间,一个是饥饿度
在公共事件中,设置为并行,开关随便设置
然后,变量操作游戏时间【变量】=游戏时间【在操作数里的其他里】
然后,条件分歧,游戏时间等于30时
饥饿度-1
Graphics.frame_count = 0 ——这句话,是让游戏时间清零的
由于存档里会显示游戏时间,而清零之后,存档那里就永远只有30一下
楼主在脚本页,全局搜索  def draw_playtime(x, y, width, align)
并将它变成
  1.    def draw_playtime(x, y, width, align)
  2. #~     hour = @total_sec / 60 / 60
  3. #~     min = @total_sec / 60 % 60
  4. #~     sec = @total_sec % 60
  5. #~     time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
  6. #~     self.contents.font.color = normal_color
  7. #~     self.contents.draw_text(x, y, width, WLH, time_string, 2)
  8.    end
复制代码
这样,就可以把存档里的游戏时间的描绘给pai了!
然后,想要设置任何想要的饥饿度情况,再设立一个条件分歧就好
作者: 白魔导师宝儿    时间: 2013-11-6 17:03
a554187203 发表于 2013-11-5 23:34
楼主,已经完成,首先你需要两个变量,一个是游戏时间,一个是饥饿度
在公共事件中,设置为并行,开关随便 ...

多谢解答,那请问怎么样将饥饿度显示在状态栏内?
作者: a554187203    时间: 2013-11-6 17:53
白魔导师宝儿 发表于 2013-11-6 17:03
多谢解答,那请问怎么样将饥饿度显示在状态栏内?

劝你还是设置一个物品用来显示,或者30秒减少一次生命值
状态栏显示变量,抱歉,无能为力
作者: 白魔导师宝儿    时间: 2013-11-6 18:30
a554187203 发表于 2013-11-6 17:53
劝你还是设置一个物品用来显示,或者30秒减少一次生命值
状态栏显示变量,抱歉,无能 ...


我自己研究研究
作者: Password    时间: 2013-11-6 19:21
白魔导师宝儿 发表于 2013-11-6 18:30

我自己研究研究

状态栏显示变量应该不难做,说明一下想要显示在哪里吧,能给张大体的图吗?
作者: 白魔导师宝儿    时间: 2013-11-7 08:24
Password 发表于 2013-11-6 19:21
状态栏显示变量应该不难做,说明一下想要显示在哪里吧,能给张大体的图吗? ...

显示在主菜单中的金钱窗口上
作者: 铃仙·优昙华院·因幡    时间: 2013-11-7 11:34
a554187203 发表于 2013-11-5 23:34
楼主,已经完成,首先你需要两个变量,一个是游戏时间,一个是饥饿度
在公共事件中,设置为并行,开关随便 ...

其实可以不用清零 frame_count.

只要  $game_variables[变量ID] = Graphics.frame_count % 30

然后条件分歧 变量ID == 0 即可.
作者: Password    时间: 2013-11-7 17:51
  1. ==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示金钱的窗口。
  5. #==============================================================================

  6. class Window_Gold < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     x      : 窗口 X 座标
  10.   #     y      : 窗口 Y 座标
  11.   #--------------------------------------------------------------------------
  12.   def initialize(x, y)
  13.     super(x, y - 32, 160, WLH + 64)
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 刷新
  18.   #--------------------------------------------------------------------------
  19.   def refresh
  20.     self.contents.clear
  21.     self.contents.draw_text(96, 32, 160, WLH, $game_variables[1])
  22.     #                                                         ↖变量ID,这里默认是1号变量,可自行修改,此行可删除。
  23.     self.contents.font.color = Color.new(255,56,16) # 改变“饥饿度:”的文字颜色,这里改为了橘红色,如不需要改颜色可删除此行,如改其他颜色请自行修改R、G、B值。
  24.     self.contents.draw_text(0, 32, 160, WLH, "饥饿度:") # 对于饥饿度的名称设定
  25.     draw_currency_value($game_party.gold, 4, 0, 120)
  26.   end
  27. end
复制代码
用这段脚本替换默认的 Window_Gold

这是效果图:


另外,这是顺带的范例:
Project1.rar (237.64 KB, 下载次数: 29)
作者: a554187203    时间: 2013-11-7 17:54
铃仙·优昙华院·因幡 发表于 2013-11-7 11:34
其实可以不用清零 frame_count.

只要  $game_variables[变量ID] = Graphics.frame_count % 30

{:2_287:}有过取余的想法,但是由于游戏过程
在游戏时间等于30的倍数的时候
会被执行几次哦

作者: 铃仙·优昙华院·因幡    时间: 2013-11-7 18:10
a554187203 发表于 2013-11-7 17:54
有过取余的想法,但是由于游戏过程
在游戏时间等于30的倍数的时候
会被执行几次哦

30其实就是0.5秒. 不过也可以改大点.

怕执行次数过多可以附加一个开关控制.
作者: a554187203    时间: 2013-11-7 18:13
铃仙·优昙华院·因幡 发表于 2013-11-7 18:10
30其实就是0.5秒. 不过也可以改大点.

怕执行次数过多可以附加一个开关控制.  ...

{:2_287:}我觉得如果加上一个开关,就过于复杂了
{:2_270:}不知楼主是否能够看懂

作者: 白魔导师宝儿    时间: 2013-11-7 18:14
Password 发表于 2013-11-7 17:51
用这段脚本替换默认的 Window_Gold

这是效果图:

噢,多谢修改和提示




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1