document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. =begin
  2.  [================================================]
  3.  [\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////////]
  4.  
  5.  --------------------------------------------------
  6.  
  7.     SIMPLE LOG WRITER
  8.  
  9.  --------------------------------------------------
  10.     Автор: DeadElf79
  11.     Версия: 1.4
  12.  --------------------------------------------------
  13.     Описание:
  14.     Записывает выводимую
  15.     информацию в файл (по
  16.     умолчанию - flow.log).
  17.    
  18.     Инструкция:
  19.     $log.write "text\\n" - Записывает
  20.     текст в файл flow.log. Символ
  21.     переноса строки ( \\n )
  22.     вставляется автоматически.
  23.    
  24.     wr "text" - Записывает текст в
  25.     файл flow.log и выводит
  26.     сообщение в консоль (для XP -
  27.     в окно) одновременно. При
  28.     использовании скрипта Console
  29.     Output от ForeverZero выводит
  30.     информацию на нее и в файл
  31.     одновременно.
  32.  
  33.   wr "text",0 - Записывает текст,
  34.   но не ставит автоматически
  35.   символ переноса строки ( \\n ).
  36.   Используется, чтобы вывести
  37.   строку с информацией до вызова
  38.   функции и после вызова функции
  39.   записать результат ее работы
  40.   в ту же строку.
  41.  
  42.   wr "text",nil,true - Записывает
  43.   в файл flow.log информацию об
  44.   ошибке (Exception.backtrace),
  45.   заменяя подстроки вида
  46.   "Section" на названия
  47.   скриптов в редакторе.
  48.  
  49.  [\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////////]
  50.  [================================================]
  51. =end
  52.  
  53. # only for VX Ace and XP
  54. # cause nobody use VX anymore
  55. if RUBY_VERSION.to_f==1.9
  56.   scripts=load_data(\'Data/Scripts.rvdata2\')
  57. else
  58.   scripts=load_data(\'Data/Scripts.rxdata\')
  59. end
  60. $script_names=[]
  61. scripts.each{ |item|
  62.   text=item.to_s.match(/[\\d]+([\\w_\\d]+)/)[1]
  63.   $script_names+=[ text.gsub(/x$/){\'\'} ]
  64. }
  65.  
  66. if $DEBUG||$TEST # Rewrite only when start from Editor
  67.   $log=open(\'flow.log\',\'w\');$log.close
  68. end
  69.  
  70. def wr(text,crlf=1,error=false)
  71.   crlf_a = crlf==nil ? 1 : crlf
  72.   $log=open(\'flow.log\',\'a\')
  73.     if $DEBUG || $TEST
  74.         print text.inspect+(crlf==1? "\\n":\'\') if RUBY_VERSION.to_i==1.9
  75.     if error
  76.       if !text.match(/Section(\\d+):/).nil?
  77.         section=text.match(/Section(\\d+):/)[1]
  78.         text.gsub!(/Section(\\d+):/) {$script_names[section.to_i]+\':Line #\'}
  79.       end
  80.     end
  81.    
  82.     $log.write text.inspect[1,text.inspect.size-2].gsub(/\\\\n/){"\\n"}.gsub(/\\\\t/){"\\t"}+(crlf_a==1? "\\n":\'\')
  83.     end
  84.   $log.close
  85. end
  86.  
  87. wr \'=\' * 75
  88. wr Time.now.strftime("%d.%m.%y(%A)-%H:%M:%S")
  89. wr \'=\' * 75
  90. wr \'Initialize\'
');