OX論壇
Would you like to react to this message? Create an account in a few clicks or log in to continue.

救命啊...為什麼這樣會當機??

3 posters

向下

救命啊...為什麼這樣會當機?? Empty 救命啊...為什麼這樣會當機??

發表  tne 周六 9月 20, 2008 1:32 pm

請教大大:
我自認這是一個很簡單的腳本啊...
可是我在畫面上放一個人物呼叫這個腳本就當機了...為什麼啊... confused

代碼:
   def cont_wg()
      #計算右邊的重量
      red_wg = $game_variables[64] * 3
      green_wg = $game_variables[65] * 4
      blue_wg = $game_variables[66] * 5
      right_wg = red_wg + green_wg + blue_wg

      #計算左邊的重量
      red_wg = $game_variables[67] * 3
      green_wg = $game_variables[68] * 4
      blue_wg = $game_variables[69] * 5
      left_wg = red_wg + green_wg + blue_wg

      if right_wg > left_wg
         $game_switches[98] = false
         $game_switches[99] = true

      elsif left_wg > right_wg
         $game_switches[98] = false
         $game_switches[99] = false

      else
         $game_switches[98] = true
         $game_switches[99] = false

      end
  end

tne
賣彩色內褲的小鱉三
賣彩色內褲的小鱉三

文章數 : 4
注冊日期 : 2008-06-03

回頂端 向下

救命啊...為什麼這樣會當機?? Empty 回復: 救命啊...為什麼這樣會當機??

發表  雲的彼方 周三 9月 24, 2008 2:19 am

tne 寫到:請教大大:
我自認這是一個很簡單的腳本啊...
可是我在畫面上放一個人物呼叫這個腳本就當機了...為什麼啊... confused

代碼:
   def cont_wg()
      #計算右邊的重量
      red_wg = $game_variables[64] * 3
      green_wg = $game_variables[65] * 4
      blue_wg = $game_variables[66] * 5
      right_wg = red_wg + green_wg + blue_wg

      #計算左邊的重量
      red_wg = $game_variables[67] * 3
      green_wg = $game_variables[68] * 4
      blue_wg = $game_variables[69] * 5
      left_wg = red_wg + green_wg + blue_wg

      if right_wg > left_wg
         $game_switches[98] = false
         $game_switches[99] = true

      elsif left_wg > right_wg
         $game_switches[98] = false
         $game_switches[99] = false

      else
         $game_switches[98] = true
         $game_switches[99] = false

      end
  end

把def cont_wg()
的()刪掉看看吧
我是不知道
$game_variables

$game_switches
是什麼啦
(因為手邊沒有RM...)
我想可能是變數跟開關吧

#計算右邊的重量
red_wg = $game_variables[64] * 3
green_wg = $game_variables[65] * 4
blue_wg = $game_variables[66] * 5
right_wg = red_wg + green_wg + blue_wg
可以改成
for i in 3..5
right_wg = $game_variables[61+i] * i
end

用看看這個

def cont_wg
#計算右邊的重量
right_wg = 0
for i in 3..5
right_wg += $game_variables[61+i] * i
end

#計算左邊的重量
for i in 3..5
left_wg += $game_variables[64+i] * i
end

if right_wg > left_wg
$game_switches[98] = false
elsif left_wg > right_wg
$game_switches[98] = $game_switches[99] = false
else
$game_switches[98] = true
end
$game_switches[99] = !$game_switches[98] unless left_wg > right_wg
end

你的縮排真是太奇怪了...

代碼:

  def cont_wg
    #計算右邊的重量
    right_wg = 0
    for i in 3..5
      right_wg += $game_variables[61+i] * i
    end

    #計算左邊的重量
    left_wg = 0
    for i in 3..5
      left_wg += $game_variables[64+i] * i
    end
   
    if right_wg > left_wg
      $game_switches[98] = false
    elsif left_wg > right_wg
      $game_switches[98] = $game_switches[99] = false
    else
      $game_switches[98] = true
    end
    $game_switches[99] = !$game_switches[98] unless left_wg > right_wg
  end

雲的彼方
拿著木劍的戰士
拿著木劍的戰士

文章數 : 48
注冊日期 : 2008-08-09

回頂端 向下

救命啊...為什麼這樣會當機?? Empty 回復: 救命啊...為什麼這樣會當機??

發表  愚零鬥武多 周三 9月 24, 2008 9:21 am

試試看這個(早在三天前就回覆了只是論壇回朔,回覆消失,這是在玩Online嗎?)
代碼:

  def cont_wg()
    #計算右邊的重量
    red_wg = $game_variables[64] * 3
    green_wg = $game_variables[65] * 4
    blue_wg = $game_variables[66] * 5
    right_wg = red_wg + green_wg + blue_wg
    #計算左邊的重量
    red_wg = $game_variables[67] * 3
    green_wg = $game_variables[68] * 4
    blue_wg = $game_variables[69] * 5
    left_wg = red_wg + green_wg + blue_wg
    if right_wg > left_wg
      $game_switches[98] = false
      $game_switches[99] = true
    elsif left_wg > right_wg
      $game_switches[98] = false
      $game_switches[99] = false
    else
      $game_switches[98] = true
      $game_switches[99] = false
    end
    # 繼續
    return true
  end
愚零鬥武多
愚零鬥武多
不正常人類研究中心自慰隊員
不正常人類研究中心自慰隊員

文章數 : 421
注冊日期 : 2008-04-06

回頂端 向下

救命啊...為什麼這樣會當機?? Empty 回復: 救命啊...為什麼這樣會當機??

發表  tne 周六 9月 27, 2008 12:24 pm

愚零鬥武多 寫到:試試看這個(早在三天前就回覆了只是論壇回朔,回覆消失,這是在玩Online嗎?)

可以用...感謝大大... m(_ _)m

對了一下code...原來最後面要加return true...
不過我上面呼叫他的地方並沒有要檢查返回值啊...滿奇怪的。
這算是RMXP的特色嗎...XD

tne
賣彩色內褲的小鱉三
賣彩色內褲的小鱉三

文章數 : 4
注冊日期 : 2008-06-03

回頂端 向下

救命啊...為什麼這樣會當機?? Empty 回復: 救命啊...為什麼這樣會當機??

發表  愚零鬥武多 周六 9月 27, 2008 12:29 pm

tne 寫到:

可以用...感謝大大... m(_ _)m

對了一下code...原來最後面要加return true...
不過我上面呼叫他的地方並沒有要檢查返回值啊...滿奇怪的。
這算是RMXP的特色嗎...XD

因為在Interpreter 1第197行....
代碼:

      # 嘗試執行事件列表、返回值為錯誤(false)的情況下
      if execute_command == false
        return
      end
執行完事件指令不給她返回值就會視為false
那索引值@index就不會前進因此卡在那裡....
愚零鬥武多
愚零鬥武多
不正常人類研究中心自慰隊員
不正常人類研究中心自慰隊員

文章數 : 421
注冊日期 : 2008-04-06

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章