Project1

标题: 想做一种一次性游戏,通关了就不能重玩的那种 [打印本页]

作者: zhuhengli    时间: 2009-3-21 07:48
标题: 想做一种一次性游戏,通关了就不能重玩的那种
想让自己游戏只能玩一次,通关了就不能再重玩,能做到吗?怎么做?

谢谢 [LINE]1,#dddddd[/LINE]此贴于 2009-3-22 9:51:27 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: tommay    时间: 2009-3-21 07:52
通关之后,把“开始游戏”和“载入进度”选项隐藏?
作者: zhuhengli    时间: 2009-3-21 07:57
以下引用tommay于2009-3-20 23:52:25的发言:

通关之后,把“开始游戏”和“载入进度”选项隐藏?



怎么隐藏? 能给个范例吗
作者: 天圣的马甲    时间: 2009-3-21 08:04
思路
http://rpg.blue/web/htm/news133.htm [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: tommay    时间: 2009-3-21 08:05
呃,范例我没有。我只是提供了一个思路,期待高人。
不过,告诉LZ一句,这样的努力是徒劳的,就算你写了一个脚本,达到了要求,也很容易被破解。LZ不如踏踏实实地想,怎么把游戏做好吧。
作者: asperta    时间: 2009-3-21 08:19
试试通关后删除文件,比如
File.delete("Data/Scripts.rxdata")

作者: tommay    时间: 2009-3-21 08:53
以下引用asperta于2009-3-21 0:19:05的发言:

试试通关后删除文件,比如
File.delete("Data/Scripts.rxdata")


这个方法都会被想到,这不是对游戏的自残吗?
作者: 亿万星辰    时间: 2009-3-21 15:36
禁止存档不就行了么……  = =||||
作者: 天使喝可乐    时间: 2009-3-21 18:09
以下引用亿万星辰于2009-3-21 7:36:10的发言:

禁止存档不就行了么……  = =||||

那还是可以重玩啊,而且游戏的时候多麻烦,你难道要让人一次性玩完长篇游戏还不出错的?
作者: secondsen    时间: 2009-3-21 19:27
结束的时候生成一个文件,保存一个全局变量。。。比如 $game_end = true

每次Scene_Title 的 初始化里 都读取这个文件   看$game_end 的真假。。。

if $game_end
  # true 游戏通关过
  $scene = nil
end

就可以了吧。。
作者: 沙之爱罗    时间: 2009-3-21 19:34
放进去一个病毒,游戏通关后自动崩溃,毁尸灭迹 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『……知不道我很想删贴……』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: hitlerson    时间: 2009-3-21 19:37
这个要记录硬件识别号{/gg},改注册表的现在好象谁都会破了
作者: 亿万星辰    时间: 2009-3-21 20:12
以下引用天使喝可乐于2009-3-21 10:09:16的发言:
那还是可以重玩啊,而且游戏的时候多麻烦,你难道要让人一次性玩完长篇游戏还不出错的?

不允许重玩啊……
注册表内写入信息,存在时不可继续,这个很容易

但是我觉得这并不能称之为游戏了,纯粹是用来玩人的
作者: 静·界    时间: 2009-3-21 20:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: END66RPG    时间: 2009-3-21 21:12
在通关处加个开关,把开始的时间那设个事件页,开关:(X号)里面空的就不能进去玩通关游戏啦!
作者: 凌辰    时间: 2009-3-21 21:23
以下引用END66RPG于2009-3-21 13:12:19的发言:
在通关处加个开关,把开始的时间那设个事件页,开关:(X号)里面空的就不能进去玩通关游戏啦!

……一个存档里的开关只对该存档有效。
重新开游戏时,所以开关都处于关闭状态。
作者: 亿万星辰    时间: 2009-3-22 01:44
虽然这个帖子的问题比较离谱。。。囧
但是引出了一些问题。
以下引用yry于2009-3-21 14:47:09的发言:

if $game_end
# true 游戏通关过
$scene = nil
end
这样的话,别人没准以为游戏出错了呢!
最好再加一条输出文字“游戏通关过”!

那么请问这个变量从何而来的?
作者: TERENCE    时间: 2009-3-22 02:51
范例:(改动过的脚本有用"●"来标记)
http://rpg.blue/upload_program/d/TERENCE_Project1_118090272.rar

如果想再玩,就必须把Finished.rxdata删除
作者: secondsen    时间: 2009-3-22 03:31
变量是可以自己定义的。。。与现存进去  $game_end = false
不就可以了。。。。

以前给别人作范例就是这么做的

要说。。File.exist?是个不错的选择
作者: 小湖    时间: 2009-3-22 04:29
简单的就是通关后生成某个文件
开始游戏是检查是否有该文件,有的话不执行……


非要玩家玩不了第二次是没可能的,除非通关后电脑爆炸把人炸死{/gg}
作者: 新月の道化师    时间: 2009-3-22 05:21
每次进入游戏时向某个服务器发出验证请求判断这个MAC有没有把这个游戏通关过,如果检测到已通关则返回失败信息,否则返回验证通过信息,然后可以进入游戏。。。
当然涉及信息加密和服务器问题偶也不是很清楚怎么弄-v-
作者: 亿万星辰    时间: 2009-3-22 06:39
以下引用secondsen于2009-3-21 19:31:57的发言:

变量是可以自己定义的。。。与现存进去  $game_end = false
不就可以了。。。。

这个值存到存档里么?那我删掉存档就可以了……




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