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 IS_ARC[data_id] = false HEAVY[data_id] = true LABEL[data_id] = 3 #text = Figter_data::DESCRIPTION[id].clone DESCRIPTION[data_id] = "赫西帝国标准骑兵,中型近战骑兵,多数由贵族从侍从中选举" #==========属性============== HP_MAX[data_id] = 400 AMMOR_HP[data_id] = 25 SHD_HP[data_id] = 65 BASE_ATK[data_id] = 70 BRO_ATK[data_id] = 15 S_BASE_ATK[data_id] = 0 S_BRO_ATK[data_id] = 0 ATK_SKILL[data_id] = 40 DEF_SKILL[data_id] = 30 ANTI_CAV[data_id] = 0 ANTI_INF[data_id] = 35 CHARGE_BOUN[data_id]=195 MORALE[data_id] = 60 #100max CRITICAL_HIT[data_id] = 15 EXPLOSION_SETTINGS[data_id] = nil ATK_FR[data_id] = 30 ATK_RANGE[data_id] = 1 ENGAGE_RANGE[data_id] = 1 ENGAGE_RANGE_MIN[data_id] = 1 MOVEMENT_SPEED[data_id] = 3.75 ACCURATCY[data_id] = 100 LIVE_CHANCE[data_id] = 20 AMMO_MAX[data_id] = 0 ATK_CODE[data_id] = nil #===========战略用============= EXP[data_id] = 10 PRICE[data_id] = 325 EXP_NEED[data_id] = 50 NEXT_LEVEL[data_id] = [] CAPTAIN_SKILL[data_id] = nil end
def show_team_flag?#是否定义显示队长旗子? #如果@角色.是_a?则返回假的?(游戏玩家) return false if @character.is_a?(Game_Player) #如果@角色.是_a?则返回假的?(EFS英雄) return false if @character.is_a?(EFS_Hero) #如果$场景可以用的队组 == 无 则返回假的 return false if $scene.group_lisenter == nil #挑选选着=$场景。小组成员。包括?(@角色队组) selected = $scene.group_lisenter.include?(@character.group) # cp队长=场景。小组[@角色.队组-1].队长 cp = $scene.team_groups[@character.group-1].captain if cp == @character #如果队长==@角色 #返回$游戏开关[TeamTagBar] return $game_switches[TeamTagBar] else#否则 return false#返回假的 end # 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 end
121212.png (38.22 KB, 下载次数: 40)
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
金芒芒 发表于 2023-6-27 16:52
IS_CAL[data_id] = true
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
if Figter_data::IS_CAL[@character.id]
soulsaga 发表于 2023-6-27 17:17
队长是骑士是什么意思
soulsaga 发表于 2023-6-27 17:17
if Figter_data::IS_CAL[@character.id][/pre]
soulsaga 发表于 2023-6-27 17:17
if Figter_data::IS_CAL[@character.id][/pre]
class EFS_Battler < Game_Character #-------------------------------------------------------------------------- # ● 定义实例变量 #-------------------------------------------------------------------------- attr_accessor:hp # 属性访问器:hp attr_accessor:hp_max # 属性访问器:hp最大值 attr_accessor:is_cal # 属性访问器:是骑兵 attr_accessor:is_arc # 属性访问器:是远程兵 attr_accessor:heavy # 属性访问器:是重装兵 attr_accessor:armor_hp # 属性访问器:护甲值 attr_accessor:shd_hp # 属性访问器:盾甲值 attr_accessor:base_atk # 属性访问器:基本攻击力 attr_accessor:bro_atk # 属性访问器:破甲攻击力 attr_accessor:s_base_atk # 属性访问器:远程基本攻击力 attr_accessor:s_bro_atk # 属性访问器:远程破甲攻击力 attr_accessor:atk_skill # 属性访问器:攻击技巧 attr_accessor:def_skill # 属性访问器:防御技巧 attr_accessor:charge_boun # 属性访问器:冲锋加成 attr_accessor:morale # 属性访问器:士气 (100max) attr_accessor:critical_hit # 属性访问器:暴击率 attr_accessor:the_name # 属性访问器:显示名字 attr_accessor:character_name # 属性访问器:头像模型名字角色名称 attr_accessor:name # 属性访问器:名称 attr_reader :movement_speed # 属性阅读器:移动速度 attr_accessor:move_frequency # 属性访问器:移动频率 attr_reader :ammo_name # 属性访问器:弹药模型名字 attr_reader :ammo_d_name # 属性访问器:落地后的弹药模型名字 attr_reader :exp # 属性阅读器:经验值 attr_accessor:ammo # 属性访问器:弹药 attr_reader :ammo_max # 属性阅读器:弹药上线 attr_reader :team # 属性阅读器:团队 attr_accessor:group # 属性访问器:队伍 attr_reader :anti_cav # 属性阅读器:反骑兵伤害加成 attr_reader :anti_inf # 属性阅读器:反步兵伤害加成 attr_accessor:target # 属性访问器:目标靶子 attr_accessor:result # 属性访问器:战斗结果 attr_accessor:move_type # 属性访问器:移动类型 attr_accessor:leader # 属性访问器:指挥者 attr_reader :removed # 属性阅读器:移开 attr_reader :goal_x # 属性阅读器:目标_ x attr_reader :goal_y # 属性阅读器:目标_ y attr_reader :shd_hp_max # 属性阅读器:护盾hp最大值 attr_reader :armor_hp_max # 属性阅读器:盔甲hp最大值 attr_reader :label # 属性阅读器:标签() attr_accessor :killed # 属性访问器:杀死 attr_reader :exp # 属性阅读器:经验 attr_reader :price # 属性阅读器:价格 #attr_reader :deleteable attr_reader :def_se # 属性阅读器:定义音效 attr_reader :def_se_num # 属性阅读器:定义音效数目 attr_accessor :equips # 属性访问器:装备 attr_accessor :starting_morale # 属性访问器:鼓舞士气 attr_reader :level_up # 属性阅读器:等级上升 attr_reader :soldier_id # 属性阅读器:士兵 id attr_reader :closet_enermy # 属性阅读器:不公开的敌人 attr_reader :base_morale # 属性阅读器:基本_音量 attr_accessor :hp_counter # 属性访问器:hp_计数器 attr_accessor :captain_skill # 属性访问器:队长技能 attr_accessor :already_deal_dead# 属性访问器:已经终止分配 attr_reader :hit_by_missile # 属性访问器:被导弹击中 #-------------------------------------------------------------------------- # ● 初始化对像 #-------------------------------------------------------------------------- def initialize(data_id)#定义初始化(数据_id) super() @the_name = Figter_data::THE_NAME[data_id] @character_name = Figter_data::CHARACTER_NAME[data_id] @basic_character_name = @character_name @ammo_name = Figter_data::AMMO_NAME[data_id] @ammo_d_name = Figter_data::AMMO_D_NAME[data_id] @atk_se = Figter_data::ATK_SE[data_id] @atk_se_num = Figter_data::ATK_SE_NUM[data_id] @s_atk_se = Figter_data::S_ATK_SE[data_id] @s_atk_se_num = Figter_data::S_ATK_SE_NUM[data_id] @is_cal = Figter_data::IS_CAL[data_id] @is_arc = Figter_data::IS_ARC[data_id] @heavy = Figter_data::HEAVY[data_id] @exp = Figter_data::EXP[data_id] @hp_max = Figter_data::HP_MAX[data_id] @hp = @hp_max @armor_hp_max = Figter_data::AMMOR_HP[data_id] @armor_hp = @armor_hp_max @shd_hp_max = Figter_data::SHD_HP[data_id] @shd_hp = @shd_hp_max @base_atk = Figter_data::BASE_ATK[data_id] @bro_atk = Figter_data::BRO_ATK[data_id] @atk_skill = Figter_data::ATK_SKILL[data_id] @def_skill = Figter_data::DEF_SKILL[data_id] @anti_cav = Figter_data::ANTI_CAV[data_id] @anti_inf = Figter_data::ANTI_INF[data_id] @charge_boun = Figter_data::CHARGE_BOUN[data_id] @morale = Figter_data::MORALE[data_id] @atk_fr = Figter_data::ATK_FR[data_id] @atk_range = Figter_data::ATK_RANGE[data_id] @engage_range = Figter_data::ENGAGE_RANGE[data_id] @movement_speed = Figter_data::MOVEMENT_SPEED[data_id] @accuracy = Figter_data::ACCURATCY[data_id] @live_chance = Figter_data::LIVE_CHANCE[data_id] @ammo_max = Figter_data::AMMO_MAX[data_id] @ammo=@ammo_max @s_base_atk = Figter_data::S_BASE_ATK[data_id] @s_bro_atk = Figter_data::S_BRO_ATK[data_id] @critical_hit = Figter_data::CRITICAL_HIT[data_id] @label = Figter_data::LABEL[data_id] @exp = Figter_data::EXP[data_id] @price = Figter_data::PRICE[data_id] @exp_need = Figter_data::EXP_NEED[data_id] @next_level = Figter_data::NEXT_LEVEL[data_id] @atk_code = Figter_data::ATK_CODE[data_id] @fly_type = Figter_data::S_FLY_TYPE[data_id] @s_pass_by_se = Figter_data::S_PASSBY_SE[data_id] @s_pass_by_se_num = Figter_data::S_PASSBY_SE_NUM[data_id] @s_drop_se = Figter_data::S_DROP_SE[data_id] @s_drop_se_num = Figter_data::S_DROP_SE_NUM[data_id] @def_se = Figter_data::DEF_SE[data_id] @def_se_num = Figter_data::DEF_SE_NUM[data_id] @captain_skill = Figter_data::CAPTAIN_SKILL[data_id] @base_armor_hp = @armor_hp # @基础盔甲hp=@盔甲hp @base_shd_hp = @shd_hp # @基本盾甲hp值=盾甲hp值 @base_base_atk = @base_atk # @基本普通攻击=普通攻击 @base_bro_atk = @bro_atk # @基本破甲攻击力=破甲攻击力 @base_anti_cav = @anti_cav # @基本反骑兵伤害加成=反骑兵伤害加成 @base_anti_inf = @anti_inf # @基本反步兵伤害加成=反步兵伤害加成 @base_atk_fr = @atk_fr # @基本攻击频率=攻击频率 @base_engage_range = @engage_range # @基本交战范围=交战范围 @base_move_speed = @move_speed # @基本移动速度=移动速度 @base_accuracy = @accuracy # @基本精确度=精确度 @base_s_base_atk = @s_base_atk # @基本远程基本攻击力=远程基本攻击力 @base_s_bro_atk = @s_bro_atk # @基本远程破甲攻击力 @base_live_chance = @live_chance # @基本生还几率=生还几率 @base_critical_hit = @critical_hit # @基本暴击率=暴击率 @base_ammo_max = @ammo_max # @基本弹药上线=弹药上线 @base_morale = @morale # @基本士气 (100max)
金芒芒 发表于 2023-6-28 08:21
if @character.Figter_data::IS_CAL[data_id] = true 这一句直接退游戏了
29行和30行两句多用了不冲突也 ...
soulsaga 发表于 2023-6-28 11:16
这样写当然报错
你照抄我给你的才对
金芒芒 发表于 2023-6-28 11:20
照抄无冲突无作用
soulsaga 发表于 2023-6-28 11:49
你可以P 一下Figter_data::IS_CAL[@character.id]
p Figter_data::IS_CAL[@character.id]
金芒芒 发表于 2023-6-28 12:23
data_id 是模型角色非数据ID的数据ID 只有在特定的地图上他才算一个角色
IS_CAL 是角色的属性,以后我就 ...
soulsaga 发表于 2023-6-28 14:35
@character.id
能不能获取到data_id啊?
如果不能我也搞不定
soulsaga 发表于 2023-6-28 14:35
@character.id
能不能获取到data_id啊?
如果不能我也搞不定
#============================================================================== # ■ RMXP #-------------------------------------------------------------------------- # 作者:刺夜之枪 #============================================================================== #============================================================================== # ■ Sprite_Character #============================================================================== class Sprite_Character < RPG::Sprite #-------------------------------------------------------------------------- # ● 参数设置 正太君改 #-------------------------------------------------------------------------- # 设置图片文件名.不想要底图就让底图完全透明或设置为 "" # 图片放在 Graphics/Pictures/ 文件夹下 TeamTagFileName = "大脚"#团队组标记文件名 # 设置显示友军标记的开关号 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::缓存。图片(团队标记文件名) @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName) #队旗精灵=精灵.new(参数[0]) @team_flag_sprite = Sprite.new(args[0]) # 团队旗帜精灵位图= RPG::缓存。图片("队标") @team_flag_sprite.bitmap = RPG::Cache.picture("队标") # @team_flag_sprite.bitmap = RPG::Cache.icon(Figter_data::CHARACTER_NAME) # if args == [2]RPG::Cache.icon(Figter_data::CHARACTER_NAME[@selected_units[@index][i]]) # @team_flag_sprite.bitmap = RPG::Cache.Icons("E_HeavyInfantry") # end #@标记精灵 << @团队旗帜精灵 @tags_sprites << @team_flag_sprite @count = 0 #@计数=0 @wait_count = 0#@等待计数=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旧的布置使用标志 hzhj_old_dispose_make_tag end #-------------------------------------------------------------------------- # ● 获取事件 HP # 正太君改 #-------------------------------------------------------------------------- def event_hp#定义事件hp return 0 if @character.nil?#如果@角色,则返回0。无 #如果@角色,则返回0。是a吗?(游戏玩家) return 0 if @character.is_a?(Game_Player) #返回@角色hp 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 [email protected] return $game_switches[TeamTagBar] else return false end end =end #-------------------------------------------------------------------------- # ● 判断是否显示队长旗子 #-------------------------------------------------------------------------- def show_team_flag?#是否定义显示队长旗子? #如果@角色.是_a?则返回假的?(游戏玩家) return false if @character.is_a?(Game_Player) #如果@角色.是_a?则返回假的?(EFS英雄) return false if @character.is_a?(EFS_Hero) #如果$场景可以用的队组 == 无 则返回假的 return false if $scene.group_lisenter == nil #挑选选着=$场景。小组成员。包括?(@角色队组) selected = $scene.group_lisenter.include?(@character.group) # cp队长=场景。小组[@角色.队组-1].队长 cp = $scene.team_groups[@character.group-1].captain if cp == @character #如果队长==@角色 #返回$游戏开关[TeamTagBar] return $game_switches[TeamTagBar] else#否则 return false#返回假的 end # 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 end #-------------------------------------------------------------------------- # ● 判断是否显示队友标记 #-------------------------------------------------------------------------- def show_team_tag?#是否定义显示队友标记? #under construct #如果@角色.是_a?则返回假的?(游戏玩家) return false if @character.is_a?(Game_Player) #如果$场景可以用的队组 == 无 则返回假的 return false if $scene.group_lisenter == nil #挑选选着=$场景。小组成员。包括?(@角色队组) @selected = $scene.group_lisenter.include?(@character.group) #如果事件hp>0且@角色.团队==1且@角色已删除 if event_hp > 0 and @character.team == 1 and !@character.removed # and selected ##返回$游戏开关[TeamTagBar] return $game_switches[TeamTagBar] else#否者 return false#返回假的 end end #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- #别名hzhj旧更新使标记更新 alias hzhj_old_update_make_tag update def update#定义更新 hzhj_old_update_make_tag#hzhj旧更新标记 #如果@角色.is_a?(EFS_Battler)和@角色.is_a?(游戏玩家) if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player) #@标记精灵。每个{|sprite|sprite.可见=false} @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#如果@选定 # @标记精灵。每个do|精灵| @tags_sprites.each do |sprite| sprite.ox = sprite.bitmap.width / 2 sprite.oy = sprite.bitmap.height sprite.z = z # 精灵.x = @角色。屏幕_x #sprite.x = @character.screen_x sprite.x = @character.screen_x #blink_on # 函数键=@角色。是使用权限 shif = @character.is_cal #sprite.x = shif [email protected]_x : 120+i+160 if @character.ammo>0#如果@角色。弹药>0 #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60 sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60 else#否者 #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50 sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50 end sprite.opacity = 255#精灵不透明度=255 end#loop else # 刷新坐标 @tags_sprites.each do |sprite|#@标记精灵。每个do|sprite| #sprite.zoom_y = 1 sprite.ox = sprite.bitmap.width / 2 sprite.oy = sprite.bitmap.height sprite.z = z # 精灵.x = @角色。屏幕_x # sprite.x = shif [email protected]_x : 120+screen_x+160 sprite.x = @character.screen_x #blink_on # 函数键=@角色。是使用权限 shif = @character.is_cal if @character.ammo>0#如果@角色。弹药>0\ #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60 sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60 else#否者 #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50 sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50 end sprite.opacity = 125#精灵不透明度=125 end#loop end #if include else#否者 #@标记精灵。每个{|sprite|sprite.可见度=假的} @tags_sprites.each{|sprite|sprite.visible = false} end end end end
soulsaga 发表于 2023-6-27 17:17
if Figter_data::IS_CAL[@character.id][/pre]
121212.png (28.09 KB, 下载次数: 42)
金芒芒 发表于 2023-6-28 16:34
if Figter_data::IS_CAL[@character.id] @team_flag_sprite.bitmap=nil 你这句话应该是对的 不过这句 ...
soulsaga 发表于 2023-6-28 17:49
你都已经有脚本參考了..怎么还会犯=这种错误?
def show_team_flag?#是否定义显示队长旗子? #如果@角色.是_a?则返回假的?(游戏玩家) return false if @character.is_a?(Game_Player) #如果@角色.是_a?则返回假的?(EFS英雄) return false if @character.is_a?(EFS_Hero) #如果$场景可以用的队组 == 无 则返回假的 return false if $scene.group_lisenter == nil #挑选选着=$场景。小组成员。包括?(@角色队组) selected = $scene.group_lisenter.include?(@character.group) # cp队长=场景。小组[@角色.队组-1].队长 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 #返回$游戏开关[TeamTagBar] return $game_switches[TeamTagBar] else#否则 return false#返回假的 end
soulsaga 发表于 2023-6-28 17:49
你都已经有脚本參考了..怎么还会犯=这种错误?
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
soulsaga 发表于 2023-6-28 11:16
这样写当然报错
你照抄我给你的才对
金芒芒 发表于 2023-6-29 08:30
if cp == @character and @character.id= Figter_data::data_id and Figter_data::data_id = 2
是不是 ...
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
@team_flag_sprite[i] = Sprite.new#(args[0]) name = Figter_data::CHARACTER_NAME[EFS_Battler[i]] @team_flag_sprite[i].bitmap = RPG::Cache.icon(name) if name != nil[/code]
金芒芒 发表于 2023-6-30 16:53
这个人物索引脚本里的
角色精灵提到是(EFS_Battler) 多了个(args[0])
soulsaga 发表于 2023-6-27 16:43
队长是骑士是什么意思
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |