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

Project1

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

[已经解决] 用什么方法能防止玩家直接通过右上角的红叉退出游戏?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4829
在线时间
1022 小时
注册时间
2011-1-23
帖子
267
跳转到指定楼层
1
发表于 2015-5-5 13:05:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
目前我的游戏的自动存档机制如果直接通过红叉退出会有100%的几率会导致存档损坏,
所以我想尝试用什么办法能够防止玩家直接通过红叉退出游戏

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2015-5-5 13:40:16 | 只看该作者
看图书馆的 多功能 DLL SiNova v10015【6/9更新鼠标脚本】
https://rpg.blue/thread-347535-1-1.html

评分

参与人数 1星屑 +150 收起 理由
taroxd + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36392
在线时间
10789 小时
注册时间
2009-3-15
帖子
4813
3
发表于 2015-5-5 13:41:07 | 只看该作者
用打开菜单时自动存档代替吧...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
115 小时
注册时间
2012-11-15
帖子
119
4
发表于 2015-5-6 11:19:39 | 只看该作者
你在开头提醒一下就是了...真正要玩的玩家肯定都会遵守的...
就算红叉关不了,人家火了直接结束进程............
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
900 小时
注册时间
2012-11-13
帖子
893
5
发表于 2015-5-6 15:40:17 | 只看该作者
去边框脚本
  1. # (WinUser.h 中的一些宏)
  2. # GWL_STYLE        = -16
  3. # WS_CAPTION       = 0x00C00000L
  4. # SM_CXSCREEN      = 0
  5. # SM_CYSCREEN      = 1
  6. # SWP_FRAMECHANGED = 0x0020

  7. # 防止 F12 后再次执行
  8. if $START_NOCAPTION == nil
  9.   $START_NOCAPTION = 1
  10.   getPrivateProfileString = Win32API.new("kernel32", "GetPrivateProfileString", ['P', 'P', 'P', 'P', 'L', 'P'], 'L')
  11.   findWindow = Win32API.new("user32", "FindWindow", ['P', 'P'], 'L')
  12.   getWindowLong = Win32API.new("user32", "GetWindowLong", ['L', 'I'], 'L')
  13.   setWindowLong = Win32API.new("user32", "SetWindowLong", ['L', 'I', 'L'], 'L')
  14.   getSystemMetrics = Win32API.new("user32", "GetSystemMetrics", ['I'], 'I')
  15.   setWindowPos = Win32API.new("user32", "SetWindowPos",['L', 'L', 'I', 'I', 'I', 'I', 'I'], 'L')
  16.   
  17.   # 分配字符串缓冲区
  18.   title = " " * 128
  19.   # 通过读取 Game.ini 获取窗口标题
  20.   getPrivateProfileString.call("Game", "Title", "", title, 128, "./Game.ini")
  21.   # 通过窗口类名和标题获取窗口句柄
  22.   hWnd = findWindow.call('RGSS Player', title)
  23.   
  24.   # 获取窗口样式
  25.   style = getWindowLong.call(hWnd, -16)
  26.   # 去掉 WS_CAPTION 样式
  27.   style &= ~0x00C00000
  28.   # 应用新样式
  29.   setWindowLong.call(hWnd, -16, style)
  30.   # 获取屏幕尺寸
  31.   scr_width = getSystemMetrics.call(0)
  32.   scr_height = getSystemMetrics.call(1)
  33.   # 更新窗口框架并居中
  34.   setWindowPos.call(hWnd, 0, (scr_width - 544) / 2, (scr_height - 416) / 2, 544, 416, 0x0020)
  35. end
复制代码

评分

参与人数 1星屑 +150 收起 理由
taroxd + 150 认可答案

查看全部评分

废弃
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 01:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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