Project1
标题: 退出提示确认脚本,在RTAB战斗中退出会报错。 [打印本页]
作者: 天使喝可乐 时间: 2011-8-31 21:43
标题: 退出提示确认脚本,在RTAB战斗中退出会报错。
我用的RTAB战斗系统,用上退出提示脚本(点X提示[确认][取消])
平时没问题 但是战斗中点退出→确认 后会报错 虽然这样也退出了……但是很影响美观 求改下= = 谢谢~
如果改的不是退出提示脚本 麻烦把改的地方标出来 谢谢拉!
范例:(范例中自带脚本)
DIRO框架.rar
(1.23 MB, 下载次数: 5)
报错图:
错误脚本为RTAB战斗主脚本 那段是这样的:- def screen_z
- return true_y + @fly
- end
- #--------------------------------------------------------------------------
- # バトル画面 拡大率の取得
- #--------------------------------------------------------------------------
- def zoom
- #●●●●● 下面这行就是报错行 3422:
- return ($scene.zoom_rate[1] - $scene.zoom_rate[0]) *
- (true_y + @fly) / 320 + $scene.zoom_rate[0]
- end
- #--------------------------------------------------------------------------
- # 攻撃用、バトル画面 X 座標の取得
- #--------------------------------------------------------------------------
- def attack_x(z)
- return (320 - true_x) * z * 0.75
- end
复制代码 退出提示脚本:- if true#true为使用,false为不使用
- def exit(i=0)
- name="仙境之梦退出确认"#提示标题,可不填
- $scene = nil if options("是否要退出游戏?",name)
- end
- end
- def options(text,name="")
- @ask1 = [text,name]
- @ctext = Array.new
- @m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
- @w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
- @msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
- @wsm = Proc.new{|i|
- len = @m2w.call(65001, 0, i, -1, nil, 0)
- buf = "\0\0" * len
- @m2w.call(65001, 0, i, -1, buf, buf.size/2)
- len = @w2m.call(0, 0, buf, -1, nil, 0, nil, nil)
- @ctext.push "\0" * len
- @w2m.call(0, 0, buf, -1, @ctext.last, @ctext.last.size, nil, nil)
- }
- [@ask1].flatten.each{|i| @wsm.call(i)}
- def self.warning
- 1.times{|j| j == 0 ?((yield @ctext[0], @ctext[1]) == 1 ? (return true) : (return false)):( return false)}
- end
- return self.warning{|a,b| @msgbox.call(0, a, b, 1) }
- end
复制代码