Project1

标题: 求助,请问一下 [打印本页]

作者: xboox    时间: 2008-8-7 04:50
标题: 求助,请问一下
请问一下,我用了66RPG 非官方整合系统后,看到这段,请问怎么设置成不自动把对话框显示到主角头上?
#  ★●使用方法 edit by KKME◎66RPG.com
#
#    方法一:传统方法:输入脚本:chat(事件编号, "角色姓名")。这样就可以正常显示。
#            这种方法虽然使用麻烦,但是有时候也会用到(比如不显示姓名的对话)。这种方法比方法二优先度高。
#            当不需要这种对话功能时候,直接输入一个脚本:chat,就能全部清空。
#
#    方法二:新方法:直接输入对话,会自动读取人名。
#            举例:首先将事件NPC命名,比如命名为“王小二”
#            则输入对话:
#               王小二:
#               今天天气真好啊。
#    这样就能直接将对话显示在这个NPC头上。如果姓名是我方队员则可自动显示在主角头上。
#    这种方法对于我方队员的情况支持 \n[1]这样的效果。如
#               \n[1]:
#               明天听说要下雨。
#    也能正确显示。对于一般的游戏制作这样已经足够了,如果还有特殊需求——小生是
#    知道有可能需要什么特殊需求的:),其实也设置了接口可以满足,不过需要你自己研究一下。 [LINE]1,#dddddd[/LINE]此贴于 2008-8-9 1:43:39 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]本贴由论坛斑竹havealook结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^
作者: xboox    时间: 2008-8-7 06:24
没人帮我一下吗?
作者: xboox    时间: 2008-8-7 06:27
#--------------------------------------------------------------------------
  # ○ 设置呼出对话框
  #--------------------------------------------------------------------------
  def set_fukidasi(x, y, width, height)
    begin
      # 不显示暂停标志
      self.pause = false
      # 取得对话框位置
      pos = get_fuki_pos(width, height)
      x = pos[0]
      y = pos[0]
      skin = FUKI::FUKI_SKIN_NAME != "" ? FUKI::FUKI_SKIN_NAME : $game_system.windowskin_name
      # 生成呼出对话框
      self.windowskin = RPG::Cache.windowskin(skin)
      self.x = x
      self.y = y
      self.height = height
      self.width = width
      self.contents.dispose
      self.contents = Bitmap.new(width - 32, height - 32)
      self.back_opacity = FUKI::FUKI_OPACITY
      self.contents.clear
      self.contents.font.color = normal_color
      self.contents.font.size = FUKI::MES_FONT_SIZE
      # 描绘尾部图标
      if $game_system.message_frame == 0
        # 取得位置
        tale_pos = get_tale_pos
        @tale = Sprite.new
        # 是否显示尾部图标 <- bbschat
        if FUKI::TAIL_SHOW == true
          case @message_position
            when 0  # 上
              @tale.bitmap = RPG::Cache.windowskin(skin + "-top")
              @tale.x = tale_pos[0]
              @tale.y = tale_pos[1]
              @tale.z = self.z + 1
            when 1  # 中
              @tale.dispose
              @tale = nil
            when 2  # 下
              @tale.bitmap = RPG::Cache.windowskin(skin + "-under")
              @tale.x = tale_pos[0]
              @tale.y = tale_pos[1]
              @tale.z = self.z + 1
          end
        end
      end
    rescue
      del_fukidasi
      reset_window(width, height)
    end
  end
  #--------------------------------------------------------------------------
  # ○ 新功能:根据输入文章计算呼出对话框的位置
  #--------------------------------------------------------------------------
  def get_character_KKME
    if @kkme_name == "" or @kkme_name == nil
      return nil
    else
      @kkme_name.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      $mes_name = @kkme_name
      for ev in $game_map.events.values
        if ev.name == @kkme_name
          return ev
        end
      end
      for actor in $game_party.actors
        if actor.name == @kkme_name
          return $game_player
        end
      end
      return nil
    end
  end
   
  
  #--------------------------------------------------------------------------
  # ○ 计算呼出对话框的位置
  #--------------------------------------------------------------------------
  def get_fuki_pos(width, height)
   
    # 取得角色
    if $mes_id != nil
      @character = get_character($mes_id)
    else
      @character = get_character_KKME
    end
   
    if @character == nil
      # 角色不存在的情况下使用默认信息框
      del_fukidasi
      reset_window(width, height)
      return
    end
    # 处理坐标
    x = ( @character.real_x - $game_map.display_x + 64 ) * 32 / 128 - (width / 2)
    # 为尽量显示在画面内而移动横坐标
    if x + width > 640
      x = 640 - width
    elsif x < 0
      x = 0
    end
    # 决定窗口位置
    case $game_system.message_position
      when 0  # 上
        y = (@character.real_y - $game_map.display_y + 64) * 32 / 128 - height - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
      when 1  # 中
        y = (480 - height) / 2
        x = (640 - width) / 2
      when 2  # 下
        y =  (@character.real_y - $game_map.display_y + 64) * 32 / 128 + 32 + FUKI::POP_SHIFT_UNDER
    end
    # 纪录文章显示位置
    @message_position = $game_system.message_position
    # 如果选择自动修正,则如果文章会显示到画面外则自动改变窗口的尺寸(高度)
    if FUKI::POS_FIX
      case @message_position
        when 0  # 上
          if y <= 0
            @message_position = 2
            y =  (@character.real_y - $game_map.display_y + 64) * 32 / 128 + 32 + FUKI::POP_SHIFT_UNDER
          end
        when 2  # 下
          if y + height >= 480
            @message_position = 0
            y = (@character.real_y - $game_map.display_y + 64) * 32 / 128 - height - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
          end
      end
    end
    return [x,y]
   
  end  

我不想要这个对话框自动掸出来,怎么做?
作者: xboox    时间: 2008-8-7 06:45
没人能答到吗?我就想要哪个呼出对话框不要出来,弹到主角头上而已啊 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『理由见楼下』,积分『-35』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: ONEWateR    时间: 2008-8-7 06:47
哇!楼主连帖好厉害啊 0 0

用这个

http://rpg.blue/web/htm/news347.htm
作者: xboox    时间: 2008-8-7 06:51
以下引用ONEWateR于2008-8-6 22:47:05的发言:

哇!楼主连帖好厉害啊 0 0

用这个

http://rpg.blue/web/htm/news347.htm

晕倒,我是要呼出对话框不要自动弹出来,不是要呼出对话框啊。。。。。
作者: ONEWateR    时间: 2008-8-7 07:07
以下引用xboox于2008-8-6 22:51:55的发言:


以下引用ONEWateR于2008-8-6 22:47:05的发言:

哇!楼主连帖好厉害啊 0 0

用这个

http://rpg.blue/web/htm/news347.htm


晕倒,我是要呼出对话框不要自动弹出来,不是要呼出对话框啊。。。。。


不好意思,理解错误
(我怀疑我脑残)
作者: xboox    时间: 2008-8-7 07:12
这个整合脚本如果没有这个自动呼出对话框就很完美的,问提是作者写了这样的脚本没写怎么去解除他
作者: 灯笼菜刀王    时间: 2008-8-7 07:30
呵呵,请问下不让飞的飞机叫什么?

这个脚本本来就是用来做FUKI效果的,你不要FUKI效果还干吗用这个脚本?还怪作者没做让飞机飞不起来的开关?
作者: xboox    时间: 2008-8-7 07:41
以下引用灯笼菜刀王于2008-8-6 23:30:08的发言:

呵呵,请问下不让飞的飞机叫什么?

这个脚本本来就是用来做FUKI效果的,你不要FUKI效果还干吗用这个脚本?还怪作者没做让飞机飞不起来的开关?

所以就说你就和作者的思路一个样,作者这个脚本是对话框脚本,但对话框的作用不单只是自动呼出对话框啊,我看中的是他的美法后的对话框的效果和角色名字的效果,但他的自动呼出对话框实在没用而且影响我篇写剧本,要写也应该写个可以关闭这一效果的脚本
作者: 灯笼菜刀王    时间: 2008-8-7 12:10
只有你和别人想法不同而已,想要飞机在地上跑而请别人拆掉翅膀,干吗不直接换汽车?

哈哈,你看中的应该是他定义的那些快捷处理,这个远比FUKI要简单得多。

而且,大凡是FUKI脚本,一定要有显示的事件目标。否则肯定会出错,为了不出错,FUKI都带有当目标是nil的情况下使用的处理。

不过,为了保持你的思路不要和我们一样,请自己拆飞机翅膀去吧~~~重头做辆汽车都比拆飞机翅膀改汽车要方便得多。何况,现成的汽车还不少的说。




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