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

Project1

 找回密码
 注册会员
搜索

NPC动态提示+自动寻找任务NPC【10.10.5更新】

查看数: 6626 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2010-10-4 20:29

正文摘要:

本帖最后由 六祈 于 2010-10-5 03:57 编辑 【10.10.5更新内容如下:】 修复一个bug【感谢moy老师测试】 大量优化算法【连续更新了5次……】,字体缩小 坐标动态,即时调整与目标事件的距离【用NWSE表示】 加入事 ...

回复

冰舞蝶恋 发表于 2010-12-8 22:53:50
回复 企鹅达达 的帖子

呃。谢谢啦
不过呐。怎么设定某些事件靠近以后不提示?
冰舞蝶恋 发表于 2010-12-8 13:47:22
回复 企鹅达达 的帖子

求用法。

点评

Do it yourself =.=,  发表于 2010-12-8 15:14
summer92 发表于 2010-12-8 11:28:54
第一反应是遇敌
企鹅达达 发表于 2010-12-8 08:30:35
回复 冰舞蝶恋 的帖子

窗口没有,表情气泡倒是有一个……上脚本 =.=
  1. =begin
  2.       ★フキダシアイコン常時再生★

  3.       フキダシアイコンを表示し続けるキャラクターを作ります。
  4.       寝ているキャラなどにどうぞ。
  5.       新たな画像ファイルを作って、お店の看板代わりとかもいいかも。

  6.       ● 仕様 ●==========================================================
  7.       フキダシアイコンの画像ファイルは通常、横に8分割したものとなっていますが、
  8.       このスクリプトは、その内の左から数えて、3つ目~7つ目をループ再生します。
  9.       --------------------------------------------------------------------
  10.       このスクリプトで描画するフキダシアイコンのZ軸座標は、
  11.       プレイヤーより上に表示するように、140となっています。
  12.       ====================================================================
  13.       
  14.       ● 使い方 ●========================================================
  15.       イベント>自律移動>カスタム>移動ルート>スクリプトに
  16.           @auto_balloon = n
  17.       と記述してください。nはフキダシアイコンのIDです。
  18.       --------------------------------------------------------------------
  19.       ↑の記述のないイベントページに切り替えれば、再生は停止します。
  20.       ====================================================================
  21.       
  22.       ver1.13

  23.       Last Update : 2010/08/17
  24.       8/17 : ちょっとだけ軽量化
  25.            : フキダシ常時再生中のイベントにも通常のフキダシ表示を可能に改良
  26.       ----------------------2010--------------------------
  27.       8/ 4 : 距離によってフキダシの透明度が変わる機能を追加
  28.       6/ 5 : たまにRGSS2 Playerが動作停止する不具合を修正?(まだ不安)
  29.            : イベントページの切り替えだけで、再生の停止を行えるようになりました
  30.       5/17 : 通常のフキダシアイコン時にエラーが出ることがあるバグを修正
  31.       5/17 : 新規
  32.       ----------------------2009--------------------------
  33.       
  34.       ろかん   http://kaisouryouiki.web.fc2.com/
  35. =end

  36. #===========================================
  37. #   設定箇所
  38. #===========================================
  39. module Rokan
  40. module Auto_Balloon
  41.     # フキダシの半透明化が始まるプレイヤーとの距離
  42.     # 不透明化を行わない場合は"0"を設定してください。
  43.     DBO = 4
  44.     # 不透明化する度合(値が大きいほど、少し離れただけで見えなくなります)
  45.     BOS = 60
  46.     # 使用するフキダシアイコン画像ファイル名(Graphics/System/)
  47.     ABF = "Balloon"
  48. end
  49. end
  50. #===========================================
  51. #   ここまで
  52. #===========================================

  53. $rsi = {} if $rsi == nil
  54. $rsi["フキダシアイコン常時再生"] = true

  55. class Game_Character
  56.   #--------------------------------------------------------------------------
  57.   # ● 公開インスタンス変数
  58.   #--------------------------------------------------------------------------
  59.   attr_reader   :auto_balloon
  60.   #--------------------------------------------------------------------------
  61.   # ● オブジェクト初期化
  62.   #--------------------------------------------------------------------------
  63.   alias rsm_initialize01 initialize
  64.   def initialize
  65.     rsm_initialize01
  66.     @auto_balloon = 0
  67.   end
  68. end

  69. class Game_Event < Game_Character
  70.   #--------------------------------------------------------------------------
  71.   # ● リフレッシュ
  72.   #--------------------------------------------------------------------------
  73.   def refresh
  74.     new_page = nil
  75.     unless @erased                          # 一時消去されていない場合
  76.       for page in @event.pages.reverse      # 番号の大きいページから順に
  77.         next unless conditions_met?(page)   # 条件合致判定
  78.         new_page = page
  79.         break
  80.       end
  81.     end
  82.     if new_page != @page            # イベントページが変わった?
  83.       @auto_balloon = 0             # オートバルーン情報をクリア
  84.       clear_starting                # 起動中フラグをクリア
  85.       setup(new_page)               # イベントページをセットアップ
  86.       check_event_trigger_auto      # 自動イベントの起動判定
  87.     end
  88.   end
  89. end

  90. class Sprite_Character < Sprite_Base
  91.   #--------------------------------------------------------------------------
  92.   # ● インクルード Rokan::Auto_Balloon
  93.   #--------------------------------------------------------------------------
  94.   include Rokan::Auto_Balloon
  95.   #--------------------------------------------------------------------------
  96.   # ● 解放
  97.   #--------------------------------------------------------------------------
  98.   alias auto_b_dispose dispose
  99.   def dispose
  100.     dispose_auto_balloon
  101.     auto_b_dispose
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● フレーム更新
  105.   #--------------------------------------------------------------------------
  106.   alias rsm_update01 update
  107.   def update
  108.     rsm_update01
  109.     if @character.auto_balloon.zero? || ! @balloon_duration.zero?
  110.       dispose_auto_balloon
  111.     else
  112.       update_auto_balloon
  113.     end
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● プレイヤーとの距離
  117.   #--------------------------------------------------------------------------
  118.   def distance_player
  119.     return @character.distance_x_from_player.abs + @character.distance_y_from_player.abs
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● フキダシ半透明化処理
  123.   #--------------------------------------------------------------------------
  124.   def distance_balloom_opacity
  125.     return if DBO.zero?
  126.     @auto_balloon_sprite.opacity = 255 - BOS * (distance_player - DBO)
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 常時再生フキダシアイコン表示の開始
  130.   #--------------------------------------------------------------------------
  131.   def start_auto_balloon
  132.     dispose_auto_balloon
  133.     @balloon_id = @character.auto_balloon
  134.     @auto_balloon_sprite = Sprite.new(self.viewport)
  135.     @auto_balloon_sprite.bitmap = Cache.system(ABF)
  136.     @auto_balloon_sprite.z = 140
  137.     @auto_balloon_sprite.ox = 16
  138.     @auto_balloon_sprite.oy = 32
  139.     @ry = (@character.auto_balloon - 1) * 32
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● 常時再生フキダシアイコンの更新
  143.   #--------------------------------------------------------------------------
  144.   def update_auto_balloon
  145.     if ! @auto_balloon_sprite || @balloon_id != @character.auto_balloon
  146.       start_auto_balloon
  147.     end
  148.     @auto_balloon_sprite.x = self.x
  149.     @auto_balloon_sprite.y = self.y - self.height
  150.     distance_balloom_opacity
  151.     if @bw == 10
  152.       @bw = 0 ; @bx = (@bx == 4) ? 0 : @bx + 1
  153.       @auto_balloon_sprite.src_rect.set(@bx * 32 + 64, @ry, 32, 32)
  154.     else
  155.       @bw += 1
  156.     end
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 常時再生フキダシアイコンの解放
  160.   #--------------------------------------------------------------------------
  161.   def dispose_auto_balloon
  162.     @bw = 10 ; @bx = -1
  163.     if @auto_balloon_sprite
  164.       @auto_balloon_sprite.dispose
  165.       @auto_balloon_sprite = nil
  166.     end
  167.   end
  168. end

复制代码
冰舞蝶恋 发表于 2010-12-7 20:47:53
谢谢。。求写法:
改成靠近npc的时候就出现窗口,
一离开范围窗口就渐消失 而且最多就那一个窗口。不要平滑移动的效果。。怎么处理?
谢谢~!
沉影不器 发表于 2010-10-5 23:16:38
提示: 作者被禁止或删除 内容自动屏蔽
429259591 发表于 2010-10-5 09:04:28
第一反应是寻宝...
lbylbtlbylbt 发表于 2010-10-5 08:12:20
好啊!就是不懂。
moy 发表于 2010-10-5 01:53:37
第一反应是龙珠探测器...{:nm_1:}
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-1 14:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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