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

Project1

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

RM反沉迷系统

 关闭 [复制链接]

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

跳转到指定楼层
1
发表于 2007-2-26 18:03:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
可以让游戏执行固定时间后运行一个程序,提醒玩家要注意休息,
TIME是设定间隔时间,以秒为单位,默认10秒,如果想设为半小时,改为1800即可。

  1. module Graphics
  2.   
  3.   @ask1 = ["你已玩了一小时,请问要关机吗?","反沉迷提示!!"]
  4.   @ask2 = ["如果不关机会直接退出游戏,确定吗?","反沉迷提示!!"]
  5.   CP_ACP = 0
  6.   CP_UTF8 = 65001
  7.   TIME = 10
  8.   @ctext = Array.new
  9.   @m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  10.   @w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
  11.   @msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
  12.   @wsm = Proc.new{|i|
  13.          len = @m2w.call(CP_UTF8, 0, i, -1, nil, 0)
  14.          buf = "\0\0" * len
  15.          @m2w.call(CP_UTF8, 0, i, -1, buf, buf.size/2)
  16.          len = @w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil)
  17.          @ctext.push "\0" * len
  18.          @w2m.call(CP_ACP, 0, buf, -1, @ctext.last, @ctext.last.size, nil, nil)
  19.          }
  20.   [@ask1,@ask2].flatten.each{|i| @wsm.call(i)}
  21.   
  22.   @update = method("update") if @update.nil?
  23.   def self.update
  24.      @first = Time.now.sec if !@first
  25.      @atend = Time.now.sec        
  26.      if ((@atend - @first).abs+1) % TIME == 0
  27.         begin
  28.            self.warning{|a,b| @msgbox.call(0, a, b, 1) }
  29.         rescue  Hangup
  30.            exit
  31.         end   
  32.      end  
  33.      @update.call
  34.   end

  35.   def self.warning
  36.       2.times{|j| j == 0 ?
  37.           ((yield @ctext[0], @ctext[1]) == 1 ? (`Shutdown.exe -s -t 10`) : (next)):
  38.           (yield @ctext[2], @ctext[3]) == 1 ? (exit) : (retry)      
  39.         }
  40.   end

  41. end
复制代码
纵然千里外,我等雁归来。
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-12
帖子
9
29
发表于 2007-8-12 07:45:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
帖子
3551

开拓者贵宾

28
发表于 2007-3-18 18:40:51 | 只看该作者
发布到主站完毕,
VIP += 3
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

27
 楼主| 发表于 2007-3-15 14:26:14 | 只看该作者
以下引用純属娯樂′于2007-3-15 2:11:44的发言:

晕阿..
这东西害人啊..
我刚刚试了下.
结果没到1个小时才几分钟就提示了.
不关他自动关..
后来不小心按了下 关.
我以为是关游戏.
结果把电脑关了..
晕.  害人的东西..


显然没仔细看说明.
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-2-26
帖子
102
26
发表于 2007-3-15 10:11:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
25
发表于 2007-3-13 03:17:59 | 只看该作者
美兽可以交我脚本吗???  可以就加Q420149863
回复 支持 反对

使用道具 举报

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
24
发表于 2007-3-13 03:16:00 | 只看该作者
美兽 姐   可以把关机改成退出吗?
还有就是 时间快到了 比如说还有1~5分钟的时候提醒玩家存档.
过了再提醒退出
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-3-7
帖子
65
23
发表于 2007-3-10 23:08:25 | 只看该作者
。。。。。
以前只碰到过一个这样的游戏。。一小时就提醒我该睡觉了..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蝦米

梦石
0
星屑
100
在线时间
280 小时
注册时间
2006-7-5
帖子
587
22
发表于 2007-3-10 16:15:34 | 只看该作者
直接用windows对话框阿
这倒是蛮实用的
虾米的小站:
http://www.jhdxr.com
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

21
 楼主| 发表于 2007-3-9 00:54:29 | 只看该作者
以下引用红世之徒于2007-3-8 13:32:10的发言:

昨天用了用这个脚本...这才发现是块宝啊...
这个脚本生成的是Windows对话框,在实际运用中是十分有用的..
利用API生成这种对话框是十分困难的,VB.net还好说,因在Rm运行模式中如果没有第三方脚本很难完成这种Windows的弹出对话框,通常这类对话框的实际应用是版权信息或者连接到作者主页(待研究)等地点,大家也可以尝试一下,为上次的发言..忏悔...


那个对话框函数有一定的扩展性,你可以试试修改参数,有不少变化,不过有为窗体直接添加菜单项的API。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-27 02:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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