Project1

标题: 終於不怕事件中的腳本異常卻不知道是哪個事件哪個位置... [打印本页]

作者: 流川枫    时间: 2013-4-14 21:45
标题: 終於不怕事件中的腳本異常卻不知道是哪個事件哪個位置...
本帖最后由 流川枫 于 2013-4-17 11:22 编辑


下面的腳本只是針對 腳本 指令,而條件分歧等處的 腳本 也需要改。    於是再也不用猜測到底是哪個事件的哪個位置的哪行腳本出錯了……
RUBY 代码复制
  1. $msgbeep = Win32API.new("user32","MessageBeep",["l"],"l")
  2.   #--------------------------------------------------------------------------
  3.   # ● 脚本
  4.   #--------------------------------------------------------------------------
  5.   def command_355
  6.     script = @list[@index].parameters[0] + "\n"
  7.     loop do
  8.       if @list[@index+1].code == 655        # 下一个事件指令在脚本2行以上的情况下
  9.         script += @list[@index+1].parameters[0] + "\n"
  10.       else
  11.         break
  12.       end
  13.       @index += 1
  14.     end
  15.  
  16.     begin
  17.     eval(script)
  18.   rescue Exception
  19.     $!.message.scan(/\(eval\):([-,0-9]+)/)
  20.     line_id_szk = $1.to_i
  21.     text_szk = $!.message + "\n@event_id = " + @event_id.
  22.     to_s + "\n@index = " + @index.to_s + "\n@map_id = " + @map_id.
  23.     to_s + "\n\nscript:\n"
  24.     i = 0
  25.     script.each_line do |line|
  26.   next if line.empty?
  27.   i += 1
  28.   text_szk += "☆" if i == line_id_szk
  29.   text_szk += line
  30. end
  31. $msgbeep.call(48)
  32. sleep(0.1)
  33. print text_szk
  34.     #$msgbox.call(0,text_szk,nil,64)
  35.   end
  36.  
  37.     return true
  38.   end

作者: 怪蜀黍    时间: 2013-4-14 22:48
灵活运用rescue跳过报错并找出错误,不错不错真不错!
作者: 流川枫    时间: 2013-4-16 12:06
protosssonny 发表于 2013-4-14 22:48
灵活运用rescue跳过报错并找出错误,不错不错真不错!

其實我早該想到,只不過之前一直只顧抱怨而沒去想解決
作者: 流川枫    时间: 2013-4-17 11:23
本帖最后由 流川枫 于 2013-4-17 11:26 编辑

修正一個錯誤,rescue無法攔截到語法錯誤,改成rescue Exception就行了
作者: viktor    时间: 2013-4-17 16:29
本帖最后由 viktor 于 2013-4-17 16:31 编辑

研究兰触的Playground中……
Playground - Localexception 汉化了所有脚本错误提示,也可以提示脚本(不仅是事件哦)中的错误


传送门:
http://rpg.blue/thread-303356-1-1.html
Playground提供了一大堆脚本扩展工具,不是要把所有的都用上。如果要使用Localexception,只需要复制下面几个脚本:
MyReq | Console | Fundamental | RMSFX | Localexception
作者: 流川枫    时间: 2013-4-17 18:11
viktor 发表于 2013-4-17 16:29
研究兰触的Playground中……
Playground - Localexception 汉化了所有脚本错误提示,也可以提示脚本(不仅 ...

會寫腳本的人難道還看不懂英文麼。。




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