赞 | 0 |
VIP | 100 |
好人卡 | 25 |
积分 | 2 |
经验 | 32966 |
最后登录 | 2023-5-11 |
在线时间 | 1623 小时 |
Lv1.梦旅人 音速君
- 梦石
- 0
- 星屑
- 161
- 在线时间
- 1623 小时
- 注册时间
- 2011-6-9
- 帖子
- 3393
|
- #==============================================================================
- #
- # ■ Code_Input
- #
- #------------------------------------------------------------------------------
- #
- # 伪·文字输入框 Version 1.1
- #
- #==============================================================================
- #==============================================================================
- #
- # 伪·文字输入框
- # —— By Defanive
- #
- # 能够弹出一个InputBox窗口,输入完成后返回值
- #
- # Version 1.1 修正:
- # 防止窗口进程被杀导致的游戏卡死
- #
- # 目前的缺陷:
- # input参数不支持中文
- #
- #------------------------------------------------------------------------------
- #
- # 使用:
- # 变量 = Input(提示, 标题, 默认值)
- #
- #==============================================================================
- #==============================================================================
- # API Functions
- #==============================================================================
- Shell=Win32API.new('kernel32','WinExec','pl','l')
- M2w=Win32API.new('kernel32','MultiByteToWideChar','ilpipi','i')
- W2m=Win32API.new('kernel32','WideCharToMultiByte','ilpipipp','i')
- Find=Win32API.new('user32','FindWindowA','p,p','l')
- IsWnd=Win32API.new('user32','IsWindow','l','l')
- #==============================================================================
- # Main Function
- #==============================================================================
- def input(text,title,strs)
- tdir=Dir.getwd+"/input.tmp"
- sname='mshta vbscript:createobject("scripting.filesystemobject").opentextfile("'+tdir+'",2,True).write(inputbox("'+text+'","'+title+'","'+strs+'"))(window.close)'
- Shell.call(sname,1)
- sleep(1)
- hw=Find.call(nil,title)
- while true
- Graphics.update
- break if IsWnd.call(hw)==0
- end
- s=text_conv(File.open(tdir).read)
- return s[0,s.size-1]
- end
- #==============================================================================
- # Convert Function
- #==============================================================================
- def text_conv(text)
- len=M2w.call(0,0,text,-1,nil,0)
- buf="\0"*(len*2)
- M2w.call(0,0,text,-1,buf,buf.size/2)
- len=W2m.call(65001,0,buf,-1,nil,0,nil,nil)
- ret="\0"*len
- W2m.call(65001,0,buf,-1,ret,ret.size,nil,nil)
- return ret
- end
复制代码 再事件中用脚本- acn=input("Type Your Name","Test","Name")
- if not acn==""
- $game_actors[1].name=acn
- end
复制代码 范例:
伪·文字输入框 Version 1.1 by Defanive.rar
(244.94 KB, 下载次数: 797)
|
|