Project1

标题: 【VX区活动】外站脚本大收集 [打印本页]

作者: 八云紫    时间: 2011-5-24 17:17
标题: 【VX区活动】外站脚本大收集
本帖最后由 铃仙·优昙华院·因幡 于 2011-5-24 19:52 编辑

★收集外站发布的脚本
  ● 包括发布在 6R以外的国内站 日站 美站 的各种VX脚本
  ● 在6R发布过,但是VX 守失牌塞钱箱中没收录的也可以
  ● 仅限于RMVX平台

★ 需要提交 发布帖/官网 地址,如果有翻译也提交翻译后的发布地址或脚本/范例工程
  ● 自己翻译的提交时请声明,会得到额外奖励
  ● 有版权限制的请把版权声明一起提交
  ● 需有脚本使用说明(其实咱是日语小白)

★ 奖励:
  ● 视脚本的大小和实用度给1~3V奖励
  ● 自己翻译的视翻译质量给1.5~4倍奖励
  ● 有提供完整的使用说明和范例工程的话, 也会额外加分~
作者: 一箭烂YiJL    时间: 2011-5-24 17:20
八云姐姐举办的VX区活动...
占楼细观...
作者: SOU    时间: 2011-5-24 17:55
  1. begin ========================================================================
  2. * ziifee's Spin Command for RPG Tankentai Sideview Battle System
  3.   By ziifee ( http://neomemo.web.fc2.com/ )
  4.    <SBS Only>
  5.     -This script is only for the Tankentai SBS WITHOUT the ATB installed.
  6.    <Image Required>
  7.      Spin40 : Spin40.png is required in the Graphics/System folder.
  8. =end # ========================================================================

  9. #==============================================================================
  10. # ■ Ziifee
  11. #==============================================================================

  12. module Zii  
  13.   # ▼ Spin Command/Icon Index Number
  14.   FIGHT = 132                               # Fight
  15.   ESCAPE = 143                              # Escape
  16.   ATTACK = 1                                # Attack (Default)
  17.   GUARD = 52                                # Guard
  18.   SKILL = 128                               # Skill
  19.   ITEM = 144                                # Item

  20.   # ▼ Spin Command/Direction of Rotation ( "normal" or "reverse" )
  21.   #   Determines how Spin Command rotates according to left/right key press.
  22.   TURN = "normal"
  23.   
  24.   # ▼ Face Graphics (true: Use battle face graphic / false: don't use faces)
  25.   STATUS_FACE = true
  26.   
  27.   # ▼ Actor Names (true: Show actor names / false: Don't show )
  28.   STATUS_LINE = true
  29.   
  30.   # ▼ Actor Name Text Size ( VX default size: 20 )
  31.   LINE_SIZE = 20
  32.   
  33.   #--------------------------------------------------------------------------
  34.   # ● 通常回転 の判定
  35.   #--------------------------------------------------------------------------
  36.   def self.turn_normal?
  37.     return false if TURN == "reverse"
  38.     return true  if TURN == "normal"
  39.     return true
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● バトルオプション [顔グラフィック] の判定
  43.   #--------------------------------------------------------------------------
  44.   def self.battle_face?
  45.     return true if STATUS_FACE
  46.     return false
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● バトルステートオプション [名前] の判定
  50.   #--------------------------------------------------------------------------
  51.   def self.line_name?
  52.     return true if STATUS_LINE
  53.     return false
  54.   end
  55. end

  56. # ▼ ステータス表示
  57. #==============================================================================
  58. # ■ Window_BattleStatus
  59. #==============================================================================

  60. class Window_BattleStatus
  61.   #--------------------------------------------------------------------------
  62.   # ● オブジェクト初期化 改
  63.   #--------------------------------------------------------------------------
  64.   def initialize
  65.     super(0, 0, 416, 128)
  66.     @column_max = 4
  67.     refresh
  68.     self.active = false
  69.     self.opacity = 0
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 項目の描画 改
  73.   #--------------------------------------------------------------------------
  74.   def draw_item(index)
  75.     x = index * 96
  76.     rect = Rect.new(x, 0, 96, 96)
  77.     self.contents.clear_rect(rect)
  78.     self.contents.font.color = normal_color
  79.     actor = $game_party.members[index]
  80.     draw_actor_face(actor, x + 2, 2, 92) if actor.hp > 0 and Zii.battle_face?
  81.     draw_actor_state(actor, x + 72, WLH * 3)
  82.     if Zii.line_name?
  83.       self.contents.font.color = hp_color(actor)
  84.       size = Zii::LINE_SIZE
  85.       self.contents.font.size = size
  86.       self.contents.draw_text(x, WLH * 1 + 20 - size, 80, WLH, actor.name)
  87.       self.contents.font.size = 20
  88.     end
  89.     draw_actor_hp(actor, x, WLH * 2, 80)
  90.     draw_actor_mp(actor, x, WLH * 3, 70)
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● カーソルの更新
  94.   #--------------------------------------------------------------------------
  95.   def update_cursor
  96.     if @index < 0                   # カーソル位置が 0 未満の場合
  97.       self.cursor_rect.empty        # カーソルを無効とする
  98.     else                            # カーソル位置が 0 以上の場合
  99.       rect = Rect.new(index * 96, 0, 96, 96)
  100.       self.cursor_rect = rect       # カーソルの矩形を更新
  101.     end
  102.   end
  103. end

  104. # ▼ 回転コマンド
  105. #==============================================================================
  106. # ■ Window_SpinCommand
  107. #------------------------------------------------------------------------------
  108. #  回転用コマンド選択を行うウィンドウです。
  109. #==============================================================================

  110. class Window_SpinCommand < Window_Base
  111.   #--------------------------------------------------------------------------
  112.   # ● 公開インスタンス変数
  113.   #--------------------------------------------------------------------------
  114.   attr_reader   :index                    # カーソル位置
  115.   attr_reader   :help_window              # ヘルプウィンドウ
  116.   #--------------------------------------------------------------------------
  117.   # ● オブジェクト初期化
  118.   #     cx / cy  : 中心の X座標 / Y座標
  119.   #     commands : コマンド配列 (内容 は [name, kind, pull, enabled?])
  120.   #     setting  : 設定ハッシュ ("R"=>半径 "S"=>速さ "G"=>背景 "L"=>文字)
  121.   #--------------------------------------------------------------------------
  122.   def initialize(cx, cy, commands, setting = {})
  123.     @radius    = setting.has_key?("R") ? setting["R"] : 40  # 描画半径
  124.     @speed     = setting.has_key?("S") ? setting["S"] : 36  # 回転速さ
  125.     @spin_back = setting.has_key?("G") ? setting["G"] : ""  # 背景画像
  126.     @spin_line = setting.has_key?("L") ? setting["L"] : nil # 文字位置
  127.     x, y = cx - @radius - 28, cy - @radius - 28
  128.     width = height = @radius * 2 + 56
  129.     super(x, y, width, height)
  130.     self.opacity = 0
  131.     @index = 0
  132.     @commands = commands                                    # コマンド
  133.     @spin_right = true
  134.     @spin_count = 0
  135.     update_cursor
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ▽ スピン画像を描画する (描画内容 強化用)
  139.   #     i  : インデックス
  140.   #     cx : 表示 中心位置 X座標
  141.   #     cy : 表示 中心位置 Y座標
  142.   #--------------------------------------------------------------------------
  143.   def draw_spin_graphic(i, cx, cy)
  144.     case command_kind(i)
  145.     when "icon"
  146.       draw_icon(command_pull(i), cx - 12, cy - 12, command_enabled?(i))
  147.     end
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ★ リフレッシュ バグ回避用
  151.   #--------------------------------------------------------------------------
  152.   def refresh
  153.     set_spin
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ★ 項目の描画 バグ回避用
  157.   #--------------------------------------------------------------------------
  158.   def draw_item(index, enabled = true)
  159.     @commands[index][3] = enabled
  160.     set_spin
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ● 現在のコマンド名を取得する
  164.   #--------------------------------------------------------------------------
  165.   def command_name(index = @index)
  166.     return "" if index < 0
  167.     name = @commands[index][0]
  168.     return name != nil ? name : ""
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● コマンドの種類を取得
  172.   #--------------------------------------------------------------------------
  173.   def command_kind(index)
  174.     result = @commands[index][1]
  175.     return result != nil ? result : ""
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● コマンドの引数 を取得
  179.   #--------------------------------------------------------------------------
  180.   def command_pull(index)
  181.     result = @commands[index][2]
  182.     return result != nil ? result : ""
  183.   end
  184.   #--------------------------------------------------------------------------
  185.   # ● コマンドの有効フラグを取得
  186.   #--------------------------------------------------------------------------
  187.   def command_enabled?(index)
  188.     result = @commands[index][3]
  189.     return result != nil ? result : true
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 名前の位置に index を設定する
  193.   #--------------------------------------------------------------------------
  194.   def set_index(name)
  195.     n = -1
  196.     for i in [email protected]
  197.       n = i if @commands[i][0] == name
  198.     end
  199.     @index = n if n >= 0
  200.     update_cursor
  201.     call_update_help
  202.     set_spin
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● カーソル位置の設定
  206.   #     index : 新しいカーソル位置
  207.   #--------------------------------------------------------------------------
  208.   def index=(index)
  209.     @index = index
  210.     update_cursor
  211.     call_update_help
  212.     set_spin
  213.   end
  214.   #--------------------------------------------------------------------------
  215.   # ● 中心のX座標を取得
  216.   #--------------------------------------------------------------------------
  217.   def center_x
  218.     return contents.width / 2
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● 中心のY座標を取得
  222.   #--------------------------------------------------------------------------
  223.   def center_y
  224.     return contents.height / 2
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # ● 項目数の取得
  228.   #--------------------------------------------------------------------------
  229.   def item_max
  230.     return @commands.size
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # ● 背景の設定 (再定義 向き)
  234.   #--------------------------------------------------------------------------
  235.   def set_background
  236.     return if @spin_back == ""
  237.     bitmap = Cache.system(@spin_back)
  238.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  239.     self.contents.blt(12, 12, bitmap, rect)
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● 文章の設定 (再定義 向き)
  243.   #--------------------------------------------------------------------------
  244.   def set_text
  245.     return if @spin_line == nil
  246.     y = center_y - WLH / 2 + @spin_line
  247.     self.contents.draw_text(center_x - 48, y, 96, WLH, command_name, 1)
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● スピンアイコンの角度の差を取得する
  251.   #--------------------------------------------------------------------------
  252.   def angle_size
  253.     return (Math::PI * 2 / item_max)
  254.   end
  255.   #--------------------------------------------------------------------------
  256.   # ● スピンアイコン回転時のカウント を設定する
  257.   #--------------------------------------------------------------------------
  258.   def set_spin_count
  259.     @spin_count = angle_size * 360 / @speed
  260.     set_spin(true)
  261.   end
  262.   #--------------------------------------------------------------------------
  263.   # ● スピン設定 の実行
  264.   #     spin : 回転フラグ (true の時回転中)
  265.   #--------------------------------------------------------------------------
  266.   def set_spin(spin = false)
  267.     self.contents.clear
  268.     set_background
  269.     angle = spin ? @speed * @spin_count / 360 : 0
  270.     angle = @spin_right ? angle : -angle
  271.     for i in 0...item_max
  272.       n = (i - @index) * angle_size + angle
  273.       cx = @radius * Math.sin(n) + center_x
  274.       cy = - @radius * Math.cos(n) + center_y
  275.       draw_spin_graphic(i, cx, cy)
  276.     end
  277.     set_text
  278.   end
  279.   #--------------------------------------------------------------------------
  280.   # ● フレーム更新
  281.   #--------------------------------------------------------------------------
  282.   def update
  283.     super
  284.     update_cursor
  285.     if @spin_count > 0
  286.       @spin_count -= 1
  287.       set_spin(@spin_count >= 1)
  288.       return
  289.     end
  290.     update_command
  291.   end
  292.   #--------------------------------------------------------------------------
  293.   # ● コマンドの移動可能判定
  294.   #--------------------------------------------------------------------------
  295.   def command_movable?
  296.     return false if @spin_count > 0
  297.     return false if (not visible or not active)
  298.     return false if (index < 0 or index > item_max or item_max == 0)
  299.     return false if (@opening or @closing)
  300.     return true
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● コマンドを右に移動
  304.   #--------------------------------------------------------------------------
  305.   def command_right
  306.     @index = (@index + 1) % item_max
  307.     @spin_right = true
  308.     set_spin_count
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● コマンドを左に移動
  312.   #--------------------------------------------------------------------------
  313.   def command_left
  314.     @index = (@index - 1 + item_max) % item_max
  315.     @spin_right = false
  316.     set_spin_count
  317.   end
  318.   #--------------------------------------------------------------------------
  319.   # ● コマンド選択の更新
  320.   #--------------------------------------------------------------------------
  321.   def update_command
  322.     if command_movable?
  323.       if Input.press?(Input::RIGHT)
  324.         Sound.play_cursor
  325.         Zii.turn_normal? ? command_right : command_left
  326.       end
  327.       if Input.press?(Input::LEFT)
  328.         Sound.play_cursor
  329.         Zii.turn_normal? ? command_left : command_right
  330.       end
  331.     end
  332.     call_update_help
  333.   end
  334.   #--------------------------------------------------------------------------
  335.   # ● カーソルの更新
  336.   #--------------------------------------------------------------------------
  337.   def update_cursor
  338.     if @index < 0
  339.       self.cursor_rect.empty
  340.     else
  341.       rect = Rect.new(0, 0, 24, 24)
  342.       rect.x = center_x - rect.width / 2
  343.       rect.y = center_y - rect.height / 2 - @radius
  344.       self.cursor_rect = rect
  345.     end
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ● ヘルプウィンドウの設定
  349.   #     help_window : 新しいヘルプウィンドウ
  350.   #--------------------------------------------------------------------------
  351.   def help_window=(help_window)
  352.     @help_window = help_window
  353.     call_update_help
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● ヘルプウィンドウ更新メソッドの呼び出し
  357.   #--------------------------------------------------------------------------
  358.   def call_update_help
  359.     if self.active and @help_window != nil
  360.        update_help
  361.     end
  362.   end
  363.   #--------------------------------------------------------------------------
  364.   # ● ヘルプウィンドウの更新 (内容は継承先で定義する)
  365.   #--------------------------------------------------------------------------
  366.   def update_help
  367.   end
  368. end

  369. #==============================================================================
  370. # ■ Window_PartyCommand
  371. #==============================================================================

  372. class Window_PartyCommand < Window_SpinCommand
  373.   #--------------------------------------------------------------------------
  374.   # ● オブジェクト初期化
  375.   #--------------------------------------------------------------------------
  376.   def initialize
  377.     s1 = [Vocab::fight,  "icon", Zii::FIGHT,  true]
  378.     s2 = [Vocab::escape, "icon", Zii::ESCAPE, $game_troop.can_escape]
  379.     setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
  380.     super(56, 64, [s1, s2], setting)
  381.     self.active = false
  382.     set_spin
  383.   end
  384. end

  385. #==============================================================================
  386. # ■ Window_ActorCommand
  387. #==============================================================================

  388. class Window_ActorCommand < Window_SpinCommand
  389.   #--------------------------------------------------------------------------
  390.   # ● オブジェクト初期化
  391.   #--------------------------------------------------------------------------
  392.   def initialize
  393.     s1 = [Vocab::attack, "icon", Zii::ATTACK, true]
  394.     s2 = [Vocab::skill,  "icon", Zii::SKILL,  true]
  395.     s3 = [Vocab::guard,  "icon", Zii::GUARD,  true]
  396.     s4 = [Vocab::item,   "icon", Zii::ITEM,   true]
  397.     setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
  398.     super(0, 64, [s1, s2, s3, s4], setting)
  399.     self.active = false
  400.     set_spin
  401.   end
  402.   #--------------------------------------------------------------------------
  403.   # ● セットアップ
  404.   #     actor : アクター
  405.   #--------------------------------------------------------------------------
  406.   def setup(actor)
  407.     @commands[0][2] = Zii::ATTACK
  408.     @commands[1][0] = Vocab::skill
  409.     if actor.weapons[0] != nil
  410.       n = actor.weapons[0].icon_index
  411.       @commands[0][2] = n if n > 0
  412.     end
  413.     @commands[1][0] = actor.class.skill_name if actor.class.skill_name_valid
  414.     self.index = 0
  415.     set_spin
  416.   end
  417. end
复制代码
版权信息在顶部
这个脚本的内容是将战斗选单变成旋转的图标式(仅支持SBS横版系统且无ATB)

↑这个图片命名为Spin40,放在system文件夹下
作者: 高须小龙    时间: 2011-5-24 18:17
本帖最后由 高须小龙 于 2011-5-24 18:19 编辑

站位,不定期跟新。
================分割线====================
【DQM】随机迷宫-汉化版

汉化:Takasu

作者:ひきも記



管理人 : tomoaky
URL : http://hikimoki.sakura.ne.jp/

无图无真相,详情请下载工程。

—点我下载—

作者: 诡异の猫    时间: 2011-5-24 18:31
本帖最后由 诡异の猫 于 2011-5-24 18:32 编辑

天气强化脚本&范例,富含多种天气效果...
忘记在哪拿的了- - 呃,原谅我...真记不起来叻- -
原版有点小BUG释放位图时会出错
已修正,测试可以正常使用
天气强化.rar (272.73 KB, 下载次数: 386)
作者: 风雪优游    时间: 2011-5-24 18:57
哇!等我!等我换电脑给你找,我这里有个脚本不会用,全日文很郁闷!
作者: 企鹅达达    时间: 2011-5-24 18:58
战前公用事件,版权网址见脚本下方……话说,发个脚本只是想说……还是不说了(画圈圈)
  1. #==============================================================================
  2. # ☆ Scene_Comon_Event_Before_Battle ver.1.00
  3. #------------------------------------------------------------------------------
  4. # コモンイベントを,戦闘開始前に入れます
  5. # 戦闘開始時に戦闘イベントがある場合は,コモンイベントを入れません.
  6. # Add a comon event before battle start.
  7. #==============================================================================

  8. #----------------------------
  9. #使用するコモンイベント
  10. #----------------------------
  11. COMON_EVENT_BEFORE_BATTLE = 2

  12. #--------------------------------
  13. #戦闘の種類を収める変数番号
  14. #(0:通常,1:先制攻撃,2:不意打ち)
  15. #--------------------------------
  16. KIND_OF_BATTLE = 23

  17. #--------------------------------------
  18. #味方のidをランダムに収める変数番号
  19. #(死んでいる人は除く)
  20. #--------------------------------------
  21. TALK_EVENT_BEFORE_BATTLE = 21


  22. class Scene_Battle < Scene_Base
  23.   #--------------------------------------------------------------------------
  24.   # ☆ 戦闘開始の処理 <追加変更>
  25.   #--------------------------------------------------------------------------
  26.   def process_battle_start
  27.     @message_window.clear
  28.     wait(10)
  29.     for name in $game_troop.enemy_names
  30.       text = sprintf(Vocab::Emerge, name)
  31.       $game_message.texts.push(text)
  32.     end
  33.     $game_variables[KIND_OF_BATTLE]=0 #追加
  34.     if $game_troop.preemptive
  35.       $game_variables[KIND_OF_BATTLE]=1 #追加
  36.       text = sprintf(Vocab::Preemptive, $game_party.name)
  37.       $game_message.texts.push(text)
  38.     elsif $game_troop.surprise
  39.       $game_variables[KIND_OF_BATTLE]=2 #追加
  40.       text = sprintf(Vocab::Surprise, $game_party.name)
  41.       $game_message.texts.push(text)
  42.     end
  43.     wait_for_message
  44.     @message_window.clear
  45.     make_escape_ratio
  46.    
  47.     unless $game_temp.common_event_id >0                       #追加
  48.       i = 0                                                    #追加
  49.        #戦闘開始時に,戦闘イベントの有無判定
  50.       for page in $game_troop.troop.pages                      #追加
  51.         next unless $game_troop.conditions_met?(page)          #追加
  52.         i = 1                                                  #追加
  53.       end                                                      #追加
  54.       
  55.       if i == 0                                                #追加
  56.         i = $game_party.random_target.id                       #追加
  57.         $game_variables[TALK_EVENT_BEFORE_BATTLE] = i          #追加
  58.         $game_temp.common_event_id = COMON_EVENT_BEFORE_BATTLE #追加
  59.         process_battle_event                                   #追加
  60.       end                                                      #追加
  61.     end                                                        #追加

  62.     process_battle_event
  63.    
  64.     start_party_command_selection
  65.   end
  66. end

  67. #////////////////////////////////////////////////////////////////
  68. #作成者: ehime
  69. #サイト: 未完のダンボール (Mikan no Danboru)
  70. #   URL: http://www.abcoroti.com/~nekoneko/index.html
  71. #readmeやスタッフロールの明記,使用報告は任意.
  72. #////////////////////////////////////////////////////////////////
复制代码

作者: 铃仙·优昙华院·因幡    时间: 2011-5-24 20:03
话说, 可以麻烦大家提供下简单或者详细的使用方法么?
作者: 仲秋启明    时间: 2011-5-24 20:32
我的一个VX无限图层的翻译脚本在地图区被遗忘中…
作者: 61810026    时间: 2011-5-24 20:34
可以的话  稍微添加一点功能介绍
作者: DeathKing    时间: 2011-5-24 22:23
copyright这玩意儿很纠结。

留了几个站点的地址在这里:http://rpg.blue/home.php?mod=spa ... do=blog&id=5532

PocketHouse上有大量的东西啊,可惜域名到期了,晓得现在到哪里去了。
作者: 铃仙·优昙华院·因幡    时间: 2011-5-24 23:03
DeathKing 发表于 2011-5-24 22:23
copyright这玩意儿很纠结。

留了几个站点的地址在这里:http://rpg.blue/home.php?mod=space&uid=116 ...

一堆的日语的话, 看那个使用说明都费劲.

而且就咱一人一个个的去翻译啥的, 工程量... = =
作者: 仲秋启明    时间: 2011-5-29 12:48
【翻译】让VX图层无穷无尽!(BUG已解决
【翻译】IconView
【翻译】练习习得技能2.0b(又名:完善的技能树)
【翻译】改变行走图色调
【翻译】华丽战斗背景(已更新)

这些是我翻译的,质量不高
作者: wsedr    时间: 2011-6-1 17:54
本帖最后由 wsedr 于 2011-6-1 17:59 编辑

好像还没见过有人用
3D迷宫 3d.rar (107.23 KB, 下载次数: 91)
官网ttp://sabakan.cc/rpg/3d.html
用法参考这个范例吧,加上图片素材太大就不传了。
ttp://www.celestialheavens.com/forums/viewtopic.php?t=11239&postdays=0&postorder=asc&start=0




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