查看: 1783|回复: 7

[已经过期] @team_flag_sprite.bitmap = RPG::Cache.picture("队标")

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2023-4-8 08:11:30 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 2023-4-8 08:13 编辑

我想要把脚本31行改成 @team_flag_sprite.bitmap =  Figter_data::CHARACTER_NAME[data_id]  =  "E_Horseman" #头像  


module Figter_data
  
data_id = 2
#=====基本、模型信息==========
CHARACTER_NAME[data_id]  =  "E_Horseman" #头像


[pre lang="ruby"]#==============================================================================
# ■  RMXP
  #--------------------------------------------------------------------------
  #  作者:刺夜之枪
#==============================================================================
#==============================================================================
# ■ Sprite_Character
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 参数设置 正太君改
  #--------------------------------------------------------------------------
  # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  # 图片放在 Graphics/Pictures/ 文件夹下
  TeamTagFileName = "wodeshib"
  # 设置显示友军标记的开关号
  TeamTagBar = 10
  
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  alias hzhj_old_init_make_tag initialize
  def initialize(*args)
    @team_tag_sprite = Sprite.new(args[0])
    @tags_sprites = []
    @tags_sprites << @team_tag_sprite
    @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
   
    @team_flag_sprite = Sprite.new(args[0])
    @team_flag_sprite.bitmap =  RPG::Cache.picture("队标")
    @tags_sprites << @team_flag_sprite
   
    @count = 0
    @wait_count = 0
   
    hzhj_old_init_make_tag(*args)
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  alias hzhj_old_dispose_make_tag dispose unless $@
  def dispose
    @tags_sprites.each{|sprite|sprite.dispose}
    hzhj_old_dispose_make_tag
  end
  #--------------------------------------------------------------------------
  # ● 获取事件 HP # 正太君改
  #--------------------------------------------------------------------------
  def event_hp
     return 0 if @character.nil?
     return 0 if @character.is_a?(Game_Player)
     return @character.hp
  end
=begin   
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and selected and !@character.removed
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
=end
  #--------------------------------------------------------------------------
  # ● 判断是否显示队长旗子
  #--------------------------------------------------------------------------
  def show_team_flag?
    return false if @character.is_a?(Game_Player)
    return false if @character.is_a?(EFS_Hero)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)
   
    cp = $scene.team_groups[@character.group-1].captain
    if cp == @character
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
  
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    @selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and !@character.removed # and selected
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end

  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias hzhj_old_update_make_tag update
  def update
    hzhj_old_update_make_tag
    if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player)
      @tags_sprites.each{|sprite|sprite.visible = false}
    else
      if show_team_flag?
        @team_flag_sprite.visible =  true
      else  
        @team_flag_sprite.visible =  false
      end  
      # 刷新 标记 可见状态
      if show_team_tag?
        
        @team_tag_sprite.visible =  true

        if @selected
          @tags_sprites.each do |sprite|
            
            
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 255
          end#loop
        
        else

        # 刷新坐标
        @tags_sprites.each do |sprite|
          #sprite.zoom_y = 1
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 125
        end#loop
        
        end #if include
        
      else
        @tags_sprites.each{|sprite|sprite.visible = false}
      end
      
    end
   
   
   
  end
  
  
end[/pre]
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2023-4-8 10:23:24 | 显示全部楼层
头像文件名是什么,放在哪个文件夹?
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2023-4-8 10:29:25 | 显示全部楼层
本帖最后由 金芒芒 于 2023-4-8 10:40 编辑
guoxiaomi 发表于 2023-4-8 10:23
头像文件名是什么,放在哪个文件夹?


Graphics\Icons   头像文件名 E_HeavyInfantry  我想要根据团队 队长的ID来更换头像
if@team Figter_data::data包括(2)
@team_flag_sprite.bitmap =  RPG::Cache.Icons(" E_HeavyInfantry")
end
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2023-4-8 11:05:14 | 显示全部楼层
金芒芒 发表于 2023-4-8 10:29
Graphics\Icons   头像文件名 E_HeavyInfantry  我想要根据团队 队长的ID来更换头像
if@team Figter_data ...

参考一下这段代码
  1. # 获取队长信息
  2. cp = $scene.team_groups[@character.group-1].captain
  3. if cp == @character
  4.   bitmap = nil
  5.   case @character.id
  6.   # 队长 id 为 2 显示 E_HeavyInfantry
  7.   when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
  8.   end
  9.   @team_flag_sprite.bitmap = bitmap if bitmap
  10. end
复制代码
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2023-4-8 11:17:47 | 显示全部楼层
本帖最后由 金芒芒 于 2023-4-8 11:41 编辑
guoxiaomi 发表于 2023-4-8 11:05
参考一下这段代码


这段脚本是插入88行脚本吗
无显示队标脚本
[pre lang="ruby"]#==============================================================================
# ■  RMXP
  #--------------------------------------------------------------------------
  #  作者:刺夜之枪
#==============================================================================
#==============================================================================
# ■ Sprite_Character
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 参数设置 正太君改
  #--------------------------------------------------------------------------
  # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  # 图片放在 Graphics/Pictures/ 文件夹下
  TeamTagFileName = "大脚"#wodeshib
  # 设置显示友军标记的开关号
  TeamTagBar = 10
  
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  #别名hzhj旧初始化使标记初始化
  alias hzhj_old_init_make_tag initialize
  #定义初始化参数
  def initialize(*args)
   
    @team_tag_sprite = Sprite.new(args[0])
    @tags_sprites = []
    @tags_sprites << @team_tag_sprite
    @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
   
    @team_flag_sprite = Sprite.new(args[0])
    @team_flag_sprite.bitmap =  RPG::Cache.picture("队标")
    @tags_sprites << @team_flag_sprite
   
    @count = 0
    @wait_count = 0
   
    hzhj_old_init_make_tag(*args)
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  alias hzhj_old_dispose_make_tag dispose unless $@
  def dispose
    @tags_sprites.each{|sprite|sprite.dispose}
    hzhj_old_dispose_make_tag
  end
  #--------------------------------------------------------------------------
  # ● 获取事件 HP # 正太君改
  #--------------------------------------------------------------------------
  def event_hp
     return 0 if @character.nil?
     return 0 if @character.is_a?(Game_Player)
     return @character.hp
  end
=begin   
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and selected and !@character.removed
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
=end
  #--------------------------------------------------------------------------
  # ● 判断是否显示队长旗子
  #--------------------------------------------------------------------------
  def show_team_flag?
    return false if @character.is_a?(Game_Player)
    return false if @character.is_a?(EFS_Hero)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)
   
#   cp = $scene.team_groups[@character.group-1].captain
#   if cp == @character
#      return $game_switches[TeamTagBar]
  #  else
#     return false
#   end  
    cp = $scene.team_groups[@character.group-1].captain
   if cp == @character
    bitmap = nil
    case @character.id
  # 队长 id 为 2 显示 E_HeavyInfantry
    when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
    end
    @team_flag_sprite.bitmap = bitmap if bitmap
    end   
     
end
  
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    @selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and !@character.removed # and selected
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end

  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias hzhj_old_update_make_tag update
  def update
    hzhj_old_update_make_tag
    if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player)
      @tags_sprites.each{|sprite|sprite.visible = false}
    else
      if show_team_flag?
        @team_flag_sprite.visible =  true
      else  
        @team_flag_sprite.visible =  false
      end  
      # 刷新 标记 可见状态
      if show_team_tag?
        
        @team_tag_sprite.visible =  true

        if @selected
          @tags_sprites.each do |sprite|
            
            
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 255
          end#loop
        
        else

        # 刷新坐标
        @tags_sprites.each do |sprite|
          #sprite.zoom_y = 1
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 125
        end#loop
        
        end #if include
        
      else
        @tags_sprites.each{|sprite|sprite.visible = false}
      end
      
    end
   
   
   
  end
  
  
end[/pre]

有队标脚本
[pre lang="ruby"]#==============================================================================
# ■  RMXP
  #--------------------------------------------------------------------------
  #  作者:刺夜之枪
#==============================================================================
#==============================================================================
# ■ Sprite_Character
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 参数设置 正太君改
  #--------------------------------------------------------------------------
  # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  # 图片放在 Graphics/Pictures/ 文件夹下
  TeamTagFileName = "大脚"#wodeshib
  # 设置显示友军标记的开关号
  TeamTagBar = 10
  
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  #别名hzhj旧初始化使标记初始化
  alias hzhj_old_init_make_tag initialize
  #定义初始化参数
  def initialize(*args)
    #团队标记精灵=精灵。新(参数[0])
    @team_tag_sprite = Sprite.new(args[0])
    #@标签_精灵=[]
    @tags_sprites = []
    #标签_精灵<<团队标签_精灵
    @tags_sprites << @team_tag_sprite
    #团队标签精灵.位图=RPG::缓存。图片(TeamTagFileName)TeamTagFileName = "大脚"
    @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
    #@队旗精灵=精灵.新(参数[0])
    @team_flag_sprite = Sprite.new(args[0])
    #@队旗精灵.位图 =  RPG::Cache.picture("队标")
    @team_flag_sprite.bitmap =  RPG::Cache.picture("队标")
    #@标签_精灵 << @队旗精灵.位图
    @tags_sprites << @team_flag_sprite
    #@计数 =0
    @count = 0
    #@等待计数=0
    @wait_count = 0
    #hzhj旧初始化组成标记(*参数)
    hzhj_old_init_make_tag(*args)
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
#别名hzhj旧的处理使标记处理除非$@
  alias hzhj_old_dispose_make_tag dispose unless $@
  #定义处理
  def dispose
    @tags_sprites.each{|sprite|sprite.dispose}
    hzhj_old_dispose_make_tag
  end
  #--------------------------------------------------------------------------
  # ● 获取事件 HP # 正太君改
  #--------------------------------------------------------------------------
  def event_hp
     return 0 if @character.nil?
     return 0 if @character.is_a?(Game_Player)
     return @character.hp
  end
=begin   
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and selected and !@character.removed
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
=end
  #--------------------------------------------------------------------------
  # ● 判断是否显示队长旗子
  #--------------------------------------------------------------------------
  def show_team_flag?
    return false if @character.is_a?(Game_Player)
    return false if @character.is_a?(EFS_Hero)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)
   
    cp = $scene.team_groups[@character.group-1].captain
    if cp == @character
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   cp = $scene.team_groups[@character.group-1].captain
   if cp == @character
    bitmap = nil
    case @character.id
  # 队长 id 为 2 显示 E_HeavyInfantry
    when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
    end
    @team_flag_sprite.bitmap = bitmap if bitmap
    end   
  end
  
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    @selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and !@character.removed # and selected
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end

  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias hzhj_old_update_make_tag update
  def update
    hzhj_old_update_make_tag
    if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player)
      @tags_sprites.each{|sprite|sprite.visible = false}
    else
      if show_team_flag?
        @team_flag_sprite.visible =  true
      else  
        @team_flag_sprite.visible =  false
      end  
      # 刷新 标记 可见状态
      if show_team_tag?
        
        @team_tag_sprite.visible =  true

        if @selected
          @tags_sprites.each do |sprite|
            
            
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 255
          end#loop
        
        else

        # 刷新坐标
        @tags_sprites.each do |sprite|
          #sprite.zoom_y = 1
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 125
        end#loop
        
        end #if include
        
      else
        @tags_sprites.each{|sprite|sprite.visible = false}
      end
      
    end
   
   
   
  end
  
  
end[/pre]
dui队标无.png
队标id.png
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2023-4-8 11:52:58 | 显示全部楼层
guoxiaomi 发表于 2023-4-8 11:05
参考一下这段代码


@character.id= Figter_data::data_id 我加进去就也出错了

点评

不是你自己说的改31行吗?  发表于 2023-4-8 11:54
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2023-4-8 12:24:01 | 显示全部楼层
嗯那等下在试试
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部