设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 113340
打印 上一主题 下一主题

[已经解决] 求简单的2个脚本,曾经在论坛里面见过的

[复制链接]

Lv2.观梦者

梦石
0
星屑
370
在线时间
117 小时
注册时间
2012-10-2
帖子
140
11
 楼主| 发表于 2013-10-19 20:01:21 | 只看该作者
tseyik 发表于 2013-10-19 18:36
圖二的近似効果
http://rpg.blue/thread-335252-1-2.html

感谢·可用,请问第一个效果是用什么脚本做到的,之前曾经见过,但是找不到了
梦想只有到了实现的时候,你才知道她的容貌。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22958
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
12
发表于 2013-10-19 23:27:58 | 只看该作者
113340 发表于 2013-10-19 20:01
感谢·可用,请问第一个效果是用什么脚本做到的,之前曾经见过,但是找不到了 ...
  1. #==============================================================================
  2. # ■ フィールド並行戦闘 (VX Ace用)
  3. #------------------------------------------------------------------------------
  4. # 製作者     : CanariAlternate
  5. # サイト名   : カルトの鳥篭
  6. # サイトURL  : http://canarialt.blog.fc2.com
  7. #------------------------------------------------------------------------------
  8. # ■ 概要 : マップの処理を停止せずに戦闘を実行する。
  9. #
  10. # ■ 必須 : なし
  11. #
  12. # ■ 位置 : 「Scene_Battle」より下
  13. #------------------------------------------------------------------------------
  14. # 更新履歴 : 2012/12/30 Ver1.00 スクリプトを作成した。
  15. #            2012/12/30 Ver1.01 戦闘中の判定のバグを修正した。
  16. #            2013/01/05 Ver1.02 解放済みのウィンドウを更新しないように変更
  17. #            2013/02/19 Ver1.03 共通処理スクリプトの廃止による変更を施した。
  18. #            2013/08/18 Ver1.04 トランジションのバグを修正した。
  19. #                               戦闘背景の不透明度の設定方法を拡張した。
  20. #==============================================================================

  21. =begin
  22.   ■□■仕様・設定に関する内容の箇条書き□■□
  23.   文章の表示などは戦闘終了までウェイトする。戦闘イベントは反映される。
  24.   コマンド「バトルの処理」も文章の表示と同様に戦闘終了までウェイトする。
  25.   コマンド「メニュー画面を開く」なども戦闘終了までウェイトする。
  26.   コマンド「画面の色調変更」などはマップで実行すればマップに反映する。
  27.   コマンド「画面の色調変更」などは戦闘イベントで実行すれば戦闘画面に反映する。
  28. =end

  29. $imported ||= {}
  30. $imported[:CanariAlternate_ParallelBattle] = true

  31. #==============================================================================
  32. # ■ Calt
  33. #------------------------------------------------------------------------------
  34. #  CanariAlternateが製作したスクリプト用のモジュールです。
  35. #==============================================================================
  36. module Calt
  37.   #----------------------------------------------------------------------------
  38.   # ◆開始時のトランジションと終了時のフェードアウトを有効にするスイッチの番号
  39.   TRANSITION_SWITCH = 0 # 0 だと常に無効化
  40.   #
  41.   # ◆戦闘背景(床)の不透明度(負の値に設定すると変数を参照するようになる)
  42.   # 例 BACK1_OPACITY = -5  # 不透明度を5番の変数で設定
  43.   # 例 BACK1_OPACITY = 160 # 不透明度を直接設定
  44.   BACK1_OPACITY = 160 # 0 ~ 255 または -変数の番号
  45.   #
  46.   # ◆戦闘背景(壁)の不透明度(負の値に設定すると変数を参照するようになる)
  47.   # 例 BACK2_OPACITY = -6  # 不透明度を6番の変数で設定
  48.   # 例 BACK2_OPACITY = 0   # 不透明度を直接設定
  49.   BACK2_OPACITY = 0   # 0 ~ 255 または -変数の番号
  50.   #----------------------------------------------------------------------------
  51. end

  52. #==============================================================================
  53. # ■ Game_Player
  54. #------------------------------------------------------------------------------
  55. #  プレイヤーを扱うクラスです。イベントの起動判定や、マップのスクロールなどの
  56. # 機能を持っています。このクラスのインスタンスは $game_player で参照されます。
  57. #==============================================================================
  58. class Game_Player < Game_Character
  59.   #--------------------------------------------------------------------------
  60.   # ● 移動可能判定 [追加]
  61.   #--------------------------------------------------------------------------
  62.   alias movable_ParallelBattle? movable?
  63.   def movable?
  64.     return false if SceneManager.scene_is?(Scene_Battle)  # 戦闘中は操作不可
  65.     return movable_ParallelBattle?
  66.   end
  67. end

  68. #==============================================================================
  69. # ■ Game_Interpreter
  70. #------------------------------------------------------------------------------
  71. #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
  72. # Game_Troop クラス、Game_Event クラスの内部で使用されます。
  73. #==============================================================================
  74. class Game_Interpreter
  75.   #--------------------------------------------------------------------------
  76.   # ● 画面系コマンドの対象を取得 [◆再定義]
  77.   #--------------------------------------------------------------------------
  78.   def screen
  79.     battle_event? ? $game_troop.screen : $game_map.screen
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● キャラクターの取得 [◆再定義]
  83.   #--------------------------------------------------------------------------
  84.   def get_character(param)
  85.     if $BTEST
  86.       nil
  87.     elsif param < 0
  88.       $game_player
  89.     else
  90.       events = same_map? ? $game_map.events : {}
  91.       events[param > 0 ? param : @event_id]
  92.     end
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● メッセージ表示がビジー状態の間ウェイト [◆再定義]
  96.   #--------------------------------------------------------------------------
  97.   def wait_for_message
  98.     Fiber.yield while $game_message.busy? || $in_battle_running_map
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 自身が戦闘のイベントか判定 [新規]
  102.   #--------------------------------------------------------------------------
  103.   def battle_event?
  104.     return $game_party.in_battle && !$in_battle_running_map
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● マップのイベント限定で戦闘中はウェイト [新規]
  108.   #--------------------------------------------------------------------------
  109.   def wait_for_battle
  110.     Fiber.yield while $game_party.in_battle || $in_battle_running_map
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 場所移動 [◆再定義]
  114.   #--------------------------------------------------------------------------
  115.   def command_201
  116.     return if $BTEST
  117.     Fiber.yield while $game_player.transfer? || $game_message.visible
  118.     if @params[0] == 0                      # 直接指定
  119.       map_id = @params[1]
  120.       x = @params[2]
  121.       y = @params[3]
  122.     else                                    # 変数で指定
  123.       map_id = $game_variables[@params[1]]
  124.       x = $game_variables[@params[2]]
  125.       y = $game_variables[@params[3]]
  126.     end
  127.     $game_player.reserve_transfer(map_id, x, y, @params[4])
  128.     $game_temp.fade_type = @params[5]
  129.     Fiber.yield while $game_player.transfer?
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● マップのスクロール [◆再定義]
  133.   #--------------------------------------------------------------------------
  134.   def command_204
  135.     return if $BTEST
  136.     Fiber.yield while $game_map.scrolling?
  137.     $game_map.start_scroll(@params[0], @params[1], @params[2])
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 隊列メンバーの集合 [◆再定義]
  141.   #--------------------------------------------------------------------------
  142.   def command_217
  143.     return if $BTEST
  144.     $game_player.followers.gather
  145.     Fiber.yield until $game_player.followers.gather?
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 天候の設定 [◆再定義]
  149.   #--------------------------------------------------------------------------
  150.   def command_236
  151.     return if $BTEST
  152.     $game_map.screen.change_weather(@params[0], @params[1], @params[2])
  153.     wait(@params[2]) if @params[3]
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● バトルの処理 [◆再定義]
  157.   #--------------------------------------------------------------------------
  158.   def command_301
  159.     return if battle_event?
  160.     wait_for_battle # 戦闘終了まで待機
  161.     if @params[0] == 0                      # 直接指定
  162.       troop_id = @params[1]
  163.     elsif @params[0] == 1                   # 変数で指定
  164.       troop_id = $game_variables[@params[1]]
  165.     else                                    # マップ指定の敵グループ
  166.       troop_id = $game_player.make_encounter_troop_id
  167.     end
  168.     if $data_troops[troop_id]
  169.       BattleManager.setup(troop_id, @params[2], @params[3])
  170.       BattleManager.event_proc = Proc.new {|n| @branch[@indent] = n }
  171.       $game_player.make_encounter_count
  172.       SceneManager.call(Scene_Battle)
  173.     end
  174.     Fiber.yield
  175.     wait_for_battle # 戦闘終了まで待機
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● ショップの処理
  179.   #--------------------------------------------------------------------------
  180.   def command_302
  181.     return if battle_event?
  182.     wait_for_battle # 戦闘終了まで待機
  183.     goods = [@params]
  184.     while next_event_code == 605
  185.       [url=home.php?mod=space&uid=370741]@Index[/url] += 1
  186.       goods.push(@list[@index].parameters)
  187.     end
  188.     SceneManager.call(Scene_Shop)
  189.     SceneManager.scene.prepare(goods, @params[4])
  190.     Fiber.yield
  191.   end
  192.   #--------------------------------------------------------------------------
  193.   # ● 名前入力の処理
  194.   #--------------------------------------------------------------------------
  195.   def command_303
  196.     return if battle_event?
  197.     wait_for_battle # 戦闘終了まで待機
  198.     if $data_actors[@params[0]]
  199.       SceneManager.call(Scene_Name)
  200.       SceneManager.scene.prepare(@params[0], @params[1])
  201.       Fiber.yield
  202.     end
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● メニュー画面を開く
  206.   #--------------------------------------------------------------------------
  207.   def command_351
  208.     return if battle_event?
  209.     wait_for_battle # 戦闘終了まで待機
  210.     SceneManager.call(Scene_Menu)
  211.     Window_MenuCommand::init_command_position
  212.     Fiber.yield
  213.   end
  214.   #--------------------------------------------------------------------------
  215.   # ● セーブ画面を開く
  216.   #--------------------------------------------------------------------------
  217.   def command_352
  218.     return if battle_event?
  219.     wait_for_battle # 戦闘終了まで待機
  220.     SceneManager.call(Scene_Save)
  221.     Fiber.yield
  222.   end
  223. end

  224. #==============================================================================
  225. # ■ Spriteset_Battle
  226. #------------------------------------------------------------------------------
  227. #  バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
  228. # スの内部で使用されます。
  229. #==============================================================================
  230. class Spriteset_Battle
  231.   #--------------------------------------------------------------------------
  232.   # ● 戦闘背景(床)スプライトの作成 [追加]
  233.   #--------------------------------------------------------------------------
  234.   alias create_battleback1_ParallelBattle create_battleback1
  235.   def create_battleback1
  236.     create_battleback1_ParallelBattle
  237.     return if $BTEST
  238.     if Calt::BACK1_OPACITY >= 0
  239.       @back1_sprite.opacity = Calt::BACK1_OPACITY
  240.     else
  241.       @back1_sprite.opacity = $game_variables[-Calt::BACK1_OPACITY]
  242.     end
  243.   end
  244.   #--------------------------------------------------------------------------
  245.   # ● 戦闘背景(壁)スプライトの作成 [追加]
  246.   #--------------------------------------------------------------------------
  247.   alias create_battleback2_ParallelBattle create_battleback2
  248.   def create_battleback2
  249.     create_battleback2_ParallelBattle
  250.     return if $BTEST
  251.     if Calt::BACK2_OPACITY >= 0
  252.       @back2_sprite.opacity = Calt::BACK2_OPACITY
  253.     else
  254.       @back2_sprite.opacity = $game_variables[-Calt::BACK2_OPACITY]
  255.     end
  256.   end
  257. end

  258. #==============================================================================
  259. # ■ Scene_Map
  260. #------------------------------------------------------------------------------
  261. #  マップ画面の処理を行うクラスです。
  262. #==============================================================================
  263. class Scene_Map < Scene_Base
  264.   #--------------------------------------------------------------------------
  265.   # ● オブジェクト初期化 [新規]
  266.   #-------------------------------------------------------------------------
  267.   def initialize
  268.     $in_battle_running_map = false
  269.     @battle_calling = false
  270.   end
  271.   #--------------------------------------------------------------------------
  272.   # ● 開始処理 [◆再定義]
  273.   #--------------------------------------------------------------------------
  274.   alias start_ParallelBattle start
  275.   def start
  276.     if @battle_calling
  277.       @battle_calling = false # 戦闘モードを解除
  278.       create_message_window
  279.       create_scroll_text_window
  280.       return
  281.     end
  282.     start_ParallelBattle
  283.   end
  284.   #--------------------------------------------------------------------------
  285.   # ● 終了処理 [◆再定義]
  286.   #--------------------------------------------------------------------------
  287.   def terminate
  288.     Graphics.freeze
  289.     if @battle_calling
  290.       @message_window.dispose
  291.       @scroll_text_window.dispose
  292.     else
  293.       dispose_all_windows
  294.       dispose_main_viewport
  295.     end
  296.     SceneManager.snapshot_for_background
  297.     dispose_spriteset unless @battle_calling  # 戦闘モードの場合は解放処理は行わない
  298.     # perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
  299.   end
  300.   #--------------------------------------------------------------------------
  301.   # ● フレーム更新(戦闘中) [新規]
  302.   #--------------------------------------------------------------------------
  303.   def update_battle
  304.     instance_variables.each do |varname|
  305.       ivar = instance_variable_get(varname)
  306.       ivar.update if ivar.is_a?(Window) && !ivar.disposed? && !ivar.is_a?(Window_Message) && !ivar.is_a?(Window_ScrollText)
  307.     end
  308.     $game_map.update(true)
  309.     $game_player.update
  310.     @spriteset.update
  311.     update_transfer_player
  312.   end
  313.   #--------------------------------------------------------------------------
  314.   # ● バトル画面遷移の前処理 [◆再定義]
  315.   #--------------------------------------------------------------------------
  316.   def pre_battle_scene
  317.     Graphics.update
  318.     Graphics.freeze
  319.     @battle_calling = true                  # 戦闘モードに移行
  320.     SceneManager.scene.parent_scene = self  # 戦闘シーンに自身をセット
  321.     # @spriteset.dispose_characters
  322.     BattleManager.save_bgm_and_bgs
  323.     BattleManager.play_battle_bgm
  324.     Sound.play_battle_start
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # ● 戦闘中の解放処理 [新規]
  328.   #--------------------------------------------------------------------------
  329.   def dispose_battle
  330.     dispose_all_windows
  331.     dispose_main_viewport
  332.     dispose_spriteset
  333.   end
  334. end

  335. #==============================================================================
  336. # ■ Scene_Battle
  337. #------------------------------------------------------------------------------
  338. #  バトル画面の処理を行うクラスです。
  339. #==============================================================================
  340. class Scene_Battle < Scene_Base
  341.   #--------------------------------------------------------------------------
  342.   # ● 公開インスタンス変数
  343.   #--------------------------------------------------------------------------
  344.   attr_accessor :parent_scene
  345.   #--------------------------------------------------------------------------
  346.   # ● オブジェクト初期化 [新規]
  347.   #-------------------------------------------------------------------------
  348.   def initialize
  349.     $in_battle_running_map = false
  350.     @parent_scene = nil
  351.   end
  352.   #--------------------------------------------------------------------------
  353.   # ● トランジション実行 [◆再定義]
  354.   #--------------------------------------------------------------------------
  355.   alias perform_transition_ParallelBattle perform_transition
  356.   def perform_transition
  357.     if @parent_scene && $game_switches[Calt::TRANSITION_SWITCH]
  358.       @parent_scene.perform_battle_transition
  359.       Graphics.transition(0)
  360.       # Graphics.transition(60, "Graphics/System/BattleStart", 100)
  361.     else
  362.       perform_transition_ParallelBattle
  363.     end
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ● 終了前処理 [◆再定義]
  367.   #--------------------------------------------------------------------------
  368.   def pre_terminate
  369.     super
  370.     Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map) &&
  371.                             $game_switches[Calt::TRANSITION_SWITCH]
  372.     Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title)
  373.   end
  374.   #--------------------------------------------------------------------------
  375.   # ● 終了処理 [追加]
  376.   #--------------------------------------------------------------------------
  377.   alias terminate_ParallelBattle terminate
  378.   def terminate
  379.     terminate_ParallelBattle
  380.     if @parent_scene && (SceneManager.scene_is?(Scene_Title) || SceneManager.scene_is?(Scene_Gameover))
  381.       @parent_scene.dispose_battle  # マップのスプライトなどを解放
  382.     end
  383.   end
  384.   #--------------------------------------------------------------------------
  385.   # ● フレーム更新(基本)[◆再定義]
  386.   #--------------------------------------------------------------------------
  387.   def update_basic
  388.     super
  389.     update_map if @parent_scene # 戦闘中のマップ更新
  390.     $game_timer.update
  391.     $game_troop.update
  392.     @spriteset.update
  393.     update_info_viewport
  394.     update_message_open
  395.   end
  396.   #--------------------------------------------------------------------------
  397.   # ● 戦闘中のマップ更新 [新規]
  398.   #--------------------------------------------------------------------------
  399.   def update_map
  400.     $in_battle_running_map = true
  401.     @parent_scene.update_battle
  402.     $in_battle_running_map = false
  403.   end
  404. end
复制代码

评分

参与人数 1梦石 +1 收起 理由
熊喵酱 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
370
在线时间
117 小时
注册时间
2012-10-2
帖子
140
13
 楼主| 发表于 2013-10-20 11:22:17 | 只看该作者
本帖最后由 113340 于 2013-10-20 11:23 编辑
tseyik 发表于 2013-10-19 23:27


发生脚本错误,不知道是什么回事,求高人帮忙解决。

QQ图片20131020110744.jpg (18.56 KB, 下载次数: 18)

QQ图片20131020110744.jpg

点评

用ie>開啓文件>再轉S-Jis編碼(昨天圧錯了文件,請重下  发表于 2013-10-20 12:37
TXT那个全是乱码不好意思.........  发表于 2013-10-20 12:17
刪除[url]才對  发表于 2013-10-20 11:39
把[UPL………]的全去悼(這是66的Bug,有@xxxx就在前後自動加上[UPL],你下txt那個巴  发表于 2013-10-20 11:37
梦想只有到了实现的时候,你才知道她的容貌。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 08:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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