Project1

标题: 柳柳大人的NPC任务显示名字怎么设置某一字符不显示??..... [打印本页]

作者: 【凌】    时间: 2014-3-8 09:34
标题: 柳柳大人的NPC任务显示名字怎么设置某一字符不显示??.....
本帖最后由 【凌】 于 2014-3-8 09:37 编辑

脚本附上:
RUBY 代码复制
  1. #==============================================================================
  2.  
  3. # 本脚本来自[url]www.66rpg.com[/url],转载、使用请保留此信息
  4.  
  5. #==============================================================================
  6.  
  7. # 作者:柳柳
  8.  
  9. # 加强:叶子
  10.  
  11. # 使用方法:插入到main前即可,之后就会显示每个事件的名字。
  12.  
  13. # 不想显示名字的NPC直接把名字设置为一个空格就行了。
  14.  
  15. #
  16.  
  17. # 附加功能:名字颜色区分:比如一个NPC的名字是  柳柳,2  就会用2号颜色(红色)显示
  18.  
  19. #
  20.  
  21. # 修改NPC名的方法:$game_map.events[事件ID编号].name =
  22.  
  23. # 比如某个宝箱,原名宝箱,打开后名为“打开的宝箱”,则
  24.  
  25. # $game_map.events[@event_id].name = "打开的宝箱" 或者
  26.  
  27. # $game_map.events[2].name = "打开的宝箱" (假设宝箱是2号事件)
  28.  
  29. #
  30.  
  31. # 修改颜色定义:70-88行,131-149行,自己随便改。
  32.  
  33. #
  34.  
  35. # 给主角带上名字:192行,改 "" 为 "主角" 或者 $game_party.actors[0].name 即可
  36.  
  37. #
  38.  
  39. # 是否显示姓名的开关:157行,开头的井号去掉。则以后39号开关打开的时候才会显示姓名
  40.  
  41. #
  42.  
  43. #==============================================================================
  44.  
  45. # ■ Game_Event
  46.  
  47. #------------------------------------------------------------------------------
  48.  
  49. #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
  50.  
  51. # 在 Game_Map 类的内部使用。
  52.  
  53. #==============================================================================
  54.  
  55. class Game_Event < Game_Character
  56.  
  57. #——————————————————————————————————————
  58.  
  59. # 用来返回名称
  60.  
  61. #——————————————————————————————————————
  62.  
  63. def name
  64.  
  65.   return @event.name
  66.  
  67. end  
  68.  
  69. def name=(newname)
  70.  
  71.   @event.name = newname
  72.  
  73. end
  74.  
  75. end
  76.  
  77.  
  78.  
  79. #==============================================================================
  80.  
  81. # ■ Sprite_Character
  82.  
  83. #------------------------------------------------------------------------------
  84.  
  85. #  角色显示用脚本。监视 Game_Character 类的实例、
  86.  
  87. # 自动变化脚本状态。
  88.  
  89. #==============================================================================
  90.  
  91.  
  92.  
  93. class Sprite_Character < RPG::Sprite
  94.  
  95. #--------------------------------------------------------------------------
  96.  
  97. # ● 定义实例变量
  98.  
  99. #--------------------------------------------------------------------------
  100.  
  101. attr_accessor :character                # 角色
  102.  
  103.   #--------------------------------------------------------------------------
  104.  
  105. # ● 初始化对像
  106.  
  107. #     viewport  : 查看端口
  108.  
  109. #     character : 角色 (Game_Character)
  110.  
  111. #--------------------------------------------------------------------------
  112.  
  113. def initialize(viewport, character = Game_Character.new)
  114.  
  115.   super(viewport)
  116.  
  117.   @character = character
  118.  
  119.   return if !@character.is_a?(Game_Event)#Train_Actor::Game_Party_Actor)
  120.  
  121.   name = character.name
  122.  
  123.   @namesprite = Sprite.new
  124.  
  125.   @namesprite.bitmap = Bitmap.new(160, 48)
  126.  
  127.   @namesprite.bitmap.font.name = "黑体"
  128.  
  129.   @namesprite.bitmap.font.size = 16
  130.  
  131.   @namesprite.bitmap.font.color.set(255, 255, 255)
  132.  
  133.   @evname = name
  134.  
  135.   @evname_split = name.split(/,/)[0]
  136.  
  137.   if name.split(/,/)[1] != nil
  138.  
  139.     case name.split(/,/)[1]
  140.  
  141.     when "0"
  142.  
  143.       @namesprite.bitmap.font.color.set(255, 255, 255)
  144.  
  145.     when "1"
  146.  
  147.       @namesprite.bitmap.font.color.set(128, 128, 255)
  148.  
  149.     when "2"
  150.  
  151.       @namesprite.bitmap.font.color.set(255, 128, 128)
  152.  
  153.     when "3"
  154.  
  155.       @namesprite.bitmap.font.color.set(128, 255, 128)
  156.  
  157.     when "4"
  158.  
  159.       @namesprite.bitmap.font.color.set(128, 255, 255)
  160.  
  161.     when "5"
  162.  
  163.       @namesprite.bitmap.font.color.set(255, 128, 255)
  164.  
  165.     when "6"
  166.  
  167.       @namesprite.bitmap.font.color.set(255, 255, 128)
  168.  
  169.     when "7"
  170.  
  171.       @namesprite.bitmap.font.color.set(192, 192, 192)
  172.  
  173.     else
  174.  
  175.       @namesprite.bitmap.font.color.set(255, 255, 255)
  176.  
  177.     end
  178.  
  179.   end
  180.  
  181.   if @evname_split != "" and @evname_split != nil
  182.  
  183.     @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
  184.  
  185.   end
  186.  
  187.   update
  188.  
  189. end
  190.  
  191.   #--------------------------------------------------------------------------
  192.  
  193. # ● 更新画面
  194.  
  195. #--------------------------------------------------------------------------
  196.  
  197. def update
  198.  
  199.   super
  200.  
  201.   # 元件 ID、文件名、色相与现在的情况存在差异的情况下
  202.  
  203.   if @tile_id != @character.tile_id or
  204.  
  205.      @character_name != @character.character_name or
  206.  
  207.      @character_hue != @character.character_hue
  208.  
  209.     # 记忆元件 ID 与文件名、色相
  210.  
  211.     @tile_id = @character.tile_id
  212.  
  213.     @character_name = @character.character_name
  214.  
  215.     @character_hue = @character.character_hue
  216.  
  217.     # 元件 ID 为有效值的情况下
  218.  
  219.     if @tile_id >= 384
  220.  
  221.       self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  222.  
  223.         @tile_id, @character.character_hue)
  224.  
  225.       self.src_rect.set(0, 0, 32, 32)
  226.  
  227.       self.ox = 16
  228.  
  229.       self.oy = 32
  230.  
  231.     # 元件 ID 为无效值的情况下
  232.  
  233.     else
  234.  
  235.       self.bitmap = RPG::Cache.character(@character.character_name,
  236.  
  237.         @character.character_hue)
  238.  
  239.       @cw = bitmap.width / 4
  240.  
  241.       @ch = bitmap.height / 4
  242.  
  243.       self.ox = @cw / 2
  244.  
  245.       self.oy = @ch
  246.  
  247.     end
  248.  
  249.   end
  250.  
  251.   if character.is_a?(Game_Event) and @evname != @character.name
  252.  
  253.     @namesprite.bitmap.clear
  254.  
  255.     @evname = @character.name
  256.  
  257.     @evname_split = @character.name.split(/,/)[0]
  258.  
  259.     if @character.name.split(/,/)[1] != nil
  260.  
  261.       case @character.name.split(/,/)[1]
  262.  
  263.       when "0"
  264.  
  265.         @namesprite.bitmap.font.color.set(255, 255, 255)
  266.  
  267.       when "1"
  268.  
  269.         @namesprite.bitmap.font.color.set(128, 128, 255)
  270.  
  271.       when "2"
  272.  
  273.         @namesprite.bitmap.font.color.set(255, 128, 128)
  274.  
  275.       when "3"
  276.  
  277.         @namesprite.bitmap.font.color.set(128, 255, 128)
  278.  
  279.       when "4"
  280.  
  281.         @namesprite.bitmap.font.color.set(128, 255, 255)
  282.  
  283.       when "5"
  284.  
  285.         @namesprite.bitmap.font.color.set(255, 128, 255)
  286.  
  287.       when "6"
  288.  
  289.         @namesprite.bitmap.font.color.set(255, 255, 128)
  290.  
  291.       when "7"
  292.  
  293.         @namesprite.bitmap.font.color.set(192, 192, 192)
  294.  
  295.       else
  296.  
  297.         @namesprite.bitmap.font.color.set(255, 255, 255)
  298.  
  299.       end
  300.  
  301.     end
  302.  
  303.     if @evname_split != "" and @evname_split != nil
  304.  
  305.       @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
  306.  
  307.     end
  308.  
  309.   end
  310.  
  311.   if character.is_a?(Game_Event)
  312.  
  313.     @namesprite.x = self.x-80
  314.  
  315.     @namesprite.y = self.y-self.oy-24
  316.  
  317.     #@namesprite.visible = $game_switches[39]
  318.  
  319.   end
  320.  
  321.   # 设置可视状态
  322.  
  323.   self.visible = (not @character.transparent)
  324.  
  325.   # 图形是角色的情况下
  326.  
  327.   if @tile_id == 0
  328.  
  329.     # 设置传送目标的矩形
  330.  
  331.     sx = @character.pattern * @cw
  332.  
  333.     sy = (@character.direction - 2) / 2 * @ch
  334.  
  335.     self.src_rect.set(sx, sy, @cw, @ch)
  336.  
  337.   end
  338.  
  339.   # 设置脚本的坐标
  340.  
  341.   self.x = @character.screen_x
  342.  
  343.   self.y = @character.screen_y
  344.  
  345.   self.z = @character.screen_z(@ch)
  346.  
  347.   # 设置不透明度、合成方式、茂密
  348.  
  349.   self.opacity = @character.opacity
  350.  
  351.   self.blend_type = @character.blend_type
  352.  
  353.   self.bush_depth = @character.bush_depth
  354.  
  355.   # 动画
  356.  
  357.   if @character.animation_id != 0
  358.  
  359.     animation = $data_animations[@character.animation_id]
  360.  
  361.     animation(animation, true)
  362.  
  363.     @character.animation_id = 0
  364.  
  365.   end
  366.  
  367. end
  368.  
  369. end
  370.  
  371. #==============================================================================
  372.  
  373. # ■ Game_Player
  374.  
  375. #------------------------------------------------------------------------------
  376.  
  377. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  378.  
  379. # 本类的实例请参考 $game_player。
  380.  
  381. #==============================================================================
  382.  
  383.  
  384.  
  385. class Game_Player < Game_Character
  386.  
  387. def name
  388.  
  389.   return ""
  390.  
  391. end
  392.  
  393. end
  394.  
  395. #==============================================================================
  396.  
  397. # 本脚本来自[url]www.66rpg.com[/url],转载、使用请保留此信息
  398.  
  399. #==============================================================================






柳柳大人的NPC任务显示名字怎么设置某一字符不显示?????
例如:我想把★号不显示,应该怎么设置??????????

作者: 【凌】    时间: 2014-3-15 14:32
没人回答吗???
作者: 天地有正气    时间: 2014-3-15 15:36
这样?
找到def name 那里。
替换。
def name
  return @event.name.sub!("★")
end




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