Project1
标题:
求助 战斗中换装备
[打印本页]
作者:
卓越大白痴
时间:
2008-11-15 06:45
标题:
求助 战斗中换装备
我用RTAB战斗系统 脚本太长放主要的八
# リアルタイム・アクティブバトル(RTAB) Ver 1.16
#(更改战斗选项调动公共事件)
#增加死亡判定 增加战斗换人选项
# 配布元・サポートURL
# http://members.jcom.home.ne.jp/cogwheel/
class Scene_Battle
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘用の各種一時データを初期化
# Graphics.frame_rate = 60
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
# バトルイベント用インタプリタを初期化
$game_system.battle_interpreter.setup(nil, 0)
# トループを準備
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
atb_setup
# アクターコマンドウィンドウを作成
#==============================================================================
#RTAB观光游第三站,战斗菜单增加逃跑选项
#==============================================================================
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
s5 = "自动战斗"
s6 = "逃跑"
# s7 = "换人"
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4,s5,s6,])
# @actor_command_window.y = 160
@actor_command_window.y = 100
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
#==============================================================================
# その他のウィンドウを作成
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# @party_command_window = Window_PartyCommand.new
#------------------------------------------------------------------------------
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
# スプライトセットを作成
@spriteset = Spriteset_Battle.new
# ウェイトカウントを初期化
@wait_count = 0
# トランジション実行
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
# プレバトルフェーズ開始
start_phase1
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# マップをリフレッシュ
$game_map.refresh
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@actor_command_window.dispose
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# @party_command_window.dispose
#------------------------------------------------------------------------------
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
# スプライトセットを解放
@spriteset.dispose
# タイトル画面に切り替え中の場合
if $scene.is_a?(Scene_Title)
# 画面をフェードアウト
Graphics.transition
Graphics.freeze
end
# 戦闘テストからゲームオーバー画面以外に切り替え中の場合
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
#--------------------------------------------------------------------------
# ● 勝敗判定
#--------------------------------------------------------------------------
def judge
# 全滅判定が真、またはパーティ人数が 0 人の場合
if $game_party.all_dead? or $game_party.actors.size == 0
# 敗北可能の場合
if $game_temp.battle_can_lose
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(2)
# true を返す
return true
end
# ゲームオーバーフラグをセット
$game_temp.gameover = true
# true を返す
return true
end
# エネミーが 1 体でも存在すれば false を返す
for enemy in $game_troop.enemies
if enemy.exist?
return false
end
end
# アフターバトルフェーズ開始 (勝利)
start_phase5
# true を返す
return true
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# バトルイベント実行中の場合
if $game_system.battle_interpreter.running?
if @command.size > 0
@command_a = false
@command = []
command_delete
end
@status_window.at_refresh
# インタプリタを更新
$game_system.battle_interpreter.update
# アクションを強制されているバトラーが存在しない場合
if $game_temp.forcing_battler == nil
# バトルイベントの実行が終わった場合
unless $game_system.battle_interpreter.running?
# バトルイベントのセットアップを再実行
@status_window.refresh
setup_battle_event
end
end
end
# システム (タイマー)、画面を更新
$game_system.update
$game_screen.update
# タイマーが 0 になった場合
if $game_system.timer_working and $game_system.timer == 0
# バトル中断
$game_temp.battle_abort = true
end
# ウィンドウを更新
@help_window.update
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# @party_command_window.update
#------------------------------------------------------------------------------
@actor_command_window.update
@status_window.update
@message_window.update
# スプライトセットを更新
@spriteset.update
# トランジション処理中の場合
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
# ゲームオーバーの場合
if $game_temp.gameover
# 切换到地图,并且调用公共事件1号
$game_temp.battle_can_lose = true
battle_end(1)
$game_temp.gameover = false
$game_temp.common_event_id = 12
return
end
# タイトル画面に戻す場合
if $game_temp.to_title
# タイトル画面に切り替え
$scene = Scene_Title.new
return
end
# バトル中断の場合
if $game_temp.battle_abort
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
return
end
# ヘルプウィンドウ表示中の場合
if @help_wait > 0
@help_wait -= 1
if @help_wait == 0
# ヘルプウィンドウを隠す
@help_window.visible = false
end
end
# アクションを強制されているバトラーが存在せず、
# かつバトルイベントが実行中の場合
if $game_temp.forcing_battler == nil and
$game_system.battle_interpreter.running?
return
end
# フェーズによって分岐
case @phase
when 0 # ATゲージ更新フェーズ
if anime_wait_return
update_phase0
end
when 1 # プレバトルフェーズ
update_phase1
return
when 2 # パーティコマンドフェーズ
update_phase2
return
when 5 # アフターバトルフェーズ
update_phase5
return
end
if $scene != self
return
end
if @phase == 0
if @command.size != 0 # アクターコマンドフェーズ
if @command_a == false
start_phase3
end
update_phase3
end
# ウェイト中の場合
if @wait_count > 0
# ウェイトカウントを減らす
@wait_count -= 1
return
end
update_phase4
end
end
#==============================================================================
# ■ Scene_Battle (分割定義 2)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
#--------------------------------------------------------------------------
# ● フレーム更新 (ATゲージ更新フェーズ)
#--------------------------------------------------------------------------
def update_phase0
if $game_temp.battle_turn == 0
$game_temp.battle_turn = 1
end
# B ボタンが押された場合
# if @command_a == false and @party == false
# if Input.trigger?(Input::B)
# キャンセル SE を演奏
# $game_system.se_play($data_system.cancel_se)
# @party = true
# end
# end
# if @party == true and
# ((@action > 0 and @action_battlers.empty?) or (@action == 0 and
# (@action_battlers.empty? or @action_battlers[0].phase == 1)))
# パーティコマンドフェーズへ
# start_phase2
# return
# end
# ATゲージ増加処理
cnt = 0
for battler in $game_party.actors + $game_troop.enemies
active?(battler)
if battler.rtp == 0
if battler.at >= @max
if battler.is_a?(Game_Actor)
if battler.inputable?
unless @action_battlers.include?(battler) or
@command.include?(battler) or @escape == true
if battler.current_action.forcing
fullat_se
force_action(battler)
action_start(battler)
else
fullat_se
@command.push(battler)
end
end
else
unless @action_battlers.include?(battler) or
battler == @command[0]
battler.current_action.clear
if @command.include?(battler)
@command.delete(battler)
else
if battler.movable?
fullat_se
end
end
action_start(battler)
end
end
else
unless @action_battlers.include?(battler)
if battler.current_action.forcing
force_action(battler)
action_start(battler)
else
if @enemy_speed != 0
if rand(@enemy_speed) == 0
number = cnt - $game_party.actors.size
enemy_action(number)
end
else
number = cnt - $game_party.actors.size
enemy_action(number)
end
end
end
end
else
battler.at += battler.agi
if battler.guarding?
battler.at += battler.agi
end
if battler.movable?
battler.atp = 100 * battler.at / @max
end
end
else
if battler.rt >= battler.rtp
speller = synthe?(battler)
if speller != nil
battler = speller[0]
end
unless @action_battlers.include?(battler)
if battler.is_a?(Game_Actor)
fullat_se
end
battler.rt = battler.rtp
action_start(battler)
end
else
battler.rt += battler.agi
speller = synthe?(battler)
if speller != nil
for spell in speller
if spell != battler
spell.rt += battler.agi
end
end
end
end
end
cnt += 1
end
# ATゲージをリフレッシュ
@status_window.at_refresh
# 逃走処理
if @escape == true and
((@action > 0 and @action_battlers.empty?) or (@action == 0 and
(@action_battlers.empty? or @action_battlers[0].phase == 1)))
temp = false
for battler in $game_party.actors
if battler.inputable?
temp = true
end
end
if temp == true
for battler in $game_party.actors
if battler.at < @max and battler.inputable?
temp = false
break
end
end
if temp == true
@escape = false
for battler in $game_party.actors
battler.at %= @max
end
$game_temp.battle_main_phase = false
update_phase2_escape
end
end
end
end
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
#--------------------------------------------------------------------------
# ● パーティコマンドフェーズ開始
#--------------------------------------------------------------------------
# def start_phase2
# フェーズ 2 に移行
# @phase = 2
# @party = false
# パーティコマンドウィンドウを有効化
# @party_command_window.active = true
# @party_command_window.visible = true
# アクターを非選択状態に設定
# @actor_index = -1
# アクターコマンドウィンドウを無効化
# @actor_command_window.active = false
# @actor_command_window.visible = false
# if @command.size != 0
# アクターの明滅エフェクト OFF
# if @active_actor != nil
# @active_actor.blink = false
# end
# end
# カメラセット
# @camera == "party"
# @spriteset.screen_target(0, 0, 1)
# メインフェーズフラグをクリア
# $game_temp.battle_main_phase = false
# end
#------------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ● フレーム更新 (パーティコマンドフェーズ)
#--------------------------------------------------------------------------
def update_phase2
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# C ボタンが押された場合
# 去掉“战斗/逃跑”选项
# if Input.trigger?(Input::C)
# パーティコマンドウィンドウのカーソル位置で分岐
# case @party_command_window.index
# when 0 # 戦う
# パーティコマンドウィンドウを無効化
# @party_command_window.active = false
# @party_command_window.visible = false
# 決定 SE を演奏
# $game_system.se_play($data_system.decision_se)
#------------------------------------------------------------------------------
@escape = false
@phase = 0
if $game_temp.battle_turn == 0
$game_temp.battle_turn = 1
end
if @command_a == true
# アクターコマンドフェーズ開始
start_phase3
else
$game_temp.battle_main_phase = true
end
end
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# when 1 # 逃げる
# 逃走可能ではない場合
# if $game_temp.battle_can_escape == false
# ブザー SE を演奏
# $game_system.se_play($data_system.buzzer_se)
# return
# end
# 決定 SE を演奏
# $game_system.se_play($data_system.decision_se)
# @phase = 0
# パーティコマンドウィンドウを無効化
# @party_command_window.active = false
# @party_command_window.visible = false
# $game_temp.battle_main_phase = true
# if $game_temp.battle_turn == 0
# update_phase2_escape
# $game_temp.battle_turn = 1
# for battler in $game_party.actors
# battler.at -= @max / 2
# end
# return
# end
# 決定 SE を演奏
# $game_system.se_play($data_system.decision_se)
# @escape = true
# for battler in $game_party.actors
# @command_a = false
# @command.delete(battler)
# @action_battlers.delete(battler)
# skill_reset(battler)
# end
# end
# return
# end
#end
#------------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
#--------------------------------------------------------------------------
def update_phase2_escape
# エネミーの素早さ平均値を計算
enemies_agi = 0
enemies_number = 0
for enemy in $game_troop.enemies
if enemy.exist?
enemies_agi += enemy.agi
enemies_number += 1
end
end
if enemies_number > 0
enemies_agi /= enemies_number
end
# アクターの素早さ平均値を計算
actors_agi = 0
actors_number = 0
for actor in $game_party.actors
if actor.exist?
actors_agi += actor.agi
actors_number += 1
end
end
if actors_number > 0
actors_agi /= actors_number
end
# 逃走成功判定
success = rand(100) < 50 * actors_agi / enemies_agi
# 逃走成功の場合
if success
# 逃走 SE を演奏
$game_system.se_play($data_system.escape_se)
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
# 逃走失敗の場合
else
@help_window.set_text("逃走失敗", 1)
@help_wait = @help_time
# パーティ全員のアクションをクリア
$game_party.clear_actions
# メインフェーズ開始
start_phase4
end
end
#--------------------------------------------------------------------------
# ● アフターバトルフェーズ開始
#--------------------------------------------------------------------------
def start_phase5
# フェーズ 5 に移行
@phase = 5
# バトル終了 ME を演奏
$game_system.me_play($game_system.battle_end_me)
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# EXP、ゴールド、トレジャーを初期化
exp = 0
gold = 0
treasures = []
if @active_actor != nil
@active_actor.blink = false
end
# メインフェーズフラグをセット
$game_temp.battle_main_phase = true
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# パーティコマンドウィンドウを無効化
# @party_command_window.active = false
# @party_command_window.visible = false
#------------------------------------------------------------------------------
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
if @skill_window != nil
# スキルウィンドウを解放
@skill_window.dispose
@skill_window = nil
end
if @item_window != nil
# アイテムウィンドウを解放
@item_window.dispose
@item_window = nil
end
# ヘルプウィンドウを隠す
@help_window.visible = false
# ループ
for enemy in $game_troop.enemies
# エネミーが隠れ状態でない場合
unless enemy.hidden
# 獲得 EXP、ゴールドを追加
exp += enemy.exp
gold += enemy.gold
# トレジャー出現判定
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
end
end
end
# トレジャーの数を 6 個までに限定
treasures = treasures[0..5]
# EXP 獲得
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp += exp
if actor.level > last_level
@status_window.level_up(i)
actor.damage[[actor, -1]] = "Level up!"
actor.up_level = actor.level - last_level
end
end
end
# ゴールド獲得
$game_party.gain_gold(gold)
# トレジャー獲得
for item in treasures
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
# バトルリザルトウィンドウを作成
@result_window = Window_BattleResult.new(exp, gold, treasures)
# ウェイトカウントを設定
@phase5_wait_count = 100
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アフターバトルフェーズ)
#--------------------------------------------------------------------------
def update_phase5
# ウェイトカウントが 0 より大きい場合
if @phase5_wait_count > 0
# ウェイトカウントを減らす
@phase5_wait_count -= 1
# ウェイトカウントが 0 になった場合
if @phase5_wait_count == 0
# リザルトウィンドウを表示
@result_window.visible = true
# メインフェーズフラグをクリア
$game_temp.battle_main_phase = false
# ステータスウィンドウをリフレッシュ
@status_window.refresh
for actor in $game_party.actors
if actor.damage.include?([actor, 0])
@phase5_wait_count = 20
actor.damage_pop[[actor, 0]] = true
end
if actor.damage.include?([actor, -1])
@phase5_wait_count = 20
actor.damage_pop[[actor, -1]] = true
for level in actor.level - actor.up_level + 1..actor.level
for skill in $data_classes[actor.class_id].learnings
if level == skill.level and not actor.skill_learn?(skill.id)
actor.damage[[actor, 0]] = "New Skill!"
break
end
end
end
end
end
end
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# バトル終了
battle_end(0)
end
end
#==============================================================================
# ■ Scene_Battle (分割定義 3)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
#--------------------------------------------------------------------------
# ● アクターコマンドフェーズ開始
#--------------------------------------------------------------------------
def start_phase3
if victory?
return
end
# メインフェーズフラグをクリア
$game_temp.battle_main_phase = false
@command_a = true
@active_actor = @command[0]
cnt = 0
for actor in $game_party.actors
if actor == @active_actor
@actor_index = cnt
end
cnt += 1
end
@active_actor.blink = true
unless @active_actor.inputable?
@active_actor.current_action.clear
phase3_next_actor
return
end
phase3_setup_command_window
# カメラの設定
@camera = "command"
plus = ($game_party.actors.size - 1) / 2.0 - @actor_index
y = [(plus.abs - 1.5) * 10 , 0].min
@spriteset.screen_target(plus * 50, y, 1.0 + y * 0.002)
end
#--------------------------------------------------------------------------
# ● アクターのコマンド入力終了
#--------------------------------------------------------------------------
def phase3_next_actor
@command.shift
@command_a = false
# メインフェーズフラグをセット
$game_temp.battle_main_phase = true
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
# アクターの明滅エフェクト OFF
if @active_actor != nil
@active_actor.blink = false
end
action_start(@active_actor)
# カメラを元に戻す
if @camera == "command"
@spriteset.screen_target(0, 0, 1)
end
return
end
#--------------------------------------------------------------------------
# ● アクターコマンドウィンドウのセットアップ
#--------------------------------------------------------------------------
def phase3_setup_command_window
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# パーティコマンドウィンドウを無効化
# @party_command_window.active = false
# @party_command_window.visible = false
#------------------------------------------------------------------------------
# アクターコマンドウィンドウを有効化
@actor_command_window.active = true
@actor_command_window.visible = true
# アクターコマンドウィンドウの位置を設定
@actor_command_window.x = @actor_index * 160 +
(4 - $game_party.actors.size) * 80
# インデックスを 0 に設定
@actor_command_window.index = 0
end
#--------------------------------------------------------------------------
# ● エネミーアクション作成
#--------------------------------------------------------------------------
def enemy_action(number)
enemy = $game_troop.enemies[number]
unless enemy.current_action.forcing
enemy.make_action
end
action_start(enemy)
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ)
#--------------------------------------------------------------------------
def update_phase3
if victory? and @command_a
command_delete
@command.push(@active_actor)
return
end
# エネミーアローが有効の場合
if @enemy_arrow != nil
update_phase3_enemy_select
# アクターアローが有効の場合
elsif @actor_arrow != nil
update_phase3_actor_select
# スキルウィンドウが有効の場合
elsif @skill_window != nil
update_phase3_skill_select
# アイテムウィンドウが有効の場合
elsif @item_window != nil
update_phase3_item_select
#=========================================================================
# 修改by:lim
#------------------------------------------------------------------------
elsif @actor_window != nil
update_phase3_character_select
#=======================================================================
# アクターコマンドウィンドウが有効の場合
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : 基本コマンド)
#--------------------------------------------------------------------------
def update_phase3_basic_command
unless @active_actor.inputable?
@active_actor.current_action.clear
phase3_next_actor
return
end
#--------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# B ボタンが押された場合
# if Input.trigger?(Input::B) and @party == false
# キャンセル SE を演奏
# $game_system.se_play($data_system.cancel_se)
# @party = true
# end
# if @party == true and
# ((@action > 0 and @action_battlers.empty?) or (@action == 0 and
# (@action_battlers.empty? or @action_battlers[0].phase == 1)))
# パーティコマンドフェーズへ
# start_phase2
# return
# end
#==============================================================================
#RTAB观光游第二站,增加战斗快捷键ASD 这段是官方增加的脚本
#==============================================================================
# A : SKILL
if Input.trigger?(Input::X)
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# スキルの選択を開始
start_skill_select
return
end
# S : 防御
if Input.trigger?(Input::Y)
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_actor.current_action.kind = 0
@active_actor.current_action.basic = 1
# 次のアクターのコマンド入力へ
phase3_next_actor
return
end
# D : ITEM
if Input.trigger?(Input::Z)
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アイテムの選択を開始
start_item_select
return
end
#==============================================================================
# C ボタンが押された場合
if Input.trigger?(Input::C)
#------------------------------------------------------------------------------
#RTAB观光游第一站,去除“战斗/逃跑”选项部分
# @party = false
#------------------------------------------------------------------------------
# アクターコマンドウィンドウのカーソル位置で分岐
case @actor_command_window.index
when 0 # 攻撃
#==============================================================================
#RTAB观光游第二站,增加战斗快捷键ASD 这段是官方增加的脚本
#==============================================================================
if victory?
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
#==============================================================================
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# エネミーの選択を開始
start_enemy_select
when 1 # スキル
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# スキルの選択を開始
start_skill_select
when 2 # 防御
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_actor.current_action.kind = 0
@active_actor.current_action.basic = 1
# 次のアクターのコマンド入力へ
phase3_next_actor
when 3 # アイテム
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アイテムの選択を開始
start_item_select
when 4
common_event = $data_common_events[11] #调用1号公共事件
$game_system.battle_interpreter.setup(common_event.list, 0)
# when 6
# $game_system.se_play($data_system.decision_se)
# start_character_select
#==============================================================================
#RTAB观光游第三站,战斗菜单增加逃跑选项
#==============================================================================
when 5 #逃跑(添加内容)
if $game_temp.battle_can_escape == false
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
# 修改by:lim
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
@phase = 0
# パーティコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
$game_temp.battle_main_phase = true
if $game_temp.battle_turn == 0
update_phase2_escape
$game_temp.battle_turn = 1
for battler in $game_party.actors
battler.at -= @max / 2
end
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
@escape = true
for battler in $game_party.actors
@command_a = false
@command.delete(battler)
@action_battlers.delete(battler)
skill_reset(battler)
end
复制代码
需要添加战斗中换装备
看下贴 注意我已经添加到=S6了=S7占时没用到 [LINE]1,#dddddd[/LINE]
此贴于 2008-11-16 12:48:21 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2008-11-21 11:27:12 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2008-11-23 14:51:45 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
卓越大白痴
时间:
2008-11-15 06:46
#===========我在这里=============
class Scene_Battle
def main
# 初始化战斗用的各种暂时数据
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
# 初始化战斗用事件解释器
$game_system.battle_interpreter.setup(nil, 0)
# 准备队伍
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
# 生成角色命令窗口
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
#kk开始
s5 = "变更武器"
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4 , s5])
@actor_command_window.y = 128
#kk结束
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
# 生成其它窗口
@party_command_window = Window_PartyCommand.new
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
# 生成活动块
@spriteset = Spriteset_Battle.new
# 初始化等待计数
@wait_count = 0
# 执行过渡
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
# 开始自由战斗回合
start_phase1
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面切换的话就中断循环
if $scene != self
break
end
end
# 刷新地图
$game_map.refresh
# 准备过渡
Graphics.freeze
# 释放窗口
@actor_command_window.dispose
@party_command_window.dispose
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
# 释放活动块
@spriteset.dispose
# 标题画面切换中的情况
if $scene.is_a?(Scene_Title)
# 淡入淡出画面
Graphics.transition
Graphics.freeze
end
# 战斗测试或者游戏结束以外的画面切换中的情况
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
def update_phase3_basic_command
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 转向前一个角色的指令输入
phase3_prior_actor
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 角色指令窗口光标位置分之
case @actor_command_window.index
when 0 # 攻击
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# 开始选择敌人
start_enemy_select
when 1 # 特技
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 1
# 开始选择特技
start_skill_select
when 2 # 防御
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# 转向下一位角色的指令输入
phase3_next_actor
when 3 # 物品
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 2
# 开始选择物品
start_item_select
#kk_开始
when 4 # 变更武器
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 3
# 开始选择武器
start_weapon_select
#kk_结束
end
return
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合)
#--------------------------------------------------------------------------
def update_phase3
# 敌人光标有效的情况下
if @enemy_arrow != nil
update_phase3_enemy_select
# 角色光标有效的情况下
elsif @actor_arrow != nil
update_phase3_actor_select
# 特技窗口有效的情况下
elsif @skill_window != nil
update_phase3_skill_select
# 物品窗口有效的情况下
elsif @item_window != nil
update_phase3_item_select
#kk开始
elsif @weapon_window != nil
update_phase3_weapon_select
#kk结束
# 角色指令窗口有效的情况下
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合 : 选择武器)
#--------------------------------------------------------------------------
def update_phase3_weapon_select
# 设置物品窗口为可视状态
# @weapon_window.visible = true
# 刷新物品窗口
@weapon_window.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择物品结束
end_weapon_select
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 获取物品窗口现在选择的物品资料
@weapon = @weapon_window.item
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
item = @weapon_window.item
@active_battler.equip(0, item == nil ? 0 : item.id)
@weapon_window.refresh
@actor_window.refresh
end
return
end
#--------------------------------------------------------------------------
# ● 开始选择武器
#--------------------------------------------------------------------------
def start_weapon_select
# 生成特技窗口
@weapon_window = Window_EquipItemk.new(@active_battler,0)
@actor_window = Window_EquipLeftk.new(@active_battler)
# 关联帮助窗口
@weapon_window.help_window = @help_window
# 无效化角色指令窗口
@actor_command_window.active = false
@actor_command_window.visible = false
end
def end_weapon_select
# 释放物品窗口
@weapon_window.dispose
@weapon_window = nil
@actor_window.dispose
@actor_window = nil
# 隐藏帮助窗口
@help_window.visible = false
# 有效化角色指令窗口
@actor_command_window.active = true
@actor_command_window.visible = true
end
end
class Window_EquipItemk < Window_Selectable
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
# equip_type : 装备部位 (0~3)
#--------------------------------------------------------------------------
def initialize(actor, equip_type)
super(320, 64, 320, 256)
@actor = actor
@equip_type = equip_type
@column_max = 1
self.opacity = 160
self.index = 0
refresh
end
#--------------------------------------------------------------------------
# ● 获取物品
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
# 添加可以装备的武器
if @equip_type == 0
weapon_set = $data_classes[@actor.class_id].weapon_set
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
@data.push($data_weapons[i])
end
end
end
# 添加可以装备的防具
if @equip_type != 0
armor_set = $data_classes[@actor.class_id].armor_set
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0 and armor_set.include?(i)
if $data_armors[i].kind == @equip_type-1
@data.push($data_armors[i])
end
end
end
end
# 添加空白
@data.push(nil)
# 生成位图、描绘全部项目
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max-1
draw_item(i)
end
end
#--------------------------------------------------------------------------
# ● 项目的描绘
# index : 项目符号
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
x = 4
y = index * 32
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 刷新帮助文本
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
class Window_EquipLeftk < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 64, 320, 256)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 160
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_level(@actor, 4, 32)
draw_actor_parameter(@actor, 4, 64, 0)
draw_actor_parameter(@actor, 4, 96, 1)
draw_actor_parameter(@actor, 4, 128, 2)
draw_item_name($data_weapons[@actor.weapon_id], 132, 160)
self.contents.font.color = system_color
self.contents.draw_text(4, 160, 128, 32, "目前武器")
self.contents.draw_text(4, 192, 128, 32, "武器属性")
self.contents.font.color = Color.new(0,255,0)
element = ""
if @actor.weapon_id == 0
element = "无"
else
if $data_weapons[@actor.weapon_id].element_set[1] == nil
element = "无"
else
for i in 1...$data_weapons[@actor.weapon_id].element_set.size
element += $data_system.elements[$data_weapons[@actor.weapon_id].element_set[i]] + " "
end
end
end
self.contents.draw_text(132, 192, 128, 32, element)
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 64, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 128, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
end
end
#--------------------------------------------------------------------------
# ● 变更装备后的能力值设置
# new_atk : 变更装备后的攻击力
# new_pdef : 变更装备后的物理防御
# new_mdef : 变更装备后的魔法防御
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_pdef, new_mdef)
if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef
@new_atk = new_atk
@new_pdef = new_pdef
@new_mdef = new_mdef
refresh
end
end
end
复制代码
作者:
枪胜贤者
时间:
2008-11-15 12:59
class Scene_Battle
def main
# 初始化战斗用的各种暂时数据
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
# 初始化战斗用事件解释器
$game_system.battle_interpreter.setup(nil, 0)
# 准备队伍
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
# 生成角色命令窗口
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
#kk开始
s5 = "变更武器"
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4 , s5])
@actor_command_window.y = 128
#kk结束
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
# 生成其它窗口
@party_command_window = Window_PartyCommand.new
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
# 生成活动块
@spriteset = Spriteset_Battle.new
# 初始化等待计数
@wait_count = 0
# 执行过渡
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
# 开始自由战斗回合
start_phase1
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面切换的话就中断循环
if $scene != self
break
end
end
# 刷新地图
$game_map.refresh
# 准备过渡
Graphics.freeze
# 释放窗口
@actor_command_window.dispose
@party_command_window.dispose
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
# 释放活动块
@spriteset.dispose
# 标题画面切换中的情况
if $scene.is_a?(Scene_Title)
# 淡入淡出画面
Graphics.transition
Graphics.freeze
end
# 战斗测试或者游戏结束以外的画面切换中的情况
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
def update_phase3_basic_command
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 转向前一个角色的指令输入
phase3_prior_actor
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 角色指令窗口光标位置分之
case @actor_command_window.index
when 0 # 攻击
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# 开始选择敌人
start_enemy_select
when 1 # 特技
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 1
# 开始选择特技
start_skill_select
when 2 # 防御
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# 转向下一位角色的指令输入
phase3_next_actor
when 3 # 物品
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 2
# 开始选择物品
start_item_select
#kk_开始
when 4 # 变更武器
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 3
# 开始选择武器
start_weapon_select
#kk_结束
end
return
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合)
#--------------------------------------------------------------------------
def update_phase3
# 敌人光标有效的情况下
if @enemy_arrow != nil
update_phase3_enemy_select
# 角色光标有效的情况下
elsif @actor_arrow != nil
update_phase3_actor_select
# 特技窗口有效的情况下
elsif @skill_window != nil
update_phase3_skill_select
# 物品窗口有效的情况下
elsif @item_window != nil
update_phase3_item_select
#kk开始
elsif @weapon_window != nil
update_phase3_weapon_select
#kk结束
# 角色指令窗口有效的情况下
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合 : 选择武器)
#--------------------------------------------------------------------------
def update_phase3_weapon_select
# 设置物品窗口为可视状态
# @weapon_window.visible = true
# 刷新物品窗口
@weapon_window.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择物品结束
end_weapon_select
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 获取物品窗口现在选择的物品资料
@weapon = @weapon_window.item
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
item = @weapon_window.item
@active_battler.equip(0, item == nil ? 0 : item.id)
@weapon_window.refresh
@actor_window.refresh
end
return
end
#--------------------------------------------------------------------------
# ● 开始选择武器
#--------------------------------------------------------------------------
def start_weapon_select
# 生成特技窗口
@weapon_window = Window_EquipItemk.new(@active_battler,0)
@actor_window = Window_EquipLeftk.new(@active_battler)
# 关联帮助窗口
@weapon_window.help_window = @help_window
# 无效化角色指令窗口
@actor_command_window.active = false
@actor_command_window.visible = false
end
def end_weapon_select
# 释放物品窗口
@weapon_window.dispose
@weapon_window = nil
@actor_window.dispose
@actor_window = nil
# 隐藏帮助窗口
@help_window.visible = false
# 有效化角色指令窗口
@actor_command_window.active = true
@actor_command_window.visible = true
end
end
class Window_EquipItemk < Window_Selectable
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
# equip_type : 装备部位 (0~3)
#--------------------------------------------------------------------------
def initialize(actor, equip_type)
super(320, 64, 320, 256)
@actor = actor
@equip_type = equip_type
@column_max = 1
self.opacity = 160
self.index = 0
refresh
end
#--------------------------------------------------------------------------
# ● 获取物品
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
# 添加可以装备的武器
if @equip_type == 0
weapon_set = $data_classes[@actor.class_id].weapon_set
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
@data.push($data_weapons[i])
end
end
end
# 添加可以装备的防具
if @equip_type != 0
armor_set = $data_classes[@actor.class_id].armor_set
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0 and armor_set.include?(i)
if $data_armors[i].kind == @equip_type-1
@data.push($data_armors[i])
end
end
end
end
# 添加空白
@data.push(nil)
# 生成位图、描绘全部项目
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max-1
draw_item(i)
end
end
#--------------------------------------------------------------------------
# ● 项目的描绘
# index : 项目符号
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
x = 4
y = index * 32
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 刷新帮助文本
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
class Window_EquipLeftk < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 64, 320, 256)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 160
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_level(@actor, 4, 32)
draw_actor_parameter(@actor, 4, 64, 0)
draw_actor_parameter(@actor, 4, 96, 1)
draw_actor_parameter(@actor, 4, 128, 2)
draw_item_name($data_weapons[@actor.weapon_id], 132, 160)
self.contents.font.color = system_color
self.contents.draw_text(4, 160, 128, 32, "目前武器")
self.contents.draw_text(4, 192, 128, 32, "武器属性")
self.contents.font.color = Color.new(0,255,0)
element = ""
if @actor.weapon_id == 0
element = "无"
else
if $data_weapons[@actor.weapon_id].element_set[1] == nil
element = "无"
else
for i in 1...$data_weapons[@actor.weapon_id].element_set.size
element += $data_system.elements[$data_weapons[@actor.weapon_id].element_set[i]] + " "
end
end
end
self.contents.draw_text(132, 192, 128, 32, element)
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 64, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 128, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
end
end
#--------------------------------------------------------------------------
# ● 变更装备后的能力值设置
# new_atk : 变更装备后的攻击力
# new_pdef : 变更装备后的物理防御
# new_mdef : 变更装备后的魔法防御
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_pdef, new_mdef)
if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef
@new_atk = new_atk
@new_pdef = new_pdef
@new_mdef = new_mdef
refresh
end
end
end
复制代码
作者:
小东东仔
时间:
2008-11-22 19:18
你看我的签名那游戏吧。。。我的那个游戏就能换。。。宠物的装备也能换 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1