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

Project1

 找回密码
 注册会员
搜索
楼主: 金芒芒
打印 上一主题 下一主题

[有事请教] 如果队长是骑士脚本这么写脚本内容是以下提取

[复制链接]

Lv5.捕梦者

梦石
0
星屑
33213
在线时间
10497 小时
注册时间
2009-3-15
帖子
4756
11
发表于 2023-6-28 11:16:48 | 只看该作者
金芒芒 发表于 2023-6-28 08:21
if @character.Figter_data::IS_CAL[data_id] = true 这一句直接退游戏了
29行和30行两句多用了不冲突也 ...


这样写当然报错

你照抄我给你的才对
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
12
 楼主| 发表于 2023-6-28 11:20:50 | 只看该作者
soulsaga 发表于 2023-6-28 11:16
这样写当然报错

你照抄我给你的才对

照抄无冲突无作用
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33213
在线时间
10497 小时
注册时间
2009-3-15
帖子
4756
13
发表于 2023-6-28 11:49:10 | 只看该作者
本帖最后由 soulsaga 于 2023-6-28 11:53 编辑
金芒芒 发表于 2023-6-28 11:20
照抄无冲突无作用


你可以P 一下Figter_data::IS_CAL[@character.id]
p Figter_data::IS_CAL[@character.id]

看看

如果不行就p @character.id
如果都不行..我也不知怎么搞了
data_id是什么ID?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
14
 楼主| 发表于 2023-6-28 12:23:00 | 只看该作者
本帖最后由 金芒芒 于 2023-6-28 12:34 编辑
soulsaga 发表于 2023-6-28 11:49
你可以P 一下Figter_data::IS_CAL[@character.id]
p Figter_data::IS_CAL[@character.id]


data_id 是模型角色非数据ID的数据ID 只有在特定的地图上他才算一个角色
IS_CAL 是角色的属性,以后我就用装备来判断更改图片了
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33213
在线时间
10497 小时
注册时间
2009-3-15
帖子
4756
15
发表于 2023-6-28 14:35:54 | 只看该作者
金芒芒 发表于 2023-6-28 12:23
data_id 是模型角色非数据ID的数据ID 只有在特定的地图上他才算一个角色
IS_CAL 是角色的属性,以后我就 ...

@character.id
能不能获取到data_id啊?
如果不能我也搞不定
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
16
 楼主| 发表于 2023-6-28 15:54:12 | 只看该作者
本帖最后由 金芒芒 于 2023-6-28 15:55 编辑
soulsaga 发表于 2023-6-28 14:35
@character.id
能不能获取到data_id啊?
如果不能我也搞不定

可以直接获取模型ID 就if判断多几个


module Figter_data
  
data_id = 2
#=====基本、模型信息==========
CHARACTER_NAME[data_id]  =  "E_Horseman" #头像
ATK_SE[data_id]  = "swordbasic_"
ATK_SE_NUM[data_id]  = 11
DEF_SE[data_id] = "shield_cav_"
DEF_SE_NUM[data_id] = 3
S_ATK_SE[data_id]  = nil
S_ATK_SE_NUM[data_id]  = nil
AMMO_NAME[data_id]  =    nil
AMMO_D_NAME[data_id]  = nil
S_SHOOT_SE[data_id] = nil
S_SHOOT_SE_NUM[data_id] = nil
S_PASSBY_SE[data_id] = nil
S_PASSBY_SE_NUM[data_id] = nil
S_DROP_SE[data_id] = nil
S_DROP_SE_NUM[data_id] = nil
S_FLY_TYPE[data_id] = nil
#=======类别=================
THE_NAME[data_id]  = "帝国骑兵"
IS_CAL[data_id]  =   true
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
17
 楼主| 发表于 2023-6-28 15:58:00 | 只看该作者
本帖最后由 金芒芒 于 2023-6-28 16:00 编辑
soulsaga 发表于 2023-6-28 14:35
@character.id
能不能获取到data_id啊?
如果不能我也搞不定


这是原来的作者写了一半的脚本注释掉了

  # cp = $scene.team_groups[@character.group-1].captain
   # if cp == @character
   # bitmap = nil

  # @character.id= Figter_data::data_id
   # 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
RUBY 代码复制
  1. #==============================================================================
  2. # ■  RMXP
  3.   #--------------------------------------------------------------------------
  4.   #  作者:刺夜之枪
  5. #==============================================================================
  6. #==============================================================================
  7. # ■ Sprite_Character
  8. #==============================================================================
  9.  
  10. class Sprite_Character < RPG::Sprite
  11.   #--------------------------------------------------------------------------
  12.   # ● 参数设置 正太君改
  13.   #--------------------------------------------------------------------------
  14.   # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  15.   # 图片放在 Graphics/Pictures/ 文件夹下
  16.   TeamTagFileName = "大脚"#团队组标记文件名
  17.   # 设置显示友军标记的开关号
  18.   TeamTagBar = 10
  19.  
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对像
  22.   #--------------------------------------------------------------------------
  23.   #别名hzhj旧初始化使标记初始化
  24.   alias hzhj_old_init_make_tag initialize
  25.   #定义初始化参数
  26.   def initialize(*args)
  27.    #@团队标记精灵= 精灵新建(参数[0])
  28.     @team_tag_sprite = Sprite.new(args[0])
  29.     @tags_sprites = [] #@标记精灵=[]
  30.     #@标记精灵 << @团队标记精灵
  31.     @tags_sprites << @team_tag_sprite
  32.     # @团队标记精灵位图 = RPG::缓存。图片(团队标记文件名)
  33.     @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
  34.     #队旗精灵=精灵.new(参数[0])
  35.     @team_flag_sprite = Sprite.new(args[0])
  36.     # 团队旗帜精灵位图= RPG::缓存。图片("队标")
  37.     @team_flag_sprite.bitmap =  RPG::Cache.picture("队标")
  38.  
  39.    # @team_flag_sprite.bitmap = RPG::Cache.icon(Figter_data::CHARACTER_NAME)
  40.    # if args == [2]RPG::Cache.icon(Figter_data::CHARACTER_NAME[@selected_units[@index][i]])
  41.    # @team_flag_sprite.bitmap = RPG::Cache.Icons("E_HeavyInfantry")
  42.    # end
  43.    #@标记精灵 << @团队旗帜精灵
  44.     @tags_sprites << @team_flag_sprite
  45.  
  46.     @count = 0 #@计数=0
  47.     @wait_count = 0#@等待计数=0
  48.     #hzhj旧初始化使用标记(*参数)
  49.     hzhj_old_init_make_tag(*args)
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 释放
  53.   #--------------------------------------------------------------------------
  54.   #别名hzhj旧的布置使标记布置除非$@
  55.   alias hzhj_old_dispose_make_tag dispose unless $@
  56.   def dispose#定义布置
  57.    # @标记精灵。每个{|精灵|精灵.布置}
  58.     @tags_sprites.each{|sprite|sprite.dispose}
  59.     #hzhj旧的布置使用标志
  60.     hzhj_old_dispose_make_tag
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 获取事件 HP # 正太君改
  64.   #--------------------------------------------------------------------------
  65.   def event_hp#定义事件hp
  66.      return 0 if @character.nil?#如果@角色,则返回0。无
  67.      #如果@角色,则返回0。是a吗?(游戏玩家)
  68.      return 0 if @character.is_a?(Game_Player)
  69.      #返回@角色hp
  70.      return @character.hp
  71.   end
  72. =begin   
  73.   #--------------------------------------------------------------------------
  74.   # ● 判断是否显示队友标记
  75.   #--------------------------------------------------------------------------
  76.   def show_team_tag?
  77.     #under construct
  78.     return false if @character.is_a?(Game_Player)
  79.     return false if $scene.group_lisenter == nil
  80.     selected = $scene.group_lisenter.include?(@character.group)
  81.  
  82.     if event_hp > 0 and @character.team == 1 and selected and [email protected]
  83.        return $game_switches[TeamTagBar]
  84.     else
  85.       return false
  86.     end  
  87.     
  88.   end
  89. =end
  90.   #--------------------------------------------------------------------------
  91.   # ● 判断是否显示队长旗子
  92.   #--------------------------------------------------------------------------
  93.   def show_team_flag?#是否定义显示队长旗子?
  94.     #如果@角色.是_a?则返回假的?(游戏玩家)
  95.     return false if @character.is_a?(Game_Player)
  96.      #如果@角色.是_a?则返回假的?(EFS英雄)
  97.     return false if @character.is_a?(EFS_Hero)
  98.     #如果$场景可以用的队组 == 无     则返回假的
  99.     return false if $scene.group_lisenter == nil
  100.     #挑选选着=$场景。小组成员。包括?(@角色队组)
  101.     selected = $scene.group_lisenter.include?(@character.group)
  102.    # cp队长=场景。小组[@角色.队组-1].队长
  103.     cp = $scene.team_groups[@character.group-1].captain
  104.     if cp == @character #如果队长==@角色
  105.       #返回$游戏开关[TeamTagBar]
  106.        return $game_switches[TeamTagBar]
  107.    else#否则
  108.       return false#返回假的
  109.     end  
  110.    # cp = $scene.team_groups[@character.group-1].captain
  111.    # if cp == @character
  112.    # bitmap = nil
  113.    # @character.id= Figter_data::data_id
  114.    # case @character.id
  115.    # 队长 id 为 2 显示 E_HeavyInfantry
  116.    # when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
  117.    # end
  118.    # @team_flag_sprite.bitmap = bitmap if bitmap
  119.    # end   
  120.  
  121. end
  122.  
  123.   #--------------------------------------------------------------------------
  124.   # ● 判断是否显示队友标记
  125.   #--------------------------------------------------------------------------
  126.   def show_team_tag?#是否定义显示队友标记?
  127.     #under construct
  128.     #如果@角色.是_a?则返回假的?(游戏玩家)
  129.     return false if @character.is_a?(Game_Player)
  130.     #如果$场景可以用的队组 == 无     则返回假的
  131.     return false if $scene.group_lisenter == nil
  132.     #挑选选着=$场景。小组成员。包括?(@角色队组)
  133.     @selected = $scene.group_lisenter.include?(@character.group)
  134.     #如果事件hp>0且@角色.团队==1且@角色已删除
  135.     if event_hp > 0 and @character.team == 1 and !@character.removed # and selected
  136.       ##返回$游戏开关[TeamTagBar]
  137.       return $game_switches[TeamTagBar]
  138.     else#否者
  139.       return false#返回假的
  140.     end  
  141.  
  142.   end
  143.  
  144.   #--------------------------------------------------------------------------
  145.   # ● 更新画面
  146.   #--------------------------------------------------------------------------
  147.   #别名hzhj旧更新使标记更新
  148.   alias hzhj_old_update_make_tag update
  149.   def update#定义更新
  150.     hzhj_old_update_make_tag#hzhj旧更新标记
  151.     #如果@角色.is_a?(EFS_Battler)和@角色.is_a?(游戏玩家)
  152.     if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player)
  153.       #@标记精灵。每个{|sprite|sprite.可见=false}
  154.       @tags_sprites.each{|sprite|sprite.visible = false}
  155.     else#否则
  156.       if show_team_flag?#如果展示队旗?
  157.        # @队旗精灵。可见=真
  158.         @team_flag_sprite.visible =  true
  159.       else #否则
  160.         @team_flag_sprite.visible =  false # @队旗精灵。可见=假
  161.       end  
  162.       # 刷新 标记 可见状态
  163.       if show_team_tag?
  164.         # @队旗精灵。可见=真
  165.         @team_tag_sprite.visible =  true
  166.  
  167.         if @selected#如果@选定
  168.          # @标记精灵。每个do|精灵|
  169.           @tags_sprites.each do |sprite|
  170.  
  171.  
  172.           sprite.ox = sprite.bitmap.width / 2
  173.           sprite.oy = sprite.bitmap.height
  174.           sprite.z = z
  175.          # 精灵.x =   @角色。屏幕_x
  176.  
  177.           #sprite.x = @character.screen_x
  178.           sprite.x = @character.screen_x
  179.           #blink_on
  180.          # 函数键=@角色。是使用权限
  181.           shif = @character.is_cal
  182.           #sprite.x = shif [email protected]_x : 120+i+160
  183.           if @character.ammo>0#如果@角色。弹药>0
  184.  
  185.           #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60  
  186.           sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
  187.           else#否者
  188.  
  189.            #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50
  190.           sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
  191.           end
  192.           sprite.opacity = 255#精灵不透明度=255
  193.           end#loop
  194.  
  195.         else
  196.  
  197.         # 刷新坐标
  198.         @tags_sprites.each do |sprite|#@标记精灵。每个do|sprite|
  199.           #sprite.zoom_y = 1
  200.           sprite.ox = sprite.bitmap.width / 2
  201.           sprite.oy = sprite.bitmap.height
  202.           sprite.z = z
  203.           # 精灵.x =   @角色。屏幕_x
  204.        #   sprite.x = shif [email protected]_x : 120+screen_x+160
  205.           sprite.x = @character.screen_x
  206.           #blink_on
  207.           # 函数键=@角色。是使用权限
  208.           shif = @character.is_cal
  209.  
  210.           if @character.ammo>0#如果@角色。弹药>0\
  211.  
  212.           #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60  
  213.           sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
  214.           else#否者
  215.  
  216.           #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50
  217.           sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
  218.           end
  219.           sprite.opacity = 125#精灵不透明度=125
  220.         end#loop
  221.  
  222.         end #if include
  223.  
  224.       else#否者
  225.         #@标记精灵。每个{|sprite|sprite.可见度=假的}
  226.         @tags_sprites.each{|sprite|sprite.visible = false}
  227.       end
  228.  
  229.     end
  230.  
  231.  
  232.  
  233.   end
  234.  
  235.  
  236. end
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
18
 楼主| 发表于 2023-6-28 16:34:15 | 只看该作者
soulsaga 发表于 2023-6-27 17:17
if Figter_data::IS_CAL[@character.id][/pre]


if Figter_data::IS_CAL[@character.id] @team_flag_sprite.bitmap=nil     你这句话应该是对的 不过这句话应该是加在图片这段脚本的

121212.png (28.09 KB, 下载次数: 7)

121212.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33213
在线时间
10497 小时
注册时间
2009-3-15
帖子
4756
19
发表于 2023-6-28 17:49:08 | 只看该作者
金芒芒 发表于 2023-6-28 16:34
if Figter_data::IS_CAL[@character.id] @team_flag_sprite.bitmap=nil     你这句话应该是对的 不过这句 ...

你都已经有脚本參考了..怎么还会犯=这种错误?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
20
 楼主| 发表于 2023-6-29 07:51:37 | 只看该作者
本帖最后由 金芒芒 于 2023-6-29 08:04 编辑
soulsaga 发表于 2023-6-28 17:49
你都已经有脚本參考了..怎么还会犯=这种错误?


这段脚本也是没用  @character.id = Figter_data::data_id 这句话还出错了
RUBY 代码复制
  1. def show_team_flag?#是否定义显示队长旗子?
  2.     #如果@角色.是_a?则返回假的?(游戏玩家)
  3.     return false if @character.is_a?(Game_Player)
  4.      #如果@角色.是_a?则返回假的?(EFS英雄)
  5.     return false if @character.is_a?(EFS_Hero)
  6.     #如果$场景可以用的队组 == 无     则返回假的
  7.     return false if $scene.group_lisenter == nil
  8.     #挑选选着=$场景。小组成员。包括?(@角色队组)
  9.     selected = $scene.group_lisenter.include?(@character.group)
  10.    # cp队长=场景。小组[@角色.队组-1].队长
  11.     cp = $scene.team_groups[@character.group-1].captain
  12.     if cp == @character #如果队长==@角色
  13.     bitmap = nil
  14.     @character.id = Figter_data::data_id
  15.     case @character.id
  16.    # 队长 id 为 2 显示 E_HeavyInfantry
  17.     when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
  18.     end
  19.     @team_flag_sprite.bitmap = bitmap if bitmap
  20.  
  21.  
  22.  
  23.       #返回$游戏开关[TeamTagBar]
  24.        return $game_switches[TeamTagBar]
  25.    else#否则
  26.       return false#返回假的
  27.     end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 04:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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