幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2672|回复: 3

[个人创意] RPGXP传统计时系统(脚本)

[复制链接]

4

主题

11

帖子

153

积分

③业余

积分
153
发表于 2009-6-23 20:33:06 | 显示全部楼层 |阅读模式
  file:///E:/screen/20090623202807265.jpg      


        因为是第一次修改脚本,所以这个脚本有很明显的缺陷——十二帧一个时辰,一天十二个时辰,一个月十二天,一年十二个月,十二年会显示出生肖纪年,依次循环。 希望在座各位指正不胜感激。
第一部分(替换原脚本中的window_playtime)
#==============================================================================
# ■ Window_PlayTime
#------------------------------------------------------------------------------
#  菜单画面显示年月日的窗口。 ————铩羽
#==============================================================================

class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "天元纪年")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 12 / 12 / 12 / 12 % 12
min = @total_sec / 12 / 12 / 12 % 12
sec = @total_sec / 12 / 12 % 12

if hour == 0
year = "子鼠"
elsif hour == 1
year = "丑牛"
elsif hour == 2
year = "寅虎"
elsif hour == 3
year = "卯兔"
elsif hour == 4
year = "辰龙"
elsif hour == 5
year = "巳蛇"
elsif hour == 6
year = "午马"
elsif hour == 7
year = "未羊"
elsif hour == 8
year = "申猴"
elsif hour == 9
year = "酉鸡"
elsif hour == 10
year = "戌狗"
elsif hour == 11
year = "亥猪"
end

if min == 0
month = "正"
elsif min == 1
month = "贰"
elsif min == 2
month = "叁"
elsif min == 3
month = "肆"
elsif min == 4
month = "伍"
elsif min == 5
month = "陆"
elsif min == 6
month = "柒"
elsif min == 7
month = "捌"
elsif min == 8
month = "玖"
elsif min == 9
month == "拾"
elsif min == 10
month = "拾壹"
elsif min == 11
month = "腊"
end

if sec == 0
day = "初壹"
elsif sec == 1
day = "初贰"
elsif sec == 2
day = "初叁"
elsif sec == 3
day = "初肆"
elsif sec == 4
day = "初伍"
elsif sec == 5
day = "初陆"
elsif sec == 6
day = "初柒"
elsif sec == 7
day = "初捌"
elsif sec == 8
day = "初玖"
elsif sec == 9
day = "初拾"
elsif sec == 10
day = "月末"
elsif sec == 11
day = "月终"
end
text = sprintf("%s年%s月%s",year,month,day)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end





第二部分(替换原脚本中的window_steps)
#==============================================================================
# ■ Window_Steps
#------------------------------------------------------------------------------
#  菜单画面显示时辰的窗口。 ————铩羽
#==============================================================================

class Window_Steps < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "时辰")
@total_sec = Graphics.frame_count / Graphics.frame_rate
sec = @total_sec / 12 % 12
if sec == 0
time = "子"
elsif sec == 1
time = "丑"
elsif sec == 2
time = "寅"
elsif sec == 3
time = "卯"
elsif sec == 4
time = "辰"
elsif sec == 5
time = "巳"
elsif sec == 6
time = "午"
elsif sec == 7
time = "未"
elsif sec == 8
time = "申"
elsif sec == 9
time = "酉"
elsif sec == 10
time = "戌"
elsif sec == 11
time = "亥"
end
text = sprintf("%s时",time)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
回复

使用道具 举报

4

主题

11

帖子

153

积分

③业余

积分
153
 楼主| 发表于 2009-6-23 20:36:56 | 显示全部楼层
不知为什么图片看不到。大家可以建一个新工程试一下。insert脚本之后测试,打开菜单就能看到。希望大家帮忙改一改
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2009-6-23 22:10:47 | 显示全部楼层
if hour == 0
year = "子鼠"
elsif hour == 1
year = "丑牛"
elsif hour == 2
year = "寅虎"
elsif hour == 3
year = "卯兔"
elsif hour == 4
year = "辰龙"
elsif hour == 5
year = "巳蛇"
elsif hour == 6
year = "午马"
elsif hour == 7
year = "未羊"
elsif hour == 8
year = "申猴"
elsif hour == 9
year = "酉鸡"
elsif hour == 10
year = "戌狗"
elsif hour == 11
year = "亥猪"
end

用case 不是更省事么
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

4

主题

11

帖子

153

积分

③业余

积分
153
 楼主| 发表于 2009-6-24 09:50:37 | 显示全部楼层
感谢二楼意见。我是新手。还会改进
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-18 18:48 , Processed in 0.021779 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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