使用教程

更新时间:2023-07-19 05:42:42 阅读: 评论:0

将var.dll文件复制到工程文件夹下面
1.打开rpg maker xp,点击菜单"脚本编辑器",打开main脚本,在begin后面插入以下代码:
#------------------加载DLL函数开始------------------
def 连接(url)
s = w('var.dll', 'trver',%w(p), 'l')
s.call(url)
我可以抱你吗歌词end
def 写(name,value)
s = w('var.dll', 'tvar',%w(p p ), 'l')
s.call(name,value)
end
def 读(name)
s = w('var.dll', 'getvar',%w(p), 'p')
s.call(name)
end
def 读写(name,value_name)
s = w('var.dll', 'var',%w(p p ), 'p')
井沿s.call(name,value_name)
end
def 登录()
s = w('var.dll', 'dengl',%w(), 'p')
s.call()
end
def 换人(id)
s = w('var.dll', 'login',%w(p), 'p')
s.call(id)
end
#------------------加载DLL函数结束------------------
连接("/var")#设置服务器地址
登录()
2.打开Game_Temp脚本,在最后面插入以下代码:
#==============================================================================
# ■  Hangup 异常根除
#    Hangup Exception Eradication
#----------------------------------------------------------------------------
#
#    Hangup 异常是 RMXP 底层引擎内置的一个异常类,游戏进程会在 Graphics.update
#    没有调用超过 10 秒时抛出这个异常。这个脚本使用了 Windows API 暴力地解除
#    了这个限制。
#    使用方法:Hangup 异常根除脚本必须插入到脚本编辑器的最顶端,所有脚本之前,无
#    例外。
地球的故事#
#----------------------------------------------------------------------------
#
#    更新作者: 紫苏阿弥陀佛生日
#    许可协议: FSL -MEE
#    项目版本: 1.2.0827
#    引用网址:
#    /forum.php?mod=viewthread&tid=134316
#    /2010/08/09/hangup_eradication
#
#----------------------------------------------------------------------------
#
#    - 1.2.0827 By 紫苏
#      * 更改了配置模块名
#      * 更改了 FSL 注释信息
#
#    - 1.2.0805 By 紫苏
#      * 脚本开始遵循 FSL
#      * 全局范围内改变了脚本结构
#
#    - 1.1.1101 By 紫苏
#      * 修正了脚本在 Windows XP 平台下失效的问题
#
#    - 1.0.0927 By 紫苏
#      * 初始版本完成
#
#==============================================================================
$__jmp_here.call if $__jmp_here霍兰德测试
#----------------------------------------------------------------------------
# ● 登记 FSL。
#----------------------------------------------------------------------------
$fscript = {} if !$fscript
$fscript['HangupEradication'] = '1.2.0827'
#==============================================================================
# ■ FSL
#------------------------------------------------------------------------------
#  自由RGSS脚本通用公开协议的功能模块。
#==============================================================================
module
FSL
module HangupEradication
#------------------------------------------------------------------------
# ● 定义需要的 Windows API。
#------------------------------------------------------------------------
OpenThread = w('kernel32', 'OpenThread', 'LIL', 'L')
CloHandle = w('kernel32', 'CloHandle', 'L', 'I')
Thread32Next = w('kernel32', 'Thread32Next', 'LP', 'I')
ResumeThread = w('kernel32', 'ResumeThread', 'L', 'L')
SuspendThread = w('kernel32', 'SuspendThread', 'L', 'L')
Thread32First = w('kernel32', 'Thread32First', 'LP', 'I')
GetCurrentProcessId = w('kernel32', 'GetCurrentProcessId', 'V', 'L')
CreateToolhelp32Snapshot = w('kernel32', 'CreateToolhelp32Snapshot', 'LL', 'L')
end
end
#==============================================================================
# ■ HangupEradication
#------------------------------------------------------------------------------
#  处理根除 Hangup 异常的类。
五年级下册语文教案
#==============================================================================
class HangupEradication
include FSL::HangupEradication
#--------------------------------------------------------------------------
# ● 初始化对像。
#--------------------------------------------------------------------------
def initialize
@hSnapShot = CreateToolhelp32Snapshot.call(4, 0)
@hLastThread = OpenThread.call(2, 0, lf.getLastThreadId)
#@hLastThread = OpenThread.call(2097151, 0, threadID)
ObjectSpace.define_finalizer(lf, lf.method(:finalize))
end
#--------------------------------------------------------------------------
# ● 获取当前进程创建的最后一个线程的标识。
#--------------------------------------------------------------------------
def getLastThreadId
threadEntry = [28, 0, 0, 0, 0, 0, 0].pack("L*")
threadId = 0                                          # 线程标识
found = Thread32First.call(@hSnapShot, threadEntry)  # 准备枚举线程
while found != 0
arrThreadEntry = threadEntry.unpack("L*")          # 线程数据解包
if arrThreadEntry[3] == GetCurrentProcessId.call    # 匹配进程标识
threadId = arrThreadEntry[2]                      # 记录线程标识
end
found = Thread32Next.call(@hSnapShot, threadEntry)  # 下一个线程
end
return threadId
end
#--------------------------------------------------------------------------
# ● 根除 Hangup 异常。
#    2      : “暂停和恢复线程访问权限”代码;
#    2097151 : “所有可能的访问权限”代码(Windows XP 平台下无效)。
#--------------------------------------------------------------------------
def eradicate
SuspendThread.call(@hLastThread)
end
#------------------------------------------------------------古筝曲谱初学
--------------
# ● 恢复 Hangup 异常。
五月桃花
#--------------------------------------------------------------------------
def resume
while ResumeThread.call(@hLastThread) > 1; end        # 恢复最后一个线程
end
#--------------------------------------------------------------------------
# ● 最终化对像。
#--------------------------------------------------------------------------
def finalize
CloHandle.call(@hSnapShot)
CloHandle.call(@hLastThread)
end
end
hangupEradication = w
callcc { |$__jmp_here| }                                  # F12 后的跳转标记
#==============================================================================
# ■ 游戏主过程
#------------------------------------------------------------------------------
#  游戏脚本的解释从这个外壳开始。
#==============================================================================
for subscript $RGSS_SCRIPTS.size
begin
eval(Zlib::Inflate.inflate($RGSS_SCRIPTS[subscript][2]))
rescue Exception => ex
# 异常发生并抛出给解释器时恢复线程。
rai ex
end
end
exit
3.这样模块就安装成功,可以使用了,函数使用方法请参考文件"函数说明.txt"。

本文发布于:2023-07-19 05:42:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1104481.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:脚本   线程   函数   使用   文件   版本   恢复
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图