设为首页收藏本站

仙剑之十里坡

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6831|回复: 16
打印 上一主题 下一主题

显示NPC名称的脚本

  [复制链接]

168

主题

6

听众

1万

积分

超级版主

蜀山剑侠银行行长

超级版主

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 886 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13210
    历练
    7
    声望
    24
    人气
    2442

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    跳转到指定楼层
    1
    发表于 2010-8-5 15:04:13 |只看该作者 |倒序浏览
    1. #==============================================================================
    2. # 本脚本来自www.66rpg.com,转载、使用请保留此信息
    3. #==============================================================================
    4. # 作者:柳柳
    5. #
    6. # 使用方法:插入到main前即可,之后就会显示每个事件的名字。
    7. # 不想显示名字的NPC直接把名字设置为一个空格就行了。
    8. #
    9. # 附加功能:名字颜色区分:比如一个NPC的名字是 柳柳,2 就会用2号颜色(红色)显示
    10. #
    11. # 修改NPC名的方法:$game_map.events[事件ID编号].name =
    12. # 比如某个宝箱,原名宝箱,打开后名为“打开的宝箱”,则
    13. # $game_map.events[@event_id].name = "打开的宝箱" 或者
    14. # $game_map.events[2].name = "打开的宝箱" (假设宝箱是2号事件)
    15. #
    16. # 修改颜色定义:70-88行,131-149行,自己随便改。
    17. #
    18. # 给主角带上名字:192行,改 "" 为 "主角" 或者 $game_party.actors[0].name 即可
    19. #
    20. # 是否显示姓名的开关:160行,开头的井号去掉。则以后39号开关打开的时候才会显示姓名
    21. #
    22. #==============================================================================
    23. # ■ Game_Event
    24. #------------------------------------------------------------------------------
    25. #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
    26. # 在 Game_Map 类的内部使用。
    27. #==============================================================================
    28. class Game_Event < Game_Character
    29. #——————————————————————————————————————
    30. # 用来返回名称
    31. #——————————————————————————————————————
    32. def name
    33. return @event.name
    34. end
    35. def name=(newname)
    36. @event.name = newname
    37. end
    38. end

    39. #==============================================================================
    40. # ■ Sprite_Character
    41. #------------------------------------------------------------------------------
    42. #  角色显示用脚本。监视 Game_Character 类的实例、
    43. # 自动变化脚本状态。
    44. #==============================================================================

    45. class Sprite_Character < RPG::Sprite
    46. #--------------------------------------------------------------------------
    47. # ● 定义实例变量
    48. #--------------------------------------------------------------------------
    49. attr_accessor :character # 角色
    50. #--------------------------------------------------------------------------
    51. # ● 初始化对像
    52. # viewport : 查看端口
    53. # character : 角色 (Game_Character)
    54. #--------------------------------------------------------------------------
    55. def initialize(viewport, character = nil)
    56. name = character.name
    57. super(viewport)
    58. @character = character
    59. @namesprite = Sprite.new
    60. @namesprite.bitmap = Bitmap.new(160, 48)
    61. @namesprite.bitmap.font.name = "黑体"
    62. @namesprite.bitmap.font.size = 16
    63. @namesprite.bitmap.font.color.set(255, 255, 255)
    64. @evname = name
    65. @evname_split = name.split(/,/)[0]
    66. if name[0, 2]=="EV"
    67. @evname_split = " "
    68. end
    69. if name.split(/,/)[1] != nil
    70. case name.split(/,/)[1]
    71. when "0"
    72. @namesprite.bitmap.font.color.set(255, 255, 255)
    73. when "1"
    74. @namesprite.bitmap.font.color.set(128, 128, 255)
    75. when "2"
    76. @namesprite.bitmap.font.color.set(255, 128, 128)
    77. when "3"
    78. @namesprite.bitmap.font.color.set(128, 255, 128)
    79. when "4"
    80. @namesprite.bitmap.font.color.set(128, 255, 255)
    81. when "5"
    82. @namesprite.bitmap.font.color.set(255, 128, 255)
    83. when "6"
    84. @namesprite.bitmap.font.color.set(255, 255, 128)
    85. when "7"
    86. @namesprite.bitmap.font.color.set(192, 192, 192)
    87. else
    88. @namesprite.bitmap.font.color.set(255, 255, 255)
    89. end
    90. end
    91. if @evname_split != "" and @evname_split != nil
    92. @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
    93. end
    94. update
    95. end
    96. #--------------------------------------------------------------------------
    97. # ● 更新画面
    98. #--------------------------------------------------------------------------
    99. def update
    100. super
    101. # 元件 ID、文件名、色相与现在的情况存在差异的情况下
    102. if @tile_id != @character.tile_id or
    103. @character_name != @character.character_name or
    104. @character_hue != @character.character_hue
    105. # 记忆元件 ID 与文件名、色相
    106. @tile_id = @character.tile_id
    107. @character_name = @character.character_name
    108. @character_hue = @character.character_hue
    109. # 元件 ID 为有效值的情况下
    110. if @tile_id >= 384
    111. self.bitmap = RPG::Cache.tile($game_map.tileset_name,
    112. @tile_id, @character.character_hue)
    113. self.src_rect.set(0, 0, 32, 32)
    114. self.ox = 16
    115. self.oy = 32
    116. # 元件 ID 为无效值的情况下
    117. else
    118. self.bitmap = RPG::Cache.character(@character.character_name,
    119. @character.character_hue)
    120. @cw = bitmap.width / 4
    121. @ch = bitmap.height / 4
    122. self.ox = @cw / 2
    123. self.oy = @ch
    124. end
    125. end
    126. if @evname != @character.name
    127. @namesprite.bitmap.clear
    128. @evname = @character.name
    129. @evname_split = @character.name.split(/,/)[0]
    130. if @character.name.split(/,/)[1] != nil
    131. case @character.name.split(/,/)[1]
    132. when "0"
    133. @namesprite.bitmap.font.color.set(255, 255, 255)
    134. when "1"
    135. @namesprite.bitmap.font.color.set(128, 128, 255)
    136. when "2"
    137. @namesprite.bitmap.font.color.set(255, 128, 128)
    138. when "3"
    139. @namesprite.bitmap.font.color.set(128, 255, 128)
    140. when "4"
    141. @namesprite.bitmap.font.color.set(128, 255, 255)
    142. when "5"
    143. @namesprite.bitmap.font.color.set(255, 128, 255)
    144. when "6"
    145. @namesprite.bitmap.font.color.set(255, 255, 128)
    146. when "7"
    147. @namesprite.bitmap.font.color.set(192, 192, 192)
    148. else
    149. @namesprite.bitmap.font.color.set(255, 255, 255)
    150. end
    151. end
    152. if @evname_split != "" and @evname_split != nil
    153. @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
    154. end
    155. end
    156. @namesprite.x = self.x-80
    157. @namesprite.y = self.y-self.oy-24
    158. #@namesprite.visible = $game_switches[39]
    159. # 设置可视状态
    160. self.visible = (not @character.transparent)
    161. # 图形是角色的情况下
    162. if @tile_id == 0
    163. # 设置传送目标的矩形
    164. sx = @character.pattern * @cw
    165. sy = (@character.direction - 2) / 2 * @ch
    166. self.src_rect.set(sx, sy, @cw, @ch)
    167. end
    168. # 设置脚本的坐标
    169. self.x = @character.screen_x
    170. self.y = @character.screen_y
    171. self.z = @character.screen_z(@ch)
    172. # 设置不透明度、合成方式、茂密
    173. self.opacity = @character.opacity
    174. self.blend_type = @character.blend_type
    175. self.bush_depth = @character.bush_depth
    176. # 动画
    177. if @character.animation_id != 0
    178. animation = $data_animations[@character.animation_id]
    179. animation(animation, true)
    180. @character.animation_id = 0
    181. end
    182. end
    183. end
    184. #==============================================================================
    185. # ■ Game_Player
    186. #------------------------------------------------------------------------------
    187. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
    188. # 本类的实例请参考 $game_player。
    189. #==============================================================================

    190. class Game_Player < Game_Character
    191. def name
    192. return ""
    193. end
    194. end
    195. #==============================================================================
    196. # 本脚本来自www.66rpg.com,转载、使用请保留此信息
    197. # 本脚本转载自www.palslp.com
    198. #==============================================================================
    复制代码
    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    转播转播0 分享淘帖0 分享分享0 收藏收藏0
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”

    168

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 886 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13210
    历练
    7
    声望
    24
    人气
    2442

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    2
    发表于 2010-8-5 15:05:21 |只看该作者
    这个就是在NPC头上加上名字,使用方法上面有。
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1013

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1404 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23743
    历练
    3
    声望
    133
    人气
    2615

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    3
    发表于 2010-8-5 15:15:56 |只看该作者
    对我们有用么?
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    168

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 886 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13210
    历练
    7
    声望
    24
    人气
    2442

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    4
    发表于 2010-8-5 15:19:05 |只看该作者
    对用默认素材做游戏的人有用。
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1013

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1404 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23743
    历练
    3
    声望
    133
    人气
    2615

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    5
    发表于 2010-8-5 15:47:34 |只看该作者
    要是放在我的游戏里99%会Error
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    168

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 886 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13210
    历练
    7
    声望
    24
    人气
    2442

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    6
    发表于 2010-8-5 15:49:11 |只看该作者
    - -你废话- -
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1013

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1404 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23743
    历练
    3
    声望
    133
    人气
    2615

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    7
    发表于 2010-8-5 15:58:40 |只看该作者
    因为我的游戏的战斗地图就是要读取事件名称……
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    168

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 886 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13210
    历练
    7
    声望
    24
    人气
    2442

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    8
    发表于 2010-8-5 17:57:21 |只看该作者
    - -所以就冲突- -
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1013

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1404 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23743
    历练
    3
    声望
    133
    人气
    2615

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    9
    发表于 2010-8-5 18:07:19 |只看该作者
    就算不冲突也会很多代码
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    157

    主题

    2

    听众

    5946

    积分

    名扬四海

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

    会员等级: 7

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

    [LV.8]以坛为家I

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

    出神入化

    单身中……
    帮我摆脱单身吧
    10
    发表于 2010-8-5 18:16:29 |只看该作者
    南瓜啊,这个会出错啊
    心情不好,靠近者,死
    回复

    使用道具 举报

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

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

    GMT+8, 2024-11-16 03:04 , Processed in 0.381733 second(s), 51 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部