Project1

标题: 显示及时消息,怎么做 [打印本页]

作者: 恶魔般的天使    时间: 2013-5-27 18:15
标题: 显示及时消息,怎么做
情况是这样的,我想做一个角色在地图中增长多少经验了,然后右边就显示得到多少经验。透明框的那种,记住,不是显示得失经验脚本。而且地图上显示及时获得经验物品等的及时消息
作者: 芯☆淡茹水    时间: 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html


作者: 恶魔般的天使    时间: 2013-5-30 08:54
芯☆淡茹水 发表于 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html


作者: 恶魔般的天使    时间: 2013-5-30 23:17
芯☆淡茹水 发表于 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html

帅哥,你的这个脚本能单独给我改下吗?因为和我的这个脚本有冲突。当插入你的脚本后,我的这个脚本就失效了。。。


我的脚本内容如下
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    $Lt = Viewport.new(1,450,455,40)
    $Lt.color.set(255,255,0,0)
    $Lt.z = 1500
    $Ltf = Type_Field.new($Lt,"",16)
    # 生成活动块
    @spriteset = Spriteset_Map.new
    # 生成信息窗口
    @message_window = Window_Message.new
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放活动块
    @spriteset.dispose
    # 释放信息窗口
    @message_window.dispose
    $Lt.dispose
    $Ltf.dispose
    #★--------------------------------------
    # 标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出画面
      Graphics.transition
      Graphics.freeze
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update  
    #中文聊天★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    #-----------------------输入法-----------------------------
    # 输入状态修改
    if !@message_window.visible and Kboard.keyboard($R_Key_ENTER)
       $game_temp.chat_enabled = true
       # 文字输入响应
      if $Ltf.active
        $game_temp.chat_active = false
        if ($聊天 = $Ltf.get_text) != ""
          if !$network.check_chat_commands($聊天.to_s)
          $network.command_chat($聊天.to_s)
          end
          $Ltf.clear
          $Ltf.active = false
        else
          $Ltf.clear
          $Ltf.active = false
          return
        end
      else
        $Ltf.clear
        $Ltf.active = true
        $game_temp.chat_calling = true
        return
      end
    end
    # 输入窗口刷新
    $Ltf.update
    #★-----------------------------------
    # 循环
    loop do
      # 按照地图、实例、主角的顺序刷新
      # (本更新顺序不会在满足事件的执行条件下成为给予角色瞬间移动
      #  的机会的重要因素)
      $game_map.update
      $game_system.map_interpreter.update
      $game_player.update
      # 系统 (计时器)、画面刷新
      $game_system.update
      $game_screen.update
      # 如果主角在场所移动中就中断循环
      unless $game_temp.player_transferring
        break
      end
      # 执行场所移动
      transfer_player
      # 处理过渡中的情况下、中断循环
      if $game_temp.transition_processing
        break
      end
    end
    # 刷新活动块
    @spriteset.update
    # 刷新信息窗口
    @message_window.update
    # 游戏结束的情况下
    if $game_temp.gameover
      # 切换的游戏结束画面
      $scene = Scene_Gameover.new
      return
    end
    # 返回标题画面的情况下
    if $game_temp.to_title
      # 切换到标题画面
      $scene = Scene_Title.new
      return
    end
    # 处理过渡中的情况下
    if $game_temp.transition_processing
      # 清除过渡处理中标志
      $game_temp.transition_processing = false
      # 执行过渡
      if $game_temp.transition_name == ""
        Graphics.transition(20)
      else
        Graphics.transition(40, "Graphics/Transitions/" +
          $game_temp.transition_name)
      end
    end
    # 显示信息窗口中的情况下
    if $game_temp.message_window_showing
      return
    end
    # 遇敌计数为 0 且、且遇敌列表不为空的情况下
    if $game_player.encounter_count == 0 and $game_map.encounter_list != []
      # 不是在事件执行中或者禁止遇敌中
      unless $game_system.map_interpreter.running? or
             $game_system.encounter_disabled
        # 确定队伍
        n = rand($game_map.encounter_list.size)
        troop_id = $game_map.encounter_list[n]
        # 队伍有效的话
        if $data_troops[troop_id] != nil
          # 设置调用战斗标志
          $game_temp.battle_calling = true
          $game_temp.battle_troop_id = troop_id
          $game_temp.battle_can_escape = true
          $game_temp.battle_can_lose = false
          $game_temp.battle_proc = nil
        end
      end
    end
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 不是在事件执行中或菜单禁止中
      unless $game_system.map_interpreter.running? or
             $game_system.menu_disabled
        # 设置菜单调用标志以及 SE 演奏
        $game_temp.menu_calling = true
        $game_temp.menu_beep = true
      end
    end
    # 调试模式为 ON 并且按下 F9 键的情况下
    if $DEBUG and Input.press?(Input::F9)
      # 设置调用调试标志
      $game_temp.debug_calling = true
    end
    # 不在主角移动中的情况下
    unless $game_player.moving?
      # 执行各种画面的调用
      if $game_temp.battle_calling
        call_battle
      elsif $game_temp.shop_calling
        call_shop
      elsif $game_temp.name_calling
        call_name
      elsif $game_temp.menu_calling
        call_menu
      elsif $game_temp.save_calling
        call_save
      elsif $game_temp.debug_calling
        call_debug
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 调用战斗
  #--------------------------------------------------------------------------
  def call_battle
    # 清除战斗调用标志
    $game_temp.battle_calling = false
    # 清除菜单调用标志
    $game_temp.menu_calling = false
    $game_temp.menu_beep = false
    # 生成遇敌计数
    $game_player.make_encounter_count
    # 记忆地图 BGM 、停止 BGM
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    # 演奏战斗开始 SE
    $game_system.se_play($data_system.battle_start_se)
    # 演奏战斗 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 矫正主角姿势
    $game_player.straighten
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end
  #--------------------------------------------------------------------------
  # ● 调用商店
  #--------------------------------------------------------------------------
  def call_shop
    # 清除商店调用标志
    $game_temp.shop_calling = false
    # 矫正主角姿势
    $game_player.straighten
    # 切换到商店画面
    $scene = Scene_Shop.new
  end
  #--------------------------------------------------------------------------
  # ● 调用名称输入
  #--------------------------------------------------------------------------
  def call_name
    # 清除调用名称输入标志
    $game_temp.name_calling = false
    # 矫正主角姿势
    $game_player.straighten
    # 切换到名称输入画面
    $scene = Scene_Name.new
  end
  #--------------------------------------------------------------------------
  # ● 调用菜单
  #--------------------------------------------------------------------------
  def call_menu
    # 清除菜单调用标志
    $game_temp.menu_calling = false
    # 已经设置了菜单 SE 演奏标志的情况下
    if $game_temp.menu_beep
      # 演奏确定 SE
      $game_system.se_play($data_system.decision_se)
      # 清除菜单演奏 SE 标志
      $game_temp.menu_beep = false
    end
    # 矫正主角姿势
    $game_player.straighten
    # 切换到菜单画面
    $scene = Scene_Menu.new
  end
  #--------------------------------------------------------------------------
  # ● 调用存档
  #--------------------------------------------------------------------------
  def call_save
    # 矫正主角姿势
    $game_player.straighten
    # 切换到存档画面
    $scene = Scene_Save.new
  end
  #--------------------------------------------------------------------------
  # ● 调用调试
  #--------------------------------------------------------------------------
  def call_debug
    # 清除调用调试标志
    $game_temp.debug_calling = false
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 矫正主角姿势
    $game_player.straighten
    # 切换到调试画面
    $scene = Scene_Debug.new
  end
  #--------------------------------------------------------------------------
  # ● 主角的场所移动
  #--------------------------------------------------------------------------
  def transfer_player
    # 清除主角场所移动调试标志
    $game_temp.player_transferring = false
    # 移动目标与现在的地图有差异的情况下
    if $game_map.map_id != $game_temp.player_new_map_id
      # 设置新地图
      $game_map.setup($game_temp.player_new_map_id)
    end
    # 设置主角位置
    $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
    # 设置主角朝向
    case $game_temp.player_new_direction
    when 2  # 下
      $game_player.turn_down
    when 4  # 左
      $game_player.turn_left
    when 6  # 右
      $game_player.turn_right
    when 8  # 上
      $game_player.turn_up
    end
    # 矫正主角姿势
    $game_player.straighten
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 在生成活动块
    @spriteset.dispose
    @spriteset = Spriteset_Map.new
    # 处理过渡中的情况下
    if $game_temp.transition_processing
      # 清除过渡处理中标志
      $game_temp.transition_processing = false
      # 执行过渡
      Graphics.transition(20)
    end
    # 执行地图设置的 BGM、BGS 的自动切换
    $game_map.autoplay
    # 设置画面
    Graphics.frame_reset
    # 刷新输入信息
    Input.update
  end
end




作者: 恶魔般的天使    时间: 2013-5-31 07:14
芯☆淡茹水 发表于 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html

框哪部分呢?是出错的部分吗?没有出错,完全是插入后我的聊天脚本就失效了。聊天脚本我已经给帅哥列出来了。当你的脚本在我聊天脚本后面时候,我的聊天脚本就恢复功能了,但帅哥的这个脚本又会失效。所以?应该是某些地方冲突了。
作者: 恶魔般的天使    时间: 2013-5-31 09:23
芯☆淡茹水 发表于 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html

帅哥,还在吗?那个我不太会用脚本框。
我就在别人的帖子里回复搞实验看怎么用。
结果竟然有好心人帮我修复弄好了。把我那脚本给我加上脚本框了
帅哥你去看看吧
传送门是http://rpg.blue/forum.php?mod=viewthread&tid=235599

不知道这样满足你要的要求了吗?
等会回复我还是回复我这个帖子哦
不然我找不到了呢
作者: 恶魔般的天使    时间: 2013-6-10 11:21
芯☆淡茹水 发表于 2013-5-30 04:17
刚搞出来的,还不完善。
传送门:
http://rpg.blue/thread-313434-1-1.html

帅哥………你答应我的事情。。。到现在你都消失了……




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