Project1

标题: 在事件中插入的一段脚本,并行处理,为什么会出现syntaxerror [打印本页]

作者: cqr19950307    时间: 2011-3-18 22:24
标题: 在事件中插入的一段脚本,并行处理,为什么会出现syntaxerror
for i in 1..99
  for j in 1..99
    for k in 0..5
      if k == 0
        if j < $game_variables[17][i]
          $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i]*2+115)*j/100
        else
          if j < $game_variables[18][i]
            $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i+100]*2+115)*j/100
          else
            $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i+200]*2+115)*j/100
          end
        end      
      else
        if j < $game_variables[17][i]
          $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i]*2+15)*j/100
        else
          if j < $game_variables[18][i]
            $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i+100]*2+15)*j/100
          else
            $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i+200]*2+15)*j/100
          end
        end
      end
    end
  end
end

还有换行时要注意什么,是直接回车换,或者加什么符号?dsu_plus_rewardpost_czw
作者: 天帝·隳    时间: 2011-3-18 23:15
這麼長是一般不要直接插入……

還是在interpreter定義一個方法內容為這段腳本,然後在事件裏面直接調用那個方法吧~
作者: cqr19950307    时间: 2011-3-18 23:19
那么这样看看有什么问题?
作者: 天帝·隳    时间: 2011-3-18 23:29
很顯然……eval的時候讀取了不完整的腳本就開始執行自然報錯……
作者: 越前リョーマ    时间: 2011-3-18 23:31
换行ms要在适当的时候打/来着……
作者: cqr19950307    时间: 2011-3-18 23:58
那么怎么弄才可以达到目的?
作者: wbsy8241    时间: 2011-3-19 00:12
本帖最后由 wbsy8241 于 2011-3-19 00:15 编辑

回复 cqr19950307 的帖子

事件脚本不支持 if...end for...end 等 前面和end写在2个事件脚本里 局部变量到下一个脚本里也会失效
  1. class Game_Interpreter
  2.   def 脚本编号1
  3.     for i in 1..99
  4.       for j in 1..99
  5.         for k in 0..5
  6.           if k == 0
  7.             if j < $game_variables[17][i]
  8.               $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i]*2+115)*j/100
  9.             else
  10.               if j < $game_variables[18][i]
  11.                 $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i+100]*2+115)*j/100
  12.               else
  13.                 $data_actors[i].parameters[k, j]=10+($game_variables[k+11][i+200]*2+115)*j/100
  14.               end
  15.             end      
  16.           else
  17.             if j < $game_variables[17][i]
  18.               $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i]*2+15)*j/100
  19.             else
  20.               if j < $game_variables[18][i]
  21.                 $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i+100]*2+15)*j/100
  22.               else
  23.                 $data_actors[i].parameters[k, j]=5+($game_variables[k+11][i+200]*2+15)*j/100
  24.               end
  25.             end
  26.           end
  27.         end
  28.       end
  29.     end
  30.   end
  31. end
复制代码
在F11 的脚本里插入

然后在事件脚本里打  脚本编号1  就可以了���
作者: cqr19950307    时间: 2011-3-19 00:17
谢谢,我已经成功了,把这个插入game_actor的内部




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