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

Project1

 找回密码
 注册会员
搜索
楼主: KKME
打印 上一主题 下一主题

[25 VIP]系统测试:非官方整合脚本0.25(新增AS系统)

 关闭 [复制链接]

Lv1.梦旅人

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
帖子
3551

开拓者贵宾

21
发表于 2007-3-15 05:02:00 | 只看该作者
以下引用KKME于2007-3-14 20:54:48的发言:

商店还没考虑,请问有什么需求?
考虑可以放几个常见的商店(修改状态栏的、真实商店等类似的),版主你也可提自己的想法。

整合的话要考虑到许多方面,比如商店,对话等是一个RPG中最常用的东西。建议在这些地方下点功夫……(个人意见)
商店的话,水区的絮儿版主ms在做一个超华丽的,不过还没做好……等她发布以后可以整合进去
关于商店的一些小细节,下面这几个东西整合进去应该也不错。

商店购买时显示全部能力的变化http://rpg.blue/web/htm/news600.htm
真实商店http://rpg.blue/web/htm/news269.htm
不可卖出的物品不在商店显示http://rpg.blue/web/htm/news431.htm
魔法商店http://rpg.blue/web/htm/news175.htm

这几个都是比较常用的商店类东西,可以考虑整合进去。



刚刚下载工程去看……大惊,居然保留两种战斗模式,赞一下。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2006-2-10
帖子
176
22
发表于 2007-3-15 05:28:14 | 只看该作者
我觉得整合脚本内容不要太广泛,最好是参照某种具体游戏来选择脚本,比如模拟轩辕剑等,还有一个整合脚本既然是给新人用的,那么关键就是简单易用,做好以上两点就一定会有人用这个系统做游戏的。

什么时候有高人能出简单易用的曹操传系统和金庸系统呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

论坛御王核潜艇

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-1-3
帖子
637

冬季迷宫创意大赛冠军

23
发表于 2007-3-15 08:04:45 | 只看该作者
有一些想法,找时间写上.

默默存在,畅游于各水域
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

24
发表于 2007-3-15 19:00:33 | 只看该作者
能不能把A_STORY 战斗模式 和 RTAB整合 做成一个战斗系统。这样又美化了即时战斗,也弥补了默认系统的不足……

另外射程,或者武器设定什么的能不能举个列子在里面?
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

论坛御王核潜艇

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-1-3
帖子
637

冬季迷宫创意大赛冠军

25
发表于 2007-3-16 07:13:19 | 只看该作者
功能菜单: 

     由可供选择的8个选项调整为10个选项.如下图.
         
         
     军团:人物仓库系统.这里提供樱雅.在土的脚本.这个我个人感觉和你的
   系统整合后满豪华的,只要修改部分窗口脚本.(最高人数5人战斗5人待机)
     人物仓库窗口脚本:
     
  1. #============================================================================================
  2. # 本脚本来自www.66RPG.com,转载和使用请保留此信息
  3. #============================================================================================

  4. # ▼▲▼ XRXS26BX. +BUZZデザイン ▼▲▼ built 033109
  5. # by 桜雅 在土

  6. #==============================================================================
  7. # □ 初始化定义
  8. #==============================================================================
  9. class Window_MenuStatus < Window_Selectable
  10.   #
  11.   # 不显示能力值的角色编号
  12.   #
  13.   NO_PARAMETER_ACTORS = []
  14. end
  15. #==============================================================================
  16. # ■ Window_MenuStatus
  17. #==============================================================================
  18. class Window_MenuStatus < Window_Selectable
  19.   #--------------------------------------------------------------------------
  20.   # ○ インクルード
  21.   #--------------------------------------------------------------------------
  22.   include XRXS26
  23.   #--------------------------------------------------------------------------
  24.   # ● 公開インスタンス変数
  25.   #--------------------------------------------------------------------------
  26.   attr_reader   :newitem_window
  27.   attr_reader   :bottomkeyhelp_window
  28.   #--------------------------------------------------------------------------
  29.   # ● オブジェクト初期化
  30.   #--------------------------------------------------------------------------
  31.   alias xrxs26bx_initialize initialize
  32.   def initialize
  33.     # 呼び戻す
  34.     xrxs26bx_initialize
  35.     # 寄生してウィンドウを作成
  36.     # ボトルキーヘルプウィンドウ
  37.     @bottomkeyhelp_window = Window_BottomKeyHelp.new
  38.     @bottomkeyhelp_window.visible = false
  39.     # 設定変更
  40.     self.height   = 448
  41.     self.contents = Bitmap.new(width - 32, height - 32)
  42.     refresh
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● リフレッシュ
  46.   #--------------------------------------------------------------------------
  47.   def refresh
  48.     self.contents.clear
  49.     @item_max = $game_party.actors.size
  50.     @column_max = 2
  51.     y = (FRONT_MEMBER_LIMIT+1)/2 * 64 + 28
  52.     self.contents.font.size = 16
  53.     self.contents.font.color = system_color
  54.     self.contents.draw_text(4, 0, 92, 28, "参与战斗")
  55.     self.contents.draw_text(4, y, 92, 28, "待机人物")
  56.     for i in 0...$game_party.actors.size
  57.       x = 64 + i%2 * 224
  58.       y = i/2 *  72 + 24
  59.       actor = $game_party.actors[i]
  60.       if i >= FRONT_MEMBER_LIMIT
  61.         y += 32
  62.         self.contents.font.color = disabled_color
  63.         self.contents.draw_text(x, y, 120, 32, actor.name)
  64.       else
  65.         draw_actor_name(actor   , x     , y     )
  66.       end
  67.       draw_actor_graphic(actor, x - 40, y + 64)
  68.       unless NO_PARAMETER_ACTORS.include?(actor.id)
  69.         draw_actor_level(actor  , x + 94, y     )
  70.         draw_actor_hp(actor     , x, y + 16)
  71.         draw_actor_sp(actor     , x, y + 32)
  72.         draw_actor_state(actor  , x, y + 48)
  73.       end
  74.     end
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ○ フレーム更新
  78.   #--------------------------------------------------------------------------
  79.   def update
  80.     # ウィンドウを更新
  81.     @bottomkeyhelp_window.update
  82.     super
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ○ 解放
  86.   #--------------------------------------------------------------------------
  87.   def dispose
  88.     @bottomkeyhelp_window.dispose
  89.     super
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● カーソルの矩形更新
  93.   #--------------------------------------------------------------------------
  94.   def update_cursor_rect
  95.     if @index < 0
  96.       self.cursor_rect.empty
  97.     else
  98.       y = @index/2 * 72 + 28
  99.       if @index >= FRONT_MEMBER_LIMIT
  100.         y += 32
  101.       end
  102.       self.cursor_rect.set(@index%2 * 224, y, 224, 72)
  103.     end
  104.   end
  105. end
  106. #==============================================================================
  107. # ■ Scene_Menu
  108. #==============================================================================
  109. class Scene_Menu
  110.   #--------------------------------------------------------------------------
  111.   # ● フレーム更新
  112.   #--------------------------------------------------------------------------
  113.   alias xrxs26bx_update update
  114.   def update
  115.     # 登録
  116.     if @bottomkeyhelp_window.nil?
  117.       @bottomkeyhelp_window = @status_window.bottomkeyhelp_window
  118.       @bottomkeyhelp_window.visible = true
  119.       set_keyhelp1
  120.     end
  121.     # 呼び戻す
  122.     xrxs26bx_update
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
  126.   #--------------------------------------------------------------------------
  127.   alias xrxs26bx_update_command update_command
  128.   def update_command
  129.     # 呼び戻す
  130.     xrxs26bx_update_command
  131.     # 入れ替え移行キーが押されたとき
  132.     if @command_window.index == -1 and @status_window.active
  133.       set_keyhelp2
  134.     end
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● フレーム更新 (ステータスウィンドウがアクティブの場合)
  138.   #--------------------------------------------------------------------------
  139.   alias xrxs26bx_update_status update_status
  140.   def update_status
  141.     # 保存
  142.     last_index = @status_window.index2
  143.     # 呼び戻す
  144.     xrxs26bx_update_status
  145.     #
  146.     if last_index != @status_window.index2
  147.       # 一人目を選択した場合
  148.       if @status_window.index2 >= 0
  149.         set_keyhelp3
  150.       else
  151.         set_keyhelp2
  152.       end
  153.     end
  154.     # 戻った場合
  155.     unless @status_window.active
  156.       set_keyhelp1
  157.     end
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ○ キーヘルプを設定 1
  161.   #--------------------------------------------------------------------------
  162.   def set_keyhelp1
  163.     @bottomkeyhelp_window.clear
  164.     @bottomkeyhelp_window.add("B","关闭本窗口")
  165.     @bottomkeyhelp_window.add("C","确定")
  166.     @bottomkeyhelp_window.add("→","人物顺序调整")
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ○ キーヘルプを設定 2
  170.   #--------------------------------------------------------------------------
  171.   def set_keyhelp2
  172.     @bottomkeyhelp_window.clear
  173.     @bottomkeyhelp_window.add("←,B","返回")
  174.     @bottomkeyhelp_window.add("C","第一个人物确定")
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ○ キーヘルプを設定 3
  178.   #--------------------------------------------------------------------------
  179.   def set_keyhelp3
  180.     @bottomkeyhelp_window.clear
  181.     @bottomkeyhelp_window.add("B","返回")
  182.     @bottomkeyhelp_window.add("C","第二个人物确定")
  183.   end
  184. end



  185. #==============================================================================
  186. # □ Window_BottomKeyHelp
  187. #------------------------------------------------------------------------------
  188. #     画面下で操作説明をする透明なウィンドウです。
  189. #==============================================================================
  190. class Window_BottomKeyHelp < Window_Base
  191.   #--------------------------------------------------------------------------
  192.   # ○ オブジェクト初期化
  193.   #--------------------------------------------------------------------------
  194.   def initialize
  195.     super(0, 432, 640, 64)
  196.     self.contents = Bitmap.new(width - 32, height - 32)
  197.     self.opacity = 0
  198.     clear
  199.   end
  200.   #--------------------------------------------------------------------------
  201.   # ○ クリア
  202.   #--------------------------------------------------------------------------
  203.   def clear
  204.     self.contents.clear
  205.     @now_x = 608
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ○ 追加
  209.   #--------------------------------------------------------------------------
  210.   def add(key, explanation)
  211.     # 計算
  212.     self.contents.font.size = 20
  213.     x  = self.contents.text_size(key).width
  214.     self.contents.font.size = 16
  215.     x += self.contents.text_size(explanation).width + 8
  216.     @now_x -= x
  217.     # 描写
  218.     self.contents.font.size = 20
  219.     self.contents.font.color = system_color
  220.     self.contents.draw_text(@now_x, 0, x, 32, key, 0)
  221.     self.contents.font.size = 16
  222.     self.contents.font.color = normal_color
  223.     self.contents.draw_text(@now_x, 0, x, 32, explanation, 2)
  224.     # 余白
  225.     @now_x -= 32
  226.   end
  227. end

  228. #==============================================================================
  229. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  230. #==============================================================================
复制代码

       人物仓库脚本:
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================  

  4. # ▼▲▼ XRXS26. 人物扩张系统 ver..05 ▼▲▼
  5. # by 桜雅 在土

  6. #==============================================================================
  7. # □ 初始化定义
  8. #==============================================================================
  9. module XRXS26
  10.   FRONT_MEMBER_LIMIT    = 5        # 战斗参战人数最大值
  11.   BACKWARD_MEMBER_LIMIT = 5        # 待机人数最大值
  12.   BACKWARD_EXP_GAINABLE = false     # 待机人物是否获得经验
  13.   MENU_STATUS_STRETCH   = false    # 3人以下的时候,菜单是否拉伸大小
  14. end
  15. #------------------------------------------------------------------------------
  16. # 菜单页面状态
  17. #------------------------------------------------------------------------------
  18. class Window_MenuStatus < Window_Selectable
  19.   # 列数
  20.   COLUMN_MAX = 1
  21.   # 光标高度
  22.   CURSOR_HEIGHT = 96
  23.   # 一行的高度
  24.   LINE_HEIGHT = 116
  25. end
  26. #------------------------------------------------------------------------------
  27. # 菜单场景
  28. #------------------------------------------------------------------------------
  29. class Scene_Menu
  30.   MENU_MEMBER_CHANGE_KEY_GO    = Input::RIGHT # 进入键
  31.   MENU_MEMBER_CHANGE_KEY_END   = Input::LEFT  # 离开键
  32.   MENU_MEMBER_CHANGE_INDEX_MIN = 0            # 可更换角色最小编号
  33.   FORCETOBATTLE_ACTORS         = []           # 不能待机的角色编号
  34.   UMBATTLABLE_ACTORS           = []           # 不能加入战斗的角色编号
  35.   UNMOVABLE_ACTORS             = []           # 不能移动的角色编号
  36. end
  37. #------------------------------------------------------------------------------
  38. #
  39. # 解説
  40. #    Game_Partyの @actors のうち先頭から↑FRONT_MEMBER_LIMIT番目までのアクターを
  41. #   戦闘メンバーとして、それ以上を待機メンバーとして扱います。
  42. #
  43. #==============================================================================
  44. # ■ Game_Party
  45. #==============================================================================
  46. class Game_Party
  47.   #--------------------------------------------------------------------------
  48.   # ○ インクルード
  49.   #--------------------------------------------------------------------------
  50.   include XRXS26
  51.   #--------------------------------------------------------------------------
  52.   # ○ 公開インスタンス変数
  53.   #--------------------------------------------------------------------------
  54.   attr_reader   :backword_actors          # 待機アクター
  55.   #--------------------------------------------------------------------------
  56.   # ● オブジェクト初期化
  57.   #--------------------------------------------------------------------------
  58.   alias xrxs26_initialize initialize
  59.   def initialize
  60.     xrxs26_initialize
  61.     # 待機メンバー配列を初期化
  62.     @backword_actors = []
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● アクターを加える
  66.   #--------------------------------------------------------------------------
  67.   def add_actor(actor_id)
  68.     # アクターを取得
  69.     actor = $game_actors[actor_id]
  70.     # このアクターがパーティにいない場合
  71.     if not @actors.include?(actor)
  72.       # 満員でないならメンバーに追加
  73.       if @actors.size < (FRONT_MEMBER_LIMIT + BACKWARD_MEMBER_LIMIT)
  74.         # アクターを追加
  75.         @actors.push(actor)
  76.         # プレイヤーをリフレッシュ
  77.         $game_player.refresh
  78.       end
  79.     end
  80.   end
  81. end
  82. #==============================================================================
  83. # ■ Spriteset_Battle
  84. #==============================================================================
  85. class Spriteset_Battle
  86.   #--------------------------------------------------------------------------
  87.   # ● インクルード
  88.   #--------------------------------------------------------------------------
  89.   include XRXS26
  90.   #--------------------------------------------------------------------------
  91.   # ● フレーム更新
  92.   #--------------------------------------------------------------------------
  93.   alias xrxs26_initialize initialize
  94.   def initialize
  95.     xrxs26_initialize
  96.     #
  97.     # 以下、五人目以降のアクタースプライトの追加処理---
  98.     #
  99.     # アクターが表示されるビューポートを、とりあえず先頭の人から取得しとく(素
  100.     actor_viewport = @actor_sprites[0].viewport
  101.     # 戦闘参加メンバーが5人以上の場合
  102.     if FRONT_MEMBER_LIMIT > 4
  103.       for i in 5..FRONT_MEMBER_LIMIT
  104.         # アクタースプライトを追加
  105.         @actor_sprites.push(Sprite_Battler.new(actor_viewport))
  106.         @actor_sprites[i-1].battler = $game_party.actors[i-1]
  107.       end
  108.     end
  109.     # ビューポートを更新
  110.     actor_viewport.update
  111.   end
  112. end
  113. #==============================================================================
  114. # ■ Scene_Battle
  115. #==============================================================================
  116. class Scene_Battle
  117.   #--------------------------------------------------------------------------
  118.   # ● インクルード
  119.   #--------------------------------------------------------------------------
  120.   include XRXS26
  121.   #--------------------------------------------------------------------------
  122.   # ● メイン処理 をパーティメンバー処理ではさむ
  123.   #--------------------------------------------------------------------------
  124.   alias xrxs26_main main
  125.   def main
  126.     # 待機メンバーへ退避----------
  127.     $game_party.backword_actors[0,0] = $game_party.actors[FRONT_MEMBER_LIMIT, BACKWARD_MEMBER_LIMIT]
  128.     $game_party.actors[FRONT_MEMBER_LIMIT, BACKWARD_MEMBER_LIMIT] = nil
  129.     $game_party.actors.compact!
  130.     # メイン処理
  131.     xrxs26_main
  132.     # 待機メンバーから復帰
  133.     $game_party.actors[$game_party.actors.size,0] = $game_party.backword_actors
  134.     $game_party.backword_actors.clear
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● アフターバトルフェーズ開始
  138.   #--------------------------------------------------------------------------
  139.   alias xrxs26_start_phase5 start_phase5
  140.   def start_phase5
  141.     # 「待機メンバー経験値獲得」が有効 and 待機アクターが一人以上いる
  142.     if BACKWARD_EXP_GAINABLE and $game_party.backword_actors.size >= 1
  143.       # 待機メンバーから復帰
  144.       $game_party.actors[$game_party.actors.size,0] = $game_party.backword_actors
  145.       $game_party.backword_actors.clear
  146.       # 呼び戻す
  147.       xrxs26_start_phase5
  148.       # 待機メンバーへ退避----------
  149.       $game_party.backword_actors[0,0] = $game_party.actors[FRONT_MEMBER_LIMIT, BACKWARD_MEMBER_LIMIT]
  150.       $game_party.actors[FRONT_MEMBER_LIMIT, BACKWARD_MEMBER_LIMIT] = nil
  151.       $game_party.actors.compact!
  152.     else
  153.       # 呼び戻す
  154.       xrxs26_start_phase5
  155.     end
  156.   end
  157. end
  158. # ▽△▽ XRXL 4. 第二カーソル 機構 ▽△▽
  159. # by 桜雅 在土

  160. #==============================================================================
  161. # --- XRXS. 第二カーソル 機構 ---
  162. #------------------------------------------------------------------------------
  163. #     ウィンドウに .index2 プロパティを追加します。
  164. #==============================================================================
  165. module XRXS_Cursor2
  166.   #--------------------------------------------------------------------------
  167.   # ● オブジェクト初期化
  168.   #--------------------------------------------------------------------------
  169.   def initialize(x, y, w, h)
  170.     super(x, y, h, w)
  171.     # 補助ウィンドウ(透明)を作成:カーソル専用
  172.     @xrxsc2_window = Window_Selectable.new(self.x, self.y, self.width, self.height)
  173.     @xrxsc2_window.opacity = 0
  174.     @xrxsc2_window.active = false
  175.     @xrxsc2_window.index = -1
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ○ 第二カーソルの設置
  179.   #--------------------------------------------------------------------------
  180.   def index2
  181.     return @xrxsc2_window.index
  182.   end
  183.   def index2=(index)
  184.     @xrxsc2_window.index = index
  185.     if index == -1
  186.       @xrxsc2_window.cursor_rect.empty
  187.     else
  188.       @xrxsc2_window.x = self.x
  189.       @xrxsc2_window.y = self.y
  190.       @xrxsc2_window.cursor_rect = self.cursor_rect
  191.     end
  192.   end
  193.   #--------------------------------------------------------------------------
  194.   # ○ 先頭の行の設定
  195.   #--------------------------------------------------------------------------
  196.   def top_row=(row)
  197.     super
  198.     # 補助ウィンドウの oy を更新
  199.     pre_oy = @xrxsc2_window.oy
  200.     @xrxsc2_window.oy = self.oy
  201.     @xrxsc2_window.cursor_rect.y -= self.oy - pre_oy
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # ○ 解放
  205.   #--------------------------------------------------------------------------
  206.   def dispose
  207.     @xrxsc2_window.dispose
  208.     super
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ○ X, Y 座標
  212.   #--------------------------------------------------------------------------
  213.   def x=(n)
  214.     super
  215.     @xrxsc2_window.x = self.x unless @xrxsc2_window.nil?
  216.   end
  217.   def y=(n)
  218.     super
  219.     @xrxsc2_window.y = self.y unless @xrxsc2_window.nil?
  220.   end
  221. end
  222. # ▼▲▼ XRXS26AX. +入れ替えメニュー ver.2 ▼▲▼ built 081113
  223. # by 桜雅 在土

  224. #==============================================================================
  225. # ■ Window_MenuStatus
  226. #==============================================================================
  227. class Window_MenuStatus < Window_Selectable
  228.   #--------------------------------------------------------------------------
  229.   # ○ インクルード
  230.   #--------------------------------------------------------------------------
  231.   include XRXS26
  232.   include XRXS_Cursor2
  233.   #--------------------------------------------------------------------------
  234.   # ● 公開インスタンス変数
  235.   #--------------------------------------------------------------------------
  236.   attr_reader   :column_max             # 列数
  237.   #--------------------------------------------------------------------------
  238.   # ● オブジェクト初期化
  239.   #--------------------------------------------------------------------------
  240.   def initialize
  241.     h = 480
  242.     if MENU_STATUS_STRETCH
  243.       h = FRONT_MEMBER_LIMIT * 116 + 16
  244.     end
  245.     super(0, 0, 480, h)
  246.     h = ($game_party.actors.size - 1) * LINE_HEIGHT + CURSOR_HEIGHT
  247.     self.contents = Bitmap.new(width - 32, h)
  248.     refresh
  249.     self.active = false
  250.     self.index = -1
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ○ 1 ページに表示できる行数の取得
  254.   #--------------------------------------------------------------------------
  255.   def page_row_max
  256.     if MENU_STATUS_STRETCH
  257.       return FRONT_MEMBER_LIMIT          # 戦闘パーティ最大数
  258.     else
  259.       return [FRONT_MEMBER_LIMIT, 4].max # 戦闘パーティ最大数(最低4)
  260.     end
  261.   end
  262.   #--------------------------------------------------------------------------
  263.   # ○ 先頭の行の取得
  264.   #--------------------------------------------------------------------------
  265.   def top_row
  266.     # ウィンドウ内容の転送元 Y 座標を、1 行の高さ LINE_HEIGHT で割る
  267.     return self.oy / LINE_HEIGHT
  268.   end
  269.   #--------------------------------------------------------------------------
  270.   # ○ 先頭の行の設定
  271.   #--------------------------------------------------------------------------
  272.   def top_row=(row)
  273.     super
  274.     self.oy = self.oy/32 * LINE_HEIGHT
  275.   end
  276.   #--------------------------------------------------------------------------
  277.   # ● カーソルの矩形更新
  278.   #--------------------------------------------------------------------------
  279.   def update_cursor_rect
  280.     super
  281.     unless @index < 0
  282.       y = (self.cursor_rect.y + self.oy) * LINE_HEIGHT/32 - self.oy
  283.       self.cursor_rect.set(0, y, self.cursor_rect.width, CURSOR_HEIGHT)
  284.     end
  285.   end
  286. end
  287. #==============================================================================
  288. # ■ Scene_Menu
  289. #==============================================================================
  290. class Scene_Menu
  291.   #--------------------------------------------------------------------------
  292.   # ○ インクルード
  293.   #--------------------------------------------------------------------------
  294.   include XRXS26
  295.   #--------------------------------------------------------------------------
  296.   # ● フレーム更新
  297.   #--------------------------------------------------------------------------
  298.   alias xrxs26ax_update update
  299.   def update
  300.     # インデックスを保存
  301.     @status_index = @status_window.index
  302.     # 呼び戻す
  303.     xrxs26ax_update
  304.   end
  305.   #--------------------------------------------------------------------------
  306.   # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
  307.   #--------------------------------------------------------------------------
  308.   alias xrxs26ax_update_command update_command
  309.   def update_command
  310.     # 呼び戻す
  311.     xrxs26ax_update_command
  312.     # 入れ替え移行キーが押されたとき、@command_window.indexが設定値以上
  313.     if Input.trigger?(MENU_MEMBER_CHANGE_KEY_GO) and
  314.        @command_window.index >= MENU_MEMBER_CHANGE_INDEX_MIN
  315.       # 決定 SE を演奏
  316.       $game_system.se_play($data_system.decision_se)
  317.       # カーソル位置を記憶
  318.       @command_index_before_menu_member_change = @command_window.index
  319.       # 入れ替えウィンドウへ移行
  320.       @command_window.active = false
  321.       @command_window.index = -1
  322.       @status_window.active = true
  323.       @status_window.index = 0
  324.     end
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # ● フレーム更新 (ステータスウィンドウがアクティブの場合)
  328.   #--------------------------------------------------------------------------
  329.   alias xrxs26ax_update_status update_status
  330.   def update_status
  331.     # 呼び戻す
  332.     if @command_window.index != -1
  333.       xrxs26ax_update_status
  334.       return
  335.     end
  336.     # B ボタンか入れ替え終了キーが押されたとき
  337.     if ((Input.trigger?(Input::B) or Input.trigger?(MENU_MEMBER_CHANGE_KEY_END)) and
  338.         @status_window.index2 == -1 and
  339.         @status_index%@status_window.column_max == 0)
  340.       # キャンセル SE を演奏
  341.       $game_system.se_play($data_system.cancel_se)
  342.       # コマンドウィンドウをアクティブにする
  343.       @command_window.active = true
  344.       @command_window.index = 0
  345.       @status_window.active = false
  346.       @status_window.index = -1
  347.       return
  348.     end
  349.     # B ボタンが押されたとき
  350.     if Input.trigger?(Input::B) and @status_window.index2 >= 0
  351.       @status_window.index = @status_window.index2
  352.       @status_window.index2 = -1
  353.       return
  354.     end
  355.     # 決定キーが押されたとき
  356.     if Input.trigger?(Input::C)
  357.       if @status_window.index2 == -1
  358.         if UNMOVABLE_ACTORS.include?($game_party.actors[@status_window.index].id)
  359.           # ブザー SE を演奏
  360.           $game_system.se_play($data_system.buzzer_se)
  361.           return
  362.         end
  363.         # 決定 SE を演奏
  364.         $game_system.se_play($data_system.decision_se)
  365.         # メンバーの入れ替え一人目の決定
  366.         @status_window.index2 = @status_window.index
  367.       else
  368.         if UNMOVABLE_ACTORS.include?($game_party.actors[@status_window.index].id)
  369.           # ブザー SE を演奏
  370.           $game_system.se_play($data_system.buzzer_se)
  371.           return
  372.         end
  373.         # どちらかが戦闘メンバー かつ どちらかが戦闘禁止アクター の場合
  374.         if (@status_window.index < FRONT_MEMBER_LIMIT or
  375.             @status_window.index2 < FRONT_MEMBER_LIMIT) and
  376.            (UMBATTLABLE_ACTORS.include?($game_party.actors[@status_window.index].id) or
  377.             UMBATTLABLE_ACTORS.include?($game_party.actors[@status_window.index2].id))
  378.           # ブザー SE を演奏
  379.           $game_system.se_play($data_system.buzzer_se)
  380.           return
  381.         end
  382.         # どちらかが待機メンバー かつ どちらかが待機禁止アクター の場合
  383.         if (@status_window.index >= FRONT_MEMBER_LIMIT or
  384.             @status_window.index2 >= FRONT_MEMBER_LIMIT) and
  385.            (FORCETOBATTLE_ACTORS.include?($game_party.actors[@status_window.index].id) or
  386.             FORCETOBATTLE_ACTORS.include?($game_party.actors[@status_window.index2].id))
  387.           # ブザー SE を演奏
  388.           $game_system.se_play($data_system.buzzer_se)
  389.           return
  390.         end
  391.         # 決定 SE を演奏
  392.         $game_system.se_play($data_system.decision_se)
  393.         # メンバーの入れ替え二人目の決定と入れ替えの実行
  394.         actor2 = $game_party.actors[@status_window.index]
  395.         actor = $game_party.actors[@status_window.index2]
  396.         $game_party.actors[@status_window.index2] = actor2
  397.         $game_party.actors[@status_window.index] = actor
  398.         @status_window.index = @status_window.index2
  399.         @status_window.index2 = -1
  400.         # プレイヤーをリフレッシュ
  401.         $game_player.refresh
  402.         # ステータスウィンドウをリフレッシュ
  403.         @status_window.refresh
  404.       end
  405.       return
  406.     end
  407.   end
  408. end


复制代码

   物品和技能: 在扩容了队伍的前提下,为了使玩家对后面的待机队员也能使用物品和技能,建议把任务选择的菜单做一个换页的设计.如下图可以往右边拉.


   状态:同上,做个右拉的功能拓展,可以看到待机人员的状态.
   队列:如果把人物仓库整合进去就可以包含队列的排序功能,对于想制作让队伍
      里的第几号人物离队这种设定的制作者很有用.
   加点\任务都不改动了
   存档\读档\合成也不改动
   
调用和通用部分
   这块我觉得在整合系统里面不用考虑,最好的是考虑加入脚本与你的整合系统的兼容性.在调用和通用这块你的脚本如果能最大限度的兼容插件,那么将更受欢迎.我觉得这个由使用的人自己添加比较合适,开发者只考虑兼容比较ok.

战斗系统
       强烈建议添加超级横版战斗系统进去.


------------------------------------

此贴完全是建议贴.
默默存在,畅游于各水域
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-10-22
帖子
1350

贵宾第2届TG大赛亚军第1届短篇游戏比赛季军

26
发表于 2007-3-16 15:33:27 | 只看该作者
以下引用风雪优游于2007-3-15 11:00:33的发言:

能不能把A_STORY 战斗模式 和 RTAB整合 做成一个战斗系统。这样又美化了即时战斗,也弥补了默认系统的不足……

我赞成,不过难度上……
此情可待成追忆,只是当时已惘然。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

27
发表于 2007-3-16 19:12:44 | 只看该作者
以下引用KKME于2007-3-14 20:46:14的发言:

这个系统可能不是给有如此强大自制能力的各位使用的。小生是看这个网站几乎已经没有人记得新人的感受了,才斗胆尝试做一份给新人的东西。小生自己也只是一个新手而已,从改脚本学起的。

大家还记得看完那个新人录像之后不知道到哪里去找录像上提到的东西,找到之后发现难用得要死,不知该怎么继续——这时候的感觉吗?


另附一句稍微有些不客气的话:说实话,小生比较希望有曾做过2个以上正统RPG的作者给一些建议(有中篇左右的剧情、有战斗甚至由于剧情需要不满足于默认战斗系统、非R剧、非休闲游戏)。因为脚本好不好、技术实用不实用、做RPG过程需要什么,在RM新手、RPG作者和其他作者之间,可能看法完全不同。

比如美兽说的黑暗探索系统,这个系统固然不错,但小生真不知哪位RM作者会使用这个系统,并能运用在做出的游戏中。


[本贴由作者于 2007-3-14 20:53:17 最后编辑]


那是因为缺乏与黑暗探索整合相配套的系统,例如随机地图,ARPG战斗,若能将三者整合在一起,根据需要开关其功能,再比如就现在主站所拥有的战斗系统,叶子的SLG,ARPG,普通战斗,这三者不存在本质的冲突, 我相信这些能够整合肯定会有人使用,就如同最初少人问津的魔塔系统,自从出现整合式的魔塔样本,游戏多了已经不敢再下载玩了……

至于多样战斗系统共存不存在大的冲突问题,整合成一个战斗系统才存在难度问题。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-11-1
帖子
91
28
 楼主| 发表于 2007-3-17 01:17:18 | 只看该作者
感谢各位支持,现在多少有一些目标了。不过小生想先用这个系统复刻一个游戏,试试功能如何……

请版主帮忙转移

3VIP -> 叶舞枫,关于商店方面的建议,虽然这几个之间的效果小生个人认为还不够满意……

4VIP -> 沉默的米饭团,关于人物仓库方面的建议。不过小生一来不太喜欢你提供的脚本,二来十项内容过多了(8项对于大多数游戏已经偏多,对于最传统的游戏,标准应该是7项)。但是人物仓库的界面可能会参考吧。

3VIP -> 美兽,感谢关于ARPG、SLG的提议。其中ARPG部分如果能提供脚本最好,因为小生不知哪个版本比较好,站上的似乎很多都是事件版本的。叶子的SLG是“阿尔西斯战记 v0.5”这个吗?




回答几个帖子:


以下引用oksh于2007-3-14 21:28:14的发言:

我觉得整合脚本内容不要太广泛,最好是参照某种具体游戏来选择脚本,比如模拟轩辕剑等,还有一个整合脚本既然是给新人用的,那么关键就是简单易用,做好以上两点就一定会有人用这个系统做游戏的。

什么时候有高人能出简单易用的曹操传系统和金庸系统呢?


这个个性化的东西,模拟轩辕剑,站上有了。小生个人认为用了那个系统后,作者容易变成走商业素材路线,这是小生不想看到的。具体原因略。

以下引用风雪优游于2007-3-15 11:00:33的发言:

能不能把A_STORY 战斗模式 和 RTAB整合 做成一个战斗系统。这样又美化了即时战斗,也弥补了默认系统的不足……

另外射程,或者武器设定什么的能不能举个列子在里面?


这俩战斗效果放在一起?非常简单。

例子方面,我希望能有谁提供一个超短篇剧本,按照剧本走比较容易。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
帖子
3551

开拓者贵宾

29
发表于 2007-3-17 02:48:30 | 只看该作者
以下引用KKME于2007-3-16 17:17:18的发言:

感谢各位支持,现在多少有一些目标了。不过小生想先用这个系统复刻一个游戏,试试功能如何……

请版主帮忙转移:

3VIP -> 叶舞枫,关于商店方面的建议,虽然这几个之间的效果小生个人认为还不够满意……

4VIP -> 沉默的米饭团,关于人物仓库方面的建议。不过小生一来不太喜欢你提供的脚本,二来十项内容过多了(8项对于大多数游戏已经偏多,对于最传统的游戏,标准应该是7项)。但是人物仓库的界面可能会参考吧。

3VIP -> 美兽,感谢关于ARPG、SLG的提议。其中ARPG部分如果能提供脚本最好,因为小生不知哪个版本比较好,站上的似乎很多都是事件版本的。叶子的SLG是“阿尔西斯战记 v0.5”这个吗?

给我的我就不转了,
转移操作:4VIP -> 沉默的米饭团 3VIP -> 美兽 操作完毕{/dy}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-22
帖子
505
30
发表于 2007-3-22 02:58:05 | 只看该作者
菜单里怎么没有显示所持金和游戏时间一类的东东?

这个整合脚本很强啊,强烈支持!

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 02:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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