设为首页收藏本站

仙剑之十里坡

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7270|回复: 20
打印 上一主题 下一主题

关于脚本的问题

[复制链接]

64

主题

2

听众

1990

积分

仗剑行侠

会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    跳转到指定楼层
    1
    发表于 2011-2-10 23:05:37 |只看该作者 |倒序浏览
    我是用的小雨的模版,可是发现如果素材(行走图)特别多的话,人物就只显示半个身子,对此解决办法用PS把图片搞大也是可以解决的,但如果素材很多岂不是要累死?所以我找了个脚本放了进去,可是开启的一瞬间我发现那些半个都变整了,一瞬间过去以后出来个框框,问过很多人,很多人表示不知道
    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    转播转播0 分享淘帖0 分享分享0 收藏收藏0

    64

    主题

    2

    听众

    1990

    积分

    仗剑行侠

    会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    2
    发表于 2011-2-10 23:06:57 |只看该作者
    319行是   name = character.name
    南宫表示放进去绝对冲突
    回复

    使用道具 举报

    64

    主题

    2

    听众

    1990

    积分

    仗剑行侠

    会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    3
    发表于 2011-2-10 23:12:20 |只看该作者
    #==============================================================================
    # 本脚本来自www.66RPG.com,使用和转载请保留此信息
    #$game_map.events[1].name = ""
    #==============================================================================
    ###########################################################################################################################
    ###########################################################################################################################
    # 脚本功能:八方向走与多帧移动之图片修正__ver1.1。

    # 更新日期:2005年8月6日

    # 更新内容:增加斜方向触发,增加斜方向面向角色(1步之内)

    # 使用方法:将本脚本插入到main之前。如果你使用了雅土版的八方向走脚本,请确保这个脚本的顺序位置,在雅土八方向走脚本的后面。

    # 预先处理:请输入每一步的帧数和总共可用的方向数

    $c3_每一步的帧数 = 4
    $c3_总共可用的方向数 = 4 #——建议不要修改这个。如果要伪8方向的,就用伪的好了。

    # 图片处理与功能说明:

    # 1、每一步的帧数:
    #    众所周知,RMXP的移动行走图是一个方向共有4帧,很多人都觉得这个帧数有点少。
    # 使用这个脚本之后,只要将 $c3_每一步的帧数 这个变量设置一个需要的帧数即可修改
    # 单方向移动帧数为相应输入值。修改后,需要用photoshop将所有用到的素材的横排
    # 调整为相应帧数,比如输入了8则要将每一行设置8个图像(即每一个行走图有8列)。

    # 2、可用方向调整(可用数量:4、8):
    #    当为4方向时没有任何变化,还是一个图4行,上左右下4个方向。
    #    如果想使用8方向走,将需要八方向行走的行走图在延伸扩大的画布中按照左下、右下、左上、右上继续排布图像。
    # 即,行走图图片从上到下的面向排列顺序为:下,左,右,上,左下,右下,左上,右上。
    #    至于不需要8方向走的普通的NPC(character),使用photoshop将画布向下扩大一倍即可使用。
    #    需要注意的是,如果需要斜方向飞鸟,请不要忘记自制素材。

    # 特别提示:   
    #     使用本脚本前请先考虑清楚是否要做这种效果。因为使用本脚本后需要用photoshop处理character行走图素材
    # 虽然这种处理用photoshop定义动作只需要5分钟即可全部完成,但在制作阶段会感觉不是很爽(具体的用了才知道)
    # 作者的建议是,如果你没有足够的制作经验,使用这个脚本得不偿失。请确保自己的能力属于“高手”级别!

    # 附赠功能:
    #     可以让NPC角色随机8方向走,方法是:NPC角色移动路线为“自定义”,然后自定义里面使用脚本,输入c8即可
    #     可以让NPC角色随机4斜角方向走,方法是:NPC角色移动路线为“自定义”,然后自定义里面使用脚本,输入c4即可
    #     可以使用真·斜4方向行走,参考脚本53行开始
    # 作者:carol3
    ###########################################################################################################################
    ###########################################################################################################################
    #==============================================================================
    # ■ Game_Event
    #------------------------------------------------------------------------------
    #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
    # 在 Game_Map 类的内部使用。
    #==============================================================================
    class Game_Event < Game_Character
    #——————————————————————————————————————
    # 用来返回名称
    回复

    使用道具 举报

    64

    主题

    2

    听众

    1990

    积分

    仗剑行侠

    会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    4
    发表于 2011-2-10 23:13:00 |只看该作者
    #——————————————————————————————————————
    def name
       return @event.name
    end  
    def name=(newname)
       @event.name = newname
    end
    end





    class Game_Player < Game_Character
      TIME_LIMIT = 20
      def update
        last_moving = moving?
        unless moving? or $game_system.map_interpreter.running? or
               @move_route_forcing or $game_temp.message_window_showing
          # 用井号后面的东西替代前面的,就可以实现斜4方向走
          case Input.dir8
          when 2
            if $game_switches[2]
              move_down
            else
              move_lower_left
            end            
          when 4
            if $game_switches[2]
              move_left
            else
              move_upper_left
            end
          when 6
            if $game_switches[2]
              move_right
            else
              move_lower_right
            end
          when 8
            if $game_switches[2]
              move_up
            else
              move_upper_right        
            end
          when 1
            move_lower_left
          when 3
            move_lower_right
          when 7
            move_upper_left
          when 9
            move_upper_right
          end
        end
        # 本地变量记忆坐标
        last_real_x = @real_x
        last_real_y = @real_y
        super
        # 角色向下移动、画面上的位置在中央下方的情况下
        if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
          # 画面向下卷动
          $game_map.scroll_down(@real_y - last_real_y)
        end
        # 角色向左移动、画面上的位置在中央左方的情况下
        if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
          # 画面向左卷动
          $game_map.scroll_left(last_real_x - @real_x)
        end
        # 角色向右移动、画面上的位置在中央右方的情况下
        if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
          # 画面向右卷动
          $game_map.scroll_right(@real_x - last_real_x)
        end
        # 角色向上移动、画面上的位置在中央上方的情况下
        if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
          # 画面向上卷动
          $game_map.scroll_up(last_real_y - @real_y)
        end
        # 不在移动中的情况下
        unless moving?
          # 上次主角移动中的情况
          if last_moving
            # 与同位置的事件接触就判定为事件启动
            result = check_event_trigger_here([1,2])
            # 没有可以启动的事件的情况下
            if result == false
              # 调试模式为 ON 并且按下 CTRL 键的情况下除外
              unless $DEBUG and Input.press?(Input::CTRL)
                # 遇敌计数下降
                if @encounter_count > 0
                  @encounter_count -= 1
                end
              end
            end
          end
          # 按下 C 键的情况下
          if Input.trigger?(Input::C)
            # 判定为同位置以及正面的事件启动
            check_event_trigger_here([0])
            check_event_trigger_there([0,1,2])
          end
        end
      end
      #--------------------------------------------------------------------------
      # ● 正面事件的启动判定
      #--------------------------------------------------------------------------
      def check_event_trigger_there(triggers)
        result = false
        # 事件执行中的情况下
        if $game_system.map_interpreter.running?
          return result
        end
        # 计算正面坐标
        new_x = @x
        new_y = @y
        case @direction
       when 1
          new_x -= 1
          new_y += 1
        when 2
          new_y += 1
        when 3
          new_x += 1
          new_y += 1
        when 4
          new_x -= 1
        when 6
          new_x += 1
        when 7
          new_x -= 1
          new_y -= 1
        when 8
          new_y -= 1
        when 9
          new_x += 1
          new_y -= 1
        end
        # 全部事件的循环
        for event in $game_map.events.values
          # 事件坐标与目标一致的情况下
          if event.x == new_x and event.y == new_y and
             triggers.include?(event.trigger)
            # 跳跃中以外的情况下、启动判定是正面的事件
            if not event.jumping? and not event.over_trigger?
              event.start
              result = true
            end
          end
        end
    回复

    使用道具 举报

    64

    主题

    2

    听众

    1990

    积分

    仗剑行侠

    会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    5
    发表于 2011-2-10 23:13:19 |只看该作者
    # 找不到符合条件的事件的情况下
        if result == false
          # 正面的元件是计数器的情况下
          if $game_map.counter?(new_x, new_y)
            # 计算 1 元件里侧的坐标
            new_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
            new_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
            # 全事件的循环
            for event in $game_map.events.values
              # 事件坐标与目标一致的情况下
              if event.x == new_x and event.y == new_y and
                 triggers.include?(event.trigger)
                # 跳跃中以外的情况下、启动判定是正面的事件
                if not event.jumping? and not event.over_trigger?
                  event.start
                  result = true
                end
              end
            end
          end
        end
        return result
      end
      #--------------------------------------------------------------------------
      # ● 向左下移动
      #--------------------------------------------------------------------------
      def move_lower_left
        # 没有固定面向的场合
        unless @direction_fix
          # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
          @direction = 3#(@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
        end
        # 下→左、左→下 的通道可以通行的情况下
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
          # 更新坐标
          @x -= 1
          @y += 1
          # 增加步数
          increase_steps
        else
          check_event_trigger_touch(@x-1, @y+1)
        end
      end
      #--------------------------------------------------------------------------
      # ● 向右下移动
      #--------------------------------------------------------------------------
      def move_lower_right
        # 没有固定面向的场合
        unless @direction_fix
          # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
          @direction = 9#(@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
        end
        # 下→右、右→下 的通道可以通行的情况下
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
          # 更新坐标
          @x += 1
          @y += 1
          # 增加步数
          increase_steps
        else
          check_event_trigger_touch(@x+1, @y+1)
        end
      end
      #--------------------------------------------------------------------------
      # ● 向左上移动
      #--------------------------------------------------------------------------
      def move_upper_left
        # 没有固定面向的场合
        unless @direction_fix
          # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
          @direction = 7#(@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
        end
        # 上→左、左→上 的通道可以通行的情况下
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
          # 更新坐标
          @x -= 1
          @y -= 1
          # 增加步数
          increase_steps
        else
          check_event_trigger_touch(@x-1, @y-1)
        end
      end
      #--------------------------------------------------------------------------
      # ● 向右上移动
      #--------------------------------------------------------------------------
      def move_upper_right
        # 没有固定面向的场合
        unless @direction_fix
          # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
          @direction = 1#(@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
        end
        # 上→右、右→上 的通道可以通行的情况下
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
          # 更新坐标
          @x += 1
          @y -= 1
          # 增加步数
          increase_steps
        else
          check_event_trigger_touch(@x+1, @y-1)
        end
      end
    end


    class Sprite_Character < RPG::Sprite
        attr_accessor :character                # 角色
       def initialize(viewport, character = nil)
       name = character.name
      super(viewport)
       @character = character
       @namesprite = Sprite.new
       @namesprite.bitmap = Bitmap.new(160, 48)
       @namesprite.bitmap.font.name = "黑体"
       @namesprite.bitmap.font.size = 16
       @namesprite.bitmap.font.color.set(255, 255, 0)
       @evname = name
       @evname_split = name.split(/,/)[0]
       if name[0, 2]=="EV"
         @evname_split = " "
       end
       if name.split(/,/)[1] != nil
         case name.split(/,/)[1]
         when "0"
           @namesprite.bitmap.font.color.set(255, 255, 255)
         when "1"
           @namesprite.bitmap.font.color.set(128, 128, 255)
         when "2"
           @namesprite.bitmap.font.color.set(255, 128, 128)
         when "3"
           @namesprite.bitmap.font.color.set(128, 255, 128)
         when "4"
           @namesprite.bitmap.font.color.set(128, 255, 255)
         when "5"
           @namesprite.bitmap.font.color.set(255, 128, 255)
         when "6"
           @namesprite.bitmap.font.color.set(255, 255, 128)
         when "7"
           @namesprite.bitmap.font.color.set(192, 192, 192)
         else
           @namesprite.bitmap.font.color.set(255, 255, 255)
         end
       end
       if @evname_split != "" and @evname_split != nil
         @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
       end
       update
    end
      
      def update
        super
        # 元件 ID、文件名、色相与现在的情况存在差异的情况下
        if @tile_id != @character.tile_id or
           @character_name != @character.character_name or
           @character_hue != @character.character_hue
          # 记忆元件 ID 与文件名、色相
          @tile_id = @character.tile_id
          @character_name = @character.character_name
          @character_hue = @character.character_hue
          # 元件 ID 为有效值的情况下
          if @tile_id >= 384
            self.bitmap = RPG::Cache.tile($game_map.tileset_name,
              @tile_id, @character.character_hue)
            self.src_rect.set(0, 0, 32, 32)
            self.ox = 16
            self.oy = 32
          # 元件 ID 为无效值的情况下
          else
            self.bitmap = RPG::Cache.character(@character.character_name,
              @character.character_hue)
            @cw = bitmap.width / $c3_每一步的帧数
              @ch = bitmap.height / 4
            self.ox = @cw / 2
            self.oy = @ch
          end
        end
       
         if @evname != @character.name
         @namesprite.bitmap.clear
         @evname = @character.name
         @evname_split = @character.name.split(/,/)[0]
         if @character.name.split(/,/)[1] != nil
           case @character.name.split(/,/)[1]
           when "0"
             @namesprite.bitmap.font.color.set(255, 255, 255)
           when "1"
             @namesprite.bitmap.font.color.set(128, 128, 255)
           when "2"
             @namesprite.bitmap.font.color.set(255, 128, 128)
           when "3"
             @namesprite.bitmap.font.color.set(128, 255, 128)
           when "4"
             @namesprite.bitmap.font.color.set(128, 255, 255)
           when "5"
             @namesprite.bitmap.font.color.set(255, 128, 255)
           when "6"
             @namesprite.bitmap.font.color.set(255, 255, 128)
           when "7"
             @namesprite.bitmap.font.color.set(192, 192, 192)
           else
             @namesprite.bitmap.font.color.set(255, 255, 255)
           end
         end
         if @evname_split != "" and @evname_split != nil
           @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
         end
       end
       @namesprite.x = self.x-80
       @namesprite.y = self.y-self.oy-24
       
       
       
       
       
        # 设置可视状态
        self.visible = (not @character.transparent)
        # 图形是角色的情况下
        if @tile_id == 0
          # 设置传送目标的矩形
          sx = @character.pattern * @cw
            case @character.direction
            when 2
              sy = 0 * @ch
            when 4
              sy = 1 * @ch
            when 6
              sy = 2 * @ch
            when 8
              sy = 3 * @ch
            when 1
              sy = 2 * @ch
            when 3
              sy = 1 * @ch
            when 7
              sy = 3 * @ch
            when 9
              sy = 0 * @ch
            end
          self.src_rect.set(sx, sy, @cw, @ch)
        end
        # 设置脚本的坐标
        self.x = @character.screen_x
        self.y = @character.screen_y
        self.z = @character.screen_z(@ch)
        # 设置不透明度、合成方式、茂密
        self.opacity = @character.opacity
        self.blend_type = @character.blend_type
        self.bush_depth = @character.bush_depth
        # 动画
        if @character.animation_id != 0
          animation = $data_animations[@character.animation_id]
          animation(animation, true)
          @character.animation_id = 0
        end
      end
    end
    class Game_Character
      attr_accessor :time
      #--------------------------------------------------------------------------
      # ● 初始化对像
      #--------------------------------------------------------------------------
      alias old_ini initialize
      def initialize
        old_ini
        @time = 0
      end
      def c8
        # 随机 0~5 的分支
        case rand(10)
        when 0..3  # 随机
          move_random
        when 4  # 前进一步
          move_forward
        when 5  # 暂时停止
          @stop_count = 0
        when 6..9  #另外4方向随机
          c4
        end
      end
      def c4
        case rand(5)
        when 0
          move_upper_left
        when 1
          move_upper_right
        when 2
          move_lower_left
        when 3
          move_lower_right
        when 4
          @stop_count = 0
        end
      end
          
      def update
        # 跳跃中、移动中、停止中的分支
        if jumping?
          update_jump
        elsif moving?
          update_move
        else
          update_stop
        end
        # 动画计数超过最大值的情况下
        # ※最大值等于基本值减去移动速度 * 1 的值
        if @anime_count > 16*4/$c3_每一步的帧数 - @move_speed * 2
    回复

    使用道具 举报

    64

    主题

    2

    听众

    1990

    积分

    仗剑行侠

    会员等级: 5

  • TA的每日心情
    无聊
    2010-10-26 21:05
  • 签到天数: 35 天

    [LV.5]常住仙友I

    精华
    0
    积分
    1990
    历练
    0
    声望
    2
    人气
    100
    单身中……
    帮我摆脱单身吧
    6
    发表于 2011-2-10 23:13:40 |只看该作者
    # 停止动画为 OFF 并且在停止中的情况下
          if not @step_anime and @stop_count > 0
            # 还原为原来的图形
            @pattern = @original_pattern
          # 停止动画为 ON 并且在移动中的情况下
          else
            # 更新图形
            @pattern = (@pattern + 1) % $c3_每一步的帧数
          end
          # 清除动画计数
          @anime_count = 0
        end
        # 等待中的情况下
        if @wait_count > 0
          # 减少等待计数
          @wait_count -= 0
          return
        end
        # 强制移动路线的场合
        if @move_route_forcing
          # 自定义移动
          move_type_custom
          return
        end
        # 事件执行待机中并且为锁定状态的情况下
        if @starting or lock?
          # 不做规则移动
          return
        end
        # 如果停止计数超过了一定的值(由移动频度算出)
        if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
          # 移动类型分支
          case @move_type
          when 1  # 随机
            move_type_random
          when 2  # 接近
            move_type_toward_player
          when 3  # 自定义
            move_type_custom
          end
        end
      end
    end

    class Window_Base < Window
      def draw_actor_graphic(actor, x, y)
        bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
        cw = bitmap.width / $c3_每一步的帧数
        ch = bitmap.height / $c3_总共可用的方向数
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
      end
    end

    class Game_Character
      #--------------------------------------------------------------------------
      # ● 面向主角的方向
      #--------------------------------------------------------------------------
      def turn_toward_player
        # 求得与主角的坐标差
        sx = @x - $game_player.x
        sy = @y - $game_player.y
        # 坐标相等的场合下
        if sx == 0 and sy == 0
          return
        end
        # 横侧距离长的情况下
        if sx.abs > sy.abs
          # 将左右方向变更为朝向主角的方向
          sx > 0 ? turn_left : turn_right
        # 竖侧距离长的情况下
        else
          # 将上下方向变更为朝向主角的方向
          sy > 0 ? turn_up : turn_down
        end
        if sx == -1 and sy == -1
          @direction = 9
          @stop_count = 0
        elsif sx == -1 and sy == 1
          @direction = 1
          @stop_count = 0
        elsif sx == 1 and sy == -1
          @direction = 3
          @stop_count = 0
        elsif sx == 1 and sy == 1
          @direction = 7
          @stop_count = 0
        end
      end
    end

    #==============================================================================
    # ■ Game_Player
    #------------------------------------------------------------------------------
    #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
    # 本类的实例请参考 $game_player。
    #==============================================================================

    class Game_Player < Game_Character
    def name
       return ""
    end
    end

    #==============================================================================
    # 本脚本来自www.66RPG.com,使用和转载请保留此信息
    #==============================================================================
    回复

    使用道具 举报

    157

    主题

    2

    听众

    5946

    积分

    名扬四海

    挺尸中请勿打扰。。。。。

    会员等级: 7

  • TA的每日心情
    无聊
    2011-8-13 00:03
  • 签到天数: 256 天

    [LV.8]以坛为家I

    精华
    1
    积分
    5946
    历练
    4
    声望
    68
    人气
    68

    出神入化

    单身中……
    帮我摆脱单身吧
    7
    发表于 2011-2-10 23:25:40 |只看该作者
    你连帖了,脚本可以用剪贴板的。



    话说其实这种有注释的脚本蛮好修改的,虽然我不会- -b
    1. #==============================================================================
    2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
    3. #$game_map.events[1].name = ""
    4. #==============================================================================
    5. ###########################################################################################################################
    6. ###########################################################################################################################
    7. # 脚本功能:八方向走与多帧移动之图片修正__ver1.1。

    8. # 更新日期:2005年8月6日

    9. # 更新内容:增加斜方向触发,增加斜方向面向角色(1步之内)

    10. # 使用方法:将本脚本插入到main之前。如果你使用了雅土版的八方向走脚本,请确保这个脚本的顺序位置,在雅土八方向走脚本的后面。

    11. # 预先处理:请输入每一步的帧数和总共可用的方向数

    12. $c3_每一步的帧数 = 4
    13. $c3_总共可用的方向数 = 4 #——建议不要修改这个。如果要伪8方向的,就用伪的好了。

    14. # 图片处理与功能说明:

    15. # 1、每一步的帧数:
    16. #    众所周知,RMXP的移动行走图是一个方向共有4帧,很多人都觉得这个帧数有点少。
    17. # 使用这个脚本之后,只要将 $c3_每一步的帧数 这个变量设置一个需要的帧数即可修改
    18. # 单方向移动帧数为相应输入值。修改后,需要用photoshop将所有用到的素材的横排
    19. # 调整为相应帧数,比如输入了8则要将每一行设置8个图像(即每一个行走图有8列)。

    20. # 2、可用方向调整(可用数量:4、8):
    21. #    当为4方向时没有任何变化,还是一个图4行,上左右下4个方向。
    22. #    如果想使用8方向走,将需要八方向行走的行走图在延伸扩大的画布中按照左下、右下、左上、右上继续排布图像。
    23. # 即,行走图图片从上到下的面向排列顺序为:下,左,右,上,左下,右下,左上,右上。
    24. #    至于不需要8方向走的普通的NPC(character),使用photoshop将画布向下扩大一倍即可使用。
    25. #    需要注意的是,如果需要斜方向飞鸟,请不要忘记自制素材。

    26. # 特别提示:   
    27. #     使用本脚本前请先考虑清楚是否要做这种效果。因为使用本脚本后需要用photoshop处理character行走图素材
    28. # 虽然这种处理用photoshop定义动作只需要5分钟即可全部完成,但在制作阶段会感觉不是很爽(具体的用了才知道)
    29. # 作者的建议是,如果你没有足够的制作经验,使用这个脚本得不偿失。请确保自己的能力属于“高手”级别!

    30. # 附赠功能:
    31. #     可以让NPC角色随机8方向走,方法是:NPC角色移动路线为“自定义”,然后自定义里面使用脚本,输入c8即可
    32. #     可以让NPC角色随机4斜角方向走,方法是:NPC角色移动路线为“自定义”,然后自定义里面使用脚本,输入c4即可
    33. #     可以使用真·斜4方向行走,参考脚本53行开始
    34. # 作者:carol3
    35. ###########################################################################################################################
    36. ###########################################################################################################################
    37. #==============================================================================
    38. # ■ Game_Event
    39. #------------------------------------------------------------------------------
    40. #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
    41. # 在 Game_Map 类的内部使用。
    42. #==============================================================================
    43. class Game_Event < Game_Character
    44. #——————————————————————————————————————
    45. # 用来返回名称
    46. #——————————————————————————————————————
    47. def name
    48.    return @event.name
    49. end  
    50. def name=(newname)
    51.    @event.name = newname
    52. end
    53. end





    54. class Game_Player < Game_Character
    55.   TIME_LIMIT = 20
    56.   def update
    57.     last_moving = moving?
    58.     unless moving? or $game_system.map_interpreter.running? or
    59.            @move_route_forcing or $game_temp.message_window_showing
    60.       # 用井号后面的东西替代前面的,就可以实现斜4方向走
    61.       case Input.dir8
    62.       when 2
    63.         if $game_switches[2]
    64.           move_down
    65.         else
    66.           move_lower_left
    67.         end            
    68.       when 4
    69.         if $game_switches[2]
    70.           move_left
    71.         else
    72.           move_upper_left
    73.         end
    74.       when 6
    75.         if $game_switches[2]
    76.           move_right
    77.         else
    78.           move_lower_right
    79.         end
    80.       when 8
    81.         if $game_switches[2]
    82.           move_up
    83.         else
    84.           move_upper_right        
    85.         end
    86.       when 1
    87.         move_lower_left
    88.       when 3
    89.         move_lower_right
    90.       when 7
    91.         move_upper_left
    92.       when 9
    93.         move_upper_right
    94.       end
    95.     end
    96.     # 本地变量记忆坐标
    97.     last_real_x = @real_x
    98.     last_real_y = @real_y
    99.     super
    100.     # 角色向下移动、画面上的位置在中央下方的情况下
    101.     if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
    102.       # 画面向下卷动
    103.       $game_map.scroll_down(@real_y - last_real_y)
    104.     end
    105.     # 角色向左移动、画面上的位置在中央左方的情况下
    106.     if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
    107.       # 画面向左卷动
    108.       $game_map.scroll_left(last_real_x - @real_x)
    109.     end
    110.     # 角色向右移动、画面上的位置在中央右方的情况下
    111.     if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
    112.       # 画面向右卷动
    113.       $game_map.scroll_right(@real_x - last_real_x)
    114.     end
    115.     # 角色向上移动、画面上的位置在中央上方的情况下
    116.     if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
    117.       # 画面向上卷动
    118.       $game_map.scroll_up(last_real_y - @real_y)
    119.     end
    120.     # 不在移动中的情况下
    121.     unless moving?
    122.       # 上次主角移动中的情况
    123.       if last_moving
    124.         # 与同位置的事件接触就判定为事件启动
    125.         result = check_event_trigger_here([1,2])
    126.         # 没有可以启动的事件的情况下
    127.         if result == false
    128.           # 调试模式为 ON 并且按下 CTRL 键的情况下除外
    129.           unless $DEBUG and Input.press?(Input::CTRL)
    130.             # 遇敌计数下降
    131.             if @encounter_count > 0
    132.               @encounter_count -= 1
    133.             end
    134.           end
    135.         end
    136.       end
    137.       # 按下 C 键的情况下
    138.       if Input.trigger?(Input::C)
    139.         # 判定为同位置以及正面的事件启动
    140.         check_event_trigger_here([0])
    141.         check_event_trigger_there([0,1,2])
    142.       end
    143.     end
    144.   end
    145.   #--------------------------------------------------------------------------
    146.   # ● 正面事件的启动判定
    147.   #--------------------------------------------------------------------------
    148.   def check_event_trigger_there(triggers)
    149.     result = false
    150.     # 事件执行中的情况下
    151.     if $game_system.map_interpreter.running?
    152.       return result
    153.     end
    154.     # 计算正面坐标
    155.     new_x = @x
    156.     new_y = @y
    157.     case @direction
    158.    when 1
    159.       new_x -= 1
    160.       new_y += 1
    161.     when 2
    162.       new_y += 1
    163.     when 3
    164.       new_x += 1
    165.       new_y += 1
    166.     when 4
    167.       new_x -= 1
    168.     when 6
    169.       new_x += 1
    170.     when 7
    171.       new_x -= 1
    172.       new_y -= 1
    173.     when 8
    174.       new_y -= 1
    175.     when 9
    176.       new_x += 1
    177.       new_y -= 1
    178.     end
    179.     # 全部事件的循环
    180.     for event in $game_map.events.values
    181.       # 事件坐标与目标一致的情况下
    182.       if event.x == new_x and event.y == new_y and
    183.          triggers.include?(event.trigger)
    184.         # 跳跃中以外的情况下、启动判定是正面的事件
    185.         if not event.jumping? and not event.over_trigger?
    186.           event.start
    187.           result = true
    188.         end
    189.       end
    190.     end
    191. # 找不到符合条件的事件的情况下
    192.     if result == false
    193.       # 正面的元件是计数器的情况下
    194.       if $game_map.counter?(new_x, new_y)
    195.         # 计算 1 元件里侧的坐标
    196.         new_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
    197.         new_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
    198.         # 全事件的循环
    199.         for event in $game_map.events.values
    200.           # 事件坐标与目标一致的情况下
    201.           if event.x == new_x and event.y == new_y and
    202.              triggers.include?(event.trigger)
    203.             # 跳跃中以外的情况下、启动判定是正面的事件
    204.             if not event.jumping? and not event.over_trigger?
    205.               event.start
    206.               result = true
    207.             end
    208.           end
    209.         end
    210.       end
    211.     end
    212.     return result
    213.   end
    214.   #--------------------------------------------------------------------------
    215.   # ● 向左下移动
    216.   #--------------------------------------------------------------------------
    217.   def move_lower_left
    218.     # 没有固定面向的场合
    219.     unless @direction_fix
    220.       # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
    221.       @direction = 3#(@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
    222.     end
    223.     # 下→左、左→下 的通道可以通行的情况下
    224.     if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
    225.        (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
    226.       # 更新坐标
    227.       @x -= 1
    228.       @y += 1
    229.       # 增加步数
    230.       increase_steps
    231.     else
    232.       check_event_trigger_touch(@x-1, @y+1)
    233.     end
    234.   end
    235.   #--------------------------------------------------------------------------
    236.   # ● 向右下移动
    237.   #--------------------------------------------------------------------------
    238.   def move_lower_right
    239.     # 没有固定面向的场合
    240.     unless @direction_fix
    241.       # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
    242.       @direction = 9#(@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
    243.     end
    244.     # 下→右、右→下 的通道可以通行的情况下
    245.     if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
    246.        (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
    247.       # 更新坐标
    248.       @x += 1
    249.       @y += 1
    250.       # 增加步数
    251.       increase_steps
    252.     else
    253.       check_event_trigger_touch(@x+1, @y+1)
    254.     end
    255.   end
    复制代码
    心情不好,靠近者,死
    回复

    使用道具 举报

    157

    主题

    2

    听众

    5946

    积分

    名扬四海

    挺尸中请勿打扰。。。。。

    会员等级: 7

  • TA的每日心情
    无聊
    2011-8-13 00:03
  • 签到天数: 256 天

    [LV.8]以坛为家I

    精华
    1
    积分
    5946
    历练
    4
    声望
    68
    人气
    68

    出神入化

    单身中……
    帮我摆脱单身吧
    8
    发表于 2011-2-10 23:26:40 |只看该作者
    1. #--------------------------------------------------------------------------
    2.   # ● 向左上移动
    3.   #--------------------------------------------------------------------------
    4.   def move_upper_left
    5.     # 没有固定面向的场合
    6.     unless @direction_fix
    7.       # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
    8.       @direction = 7#(@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
    9.     end
    10.     # 上→左、左→上 的通道可以通行的情况下
    11.     if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
    12.        (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
    13.       # 更新坐标
    14.       @x -= 1
    15.       @y -= 1
    16.       # 增加步数
    17.       increase_steps
    18.     else
    19.       check_event_trigger_touch(@x-1, @y-1)
    20.     end
    21.   end
    22.   #--------------------------------------------------------------------------
    23.   # ● 向右上移动
    24.   #--------------------------------------------------------------------------
    25.   def move_upper_right
    26.     # 没有固定面向的场合
    27.     unless @direction_fix
    28.       # 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
    29.       @direction = 1#(@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
    30.     end
    31.     # 上→右、右→上 的通道可以通行的情况下
    32.     if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
    33.        (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
    34.       # 更新坐标
    35.       @x += 1
    36.       @y -= 1
    37.       # 增加步数
    38.       increase_steps
    39.     else
    40.       check_event_trigger_touch(@x+1, @y-1)
    41.     end
    42.   end
    43. end


    44. class Sprite_Character < RPG::Sprite
    45.     attr_accessor :character                # 角色
    46.    def initialize(viewport, character = nil)
    47.    name = character.name
    48.   super(viewport)
    49.    @character = character
    50.    @namesprite = Sprite.new
    51.    @namesprite.bitmap = Bitmap.new(160, 48)
    52.    @namesprite.bitmap.font.name = "黑体"
    53.    @namesprite.bitmap.font.size = 16
    54.    @namesprite.bitmap.font.color.set(255, 255, 0)
    55.    @evname = name
    56.    @evname_split = name.split(/,/)[0]
    57.    if name[0, 2]=="EV"
    58.      @evname_split = " "
    59.    end
    60.    if name.split(/,/)[1] != nil
    61.      case name.split(/,/)[1]
    62.      when "0"
    63.        @namesprite.bitmap.font.color.set(255, 255, 255)
    64.      when "1"
    65.        @namesprite.bitmap.font.color.set(128, 128, 255)
    66.      when "2"
    67.        @namesprite.bitmap.font.color.set(255, 128, 128)
    68.      when "3"
    69.        @namesprite.bitmap.font.color.set(128, 255, 128)
    70.      when "4"
    71.        @namesprite.bitmap.font.color.set(128, 255, 255)
    72.      when "5"
    73.        @namesprite.bitmap.font.color.set(255, 128, 255)
    74.      when "6"
    75.        @namesprite.bitmap.font.color.set(255, 255, 128)
    76.      when "7"
    77.        @namesprite.bitmap.font.color.set(192, 192, 192)
    78.      else
    79.        @namesprite.bitmap.font.color.set(255, 255, 255)
    80.      end
    81.    end
    82.    if @evname_split != "" and @evname_split != nil
    83.      @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
    84.    end
    85.    update
    86. end
    87.   
    88.   def update
    89.     super
    90.     # 元件 ID、文件名、色相与现在的情况存在差异的情况下
    91.     if @tile_id != @character.tile_id or
    92.        @character_name != @character.character_name or
    93.        @character_hue != @character.character_hue
    94.       # 记忆元件 ID 与文件名、色相
    95.       @tile_id = @character.tile_id
    96.       @character_name = @character.character_name
    97.       @character_hue = @character.character_hue
    98.       # 元件 ID 为有效值的情况下
    99.       if @tile_id >= 384
    100.         self.bitmap = RPG::Cache.tile($game_map.tileset_name,
    101.           @tile_id, @character.character_hue)
    102.         self.src_rect.set(0, 0, 32, 32)
    103.         self.ox = 16
    104.         self.oy = 32
    105.       # 元件 ID 为无效值的情况下
    106.       else
    107.         self.bitmap = RPG::Cache.character(@character.character_name,
    108.           @character.character_hue)
    109.         @cw = bitmap.width / $c3_每一步的帧数
    110.           @ch = bitmap.height / 4
    111.         self.ox = @cw / 2
    112.         self.oy = @ch
    113.       end
    114.     end
    115.    
    116.      if @evname != @character.name
    117.      @namesprite.bitmap.clear
    118.      @evname = @character.name
    119.      @evname_split = @character.name.split(/,/)[0]
    120.      if @character.name.split(/,/)[1] != nil
    121.        case @character.name.split(/,/)[1]
    122.        when "0"
    123.          @namesprite.bitmap.font.color.set(255, 255, 255)
    124.        when "1"
    125.          @namesprite.bitmap.font.color.set(128, 128, 255)
    126.        when "2"
    127.          @namesprite.bitmap.font.color.set(255, 128, 128)
    128.        when "3"
    129.          @namesprite.bitmap.font.color.set(128, 255, 128)
    130.        when "4"
    131.          @namesprite.bitmap.font.color.set(128, 255, 255)
    132.        when "5"
    133.          @namesprite.bitmap.font.color.set(255, 128, 255)
    134.        when "6"
    135.          @namesprite.bitmap.font.color.set(255, 255, 128)
    136.        when "7"
    137.          @namesprite.bitmap.font.color.set(192, 192, 192)
    138.        else
    139.          @namesprite.bitmap.font.color.set(255, 255, 255)
    140.        end
    141.      end
    142.      if @evname_split != "" and @evname_split != nil
    143.        @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
    144.      end
    145.    end
    146.    @namesprite.x = self.x-80
    147.    @namesprite.y = self.y-self.oy-24
    148.    
    149.    
    150.    
    151.    
    152.    
    153.     # 设置可视状态
    154.     self.visible = (not @character.transparent)
    155.     # 图形是角色的情况下
    156.     if @tile_id == 0
    157.       # 设置传送目标的矩形
    158.       sx = @character.pattern * @cw
    159.         case @character.direction
    160.         when 2
    161.           sy = 0 * @ch
    162.         when 4
    163.           sy = 1 * @ch
    164.         when 6
    165.           sy = 2 * @ch
    166.         when 8
    167.           sy = 3 * @ch
    168.         when 1
    169.           sy = 2 * @ch
    170.         when 3
    171.           sy = 1 * @ch
    172.         when 7
    173.           sy = 3 * @ch
    174.         when 9
    175.           sy = 0 * @ch
    176.         end
    177.       self.src_rect.set(sx, sy, @cw, @ch)
    178.     end
    179.     # 设置脚本的坐标
    180.     self.x = @character.screen_x
    181.     self.y = @character.screen_y
    182.     self.z = @character.screen_z(@ch)
    183.     # 设置不透明度、合成方式、茂密
    184.     self.opacity = @character.opacity
    185.     self.blend_type = @character.blend_type
    186.     self.bush_depth = @character.bush_depth
    187.     # 动画
    188.     if @character.animation_id != 0
    189.       animation = $data_animations[@character.animation_id]
    190.       animation(animation, true)
    191.       @character.animation_id = 0
    192.     end
    193.   end
    194. end
    195. class Game_Character
    196.   attr_accessor :time
    197.   #--------------------------------------------------------------------------
    198.   # ● 初始化对像
    199.   #--------------------------------------------------------------------------
    200.   alias old_ini initialize
    201.   def initialize
    202.     old_ini
    203.     @time = 0
    204.   end
    205.   def c8
    206.     # 随机 0~5 的分支
    207.     case rand(10)
    208.     when 0..3  # 随机
    209.       move_random
    210.     when 4  # 前进一步
    211.       move_forward
    212.     when 5  # 暂时停止
    213.       @stop_count = 0
    214.     when 6..9  #另外4方向随机
    215.       c4
    216.     end
    217.   end
    218.   def c4
    219.     case rand(5)
    220.     when 0
    221.       move_upper_left
    222.     when 1
    223.       move_upper_right
    224.     when 2
    225.       move_lower_left
    226.     when 3
    227.       move_lower_right
    228.     when 4
    229.       @stop_count = 0
    230.     end
    231.   end
    232.       
    233.   def update
    234.     # 跳跃中、移动中、停止中的分支
    235.     if jumping?
    236.       update_jump
    237.     elsif moving?
    238.       update_move
    239.     else
    240.       update_stop
    241.     end
    242.     # 动画计数超过最大值的情况下
    243.     # ※最大值等于基本值减去移动速度 * 1 的值
    244.     if @anime_count > 16*4/$c3_每一步的帧数 - @move_speed * 2
    245. # 停止动画为 OFF 并且在停止中的情况下
    246.       if not @step_anime and @stop_count > 0
    247.         # 还原为原来的图形
    248.         @pattern = @original_pattern
    249.       # 停止动画为 ON 并且在移动中的情况下
    250.       else
    251.         # 更新图形
    252.         @pattern = (@pattern + 1) % $c3_每一步的帧数
    253.       end
    254.       # 清除动画计数
    255.       @anime_count = 0
    256.     end
    257.     # 等待中的情况下
    258.     if @wait_count > 0
    259.       # 减少等待计数
    260.       @wait_count -= 0
    261.       return
    262.     end
    263.     # 强制移动路线的场合
    264.     if @move_route_forcing
    265.       # 自定义移动
    266.       move_type_custom
    267.       return
    268.     end
    269.     # 事件执行待机中并且为锁定状态的情况下
    270.     if @starting or lock?
    271.       # 不做规则移动
    272.       return
    273.     end
    274.     # 如果停止计数超过了一定的值(由移动频度算出)
    275.     if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
    276.       # 移动类型分支
    277.       case @move_type
    278.       when 1  # 随机
    279.         move_type_random
    280.       when 2  # 接近
    281.         move_type_toward_player
    282.       when 3  # 自定义
    283.         move_type_custom
    284.       end
    285.     end
    286.   end
    287. end

    288. class Window_Base < Window
    289.   def draw_actor_graphic(actor, x, y)
    290.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    291.     cw = bitmap.width / $c3_每一步的帧数
    292.     ch = bitmap.height / $c3_总共可用的方向数
    293.     src_rect = Rect.new(0, 0, cw, ch)
    294.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
    295.   end
    296. end

    297. class Game_Character
    298.   #--------------------------------------------------------------------------
    299.   # ● 面向主角的方向
    300.   #--------------------------------------------------------------------------
    301.   def turn_toward_player
    302.     # 求得与主角的坐标差
    303.     sx = @x - $game_player.x
    304.     sy = @y - $game_player.y
    305.     # 坐标相等的场合下
    306.     if sx == 0 and sy == 0
    307.       return
    308.     end
    309.     # 横侧距离长的情况下
    310.     if sx.abs > sy.abs
    311.       # 将左右方向变更为朝向主角的方向
    312.       sx > 0 ? turn_left : turn_right
    313.     # 竖侧距离长的情况下
    314.     else
    315.       # 将上下方向变更为朝向主角的方向
    316.       sy > 0 ? turn_up : turn_down
    317.     end
    318.     if sx == -1 and sy == -1
    319.       @direction = 9
    320.       @stop_count = 0
    321.     elsif sx == -1 and sy == 1
    322.       @direction = 1
    323.       @stop_count = 0
    324.     elsif sx == 1 and sy == -1
    325.       @direction = 3
    326.       @stop_count = 0
    327.     elsif sx == 1 and sy == 1
    328.       @direction = 7
    329.       @stop_count = 0
    330.     end
    331.   end
    332. end

    复制代码
    心情不好,靠近者,死
    回复

    使用道具 举报

    157

    主题

    2

    听众

    5946

    积分

    名扬四海

    挺尸中请勿打扰。。。。。

    会员等级: 7

  • TA的每日心情
    无聊
    2011-8-13 00:03
  • 签到天数: 256 天

    [LV.8]以坛为家I

    精华
    1
    积分
    5946
    历练
    4
    声望
    68
    人气
    68

    出神入化

    单身中……
    帮我摆脱单身吧
    9
    发表于 2011-2-10 23:26:56 |只看该作者
    1. #==============================================================================
    2. # ■ Game_Player
    3. #------------------------------------------------------------------------------
    4. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
    5. # 本类的实例请参考 $game_player。
    6. #==============================================================================

    7. class Game_Player < Game_Character
    8. def name
    9.    return ""
    10. end
    11. end

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

    点评

    仙邪  貌似你也连贴了  发表于 2011-2-11 14:42
    心情不好,靠近者,死
    回复

    使用道具 举报

    183

    主题

    5

    听众

    5188

    积分

    名扬四海

    云中散仙

    会员等级: 7

  • TA的每日心情
    擦汗
    2016-2-1 12:27
  • 签到天数: 342 天

    [LV.8]以坛为家I

    精华
    1
    积分
    5188
    历练
    2
    声望
    81
    人气
    45

    家族族长 黑色羽翼

    单身中……
    帮我摆脱单身吧
    10
    发表于 2011-2-10 23:52:13 |只看该作者
    本帖最后由 残酷龙卷风 于 2011-2-10 23:58 编辑

    最简单的方法~~~
    如果你懒得把四方图改八方图………………
    把八方行走脚本换成四方行走脚本…………

    点评

    仙邪  本来就是八方  发表于 2011-2-11 14:43
    http://img13.poco.cn/mypoco/myphoto/20120825/09/5775223320120825091922022.jpg
    专一不是一辈子只喜欢一个人,是喜欢一个人的时候一心一意。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    手机版|Archiver|仙剑之十里坡 ( 苏ICP备11022766号 )  

    GMT+8, 2024-5-18 23:34 , Processed in 0.413774 second(s), 52 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部