幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1375|回复: 4

[RMVX] 腳本我搞亂了......

[复制链接]

193

主题

902

帖子

9515

积分

⑦老手

請堅持『人的尊重』

积分
9515
发表于 2006-8-25 22:31:13 | 显示全部楼层 |阅读模式
[s:6]  [s:6] 腳本我搞亂了......
RMXP腳本  Scene-Map的284行發生了SyntaxError.

[s:6]  [s:6]  [s:6] [s:6]  [s:6]
真實的我沒有一個不『沖動』, 誰在阻擋我發言~『我憤怒』. 誰在發言辱罵我,請堅持『人的尊重』.
回复

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2006-8-25 22:33:34 | 显示全部楼层
[s:5]  [s:5] ...应该把你用的那脚本贴出来啊....
回复 支持 反对

使用道具 举报

193

主题

902

帖子

9515

积分

⑦老手

請堅持『人的尊重』

积分
9515
 楼主| 发表于 2006-8-25 22:37:36 | 显示全部楼层
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  處理地圖畫面的類別。
#==============================================================================

class
  #--------------------------------------------------------------------------
  # ● 主處理
  #--------------------------------------------------------------------------
  def main
    # 產生活動區塊
    @spriteset = Spriteset_Map.new
    # 產生訊息視窗
    @message_window = Window_Message.new
    # 執行過渡
    Graphics.transition
    # 主循環
    loop do
      # 更新遊戲畫面
      Graphics.update
      # 更新輸入訊息
      Input.update
      # 更新畫面
      update
      # 如果畫面切換的話就中斷循環
      if $scene != self
        break
      end
    end
    # 準備過渡
    Graphics.freeze
    # 釋放活動區塊
    @spriteset.dispose
    # 釋放訊息視窗
    @message_window.dispose
    # 標題畫面切換中的情況下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出畫面
      Graphics.transition
      Graphics.freeze
    end
  
  #--------------------------------------------------------------------------
  # ● 更新畫面
  #--------------------------------------------------------------------------
  def update
    # 循環
    loop do
      # 按照地圖、實例、主角的順序更新
      # (這個更新順序不會在的滿足事件的執行條件下成為給予角色瞬間移動
      #  的機會的重要因素)
      $game_map.update
      $game_system.map_interpreter.update
      $game_player.update
      # 系統 (計時器)、畫面更新
      $game_system.update
      $game_screen.update
      # 如果主角在場所移動中就中斷循環
      unless $game_temp.player_transferring
        break
      end
      # 執行場所移動
      transfer_player
      # 處理過渡中的情況下、中斷循環
      if $game_temp.transition_processing
        break
      end
    end
    # 更新活動區塊
    @spriteset.update
    # 更新訊息視窗
    @message_window.update
    # 遊戲結束的情況下
    if $game_temp.gameover
      # 切換的遊戲結束畫面
      $scene = Scene_Gameover.new
      return
    end
    # 返回標題畫面的情況下
    if $game_temp.to_title
      # 切換到標題畫面
      $scene = Scene_Title.new
      return
    end
    # 處理過渡中的情況下
    if $game_temp.transition_processing
      # 清除過渡處理中標誌
      $game_temp.transition_processing = false
      # 執行過渡
      if $game_temp.transition_name == ""
        Graphics.transition(20)
      else
        Graphics.transition(40, "Graphics/Transitions/" +
          $game_temp.transition_name)
      end
    end
    # 顯示訊息視窗中的情況下
    if $game_temp.message_window_showing
      return
    end
    # 遇敵計數為 0 且、且遇敵清單不為空白的情況下
    if $game_player.encounter_count == 0 and $game_map.encounter_list != []
      # 不是在事件執行中或者禁止遇敵中
      unless $game_system.map_interpreter.running? or
             $game_system.encounter_disabled
        # 確定隊伍
        n = rand($game_map.encounter_list.size)
        troop_id = $game_map.encounter_list[n]
        # 隊伍有效的話
        if $data_troops[troop_id] != nil
          # 設定呼叫戰鬥標誌
          $game_temp.battle_calling = true
          $game_temp.battle_troop_id = troop_id
          $game_temp.battle_can_escape = true
          $game_temp.battle_can_lose = false
          $game_temp.battle_proc = nil
        end
      end
    end
    # 按下 B 鍵的情況下
    if Input.trigger?(Input::B)
      # 不是在事件執行中或選單禁止中
      unless $game_system.map_interpreter.running? or
             $game_system.menu_disabled
        # 設定選單呼叫標誌以及 SE 演奏
        $game_temp.menu_calling = true
        $game_temp.menu_beep = true
      end
    end
    # 偵錯模式為 ON 並且按下 F9 鍵的情況下
    if $DEBUG and Input.press?(Input::F9)
      # 設定呼叫偵錯標誌
      $game_temp.debug_calling = true
    end
    # 不在主角移動中的情況下
    unless $game_player.moving?
      # 執行各種畫面的呼叫
      if $game_temp.battle_calling
        call_battle
      elsif $game_temp.shop_calling
        call_shop
      elsif $game_temp.name_calling
        call_name
      elsif $game_temp.menu_calling
        call_menu
      elsif $game_temp.save_calling
        call_save
      elsif $game_temp.debug_calling
        call_debug
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 呼叫戰鬥
  #--------------------------------------------------------------------------
  def call_battle
    # 清除戰鬥呼叫標誌
    $game_temp.battle_calling = false
    # 清除選單呼叫標誌
    $game_temp.menu_calling = false
    $game_temp.menu_beep = false
    # 產生遇敵計數
    $game_player.make_encounter_count
    # 記憶地圖 BGM 、停止 BGM
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    # 演奏戰鬥開始 SE
    $game_system.se_play($data_system.battle_start_se)
    # 演奏戰鬥 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到戰鬥畫面
    $scene = Scene_Battle.new
  end
  #--------------------------------------------------------------------------
  # ● 呼叫商店
  #--------------------------------------------------------------------------
  def call_shop
    # 清除商店呼叫標誌
    $game_temp.shop_calling = false
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到商店畫面
    $scene = Scene_Shop.new
  end
  #--------------------------------------------------------------------------
  # ● 呼叫名稱輸入
  #--------------------------------------------------------------------------
  def call_name
    # 清除商店呼叫名稱輸入標誌
    $game_temp.name_calling = false
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到名稱輸入畫面
    $scene = Scene_Name.new
  end
  #--------------------------------------------------------------------------
  # ● 呼叫選單
  #--------------------------------------------------------------------------
  def call_menu
    # 清除商店呼叫選單標誌
    $game_temp.menu_calling = false
    # 已經設定了選單 SE 演奏標誌的情況下
    if $game_temp.menu_beep
      # 演奏確定 SE
      $game_system.se_play($data_system.decision_se)
      # 清除選單演奏 SE 標誌
      $game_temp.menu_beep = false
    end
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到選單畫面
    $scene = Scene_Menu.new
  end
  #--------------------------------------------------------------------------
  # ● 呼叫存檔
  #--------------------------------------------------------------------------
  def call_save
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到存檔畫面
    $scene = Scene_Save.new
  end
  #--------------------------------------------------------------------------
  # ● 呼叫偵錯
  #--------------------------------------------------------------------------
  def call_debug
    # 清除商店呼叫偵錯標誌
    $game_temp.debug_calling = false
    # 演奏確定 SE
    $game_system.se_play($data_system.decision_se)
    # 矯正主角姿勢
    $game_player.straighten
    # 切換到偵錯畫面
    $scene = Scene_Debug.new
  end
  #--------------------------------------------------------------------------
  # ● 主角的場所移動
  #--------------------------------------------------------------------------
  def transfer_player
    # 清除主角場所移動偵錯標誌
    $game_temp.player_transferring = false
    # 移動目標與現在的地圖有差異的情況下
    if $game_map.map_id != $game_temp.player_new_map_id
      # 設定新地圖
      $game_map.setup($game_temp.player_new_map_id)
    end
    # 設定主角位置
    $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
    # 設定主角朝向
    case $game_temp.player_new_direction
    when 2  # 下
      $game_player.turn_down
    when 4  # 左
      $game_player.turn_left
    when 6  # 右
      $game_player.turn_right
    when 8  # 上
      $game_player.turn_up
    end
    # 矯正主角姿勢
    $game_player.straighten
    # 更新地圖 (執行並行事件)
    $game_map.update
    # 產生活動區塊
    @spriteset.dispose
    @spriteset = Spriteset_Map.new
    # 處理過渡中的情況下
    if $game_temp.transition_processing
      # 清除過渡處理中標誌
      $game_temp.transition_processing = false
      # 執行過渡
      Graphics.transition(20)
    end
    # 執行地圖設定的 BGM、BGS 的自動切換
    $game_map.autoplay
    # 設定畫面
    Graphics.frame_reset
    # 更新輸入訊息
    Input.update
  end
  end   [s:1]
真實的我沒有一個不『沖動』, 誰在阻擋我發言~『我憤怒』. 誰在發言辱罵我,請堅持『人的尊重』.
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2006-8-25 22:58:11 | 显示全部楼层
一个有点诡异的地方……那个class居然没写东西……

像这样的脚本语法错误多半是因为多了或者少了end造成的……
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2006-8-25 23:04:15 | 显示全部楼层
#--------------------------------------------------------------------------
# ● 更新畫面
#--------------------------------------------------------------------------
前少了个end...

不过...这脚本是干啥的 [s:3]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-29 19:44 , Processed in 0.010906 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表