TActor
91M2说明书 > 引擎脚本功能 > 游戏对象 >

TActor
属性名称 功能
property Name: String 名称
property RaceType: Byte 物种
property MapName: String 所在地图ID
property Map: TEnvirnoment 所在地图对象
property MapX: Integer X坐标
property MapY: Integer Y坐标
property Gender: Byte 性别:0-男 1-女
property Hair: Byte 发型
property Direction: Byte 当前方向(0-7)
property Job: Byte 职业:0-战士 1-法师 2-道士
property Nation: Byte 国别
property Camp: Byte 阵营(临时属性,不保存到数据库)
propertyGold: Integer 金币数量
property MaxGold: Integer 可携带的最大金币数量
property PkPoint: Integer PK值
property PkLevel: Integer PK等级
property Ghost: Boolean 是否已清除尸体(是否无效)
property Death: Boolean 是否死亡
property HasHorse: Boolean 是否拥有马牌
property HorseType: Byte 马的类型
property OnHorse: Boolean 是否骑在马背上
property Guild: TGuild 所在行会,没有加入行会是为nil
property Castle: TUserCastle 所在城堡
property GuildName: String 行会名称
property GuildRankName: String 行会称呼
property HasGUILD: Boolean 是否拥有行会
property IsGuildMaster: Boolean 是否行会帮主
property ISCastleMaster: Boolean 是否城堡拥有者
property ISCastleGuild: Boolean 行会是否属于城堡拥有者
property Level: Integer 等级
property Exp: LongWord 经验值
property Mask: TUserItem 面巾(面纱)
property NameColor: Byte 名字颜色(0-255)
property KillMonExpRate: Integer 杀怪经验倍率
property PowerRate: Integer 攻击倍率
property ISAdmin: Boolean 是否管理员
property ISSysOp: Boolean 是否拥有管理权限(权限>6)
property ISPlayer: Boolean 当前对象是否为玩家(权限>4)
property ISNPC: Boolean 当前对象是否是一个NPC
property ISMonNPC: Boolean 当前对象是否是一个怪物NPC
property IsFrindlyTarget(Actor:TActor) :Boolean 判断对方是否友方单位
property IsUnknowActor: Boolean 当前对象是否为神秘人
property AdminMode: Boolean 是否管理模式
property SuperManMode: Boolean 是否无敌模式
property ObserverMode: Boolean 是否隐身模式
property Permission: Byte 权限等级
property AttackMode: TAttatckMode 攻击模式
property InSafeZone: Boolean 是否在安全区
property Check[Index: Integer ]: Boolean Check变量
property SlaveCount: Integer 宝宝数量
property Slave[Index: Integer ]: TActor 取指定序号的宝宝对象
property HP: Integer HP值
property MaxHP: Integer HP最大值
property MP: Integer MP值
property MaxMP: Integer MP最大值
property DCMin: Integer 物理攻击下限值
property DCMax: Integer 物理攻击上限值
property MCMin: Integer 魔法攻击下限
property MCMax: Integer 魔法攻击上限
property SCMin: Integer 道术下限
property SCMax: Integer 道术上限
property TCMin: Integer 射术下限
property TCMax: Integer 射术上限
property PCMin: Integer 刺术下限
property PCMax: Integer 刺术上限
property WCMin: Integer 武术下限
property WCMax: Integer 武术上限
property ACMin: Integer 防御下限
property ACMax: Integer 防御上限
property MACMin: Integer 魔御下限
property MACMax: Integer 魔御上限
property SpeedPoint: Byte 敏捷
property HitPoint: Byte 准确
property WalkSpeed: Byte 移动速度
property HitSpeed: ShortInt 攻击速度
property TitleEffect: byte 使怪物也可以头顶上有动态称号
property RunSpeed: ShortInt 跑步速度
property WalkSpeed: ShortInt 走路速度
property WalkStep: Byte 移动脚步大小
property WalkWait: Byte 移动间隔时间
property AttackSpeed: Byte 攻击速度
property Luck: Integer 幸运
property ExpHitter: TActor 死亡后该对象获得经验
property LastHitter: TActor 死亡时记录杀死当前对象的角色或怪物
property TargetActor: TActor 当前选择的角色(可能是正在攻击的角色)
property Master: TActor 拥有当前怪物的主人
property MasterRoyaltyTick: LongWord 怪物叛变时间(达到指定时间后叛变)
property InProtect: Boolean 是否处于保护状态,处于保护状态不可攻击他人也不能被他人攻击
property PoseCreate: TActor 站在对面的角色
property TotalAbility: Integer 总战斗力
property DropName: String 爆率文件名称
property MaxBagSize: Integer 包裹最大容量
property ItemSize: Integer 当前包裹道具个数(叠加物品只算1个)
property BagItem[Index: Integer]: TUserItem 取得包裹里指定位置的道具
property StationTick: LongWord 站立不动的时间
property Dress: TUserItem 衣服
property Wepon: TUserItem 武器
property NeckLace: TUserItem 项链
property Helmet: TUserItem 头盔
property RightHand: TUserItem 蜡烛位置的装备
property ArmringLeft: TUserItem 左手手镯
property ArmringRight: TUserItem 右手手镯
property RingLeft: TUserItem 左戒指
property RingRight: TUserItem 右戒指
property Belt: TUserItem 腰带
property Boots: TUserItem
property Charm: TUserItem 宝石
property Bujuk: TUserItem 物品(毒符)
property Fashion: TUserItem 时装
property Mount: TUserItem 马牌
property Shield: TUserItem 左手武器(盾牌)
property DropItemRate: Integer 用于动态调整怪物掉落物品几率的倍率
property BlendColor:Byte 身体绘制染色颜色
property WeaponBlendColor:Byte 武器染色颜色
property S[index: Integer ]: String 怪物变量 字符串 0-99
property N[index: Integer ]: Integer 怪物变量 整数型 0-99
property ThroughHuman: Boolean 动态控制是否可以穿过玩家。如果此值没被设置 True 或者 False 那么根据引擎规则 决定是否可以穿过。
如果此值呗赋值过 那么根据赋值的值来决定是否可以穿过。 使用TActor.ResetThroughHuman(); 来清除脚本赋值 还原由引擎控制。
property ThroughMonster: Boolean 是否可以穿过怪物
property ThroughNPC: Boolean 是否可以穿过NPC
property ThroughGuard: Boolean 是否可以穿过卫士
property MaxDropHP: Integer 动态调节一次最多掉血量,同样适用于怪物 和 玩家。下线不保存
property PuchHit: Integer 致命一击
property PuchHitDK: Integer 致命一击抵抗
property PuchHitAppendDamage: Integer 致命一击额外伤害
property CriticalHit: Integer 会心一击
property CriticalHitDK: Integer 会心一击抵抗
property CriticalHitAppendDamage: Integer 会心一击额外伤害
property Rebound: Integer 伤害反弹概率
property ReboundZ: Integer 伤害反弹比例。引擎首先计算伤害反弹的概率,然后根据受到的伤害*反弹比例=最终反弹伤害值
property DamageAbsorb: Integer 伤害减免
property ViewRange: Integer 设置对象的视野(对人物和怪物均有效)
property AttackRange: Integer 设置对象的攻击范围(对RACE 104有效)
property AttackMaxCount: Integer

设置对象的攻击次数(比如祖玛弓箭手射出几箭以后休息一会。)(对RACE 104有效)

property RecTickDiv: Integer

t1=(取当前时间毫秒-上次执行此函数时间)Div TActor.RecTickDiv (TActor.RecTick默认值20);
计时器 = 计时器 +;t1
用于控制TActor的HP MP恢复量和恢复时间

property RecHPTick: Integer

当 计时器 >= TActor.RecHPTick 时 恢复 基础回血量 * (1+ 体力恢复元素值)
TActor.RecHPTick 的预设值 = setup.txt里的 HealthFillTime 值 默认 300< /FONT >

property RecMPTick : Integer

当 计时器 >= TActor.RecMPTick 时 恢复 基础回蓝量 * (1+ 法力恢复元素值)
TActor.RecMPTick的预设值 = setup.txt里的 HealthFillTime 值 默认 800 < /FONT >

property RecHPDiv : Integer

基础回血量=TActor.MaxHP/TActor.RecHPDiv TActor.RecHPDiv 默认值 75

property RecMPDiv : Integer

基础回蓝量=TActor.MaxHP/TActor.RecMPDiv TActor.RecMPDiv 默认值 18

property IsPlayMonster: Boolean 检测是否是人形怪
procedure AddExp(Value: Integer ); 增加指定的经验值(小于0减少经验值)
procedure ClearSkill; 删除全部已学技能
procedure DelNoJobSkill; 删除所有和职业不符合的技能
procedure DelSkill(const ASkillName: String ); 删除指定名称的技能
procedure AddSkill(const ASkillName: String ; const SkillLevel: Integer =0); 增加指定名称的技能,技能等级为SkillLevel指定的值
function FindSkill(const ASkillName: String ): TUserMagic; 查找指定名称的技能,查找失败返回nil值
procedure ChangeSkillLevel(const ASkillName: String ; const SkillLevel: Integer =0); 修改指定名称的技能等级
procedure KillSlave(const ASlaveName: String ; const ACount: Integer =0); 杀死指定名称的召唤怪,如果数量为0则杀死相同名字的全部召唤怪
function GetSideSlaveCount(const Range: Integer ; const ASlaveName: String =''): Integer ; 查找距离身边指定范围的召唤怪数量,如果名称为空则返回全部
function GetSlaveCount(const ASlaveName: String =''): Integer ; 查找召唤怪数量,名称为空时返回全部数量
procedure ChangePowerRate(const ARate, ATime: Integer ); 修改攻击倍率
procedure Kill(const AMode: Integer =0); 杀死当前怪物
function GetItemCount(const ItemName: String ): Integer ; 查找拥有多少个指定名称的道具
procedure TakeOnItem(AUserItem: TUserItem; ItemWhere: TItemWhere); 将指定的装备穿戴在身上某个部位
procedure TakeOffItem(ItemWhere: TItemWhere); 将身上指定部位的装备取下
function AddItemToBag(Item: TUserItem): Boolean ; 增加一个物品到背包,如果背包满了返回为False
procedure GoldChanged; 给客户端发送金币、元宝、礼金更新消息
procedure Die; 当前怪死亡
procedure MakeGhost; 死亡并且直接清除尸体
procedure RepairItem(ItemWhere: TItemWhere); 修复指定位置的装备
procedure RepairAll; 修复全部装备
procedure RecalcAbilitys; 重新计算能力值(比如血量、攻击、魔法、经验倍率等)
procedure SearchViewRange; 搜索可视范围(怪物只有搜索到了可视范围的可攻击角色才会攻击)
procedure ClearViewRange; 清除搜索范围列表(清除了搜索列表,怪物就不会再攻击了)
procedure ChangeToMonster(sMonName:string;nSec:Integer ); 游戏变身函数
procedure SendMessage(const Msg: String ; const Kind: Integer =0); 怪物说话
function GetSlaveList : TActorList; 获取下属(宝宝)的列表
property SlaveRelax: Boolean ; 设置下属(宝宝)的状态
procedure CancelToMonster(); 立即取消变身
procedure ResetThroughMonster(); 重置穿过怪物
procedure ResetThroughNPC(); 重置怪物NPC
procedure ResetThroughGuard(); 重置穿过卫士
procedure ResetThroughHuman(); 清除脚本赋值 还原由引擎控制
procedure DamageDelay; 在Damage基础上增加延迟功能
procedure Damage; 对对方造成伤害
procedure CreateAttackEvent(AMapX: Integer; AMapY: Integer; ATime: Integer; AInterval: Integer; ADamage: Integer); 创建一个藏匿于地图上的攻击事件 >(X>坐标>, Y >坐标>, >持续存在时间>, >伤害间隔时间>, >单次伤害值> ( >时间单位为毫秒 >))
procedure MagicAttack(ATarget: TActor; AMagic: Integer); 对目标释放魔法(目标,魔法ID)
procedure MagicAttack(ATarget: TActor; AMagic: TUserMagic); 对目标释放魔法(目标,魔法对象)
procedure MagicAttack(ATarget: TActor; ATargetX: Integer; ATargetY:Integer; AMagic: Integer); 对目标释放魔法(目标,目标X,目标Y,魔法ID)
procedure MagicAttack(ATarget: TActor; ATargetX: Integer; ATargetY:Integer; AMagic: TUserMagic); 对目标释放魔法(目标,目标X,目标Y,魔法对象)

procedure MagicAttack(ATarget:TActor;X,Y,MagicID,Level,Group:Integer);

对目标释放魔法>(>要攻击的目标 >,>目标>X,>目标 >Y,>技能>ID,>技能等级 >, >技能的作用分组 >)
支持10000以上的技能ID
同时对于原来的 >MagicAttack >和> SelectMagic >都支持新的技能编辑器编辑的技能。
CustomEffect[1..10] :Integer 自定义特效,可用于实现自定义动态称号功能。ID为UI设计中自定义特效ID

引擎官网:www.91M2.com   交流群:5555999   此引擎仅供测试,切勿用于商业用途。如有侵权请立即联系我们,我们将在第一时间删除。