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

Project1

 找回密码
 注册会员
搜索
查看: 2434|回复: 9
打印 上一主题 下一主题

[已经解决] 调查脚本如何实现喵喵5大神的那个样子

[复制链接]

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
跳转到指定楼层
1
发表于 2013-11-17 22:25:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 魔力的觉醒 于 2013-11-18 21:43 编辑

如题  这个脚本如何实现喵喵5大神游戏的那个样子
  1. #面向注释有“调查”的事件时,画面右下角显示“调查”二字
  2. class Spriteset_Map
  3.   alias_method :create_characters_20130820, :create_characters
  4.   alias_method :update_20130820, :update
  5.   alias_method :dispose_20130820, :dispose
  6.   def create_characters
  7.     create_characters_20130820
  8.     @cue_sprite = Sprite_Cue.new(@viewport2)
  9.   end
  10.   def update
  11.     update_20130820
  12.     @cue_sprite.update
  13.   end
  14.   def dispose
  15.     dispose_20130820
  16.     @cue_sprite.dispose
  17.   end
  18. end

  19. class Sprite_Cue < Sprite
  20.   def initialize(vp)
  21.     super
  22.     setup_bitmap
  23.     setup_cue_events
  24.     update
  25.   end
  26.   def setup_bitmap
  27.     text = "调查"
  28.     btmp = Bitmap.new(1, 1)
  29.     rect = btmp.text_size(text)
  30.     btmp.dispose#
  31.     rect.width += 2
  32.     rect.height += 2
  33.     self.bitmap = Bitmap.new(rect.width, rect.height)
  34.     bitmap.draw_text(rect, text)
  35.     self.x = Graphics.width - width
  36.     self.y = Graphics.height - height
  37.   end
  38.   #
  39.   def setup_cue_events
  40.     @cues = []
  41.     $game_map.events.each_value {|e|
  42.       @cues.push(e) if !e.empty? && cue_event?(e.list)
  43.     }
  44.   end
  45.   def cue_event?(list)
  46.     list.each {|cmd|
  47.       next unless cmd.code == 108 || cmd.code == 408
  48.       return true if cmd.parameters[0].include?("调查")
  49.     };return false
  50.   end
  51.   #
  52.   def update
  53.     self.visible = leader_face_cue?
  54.   end
  55.   def leader_face_cue?
  56.     fx = $game_map.round_x_with_direction(player.x, player.direction)
  57.     fy = $game_map.round_y_with_direction(player.y, player.direction)
  58.     @cues.each {|e| return true if e.x == fx && e.y == fy}
  59.     return false
  60.   end
  61.   #
  62.   def dispose
  63.     bitmap.dispose
  64.     super
  65.   end
  66.   #
  67.   def player
  68.     $game_player
  69.   end
  70. end
复制代码
下面是图片
@喵呜喵5 嘿嘿

G6XWC(DUJGE`G5R(~]CY}YN.jpg (119.16 KB, 下载次数: 42)

G6XWC(DUJGE`G5R(~]CY}YN.jpg

S78D{F$@JRI8G)1TW](Q_CB.jpg (11.68 KB, 下载次数: 51)

S78D{F$@JRI8G)1TW](Q_CB.jpg
你的意思就是要打架咯?

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2013-11-17 23:08:27 | 只看该作者
我用的是h……… alert脚本(忘记怎么拼了),是个在事件上方显示图标、名字等信息的脚本,游戏附带的文档中有给出脚本的地址

点评

好像是hover alert?  发表于 2013-11-19 08:08
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
3
 楼主| 发表于 2013-11-18 13:42:20 | 只看该作者
喵呜喵5 发表于 2013-11-17 23:08
我用的是h……… alert脚本(忘记怎么拼了),是个在事件上方显示图标、名字等信息的脚本,游戏附带的文档 ...

没有啊   还是我没找到  能给个连接么!!

点评

手机不方便,你把脚本那里的内容复制上来,我指出来  发表于 2013-11-18 13:45
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22958
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
4
发表于 2013-11-18 13:46:47 | 只看该作者
頭上出現icon/文字?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
5
 楼主| 发表于 2013-11-18 17:13:44 | 只看该作者
tseyik 发表于 2013-11-18 13:46
頭上出現icon/文字?

嗯嗯  离物品  或者事件近 出来沉默的小动画。
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
6
 楼主| 发表于 2013-11-18 17:15:05 | 只看该作者
本帖最后由 76213585 于 2013-11-18 17:09 编辑
魔力的觉醒 发表于 2013-11-18 13:42
没有啊   还是我没找到  能给个连接么!!


#面向注释有“调查”的事件时,画面右下角显示“调查”二字
  1. class Spriteset_Map
  2.   alias_method :create_characters_20130820, :create_characters
  3.   alias_method :update_20130820, :update
  4.   alias_method :dispose_20130820, :dispose
  5.   def create_characters
  6.     create_characters_20130820
  7.     @cue_sprite = Sprite_Cue.new(@viewport2)
  8.   end
  9.   def update
  10.     update_20130820
  11.     @cue_sprite.update
  12.   end
  13.   def dispose
  14.     dispose_20130820
  15.     @cue_sprite.dispose
  16.   end
  17. end

  18. class Sprite_Cue < Sprite
  19.   def initialize(vp)
  20.     super
  21.     setup_bitmap
  22.     setup_cue_events
  23.     update
  24.   end
  25.   def setup_bitmap
  26.     text = "调查"
  27.     btmp = Bitmap.new(1, 1)
  28.     rect = btmp.text_size(text)
  29.     btmp.dispose#
  30.     rect.width += 2
  31.     rect.height += 2
  32.     self.bitmap = Bitmap.new(rect.width, rect.height)
  33.     bitmap.draw_text(rect, text)
  34.     self.x = Graphics.width - width
  35.     self.y = Graphics.height - height
  36.   end
  37.   #
  38.   def setup_cue_events
  39.     @cues = []
  40.     $game_map.events.each_value {|e|
  41.       @cues.push(e) if !e.empty? && cue_event?(e.list)
  42.     }
  43.   end
  44.   def cue_event?(list)
  45.     list.each {|cmd|
  46.       next unless cmd.code == 108 || cmd.code == 408
  47.       return true if cmd.parameters[0].include?("调查")
  48.     };return false
  49.   end
  50.   #
  51.   def update
  52.     self.visible = leader_face_cue?
  53.   end
  54.   def leader_face_cue?
  55.     fx = $game_map.round_x_with_direction(player.x, player.direction)
  56.     fy = $game_map.round_y_with_direction(player.y, player.direction)
  57.     @cues.each {|e| return true if e.x == fx && e.y == fy}
  58.     return false
  59.   end
  60.   #
  61.   def dispose
  62.     bitmap.dispose
  63.     super
  64.   end
  65.   #
  66.   def player
  67.     $game_player
  68.   end
  69. end
复制代码
这样么????

点评

我是说你把我游戏附带文档里脚本出处的内容复制上来………  发表于 2013-11-18 18:00
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

7
发表于 2013-11-18 19:53:21 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-18 21:23 编辑

这个脚本
http://rmrk.net/index.php/topic,46911.0.html

评分

参与人数 1星屑 +150 收起 理由
Sion + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22958
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
8
发表于 2013-11-18 20:45:19 | 只看该作者
本帖最后由 tseyik 于 2013-11-18 20:58 编辑
魔力的觉醒 发表于 2013-11-18 17:13
嗯嗯  离物品  或者事件近 出来沉默的小动画。


iconPoP
事件中>脚本
書式
  pop_icon(event_id, icon_id, duration)
  
  event_id :事件頭上的 icon_id 的ⅰcon表示。
  event_id 為0 時実行中的事件、
  -1只能以玩家角色為対象。
  duration 可以省略、省略場合默認 120 。
  
  例)pop_icon(-1, 17, 300)
  玩家頭上顕示戦闘不能アイコン5秒(300幀)

  
  例)delete_icon(-1)
  玩家頭上顕示中的ⅰcon削除
Project14.rar (313.76 KB, 下载次数: 50)
  1. #==============================================================================
  2. # ★ RGSS3_アイコンポップ Ver1.2
  3. #==============================================================================
  4. =begin

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

  7. イベントの頭上に任意のアイコンを表示することができます。

  8. イベントコマンド『スクリプト』で以下を実行してください
  9.   pop_icon(event_id, icon_id, duration)
  10.   
  11.   event_id 番のイベントの頭上に icon_id 番のアイコンが表示されます。
  12.   event_id に 0 を指定すると実行中のイベント自身が対象となり、
  13.   -1 を指定すればプレイヤーが対象となります。
  14.   duration は省略することが可能です、その場合は 120 となります。
  15.   
  16.   例)pop_icon(-1, 17, 300)
  17.   プレイヤーに戦闘不能アイコンを5秒間(300フレーム)表示します
  18.   
  19.   アイコン表示中に pop_icon コマンドを実行しても効果はありません。
  20.   すぐに次のアイコンを表示したい場合は、delete_icon コマンドで
  21.   アイコンを削除してから pop_icon コマンドを実行してください。
  22.   
  23.   例)delete_icon(-1)
  24.   プレイヤーに表示中のアイコンを削除する
  25.   
  26. おまけとしてイベントコマンド『アイテムの増減』『武器の増減』『防具の増減』が
  27. 実行されたとき、自動でアイコンを表示する機能が付いています。
  28.   アイコンを表示する対象はゲーム変数(初期設定では6番)で変更が可能です、
  29.   値は pop_icon コマンドにおける event_id と同様ですが、-2 以下を指定することで
  30.   機能をオフにすることができます。
  31.   

  32. 使用するゲーム変数(初期設定)
  33.   0006
  34.   
  35. 2012.01.19  Ver1.2
  36.  ・表示中のアイコンポップを削除する delete_icon コマンドを追加
  37.  ・自律移動【カスタム】のスクリプトコマンドで
  38.   アイコンポップ機能が動作しない不具合を修正
  39.   
  40. 2011.12.21  Ver1.11
  41.  ・並列処理で event_id に 0 を指定するとアイコンが表示されない不具合を修正
  42.   
  43. 2011.12.17  Ver1.1
  44.  ・コマンドに表示時間を指定する機能を追加しました

  45. 2011.12.15  Ver1.0
  46.   公開

  47. =end

  48. #==============================================================================
  49. # □ 設定項目
  50. #==============================================================================
  51. module TMICPOP
  52.   GRAVITY = 24              # アイコンにかかる重力
  53.   SPEED   = -320            # アイコンの初速(Y方向)
  54.   
  55.   VN_TARGET = 6             # 自動ポップ対象設定として扱うゲーム変数番号
  56. end

  57. #==============================================================================
  58. # □ コマンド
  59. #==============================================================================
  60. module TMICPOP
  61. module Commands
  62.   #--------------------------------------------------------------------------
  63.   # ○ アイコンポップの開始
  64.   #--------------------------------------------------------------------------
  65.   def pop_icon(event_id, icon_id, duration = 120)
  66.     target = get_character(event_id)
  67.     return unless target
  68.     target.icpop_id = icon_id
  69.     target.icpop_duration = duration
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ○ アイコンポップの削除
  73.   #--------------------------------------------------------------------------
  74.   def delete_icon(event_id)
  75.     target = get_character(event_id)
  76.     return unless target
  77.     target.icpop_delete_flag = true
  78.   end
  79. end
  80. end # module TMICPOP

  81. #==============================================================================
  82. # ■ Game_CharacterBase
  83. #==============================================================================
  84. class Game_CharacterBase
  85.   #--------------------------------------------------------------------------
  86.   # ● 公開インスタンス変数
  87.   #--------------------------------------------------------------------------
  88.   attr_accessor :icpop_id                 # アイコンポップ ID
  89.   attr_accessor :icpop_duration           # アイコンポップ 表示時間
  90.   attr_accessor :icpop_delete_flag        # アイコンポップ 削除フラグ
  91.   #--------------------------------------------------------------------------
  92.   # ● 公開メンバ変数の初期化
  93.   #--------------------------------------------------------------------------
  94.   alias tmicpop_game_characterbase_init_public_members init_public_members
  95.   def init_public_members
  96.     tmicpop_game_characterbase_init_public_members
  97.     @icpop_id = 0
  98.     @icpop_duration = 0
  99.     @icpop_delete_flag = false
  100.   end
  101. end

  102. #==============================================================================
  103. # ■ Sprite_Character
  104. #==============================================================================
  105. class Sprite_Character
  106.   #--------------------------------------------------------------------------
  107.   # ● オブジェクト初期化
  108.   #     character : Game_Character
  109.   #--------------------------------------------------------------------------
  110.   alias tmicpop_sprite_character_initialize initialize
  111.   def initialize(viewport, character = nil)
  112.     @icpop_duration = 0
  113.     tmicpop_sprite_character_initialize(viewport, character)
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 解放
  117.   #--------------------------------------------------------------------------
  118.   alias tmicpop_sprite_character_dispose dispose
  119.   def dispose
  120.     dispose_icpop
  121.     tmicpop_sprite_character_dispose
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● フレーム更新
  125.   #--------------------------------------------------------------------------
  126.   alias tmicpop_sprite_character_update update
  127.   def update
  128.     update_icpop
  129.     tmicpop_sprite_character_update
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 新しいエフェクトの設定
  133.   #--------------------------------------------------------------------------
  134.   alias tmicpop_sprite_character_setup_new_effect setup_new_effect
  135.   def setup_new_effect
  136.     tmicpop_sprite_character_setup_new_effect
  137.     if !@icpop_sprite && @character.icpop_id > 0
  138.       @icpop_id = @character.icpop_id
  139.       @character.icpop_id = 0
  140.       start_icpop
  141.     end
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ○ アイコンポップ表示の開始
  145.   #--------------------------------------------------------------------------
  146.   def start_icpop
  147.     dispose_icpop
  148.     @icpop_duration = @icpop_duration_max = @character.icpop_duration
  149.     @icpop_sprite = ::Sprite.new(viewport)
  150.     @icpop_sprite.bitmap = Cache.system("IconSet")
  151.     @icpop_sprite.src_rect.set(@icpop_id % 16 * 24, @icpop_id / 16 * 24, 24, 24)
  152.     @icpop_sprite.ox = 12
  153.     @icpop_sprite.oy = 24
  154.     @icpop_y_plus = 0
  155.     @icpop_y_speed = TMICPOP::SPEED
  156.     update_icpop
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ○ アイコンポップの解放
  160.   #--------------------------------------------------------------------------
  161.   def dispose_icpop
  162.     @character.icpop_delete_flag = false
  163.     if @icpop_sprite
  164.       @icpop_sprite.dispose
  165.       @icpop_sprite = nil
  166.     end
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ○ アイコンポップの更新
  170.   #--------------------------------------------------------------------------
  171.   def update_icpop
  172.     if @icpop_duration > 0
  173.       @icpop_duration -= 1
  174.       if @character.icpop_delete_flag
  175.         @icpop_duration = 0
  176.         dispose_icpop
  177.       elsif @icpop_duration > 0
  178.         @icpop_sprite.x = x
  179.         @icpop_y_plus += @icpop_y_speed
  180.         @icpop_y_speed += TMICPOP::GRAVITY
  181.         if @icpop_y_plus > 0
  182.           @icpop_y_plus = 0 - @icpop_y_plus
  183.           @icpop_y_speed = 0 - @icpop_y_speed / 2
  184.         end
  185.         @icpop_sprite.y = y - height + (@icpop_y_plus / 256)
  186.         @icpop_sprite.z = z + 200
  187.         @icpop_sprite.opacity = (@icpop_duration < 16 ? @icpop_duration * 16 :
  188.           (@icpop_duration_max - @icpop_duration) * 32)
  189.       else
  190.         dispose_icpop
  191.         @character.icpop_id = 0
  192.       end
  193.     end
  194.   end
  195. end

  196. #==============================================================================
  197. # ■ Game_Event
  198. #==============================================================================
  199. class Game_Event
  200.   include TMICPOP::Commands
  201.   #--------------------------------------------------------------------------
  202.   # ○ キャラクターの取得
  203.   #     param : -1 ならプレイヤー、0 ならこのイベント、それ以外はイベント ID
  204.   #--------------------------------------------------------------------------
  205.   def get_character(param)
  206.     if param < 0
  207.       $game_player
  208.     else
  209.       $game_map.events[param > 0 ? param : @id]
  210.     end
  211.   end
  212. end

  213. #==============================================================================
  214. # ■ Game_Interpreter
  215. #==============================================================================
  216. class Game_Interpreter
  217.   include TMICPOP::Commands
  218.   #--------------------------------------------------------------------------
  219.   # ● アイテムの増減
  220.   #--------------------------------------------------------------------------
  221.   alias tmicpop_game_interpreter_command_126 command_126
  222.   def command_126
  223.     tmicpop_game_interpreter_command_126
  224.     value = operate_value(@params[1], @params[2], @params[3])
  225.     if value > 0
  226.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  227.         item = $data_items[@params[0]]
  228.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  229.       end
  230.     end
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # ● 武器の増減
  234.   #--------------------------------------------------------------------------
  235.   alias tmicpop_game_interpreter_command_127 command_127
  236.   def command_127
  237.     tmicpop_game_interpreter_command_127
  238.     value = operate_value(@params[1], @params[2], @params[3])
  239.     if value > 0
  240.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  241.         item = $data_weapons[@params[0]]
  242.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  243.       end
  244.     end
  245.   end
  246.   #--------------------------------------------------------------------------
  247.   # ● 防具の増減
  248.   #--------------------------------------------------------------------------
  249.   alias tmicpop_game_interpreter_command_128 command_128
  250.   def command_128
  251.     tmicpop_game_interpreter_command_128
  252.     value = operate_value(@params[1], @params[2], @params[3])
  253.     if value > 0
  254.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  255.         item = $data_armors[@params[0]]
  256.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  257.       end
  258.     end
  259.   end
  260. end


复制代码

点评

文字的有叧一個脚本namepop none  发表于 2013-11-18 20:47

评分

参与人数 1星屑 +150 收起 理由
Sion + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
9
 楼主| 发表于 2013-11-18 21:41:11 | 只看该作者
tseyik 发表于 2013-11-18 20:45
iconPoP
事件中>脚本
書式

非常感谢您  每次都是你帮忙!虽然不是  但是谢谢了啊!
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
10
 楼主| 发表于 2013-11-18 21:42:20 | 只看该作者
喵呜喵5 发表于 2013-11-18 19:53
这个脚本
http://rmrk.net/index.php/topic,46911.0.html

非常感谢  是这个 !   麻烦了!
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 07:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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