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

Project1

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

求个高手帮我合这两个脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
11
发表于 2009-6-6 18:34:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
12
发表于 2009-6-6 18:41:24 | 只看该作者
万事有规有矩才有体统,大家都热爱RPG,你到论坛来想得到帮助,或想和别人交流,这点我们支持,但是如果你违反版规,破坏论坛秩序,我们就没必要帮你了,况且你如此出言不逊。

急于制作游戏也不能肆意妄为,一个不遵守规矩的人是不能向别人索取什么的。你都发了20个帖子了,还不知道如何遵守版规,何其悲哀。

LZ若下次还想有求于人,就请注意言辞,遵守版规。
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv3.寻梦者

永久的旅行者

梦石
1
星屑
110
在线时间
404 小时
注册时间
2006-12-13
帖子
3091

开拓者贵宾第3届短篇游戏大赛主流游戏组季军第5届短篇游戏比赛季军

13
发表于 2009-6-6 19:44:05 | 只看该作者
改是改好了,但是对任何副作用不负责,也没有售后服务。
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. class Scene_Battle
  5.   #--------------------------------------------------------------------------
  6.   # ● 设置物品或特技对像方的战斗者
  7.   #     scope : 特技或者是物品的范围
  8.   #--------------------------------------------------------------------------
  9.   def set_target_battlers(scope)
  10.     # 行动方的战斗者是敌人的情况下
  11.     if @active_battler.is_a?(Game_Enemy)
  12.       # 效果范围分支
  13.       case scope
  14.       when 1  # 敌单体
  15.         index = @active_battler.current_action.target_index
  16.         @target_battlers.push($game_party.smooth_target_actor(index))
  17.       when 2  # 敌全体
  18.         for actor in 0...[$game_party.actors.size,4].min
  19.           if $game_party.actors[actor].exist?
  20.             @target_battlers.push($game_party.actors[actor])
  21.           end
  22.         end
  23.       when 3  # 我方单体
  24.         index = @active_battler.current_action.target_index
  25.         @target_battlers.push($game_troop.smooth_target_enemy(index))
  26.       when 4  # 我方全体
  27.         for enemy in $game_troop.enemies
  28.           if enemy.exist?
  29.             @target_battlers.push(enemy)
  30.           end
  31.         end
  32.       when 5  # 我方单体 (HP 0)
  33.         index = @active_battler.current_action.target_index
  34.         enemy = $game_troop.enemies[index]
  35.         if enemy != nil and enemy.hp0?
  36.           @target_battlers.push(enemy)
  37.         end
  38.       when 6  # 我方全体 (HP 0)
  39.         for enemy in $game_troop.enemies
  40.           if enemy != nil and enemy.hp0?
  41.             @target_battlers.push(enemy)
  42.           end
  43.         end
  44.       when 7  # 使用者
  45.         @target_battlers.push(@active_battler)
  46.       end
  47.     end
  48.     # 行动方的战斗者是角色的情况下
  49.     if @active_battler.is_a?(Game_Actor)
  50.       # 效果范围分支
  51.       case scope
  52.       when 1  # 敌单体
  53.         index = @active_battler.current_action.target_index
  54.         @target_battlers.push($game_troop.smooth_target_enemy(index))
  55.       when 2  # 敌全体
  56.         for enemy in $game_troop.enemies
  57.           if enemy.exist?
  58.             @target_battlers.push(enemy)
  59.           end
  60.         end
  61.       when 3  # 我方单体
  62.         index = @active_battler.current_action.target_index
  63.         @target_battlers.push($game_party.smooth_target_actor(index))
  64.       when 4  # 我方全体
  65.         for actor in 0...[$game_party.actors.size,4].min
  66.           if $game_party.actors[actor].exist?
  67.             @target_battlers.push($game_party.actors[actor])
  68.           end
  69.         end
  70.       when 5  # 我方单体 (HP 0)
  71.         index = @active_battler.current_action.target_index
  72.         actor = $game_party.actors[index]
  73.         if actor != nil and actor.hp0?
  74.           @target_battlers.push(actor)
  75.         end
  76.       when 6  # 我方全体 (HP 0)
  77.         for actor in 0...[$game_party.actors.size,4].min
  78.           if $game_party.actors[actor] != nil and $game_party.actors[actor].hp0?
  79.             @target_battlers.push($game_party.actors[actor])
  80.           end
  81.         end
  82.       when 7  # 使用者
  83.         @target_battlers.push(@active_battler)
  84.       end
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 生成行动循序
  89.   #--------------------------------------------------------------------------
  90.   def make_action_orders
  91.     # 初始化序列 @action_battlers
  92.     @action_battlers = []
  93.     # 添加敌人到 @action_battlers 序列
  94.     for enemy in $game_troop.enemies
  95.       @action_battlers.push(enemy)
  96.     end
  97.     # 添加角色到 @action_battlers 序列
  98.     for actor in 0...[$game_party.actors.size,4].min
  99.       @action_battlers.push($game_party.actors[actor])
  100.     end
  101.     # 确定全体的行动速度
  102.     for battler in @action_battlers
  103.       battler.make_action_speed
  104.     end
  105.     # 按照行动速度从大到小排列
  106.     @action_battlers.sort! {|a,b|
  107.       b.current_action.speed - a.current_action.speed }
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 开始结束战斗回合
  111.   #--------------------------------------------------------------------------
  112.   def start_phase5
  113.     # 转移到回合 5
  114.     @phase = 5
  115.     # 演奏战斗结束 ME
  116.     $game_system.me_play($game_system.battle_end_me)
  117.     # 还原为战斗开始前的 BGM
  118.     $game_system.bgm_play($game_temp.map_bgm)
  119.     # 初始化 EXP、金钱、宝物
  120.     exp = 0
  121.     gold = 0
  122.     treasures = []
  123.     # 循环
  124.     for enemy in $game_troop.enemies
  125.       # 敌人不是隐藏状态的情况下
  126.       unless enemy.hidden
  127.         # 获得 EXP、增加金钱
  128.         exp += enemy.exp
  129.         gold += enemy.gold
  130.         # 出现宝物判定
  131.         if rand(100) < enemy.treasure_prob
  132.           if enemy.item_id > 0
  133.             treasures.push($data_items[enemy.item_id])
  134.           end
  135.           if enemy.weapon_id > 0
  136.             treasures.push($data_weapons[enemy.weapon_id])
  137.           end
  138.           if enemy.armor_id > 0
  139.             treasures.push($data_armors[enemy.armor_id])
  140.           end
  141.         end
  142.       end
  143.     end
  144.     # 限制宝物数为 6 个
  145.     treasures = treasures[0..5]
  146.     # 获得 EXP
  147.     for i in 0...[$game_party.actors.size,4].min
  148.       actor = $game_party.actors[i]
  149.       if actor.cant_get_exp? == false
  150.         last_level = actor.level
  151.         actor.exp += exp
  152.         if actor.level > last_level
  153.           @status_window.level_up(i)
  154.         end
  155.       end
  156.     end
  157.     # 获得金钱
  158.     $game_party.gain_gold(gold)
  159.     # 获得宝物
  160.     for item in treasures
  161.       case item
  162.       when RPG::Item
  163.         $game_party.gain_item(item.id, 1)
  164.       when RPG::Weapon
  165.         $game_party.gain_weapon(item.id, 1)
  166.       when RPG::Armor
  167.         $game_party.gain_armor(item.id, 1)
  168.       end
  169.     end
  170.     # 生成战斗结果窗口
  171.     @result_window = Window_BattleResult.new(exp, gold, treasures)
  172.     # 设置等待计数
  173.     @phase5_wait_count = 100
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 转到输入下一个角色的命令
  177.   #--------------------------------------------------------------------------
  178.   def phase3_next_actor
  179.     # 循环
  180.     begin
  181.       # 角色的明灭效果 OFF
  182.       if @active_battler != nil
  183.         @active_battler.blink = false
  184.       end
  185.       # 最后的角色的情况
  186.       if @actor_index == [$game_party.actors.size-1,3].min
  187.         # 开始主回合
  188.         start_phase4
  189.         return
  190.       end
  191.       # 推进角色索引
  192.       @actor_index += 1
  193.       @active_battler = $game_party.actors[@actor_index]
  194.       @active_battler.blink = true
  195.     # 如果角色是在无法接受指令的状态就再试
  196.     end until @active_battler.inputable?
  197.     # 设置角色的命令窗口
  198.     phase3_setup_command_window
  199.   end
  200. end

  201. class Arrow_Actor < Arrow_Base
  202.   #--------------------------------------------------------------------------
  203.   # ● 刷新画面
  204.   #--------------------------------------------------------------------------
  205.   def update
  206.     super
  207.     # 光标右
  208.     if Input.repeat?(Input::RIGHT)
  209.       $game_system.se_play($data_system.cursor_se)
  210.       @index += 1
  211.       @index %= [$game_party.actors.size,4].min
  212.     end
  213.     # 光标左
  214.     if Input.repeat?(Input::LEFT)
  215.       $game_system.se_play($data_system.cursor_se)
  216.       @index += $game_party.actors.size - 1
  217.       @index %= [$game_party.actors.size,4].min
  218.     end
  219.     # 设置活动块坐标
  220.     if self.actor != nil
  221.       self.x = self.actor.screen_x
  222.       self.y = self.actor.screen_y
  223.     end
  224.   end
  225. end

  226. #==============================================================================
  227. # ■ Window_Target
  228. #------------------------------------------------------------------------------
  229. #  物品画面与特技画面的、使用对像角色选择窗口。
  230. #==============================================================================

  231. class Window_Target < Window_Selectable
  232. #--------------------------------------------------------------------------
  233. # ● 初始化对像
  234. #--------------------------------------------------------------------------
  235. def initialize
  236.    super(0, 0, 336, 480)
  237.    self.contents = Bitmap.new(width - 32, $game_party.actors.size*112)
  238.    self.z += 10
  239.    @item_max = $game_party.actors.size
  240.    @top_row = 0
  241.    refresh
  242. end
  243. #--------------------------------------------------------------------------
  244. # ● 刷新
  245. #--------------------------------------------------------------------------
  246. def refresh
  247.    self.contents.clear
  248.    for i in 0...$game_party.actors.size
  249.      x = 4
  250.      y = i * 112
  251.      actor = $game_party.actors[i]
  252.      draw_actor_name(actor, x, y)
  253.      draw_actor_class(actor, x + 144, y)
  254.      draw_actor_level(actor, x + 8, y + 32)
  255.      draw_actor_state(actor, x + 8, y + 64)
  256.      draw_actor_hp(actor, x + 152, y + 32)
  257.      draw_actor_sp(actor, x + 152, y + 64)
  258.    end
  259. end
  260. #--------------------------------------------------------------------------
  261. # ● 刷新光标矩形
  262. #--------------------------------------------------------------------------
  263. def update_cursor_rect   
  264.    # 光标位置 -1 为全选、-2 以下为单独选择 (使用者自身)
  265.    if @index <= -2
  266.      self.cursor_rect.set(0, (@index + 10) * 112, self.width - 32, 96)
  267.    elsif @index == -1
  268.      self.cursor_rect.set(0, 0, self.width - 32, @item_max * 112 - 20)
  269.    else
  270.      tpy = @index * 112 - self.oy
  271.      self.cursor_rect.set(0, tpy, self.width - 32, 96)
  272.      if @index < @top_row
  273.        @top_row = @index
  274.        self.oy = @top_row *112
  275.      end
  276.      if @index > @top_row+3
  277.        @top_row = @index-3
  278.        self.oy = @top_row *112
  279.      end
  280.    end   
  281. end
  282. end
  283. ###############################################################################
  284. #==============================================================================
  285. # Game_System
  286. #------------------------------------------------------------------------------
  287. # 添加内容
  288. #==============================================================================
  289. class Game_System
  290.   attr_accessor :mission #现在执行的任务
  291.   attr_accessor :partmission
  292.   alias carol3_ini initialize
  293.   def initialize
  294.     carol3_ini
  295.     @mission = ""
  296.     @partmission = []
  297.   end
  298. end
  299. #==============================================================================
  300. # ■ Scene_Title
  301. #------------------------------------------------------------------------------
  302. #  处理标题画面的类。
  303. #==============================================================================
  304. class Scene_Title
  305.   alias carol3_title1 main
  306.   def main
  307.     $map_infos = load_data("Data/MapInfos.rxdata")
  308.     for key in $map_infos.keys
  309.       $map_infos[key] = $map_infos[key].name
  310.     end
  311.     $任务 = ""
  312.     $支线 = nil
  313.     $支线完成 = nil
  314.     carol3_title1
  315.   end
  316. end
  317. class Scene_Map
  318.   alias carol3_update update
  319.   def update
  320.     carol3_update
  321.     if $支线 != nil
  322.       for i in 0...$game_system.partmission.size
  323.         if $game_system.partmission[i] == $支线
  324.           $支线 = nil
  325.           break
  326.         end
  327.       end
  328.       if $支线 != nil
  329.         $game_system.partmission.push($支线)
  330.         $支线 = nil
  331.       end
  332.     end
  333.     if $支线完成 != nil
  334.       for i in 0...$game_system.partmission.size
  335.         if $game_system.partmission[i] == $支线完成
  336.           $game_system.partmission.delete($game_system.partmission[i])
  337.           break
  338.         end
  339.       end
  340.       $支线完成 = nil
  341.     end
  342.   end
  343. end
  344. #==============================================================================
  345. # Window_MenuStatus
  346. #------------------------------------------------------------------------------
  347. # 显示菜单画面和同伴状态的窗口。
  348. #==============================================================================
  349. class Window_MenuStatus < Window_Selectable
  350.   #--------------------------------------------------------------------------
  351.   # ● 初始化目标
  352.   #--------------------------------------------------------------------------
  353.   def initialize
  354.     super(0, 0, 480, 384)
  355.     self.contents = Bitmap.new(width - 32,  $game_party.actors.size*90-5)
  356.     refresh
  357.     @top_row = 0
  358.     self.active = false
  359.     self.index = -1
  360.     @position = 0
  361.     @count = 0
  362.     @oldposition = 0
  363.     refresh
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ● 刷新
  367.   #--------------------------------------------------------------------------
  368.   def refresh
  369.     self.contents.clear
  370.     @item_max = $game_party.actors.size
  371.     for i in 0...$game_party.actors.size
  372.       x = 64
  373.       y = i * 90
  374.       if i <=3
  375.         self.contents.font.color = Color.new(255,255,0,255)
  376.         self.contents.draw_text(x,y,340,32,"[出战]",2)
  377.         self.contents.font.color = normal_color
  378.       else
  379.         self.contents.font.color = Color.new(128,128,128,255)
  380.         self.contents.draw_text(x,y,340,32,"[待机]",2)
  381.         self.contents.font.color = normal_color
  382.       end     
  383.       actor = $game_party.actors[i]
  384.       draw_actor_graphic(actor, x - 40, y + 50)
  385.       draw_actor_name(actor, x, y)
  386.       draw_actor_class(actor, x + 144, y)
  387.       draw_actor_level(actor, x, y + 25)
  388.       draw_actor_state(actor, x + 90, y + 25)
  389.       draw_actor_exp(actor, x, y + 50)
  390.       draw_actor_hp(actor, x + 236, y + 25)
  391.       draw_actor_sp(actor, x + 236, y + 50)
  392.     end
  393.   end
  394.   #--------------------------------------------------------------------------
  395.   # ● 绘制行走图
  396.   #--------------------------------------------------------------------------
  397.   def draw_actor_active_graphic(actor, x, y)
  398.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  399.     cw = bitmap.width / 4
  400.     ch = bitmap.height / 4
  401.     p = @position * cw
  402.     src_rect = Rect.new(p, 0, cw, ch)
  403.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  404.   end
  405.   #--------------------------------------------------------------------------
  406.   # ● 刷新光标矩形
  407.   #--------------------------------------------------------------------------
  408.     def update_cursor_rect
  409.     if @index < 0
  410.       self.cursor_rect.empty
  411.     else
  412.       tpy = @index * 90-5 - self.oy
  413.       self.cursor_rect.set(0, tpy , self.width - 32, 90)
  414.       if @index < @top_row
  415.         @top_row = @index
  416.         self.oy = @top_row *90-5
  417.       end
  418.       if @index > @top_row+3
  419.         @top_row = @index-3
  420.         self.oy = @top_row *90-5
  421.       end
  422.     end
  423.   end
  424. end
  425. class Game_Party
  426.   #--------------------------------------------------------------------------
  427.   # ● 全灭判定
  428.   #--------------------------------------------------------------------------
  429.   def all_dead?
  430.     # 同伴人数为 0 的情况下
  431.     if $game_party.actors.size == 0
  432.       return false
  433.     end
  434.     # 同伴中无人 HP 在 0 以上
  435.     for i in 0..3
  436.       if @actors[i] != nil and@actors[i].hp >0
  437.         return false
  438.       end
  439.     end
  440.     # 全灭
  441.     return true
  442.   end
  443.   #--------------------------------------------------------------------------
  444.   # ● 加入同伴
  445.   #     actor_id : 角色 ID
  446.   #--------------------------------------------------------------------------
  447.   def add_actor(actor_id)
  448.     # 获取角色
  449.     actor = $game_actors[actor_id]
  450.     # 同伴人数未满 4 人、本角色不在队伍中的情况下
  451.     if not @actors.include?(actor)
  452.       # 添加角色
  453.       @actors.push(actor)
  454.       # 还原主角
  455.       $game_player.refresh
  456.     end
  457.   end
  458. end
  459. #==============================================================================
  460. # ■ Game_Map
  461. #------------------------------------------------------------------------------
  462. #  处理地图的类。包含卷动以及可以通行的判断功能。
  463. # 本类的实例请参考 $game_map 。
  464. #==============================================================================
  465. class Game_Map
  466.   def name
  467.     return $map_infos[@map_id]
  468.   end
  469. end
  470. #==============================================================================
  471. # Window_RecordBook
  472. #------------------------------------------------------------------------------
  473. # 菜单界面表示信息的窗口
  474. #==============================================================================
  475. class Window_RecordBook < Window_Base
  476.   #--------------------------------------------------------------------------
  477.   # ● 初始化对象
  478.   #--------------------------------------------------------------------------
  479.   def initialize
  480.     super(160, 384, 480, 480)
  481.     self.contents = Bitmap.new(width - 32, height - 32)
  482.     if $任务 == ""
  483.       $任务 = $game_system.mission
  484.     else
  485.       $game_system.mission = $任务
  486.     end
  487.     refresh
  488.   end
  489.   #--------------------------------------------------------------------------
  490.   # ● 刷新画面
  491.   #--------------------------------------------------------------------------
  492.   def refresh
  493.     self.contents.clear
  494.     self.contents.font.color = system_color
  495.     self.contents.font.size = 20
  496.     cx = self.contents.text_size("现在地点").width + 24
  497.     self.contents.draw_text(4, 0, cx, 24, "现在地点")
  498.     self.contents.font.color = normal_color
  499.     self.contents.draw_text(4 + cx, 0, 444 - cx, 24, $game_map.name.to_s)
  500.     self.contents.font.color = system_color
  501.     cx = self.contents.text_size("主线任务").width + 24
  502.     self.contents.draw_text(4, 32, cx, 24, "主线任务")
  503.     self.contents.font.color = Color.new(240,250,75,255)
  504.     self.contents.draw_text(4 + cx, 32, 444 - cx, 24, $game_system.mission.to_s)
  505.     self.contents.font.color = system_color
  506.     cx = self.contents.text_size("支线任务").width + 24
  507.     self.contents.draw_text(4, 96, cx, 24, "支线任务")
  508.     self.contents.font.color = normal_color
  509.     for i in 0...$game_system.partmission.size
  510.       self.contents.draw_text(4 + cx, 96 + i * 32, 444 - cx, 24, $game_system.partmission[i].to_s)
  511.     end
  512.   end
  513. end
  514. #==============================================================================
  515. # ■ Scene_Menu
  516. #------------------------------------------------------------------------------
  517. #  处理菜单画面的类。
  518. #==============================================================================
  519. class Scene_Menu
  520.   #--------------------------------------------------------------------------
  521.   # ● 初始化对像
  522.   # menu_index : 命令光标的初期位置
  523.   #--------------------------------------------------------------------------
  524.   def initialize(menu_index = 0)
  525.     @menu_index = menu_index
  526.     @切换状态暂停 = ""
  527.   end
  528.   #--------------------------------------------------------------------------
  529.   # ● 主处理
  530.   #--------------------------------------------------------------------------
  531.   def main
  532.     # 生成命令窗口
  533.     s1 = " 使用物品"#$data_system.words.item
  534.     s2 = " 使用技能"#$data_system.words.skill
  535.     s3 = " 更改装备"#$data_system.words.equip
  536.     s4 = " 查看状态"
  537.     s5 = " 储存游戏"
  538.     s6 = " 结束游戏"
  539.     s7 = " 调整队伍"
  540.     s8 = " 查看任务"
  541.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
  542.     @command_window.index = @menu_index
  543.     # 同伴人数为 0 的情况下
  544.     if $game_party.actors.size == 0
  545.       # 物品、特技、装备、状态无效化
  546.       @command_window.disable_item(0)
  547.       @command_window.disable_item(1)
  548.       @command_window.disable_item(2)
  549.       @command_window.disable_item(3)
  550.     end
  551.     # 禁止存档的情况下
  552.     if $game_system.save_disabled
  553.       # 存档无效
  554.       @command_window.disable_item(4)
  555.     end
  556.     # 生成游戏时间窗口
  557.     @playtime_window = Window_PlayTime.new
  558.     @playtime_window.x = 0
  559.     @playtime_window.y = 288
  560.     # 生成金钱窗口
  561.     @gold_window = Window_Gold.new
  562.     @gold_window.x = 0
  563.     @gold_window.y = 416
  564.     # 生成状态窗口
  565.     @status_window = Window_MenuStatus.new
  566.     @status_window.x = 160
  567.     @status_window.y = 0
  568.     #—— 生成天书窗口
  569.     @recordbook_window = Window_RecordBook.new
  570.     @recordbook_window.z = 1000
  571.     #—— 生成外边框窗口
  572.     @outside_window = Window_Outside.new
  573.     @outside_window.visible = true
  574.     @outside_window.z = 1001
  575.     # 执行过渡
  576.     Graphics.transition
  577.     # 主循环
  578.     loop do
  579.       # 刷新游戏画面
  580.       Graphics.update
  581.       # 刷新输入信息
  582.       Input.update
  583.       # 刷新画面
  584.       update
  585.       # 如果切换画面就中断循环
  586.       if $scene != self
  587.         break
  588.       end
  589.     end
  590.     # 准备过渡
  591.     Graphics.freeze
  592.     # 释放窗口
  593.     @command_window.dispose
  594.     @playtime_window.dispose
  595.     @gold_window.dispose
  596.     @status_window.dispose
  597.     @outside_window.dispose
  598.     @recordbook_window.dispose
  599.   end
  600.   #--------------------------------------------------------------------------
  601.   # ● 刷新画面
  602.   #--------------------------------------------------------------------------
  603.   def update
  604.     # 刷新窗口
  605.     @command_window.update
  606.     @playtime_window.update
  607.     @gold_window.update
  608.     @status_window.update
  609.     # 命令窗口被激活的情况下: 调用 update_command
  610.     if @command_window.active
  611.       update_command
  612.       return
  613.     end
  614.     # 状态窗口被激活的情况下: 调用 update_status
  615.     if @status_window.active
  616.       update_status
  617.       return
  618.     end
  619.     if @outside_window.visible == false
  620.       update_recordbook
  621.       return
  622.     end
  623.   end
  624.   #--------------------------------------------------------------------------
  625.   # ● 刷新画面 (命令窗口被激活的情况下)
  626.   #--------------------------------------------------------------------------
  627.   def update_command
  628.     # 按下 B 键的情况下
  629.     if Input.trigger?(Input::B)
  630.       # 演奏取消 SE
  631.       $game_system.se_play($data_system.cancel_se)
  632.       # 切换的地图画面
  633.       $scene = Scene_Map.new
  634.       return
  635.     end
  636.     # 按下 C 键的情况下
  637.     if Input.trigger?(Input::C)
  638.       # 同伴人数为 0、存档、游戏结束以外的场合
  639.       if $game_party.actors.size == 0 and @command_window.index < 4
  640.         # 演奏冻结 SE
  641.         $game_system.se_play($data_system.buzzer_se)
  642.         return
  643.       end
  644.       # 命令窗口的光标位置分支
  645.       case @command_window.index
  646.       when 0 # 物品
  647.         # 演奏确定 SE
  648.         $game_system.se_play($data_system.decision_se)
  649.         # 切换到物品画面
  650.         $scene = Scene_Item.new
  651.       when 1 # 特技
  652.         # 演奏确定 SE
  653.         $game_system.se_play($data_system.decision_se)
  654.         # 激活状态窗口
  655.         @command_window.active = false
  656.         @status_window.active = true
  657.         @status_window.index = 0
  658.       when 2 # 装备
  659.         # 演奏确定 SE
  660.         $game_system.se_play($data_system.decision_se)
  661.         # 激活状态窗口
  662.         @command_window.active = false
  663.         @status_window.active = true
  664.         @status_window.index = 0
  665.       when 3 # 状态
  666.         # 演奏确定 SE
  667.         $game_system.se_play($data_system.decision_se)
  668.         # 激活状态窗口
  669.         @command_window.active = false
  670.         @status_window.active = true
  671.         @status_window.index = 0
  672.       when 4 # 存档
  673.         # 禁止存档的情况下
  674.         if $game_system.save_disabled
  675.           # 演奏冻结 SE
  676.           $game_system.se_play($data_system.buzzer_se)
  677.           return
  678.         end
  679.         # 演奏确定 SE
  680.         $game_system.se_play($data_system.decision_se)
  681.         # 切换到存档画面
  682.         $scene = Scene_Save.new
  683.       when 5 # 游戏结束
  684.         # 演奏确定 SE
  685.         $game_system.se_play($data_system.decision_se)
  686.         # 切换到游戏结束画面
  687.         $scene = Scene_End.new
  688.       when 6
  689.         $game_system.se_play($data_system.decision_se)
  690.         @checker = 0
  691.         @command_window.active = false
  692.         @status_window.active = true
  693.         @status_window.index = 0
  694.       when 7 # 查看任务
  695.         # 演奏确定 SE
  696.         $game_system.se_play($data_system.decision_se)
  697.         @command_window.active = false
  698.         @outside_window.visible = false
  699.       end
  700.       return
  701.     end
  702.   end
  703.   #--------------------------------------------------------------------------
  704.   # ● 刷新画面 (查看天书的情况下)
  705.   #--------------------------------------------------------------------------
  706.   def update_recordbook
  707.     if @切换状态暂停 == "天书消失"
  708.       if @recordbook_window.y < 384
  709.         @recordbook_window.y +=64
  710.         @status_window.y -= 16
  711.         return
  712.       else
  713.         @切换状态暂停 = ""
  714.         @outside_window.visible = true
  715.         @command_window.active = true
  716.       end
  717.     else
  718.       if @recordbook_window.y >0
  719.         @recordbook_window.y -= 32
  720.         @status_window.y += 8
  721.         return
  722.       else
  723.         @status_window.visible = false
  724.         if Input.trigger?(Input::B)
  725.           @切换状态暂停 = "天书消失"
  726.           $game_system.se_play($data_system.cancel_se)
  727.           @status_window.visible = true
  728.           return
  729.         end
  730.       end
  731.     end
  732.   end
  733.   #--------------------------------------------------------------------------
  734.   # ● 刷新画面 (状态窗口被激活的情况下)
  735.   #--------------------------------------------------------------------------
  736.   def update_status
  737.     # 按下 B 键的情况下
  738.     if Input.trigger?(Input::B)
  739.       # 演奏取消 SE
  740.       $game_system.se_play($data_system.cancel_se)
  741.       # 激活命令窗口
  742.       @command_window.active = true
  743.       @status_window.active = false
  744.       @status_window.index = -1
  745.       return
  746.     end
  747.     # 按下 C 键的情况下
  748.     if Input.trigger?(Input::C)
  749.       # 命令窗口的光标位置分支
  750.       case @command_window.index
  751.       when 1 # 特技
  752.         # 本角色的行动限制在 2 以上的情况下
  753.         if $game_party.actors[@status_window.index].restriction >= 2
  754.           # 演奏冻结 SE
  755.           $game_system.se_play($data_system.buzzer_se)
  756.           return
  757.         end
  758.         # 演奏确定 SE
  759.         $game_system.se_play($data_system.decision_se)
  760.         # 切换到特技画面
  761.         $scene = Scene_Skill.new(@status_window.index)
  762.       when 2 # 装备
  763.         # 演奏确定 SE
  764.         $game_system.se_play($data_system.decision_se)
  765.         # 切换的装备画面
  766.         $scene = Scene_Equip.new(@status_window.index)
  767.       when 3 # 状态
  768.         # 演奏确定 SE
  769.         $game_system.se_play($data_system.decision_se)
  770.         # 切换到状态画面
  771.         $scene = Scene_Status.new(@status_window.index)
  772.       when 6
  773.         $game_system.se_play($data_system.decision_se)
  774.         if @checker == 0
  775.           @changer = $game_party.actors[@status_window.index]
  776.           @where = @status_window.index
  777.           @checker = 1
  778.         else
  779.           $game_party.actors[@where] = $game_party.actors[@status_window.index]
  780.           $game_party.actors[@status_window.index] = @changer
  781.           @checker = 0
  782.           @status_window.refresh
  783.         end
  784.       end
  785.       return
  786.     end
  787.   end
  788. end

  789. #==============================================================================
  790. # Window_Outside
  791. #------------------------------------------------------------------------------
  792. # 外边框窗口
  793. #==============================================================================
  794. class Window_Outside < Window_Base
  795.   #--------------------------------------------------------------------------
  796.   # ● 初始化对象
  797.   #--------------------------------------------------------------------------
  798.   def initialize
  799.     super(160, 384, 480, 96)
  800.     self.back_opacity = 0
  801.   end
  802. end
  803. #==============================================================================
  804. # ■ Window_PlayTime
  805. #------------------------------------------------------------------------------
  806. # 菜单画面的系统时间表示
  807. #==============================================================================
  808. class Window_PlayTime < Window_Base
  809.   #--------------------------------------------------------------------------
  810.   # ● 初始化对像
  811.   #--------------------------------------------------------------------------
  812.   def initialize
  813.     super(0, 0, 160, 128)
  814.     self.contents = Bitmap.new(width - 32, height - 32)
  815.     self.contents.font.size = 18
  816.     refresh
  817.   end
  818.   #--------------------------------------------------------------------------
  819.   # ● 刷新
  820.   #--------------------------------------------------------------------------
  821.   def refresh
  822.     self.contents.clear
  823.     self.contents.font.color = system_color
  824.     self.contents.font.color = text_color(6)
  825.     time = Time.now
  826.     text = time.strftime("%x %X")
  827.     self.contents.draw_text(-2, 32, 130, 32, text, 2)
  828.     @total_sec = Graphics.frame_count / Graphics.frame_rate
  829.     hour = @total_sec / 60 / 60
  830.     min = @total_sec / 60 % 60
  831.     sec = @total_sec % 60
  832.     text = sprintf("%02d:%02d:%02d", hour, min, sec)
  833.     self.contents.font.color = normal_color
  834.     self.contents.draw_text(4, 0, 160, 32, "日期与游戏时间")
  835.     self.contents.draw_text(-2, 64, 130, 32, text, 2)
  836.   end
  837.   #--------------------------------------------------------------------------
  838.   # ● 更新
  839.   #--------------------------------------------------------------------------
  840.   def update
  841.     super
  842.     if Graphics.frame_count / Graphics.frame_rate != @total_sec
  843.       refresh
  844.     end
  845.   end
  846. end



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


要继续开辩论会的话请各位到水区或开水区开帖继续...
谢谢合作。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-3-14
帖子
177
14
 楼主| 发表于 2009-6-7 15:47:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2008-4-16
帖子
128
15
发表于 2009-6-8 07:27:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 15:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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