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

Project1

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

[已经过期] 如何设置联网后无法运行游戏

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
60 小时
注册时间
2014-7-12
帖子
539
跳转到指定楼层
1
发表于 2014-7-22 23:16:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
正在填的新坑中有一些解题之类的不希望有人从网上找答案,所以希望能有一个脚本可以判定,联网之后不能打开游戏或者清除存档。

传送门:https://rpg.blue/thread-368721-1-1.html

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-7-22 23:41:43 | 只看该作者
只要联网就不能游戏这还了得——

干脆生成一Time.now
如果答题的时间间隔过短就终止游戏

点评

想过做倒计时,但是我做的限时提问不是选一个选项就完事而是要自己开输入法去输入,而且我还做了一个可以后悔重写的选项  发表于 2014-7-23 10:08
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
196 小时
注册时间
2013-5-10
帖子
410
3
发表于 2014-7-23 00:04:41 | 只看该作者
人家玩你游戏还要特地关网?解密游戏太难的话没意思太简单的话就没人查答案,最要命的是别人一手拿手机查一手玩...
大前年的作品《猪刀历险记》
前年的作品《深蓝之心》
上面都是黑历史!
开学了我终于要长久潜水了!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33496
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2014-7-23 08:28:59 | 只看该作者
就像LS所说,断网别人照样能查。
可以做一些智力小游戏,过关后才能进入下一场景。比如 R考场 的水晶游戏。

点评

不确定。。。不过感觉直接查的话太容易通关了点。。。用倒计时剩余时间判定是否做出惩罚(因为查资料要时间)似乎也不太好(有的人打字慢)  发表于 2014-7-23 10:53
↓ LZ 钻牛角尖了。找那样说,什么东西都可以查了,也不仅是通过网络。  发表于 2014-7-23 10:35
那个水晶游戏也可以通过查类似的知道怎么通关吧  发表于 2014-7-23 10:07
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
5
发表于 2014-7-23 08:34:00 | 只看该作者
本帖最后由 wolves 于 2014-7-23 21:52 编辑

你非要弄的话我这儿有个脚本。
内容如下:
在所有脚本运行前面加入以下脚本
  1. if FileTest.exist?("logo.png")
  2.   File.delete("logo.png")
  3. end
复制代码
在main前加入以下脚本
  1. #==============================================================================
  2. # ★ Part.1 RMzas! RMODFS For Rmxp
  3. #------------------------------------------------------------------------------
  4. # Rock Man Zero Additions Studio Online Download File System
  5. #                                        Version 2012.10.08.01.SP4 By ML4455739
  6. #------------------------------------------------------------------------------
  7. # 使用这个系统,你能在你的游戏和服务器10s网速范围在线下载任意文件。
  8. # 如果加入Loading画面,便使边玩边下成为可能。感谢亿万星辰提供基础代码。
  9. #==============================================================================
  10. =begin

  11. 说明:
  12.   1. 本系统几乎无冲突可能,注册了RWA的用户可完美兼容RMzas的在线更新系统。
  13.   2. 使用本系统前,你的本地计算机需要连接到互联网,同时配备一个服务器。
  14.   3. 从59行开始直到100行,就是请您自定义的设置。
  15.   4. 不需要66RPG头像获取的,左拐删除地址补正脚本。
  16.   
  17. 方法:
  18.   一,在线下载图片: 下载而来的文件放入指定的Graphics/子文件夹
  19.     事件脚本:g_dl("图像文件夹子文件夹名","文件名.jpg")
  20.     例子:    g_dl("Autotiles","007-G_Undulation01.png")
  21.               g_dl("Pictures","Dash.png")
  22.               
  23.   二,在线下载音乐: 下载而来的文件放入指定的Audio/子文件夹
  24.     事件脚本:a_dl("音乐文件类型名","文件名.mid")
  25.     例子:    a_dl("BGM","057-Negative06.mid")
  26.               a_dl("SE","movesnd.ogg")
  27.               
  28.   三,在线下载文件: 下载而来的文件放入路径,无路径则在主目录下
  29.     事件脚本:f_dl("\文件夹名/文件名.xxx")
  30.     例子:    f_dl("news.txt")
  31.               f_dl("\Data/rar/help.rar")
  32. 方法:
  33. Interpreter::GURL = "http://rpg.blue/static/image/common/"
  34. g_dl("Pictures","logo.png")
  35. 注意:
  36.   I.  虽然RM是有自动分辨后缀名的功能,但你的网络服务器没有,
  37.       使用事件脚本函数时,请注意写对后缀名,“/”也不能写成“\”,
  38.       如果文件下载成功却是无效文件,可能就是文件路径相关输入不正确。
  39.       非直链网盘等下载地址不固定的服务器无法应用本系统。请注意大小写。
  40.   
  41.   II. 下面这个函数可以用于判断文件是否存在,
  42.       显示、播放前判断一下,避免因不成功下载造成找不到文件报错。
  43.       if FileTest.exist?("\Graphics/Pictures/Zero.jpg")
  44.   
  45.   III.  超过10s未能下载下来的文件或弹出“脚本已备份”并退出,
  46.       被下载的文件建议不超过1000kb,请为低网速玩家着想。
  47.       当然,您可以通过其他的脚本来根除这个限制。
  48.   
  49.   IV. 该系统无法代替自动在线更新系统,不能对Data进行版本识别、替换。
  50.    
  51.   V.  该系统会大量消耗服务器的流量,建议图片、音乐、文件三向分流。
  52.       如果您使用范例中提供的服务器,我们不保证其稳定性。
  53.       
  54.   VI. 删除223行以下的Part.2脚本即可直接不显示任何提示。
  55.   
  56. =end

  57. class Interpreter
  58.   
  59.   # ·图片下载所用的服务器根目录网址,可以与音乐的一样
  60.   GURL = "http://rmzas.xp3.biz/"
  61.   # 这个地址可以通过Interpreter::GURL来修改
  62.   
  63.   # ·下载任务开始前弹出的提示,为空字符串则不显示
  64.   READ = ""
  65.   
  66.   # ·图片下载完成后弹出的提示,为空字符串则不显示
  67.   GDOK = ""
  68.   
  69.   # ·图片下载失败后弹出的提示,为空字符串则不显示
  70.   GDNO = ""
  71.   
  72.   # ·音乐下载所用的服务器根目录网址,可以与图片的一样
  73.   AURL = ""
  74.   # 这个地址可以通过Interpreter::AURL来修改
  75.   
  76.   # ·音乐下载完成后弹出的提示,为空字符串则不显示
  77.   ADOK = ""
  78.   
  79.   # ·音乐下载失败后弹出的提示,为空字符串则不显示
  80.   ADNO = ""
  81.   
  82.   # ·文件下载所用的服务器根目录网址,可以与图片的一样
  83.   FURL = "http://rmzas.xp3.biz/"
  84.   # 这个地址可以通过Interpreter::FURL来修改
  85.   
  86.   # ·文件下载完成后弹出的提示,为空字符串则不显示
  87.   FDOK = ""
  88.   
  89.   # ·文件下载失败后弹出的提示,为空字符串则不显示
  90.   FDNO = ""

  91.   # ·即使同名文件已经存在本地也继续进行联网下载。(true/false)
  92.   UNEXIST = false
  93.   # 提示:如果网络上的文件内容有更新的话就可以更新的说,但流量..
  94.   
  95.   # ·因为API操作出现问题时是否退出游戏?(true/false)
  96.   EXIT = false
  97.   
  98.   # ·您是否希望能够得到RMzas工作室的后续支持?(true/false)
  99.   RWA_OK = true # 这可能会些微的占用您的内存,输入false,将取消注册到RMzas
  100.   
  101. #------------------------------------------------------------------------------
  102.     # RWA 赤翼社区脚本联盟 注册开始
  103.     if RWA_OK
  104.       $rwascript ||= {}
  105.       $rwascript["RMOLDownloadForXP"] = [121008.01]
  106.     end
  107.     # RWA 赤翼社区脚本联盟 注册结束
  108. #------------------------------------------------------------------------------

  109.   def rwa_chain_api
  110.     return if !RWA_OK
  111.     unless $rwascript.include?("RMOnlineUpdate")
  112.       @@shellexecute = Win32API.new('urlmon.dll', 'URLDownloadToFileA',
  113.                                               '%w(l p p l l)', 'l')
  114.     end
  115.   end
  116.         
  117.   def g_dl(path, picname)
  118.     dl_process(path, picname, type = "Graphics")
  119.   end
  120.    
  121.   def a_dl(path, sndname)
  122.     dl_process(path, sndname, type = "Audio")
  123.   end
  124.    
  125.   def f_dl(filename)
  126.     path = nil
  127.     dl_process(path, filename, type = "File")
  128.   end

  129.   def dl_process(path, name, type)
  130.     Scene_Map.new.text_show(READ) if $rwascript.include?("RmIMapTextSForXP")
  131.     if !need_download?(path, name, type)
  132.        # 无需下载
  133.     else
  134.       if !get_file_root(path, name, type)
  135.         $scene = nil if EXIT
  136.       else
  137.         Graphics.update
  138.         if !download_full(type)
  139.           $scene = nil if EXIT
  140.         else
  141.           @@dl_into = true
  142.           chain_printer_imts(type)
  143.         end # if !download_fun
  144.       end # if !get_file_root
  145.     end # if !need_download?
  146.   end # def
  147.   
  148.   def need_download?(path, name, type)
  149.     return true if UNEXIST
  150.       if type == "Graphics"
  151.         judge = FileTest.exist?("\Graphics/#{path}/#{name}")
  152.       elsif type == "Audio"
  153.         judge = FileTest.exist?("\Audio/#{path}/#{name}")
  154.       else
  155.         judge = FileTest.exist?("#{name}")
  156.       end
  157.     return (judge ? false : true)
  158.   end

  159.   def get_file_root(path, name, type)
  160.     if type == "Graphics"
  161.       @file_root = ["\Graphics/#{path}/#{name}"]
  162.     elsif type == "Audio"
  163.       @file_root = ["\Audio/#{path}/#{name}"]
  164.     else
  165.       @file_root = ["#{name}"]
  166.     end # if type
  167.     @download_listed = []
  168.     rwa_chain_api if RWA_OK
  169.     return true
  170.   end

  171.   def download_full(type)
  172.     for file in @file_root
  173.       name = file;      file = file.split("/")
  174.       url = file[file.size - 1]
  175.       if type == "Graphics"
  176.         url = "#{GURL}" + "#{url}"
  177.       elsif type == "Audio"
  178.         url = "#{AURL}" + "#{url}"
  179.       else
  180.         url = "#{FURL}" + "#{url}"
  181.       end
  182.       if not $rwascript.include?("RMOnlineUpdate")
  183.         shell = @@shellexecute.call(0, url, name, 0, 0)
  184.       else
  185.         shell = $rwascript["RMOnlineUpdate"][1].call(0, url, name, 0, 0)
  186.       end
  187.       if shell != 0
  188.         @@dl_into = false
  189.         chain_printer_imts(type)
  190.         download_ok = false
  191.         return download_ok
  192.       else
  193.         @download_listed.push(file)
  194.       end # if shell != 0
  195.       download_ok = true
  196.     end # for
  197.   end # def

  198.   def chain_printer_imts(type)
  199.     if type == "Graphics"
  200.       @@dl_into ? mes = GDOK : mes = GDNO
  201.     elsif type == "Audio"
  202.       @@dl_into ? mes = ADOK : mes = ADNO
  203.     else
  204.       @@dl_into ? mes = FDOK : mes = FDNO
  205.     end # if type
  206.     if RWA_OK
  207.       if $rwascript.include?("RmIMapTextSForXP")
  208.         Scene_Map.new.text_show("#{mes}")
  209.       else
  210.         print mes if mes != ""
  211.       end
  212.     else
  213.       print mes if mes != ""
  214.     end # if RWA_OK
  215.   end # def

  216. end # class
  217. #==============================================================================
  218. # ★ Part.2 RMzas! IMTS For RMXP
  219. #------------------------------------------------------------------------------
  220. # Instant Map Text Show                           Version 2012.10.03.02 By imsy
  221. #------------------------------------------------------------------------------
  222. # Chain RMODFS  |  随手一写,此后是坑。
  223. #------------------------------------------------------------------------------
  224.     # RWA 赤翼社区脚本联盟 注册开始
  225. #    if Interpreter::RWA_OK
  226. #      $rwascript ||= {}
  227. #      $rwascript["RmIMapTextSForXP"] = [121003.02]
  228. #    end
  229.     # RWA 赤翼社区脚本联盟 注册结束
  230. #------------------------------------------------------------------------------
  231. #class Scene_Map
  232.   
  233. #  def text_show(d)
  234. #    return if d == ""
  235. #    $imts ||= []
  236. #    $imts[1] ||= 0
  237. #    $imts[1] += 1
  238. #    $imts[0] = Sprite.new
  239. #    $imts[0].bitmap = Bitmap.new(640,480)
  240. #    $imts[0].x = 435
  241. #    $imts[0].y = 5 + $imts[1] * 20
  242. #    $imts[1] = 0 if $imts[0].y > 450
  243. #    $imts[0].z = 5000
  244. #    $imts[0].bitmap.font.name = "黑体"
  245. #    $imts[0].bitmap.font.bold = true
  246. #    $imts[0].bitmap.font.size = 16
  247. #    $imts[0].bitmap.draw_text(0, 0, 220, 25, d, 1)
  248. #  end
  249.   
  250. #  alias text_show_renew update
  251. #  def update
  252. #    text_show_renew
  253. #    return if $imts.class != Array
  254. #    return if $imts[0].class != Sprite
  255. #    return if $imts[0].disposed?
  256. #    $imts[0].update
  257. #    $imts[0].opacity -= 1
  258. #    $imts[0].dispose if $imts[0].opacity <= 0
  259. #  end
  260.   
  261. #end
复制代码
然后在游戏开始时候建立个事件插入以下脚本自动执行一次:
  1. Interpreter::FURL =
  2. "http://rpg.blue/static/image/common/"

  3. f_dl("""logo.png")
复制代码
  1. if FileTest.exist?("logo.png")
  2.   File.delete("logo.png")
  3.   exit
  4. end
复制代码
偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
60 小时
注册时间
2014-7-12
帖子
539
6
 楼主| 发表于 2014-7-23 10:06:08 | 只看该作者
wolves 发表于 2014-7-23 09:34
你非要弄的话我这儿有个脚本。
内容如下:然后在游戏开始时候建立个事件插入以下脚本自动执行一次: ...

这个完全不对我是要玩家只能在不联网的情况下才能打开游戏,你的是要联网才能打开游戏

传送门:https://rpg.blue/thread-368721-1-1.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
7
发表于 2014-7-23 21:44:46 | 只看该作者
本帖最后由 wolves 于 2014-7-23 21:53 编辑
楼主是我的女仆 发表于 2014-7-23 10:06
这个完全不对我是要玩家只能在不联网的情况下才能打开游戏,你的是要联网才能打开游戏 ...


联网了的话就存在logo.png了,就满足条件就exit了。
第一段脚本有两种可能
1.存在logo.png 即下载成功
2.不存在logo.png 即下载失败
第二段脚本对logo.png是否存在进行判定
如果存在,证明联网了,那么就exit
如果不存在,证明没联网,那么就继续游戏。
偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
60 小时
注册时间
2014-7-12
帖子
539
8
 楼主| 发表于 2014-7-23 22:35:45 | 只看该作者
wolves 发表于 2014-7-23 22:44
联网了的话就存在logo.png了,就满足条件就exit了。
第一段脚本有两种可能
1.存在logo.png 即下载成功

呃···我没太看明白而且也没有服务器之类的东西,那么这个脚本可以直接用?

点评

汗,我用的是66rpg上的一个图片来确定的是否联网。这个脚本是用来直接下载文件的。不联网肯定失败,联网了的话几k的图片肯定能下载下来。  发表于 2014-7-24 08:08

传送门:https://rpg.blue/thread-368721-1-1.html
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

9
发表于 2014-7-23 23:37:15 | 只看该作者
我完全可以用一台电脑单机玩,用另一台电脑上网查答案。
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
60 小时
注册时间
2014-7-12
帖子
539
受到警告 10
 楼主| 发表于 2014-7-24 00:29:23 | 只看该作者
myownroc 发表于 2014-7-24 00:37
我完全可以用一台电脑单机玩,用另一台电脑上网查答案。

确实可以,不过我不认为会有人为了作弊什么的开两台电脑,因为那样被人看到恐怕也会被人认为不正常吧?

传送门:https://rpg.blue/thread-368721-1-1.html
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 21:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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