Project1

标题: 如何在事件执行中修改事件名称。 [打印本页]

作者: kinrwolf    时间: 2014-4-11 19:49
标题: 如何在事件执行中修改事件名称。
我使用了显示事件名称脚本,然后是希望NPC在对话结束后消失。

设置NPC消失后,NPC是暂时消失,而且名字留下来了。

有没有办法让NPC永远消失并且使得名字消失。

我想到的一个方法是使用事件脚本修改事件名字,但是不知道脚本命令。

已经很尽力地搜索论坛了,似乎还是没有解决方法,求教。
作者: 落月小天魔    时间: 2014-4-11 20:05
打开事件卡第二页你会发现一个设置事件位置,把它弄到玩家到达不了也看不见的地方。

Project2.rar

1.43 MB, 阅读权限: 10, 下载次数: 15

范例


作者: kinrwolf    时间: 2014-4-11 20:06
使用的是这个脚本。
#==============================================================================
# ★ RGSS3_ネームポップ Ver1.1
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)

イベント名かイベント実行内容の先頭に『注釈』コマンドで
<namepop 文字列>
と記述してください。
イベントキャラクターの頭上に文字列が表示されます。

イベント名で指定した場合はイベント全ページに適用されますが、
優先度は注釈コマンドの方が高くなっています。

文字を消したい場合は <namepop none> としてください。

2011.12.16  Ver1.1
  ・フォントの縁取り不透明度を設定項目に追加

2011.12.15  Ver1.0
  公開

=end

#==============================================================================
# □ 設定項目
#==============================================================================
module TMNPOP
  FONT_SIZE = 20          # フォントサイズ
  FONT_OUT_ALPHA = 100    # フォントの縁取り不透明度
end

#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :namepop                  # ポップアップテキスト
  #--------------------------------------------------------------------------
end

#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # ● イベントページの設定をセットアップ
  #--------------------------------------------------------------------------
  alias tmnpop_game_event_setup_page_settings setup_page_settings
  def setup_page_settings
    tmnpop_game_event_setup_page_settings
    if @list
      @namepop = $1 if /<namepop\s*(\S+?)>/i =~ @event.name
      @list.each do |list|
        if list.code == 108 || list.code == 408
          @namepop = $1 if /<namepop\s*(\S+?)>/i =~ list.parameters[0]
        else
          break
        end
      end
    end
  end
end

#==============================================================================
# ■ Sprite_Character
#==============================================================================
class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias tmnpop_sprite_character_dispose dispose
  def dispose
    dispose_namepop
    tmnpop_sprite_character_dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias tmnpop_sprite_character_update update
  def update
    tmnpop_sprite_character_update
    update_namepop
    if @character.namepop != @namepop
      @namepop = @character.namepop
      start_namepop
    end
  end
  #--------------------------------------------------------------------------
  # ○ namepopの開始
  #--------------------------------------------------------------------------
  def start_namepop
    dispose_namepop
    return if @namepop == "none" || @namepop == nil
    @namepop_sprite = ::Sprite.new(viewport)
    h = TMNPOP::FONT_SIZE + 4
    @namepop_sprite.bitmap = Bitmap.new(h * 10, h)
    @namepop_sprite.bitmap.font.size = TMNPOP::FONT_SIZE
    @namepop_sprite.bitmap.font.out_color.alpha = TMNPOP::FONT_OUT_ALPHA
    @namepop_sprite.bitmap.draw_text(0, 0, h * 10, h, @namepop, 1)
    @namepop_sprite.ox = h * 5
    @namepop_sprite.oy = h
    update_namepop
  end
  #--------------------------------------------------------------------------
  # ○ namepopの更新
  #--------------------------------------------------------------------------
  def update_namepop
    if @namepop_sprite
      @namepop_sprite.x = x
      @namepop_sprite.y = y + height - 5
      @namepop_sprite.z = z + 200
    end
  end
  #--------------------------------------------------------------------------
  # ○ namepopの解放
  #--------------------------------------------------------------------------
  def dispose_namepop
    if @namepop_sprite
      @namepop_sprite.bitmap.dispose
      @namepop_sprite.dispose
      @namepop_sprite = nil
    end
  end
end



作者: kinrwolf    时间: 2014-4-11 20:12
落月小天魔 发表于 2014-4-11 20:05
打开事件卡第二页你会发现一个设置事件位置,把它弄到玩家到达不了也看不见的地方。 ...

我原来是这么做的,感觉不完美。。。想知道有没有更好的方法。
作者: 紫苍焰    时间: 2014-4-12 17:35
kinrwolf 发表于 2014-4-11 20:12
我原来是这么做的,感觉不完美。。。想知道有没有更好的方法。

不要用事件里的暂时消除事件而换用新建事件页+独立开关不可以吗……
作者: kinrwolf    时间: 2014-4-12 19:17
紫苍焰 发表于 2014-4-12 17:35
不要用事件里的暂时消除事件而换用新建事件页+独立开关不可以吗……

不可以,名字还是会留在那里。
这样做的话,他还是会有事件在那个位置的,只是没有图案没有执行内容而已。
作者: tseyik    时间: 2014-4-12 21:20
本帖最后由 tseyik 于 2014-4-12 22:17 编辑

使用<namepop none>

在事件第一頁
:註繹<namepop xxxx>
對自用開關的操作:A=on


事件第二頁
在自用開関打勾,選A
:註繹<namepop none>
那只要和他對話以後頭的xxxx就會消失




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