---@meta
---@class lualib
lualib={}
---@clss Ref
Ref={}
---@class MapObjects
MapObjects = {}
--local players = MapObjects();
-- print(players.Count)
-- for i=0,players.Count-1 do
-- print(players[i].name);
---@class UserItems
UserItems =
{
}
---@class HeroInfos
---@field list XHeroInfo[] # 名称
---@field Count integer # 数量
HeroInfos =
{
}
---@class XHeroInfo 英雄对象信息
---@field Index integer
---@field Name string
---@field Level integer
---@field Class integer
---@field Gender integer
---@field CurrentHero boolean
XHeroInfo =
{
}
---@class GuildObject 行会对象
---@field Name string 工会名称
---@field Gold integer 工会金币
---@field Lv integer 工会等级
---@field Exp integer 工会经验
GuildObject = {}
---@enum TriggerType 触发器枚举
TriggerType = {
--系统触发器 参数system
Login = 0; --登录触发 (player)
LoginOut = 1; -- 登出前触发 (player)
Die = 2; --死亡触发 (player,Attacker)
MonsterDieDropItem = 3, --怪物死亡掉落物品触发(monster,userItem,site) 返回 boolean 确认是否掉落 site掉落部位 -1 怪物||背包 0~x 装备栏部位
--角色触发器 参数character
Attack = 10; --攻击触发 (player,target,AttackData)
Defence = 11, --受击触发 (player,target,AttackData)
Damage = 12, --受伤害结算触发(player,target,AttackData)
ChangeHP = 15; --血量变化时触发(target)
GetExp = 16; --活得经验(player,num)
LevelUp = 17; --升级触发 (player)
--BuffTime = 19; -- (player,buff)
BeforeTakeOn = 18; --穿前装备触发 (player,useritem,site) 返回 boolean 用于确定是否可穿
BeforeTakeOff = 19; --脱前装备触发 (player,useritem,site) 返回 boolean 用于确定是否可脱
TakeOn = 20; --穿装备后触发 (player,useritem,site)
TakeOff = 21; --脱装备后触发 (player,useritem,site)
EquipChanged =22; --身上装备改变后触发 (player)
----穿脱触发顺序说明
----例: 武器位原本无装备 现操作 穿武器
----BeforeTakeOn->TakeOn->EquipChanged
----例: 武器位原本有装备 现操作 穿武器
----BeforeTakeOff->TakeOff->BeforeTakeOn->TakeOn->EquipChanged
----例: 武器位原本有装备 现操作 脱武器
----BeforeTakeOff->TakeOff->EquipChanged
BeforeEnterMap = 23; --角色进入地图前触发
--诅咒前触发
BeforeUnLuck = 24; --(player,weapon) -- return false 阻止诅咒 默认不阻止
--挖矿触发
Mining = 27;--(player) --挖矿时触发 位于矿区进行挖矿 判断产出前触发
--挖到矿触发
DigUpMineral =28;--(player,item) --挖到矿时触发
PickUp = 29; --(player,item) --拾取触发
AddItemSet = 30; -- 新套装效果触发(player,BuffID,count)
DelItemSet = 31, -- 移除套装效果触发 (player,BuffID,count)
--角色 怪物触发器 参数monster或character
DieDropItem = 100; --掉落物品(MapObject,userItem) 返回 boolean 确认是否掉落
KillMon = 101; --(myself,monster) ---杀死怪物触发 怪物人物都可以用
KillHum = 102; -- (myself,player) --杀人触发 怪物 人物都可以用
--角色 地图触发器 参数Map或character
EnterMap = 150; ---(MapObject,Map) 进入地图前触发 相同地图不触发
LeaveMap = 151; ---(MapObject,Map)进入地图后触发 相同地图不触发
}
---@enum ItemWhereType 查询物品枚举
ItemWhereType = {
Bag = 1, --查询背包
Equipment = 2, --查询装备
Storage = 4, --查询仓库
QuestInventory = 8, --查询任务背包
Bag_Equipment = ItemWhereType.Bag | ItemWhereType.Equipment, --背包和装备 3
Bag_Storage = ItemWhereType.Bag | ItemWhereType.Storage, --背包和仓库 5
Equipment_Storage = ItemWhereType.Equipment | ItemWhereType.Storage, --装备和背包 6
All = ItemWhereType.Bag | ItemWhereType.Equipment| ItemWhereType.Storage| ItemWhereType.QuestInventory --查询所有 15
-- 如果需要查询其他组合 可以传递参数 例如 ItemWhereType.Bag | ItemWhereType.QuestInventory 或者直接传 9
}
---@enum ChatType 消息类型枚举
ChatType = {
Normal = 0,
Shout = 1,
System = 2,
Hint = 3,
Announcement = 4,
Group = 5,
WhisperIn = 6,
WhisperOut = 7,
Guild = 8,
Trainer = 9,
LevelUp = 10,
System2 = 11,
Relationship = 12,
Mentor = 13,
Shout2 = 14,
Shout3 = 15,
LineMessage = 16,
}
---@enum MirClass 职业分类枚举
MirClass ={
Warrior = 0, --战士
Wizard = 1, --法师
Taoist = 2, --道士
Assassin = 3, --刺客
Archer = 4 --弓箭手
}
---@enum AttackMode 攻击模式
AttackMode=
{
Peace = 0, --和平攻击
Group = 1, -- 分组攻击
Guild = 2, -- 行会模式
EnemyGuild = 3, -- 敌对工会攻击
RedBrown = 4, -- 红名攻击
All = 5 -- 全体攻击
}
---@enum BuffType buff
BuffType =
{
None = 0,
--Magics
TemporalFlux = 1,
Hiding = 2,
Haste = 3,
SwiftFeet = 4,
Fury = 5,
SoulShield = 6,
BlessedArmour = 7,
LightBody = 8,
UltimateEnhancer = 9,
ProtectionField = 10,
Rage = 11,
Curse = 12,
MoonLight = 13,
DarkBody = 14,
Concentration = 15,
VampireShot = 16,
PoisonShot = 17,
CounterAttack = 18,
MentalState = 19,
EnergyShield = 20,
MagicBooster = 21,
PetEnhancer = 22,
ImmortalSkin = 23,
MagicShield = 24,
ElementalBarrier = 25,
--Monster
HornedArcherBuff = 50,
ColdArcherBuff = 51,
GeneralMeowMeowShield = 52,
RhinoPriestDebuff = 53,
PowerBeadBuff = 54,
HornedWarriorShield = 55,
HornedCommanderShield = 56,
Blindness = 57,
--Special
GameMaster = 100,
General = 101,
Exp = 102,
Drop = 103,
Gold = 104,
BagWeight = 105,
Transform = 106,
Lover = 107,
Mentee = 108,
Mentor = 109,
Guild = 110,
Prison = 111,
Rested = 112,
Skill = 113,
ClearRing = 114,
Newbie = 115,
--Stats
Impact = 200,
Magic = 201,
Taoist = 202,
Storm = 203,
HealthAid = 204,
ManaAid = 205,
Defence = 206,
MagicDefence = 207,
WonderDrug = 208,
Knapsack = 209,
}
---@enum VarType 变量周期枚举
VarType = {
Temp = 0; --临时 不保存
Day = 1; --天变量
Week = 2; --周变量
Month = 3; --月变量
}
---@enum BindMode 物品绑定枚举 DontDeathdrop|DontDrop|DieDrop
BindMode = {
None = 0;
DontDeathdrop = 1;
DontDrop = 2;
DontSell = 4;
DontStore = 8;
DontTrade = 16;
DontRepair = 32;
DontUpgrade = 64;
DestroyOnDrop = 128;
BreakOnDeath = 256;
BindOnEquip = 512;
NoSRepair = 1024;
NoWeddingRing = 2048;
UnableToRent = 4096;
UnableToDisassemble = 8192;
NoMail = 16384;
NoHero = -32768;
DieDrop = 65536; --新增死亡必掉
JumpDrop = 131072; -- 新增跳转必掉 (包含 随机 跳转地图 等 突然改变坐标的情况 在随机前掉落 跳转地图前掉落 也就是掉落在跳转前的坐标)
}
---@enum EquipmentSlot 装备位置枚举
EquipmentSlot =
{
Weapon = 0,
Armour = 1,
Helmet = 2,
Torch = 3,
Necklace = 4,
BraceletL = 5,
BraceletR = 6,
RingL = 7,
RingR = 8,
Amulet = 9,
Belt = 10,
Boots = 11,
Stone = 12,
Mount = 13
}
---@enum Stat 附加属性枚举 物品
Stat =
{
MinAC = 0,
MaxAC = 1,
MinMAC = 2,
MaxMAC = 3,
MinDC = 4,
MaxDC = 5,
MinMC = 6,
MaxMC = 7,
MinSC = 8,
MaxSC = 9,
Accuracy = 10,
Agility = 11,
HP = 12,
MP = 13,
AttackSpeed = 14,
Luck = 15,
BagWeight = 16,
HandWeight = 17,
WearWeight = 18,
Reflect = 19,
Strong = 20,
Holy = 21,
Freezing = 22,
PoisonAttack = 23,
MagicResist = 30,
PoisonResist = 31,
HealthRecovery = 32,
SpellRecovery = 33,
PoisonRecovery = 34,
CriticalRate = 35,
CriticalDamage = 36,
MaxACRatePercent = 40,
MaxMACRatePercent = 41,
MaxDCRatePercent = 42,
MaxMCRatePercent = 43,
MaxSCRatePercent = 44,
AttackSpeedRatePercent = 45,
HPRatePercent = 46,
MPRatePercent = 47,
HPDrainRatePercent = 48,
ExpRatePercent = 100,
ItemDropRatePercent = 101,
GoldDropRatePercent = 102,
MineRatePercent = 103,
GemRatePercent = 104,
FishRatePercent = 105,
CraftRatePercent = 106,
SkillGainMultiplier = 107,
AttackBonus = 108,
LoverExpRatePercent = 120,
MentorDamageRatePercent = 121,
MentorExpRatePercent = 123,
DamageReductionPercent = 124,
EnergyShieldPercent = 125,
EnergyShieldHPGain = 126,
ManaPenaltyPercent = 127,
TeleportManaPenaltyPercent = 128,
Hero = 129,
Unknown = 255
}
---@class MapObject
---@field Name string # 名称
---@field MapName string # 当前地图名称
---@field X integer #当前地图X坐标
---@field Y integer #当前地图Y坐标
system = {}
---@class MapObject
npc = {}
---@class MapObject
Item={}
---@class EntityObject -> MapObject monster|player|hero
---@field Name string # 名称
---@field MapName string # 当前地图名称
---@field X integer #当前地图X坐标
---@field Y integer #当前地图Y坐标
---@field HP integer # 当前血量
---@field MaxHP integer # 最大血量
---@field PercentHealth integer # 当前血量百分比 不含%
---@field MP integer # 当前蓝量
---@field MaxMP integer # 最大蓝量
---@field Exp integer # 当前经验值
---@field MaxExp integer # 当前最大经验值
---@field Lv integer # --等级
---@field Gold integer #金币数量
---@field PK integer PK点
---@field Gender integer 性别 男性 = 0, 女性 = 1
---@field int MirClass 职业枚举编号
entity = {}
---@class EntityObject
player = {}
---@class EntityObject
monster = {}
---@class EntityObject
hero = {}
---@class AttackData
---@field Damage integer 伤害
AttackData = {}
---@class UserItem
---@field UniqueID integer 物品ID
---@field Name string 物品唯一标识
---@field Count integer 物品数量
---@field Id integer 物品ID
---@field Grade integer 稀有度
---@field Type integer 类型
---@field ItemInfo XItemInfo 类型
userItem ={}
---@class XItemInfo --物品基本数据
---@field Index integer
---@field UniqueID string
---@field Name string
---@field ToolTip string
---@field Type integer
---@field Grade integer
---@field RequiredType integer
---@field RequiredClass integer
---@field RequiredGender integer
---@field Set integer
---@field Bind integer
---@field Unique integer
---@field Price integer
---@field Shape integer
---@field Image integer
---@field Durability integer
---@field StackSize integer
---@field Weight integer
---@field Light integer
---@field RequiredAmount integer
---@field Effect integer
---@field Slots integer
---@field RandomStatsId integer
---@field StartItem boolean
---@field NeedIdentify boolean
---@field ShowGroupPickup boolean
---@field GlobalDropNotify boolean
---@field ClassBased boolean
---@field LevelBased boolean
---@field CanMine boolean
---@field CanFastRun boolean
---@field CanAwakening boolean
---@field ScriptCD integer
---@field ScriptFile string
---@field IsConsumable boolean
---@field IsFishingRod boolean
---@field FriendlyName string
XItemInfo={}
---@class Map
---@field Name string # 名称
---@field W integer # 宽度
---@field H integer # 高度
map = {}
--- 添加触发器
--- @param map MapObject# 玩家对象,NPC对象,怪物对象
--- @param lua_trigger_type number # 触发器类型(应为 TriggerType 的值)
--- @param funcName string # 函数名
function lualib.AddTrigger(map, lua_trigger_type, funcName) end
--- 发送系统消息
--- 聊天窗口 选择频道
--- @param player MapObject 玩家对象 system 为广播
--- @param msg string 消息内容
--- @param chatType ChatType 消息类型
function lualib.SendMsg(player,msg,chatType) end
function lualib.SendMsg(player,msg) end
--- 发送系统消息
--- 聊天窗口 系统频道
--- @param player MapObject 玩家对象 system 为广播
--- @param msg string 消息内容
function lualib.SendMsg(player,msg) end
--- 打开浏览器
--- @param player MapObject 玩家对象
--- @param url string 链接
function lualib.OpenBrowser(player,url) end
---声音?
--- @param player MapObject 玩家对象
--- @param id integer id
function lualib.PlaySound(player,id) end
--- 给所有角色发送消息
---@param msg string 消息内容
function lualib.GlobalMessage(msg,chatType) end
function lualib.GlobalMessage(msg) end
---给玩家发送邮寄
---@param player MapObject 玩家对象
---@param title string 邮件标题
---@param msg string 邮件内容
---@param goldstr string 金币数量 字符串 --后期可能会多种货币
---@param log string 日志
---@param uniqueStr string [] 选填 支持多行文本 "uniqueID1,count","uniqueID2,count"
--例 lualib.SendMail(player , "GM" , "系统" , "99" , "测试使用" , "终极开天,5" , "随机传送卷,38" , "雷霆战戒" , "修复神水")
function lualib.SendMail(player,title,msg,goldstr,log,uniqueStr) end
function lualib.SendMail(player,title,msg,goldstr,log) end
function lualib.SendMail(player,title,msg,goldstr) end
function lualib.SendMail(player,title,msg) end
---给玩家发送邮寄
---@param player MapObject 玩家对象
---@param title string 邮件标题
---@param msg string 邮件内容
---@param itemstr string 物品+数量 拼接字符串 "uniqueID1,count|uniqueID2,count|uniqueID3"
---@param goldstr string 金币数量
---@param log string 日志
---@param Split string 切割符 --默认|
--例 lualib.SendMailSplit(player, "GM", "系统", "99" , "终极开天,5|随机传送卷,38|雷霆战戒|修复神水","|" , "测试使用")
function lualib.SendMailSplit(player,title,msg,itemstr,goldstr,log,Split) end
function lualib.SendMailSplit(player,title,msg,itemstr,goldstr,log) end
function lualib.SendMailSplit(player,title,msg,itemstr,goldstr) end
function lualib.SendMailSplit(player,title,msg,itemstr) end
---创建系统邮件 --系统邮件需要时效内玩家上线才会收到 针对所有玩家
---@param title string 邮件标题
---@param msg string 邮件内容
---@param goldstr string 金币数量 字符串 --后期可能会多种货币
---@param outTime integer 超时时间 单位天 默认3天
---@param log string 日志
---@param uniqueStr string [] 选填 支持多行文本 "uniqueID1,count","uniqueID2,count"
--例 lualib.CreateSystemMail("GM", "系统", "999", 30, "测试使用", "终极开天,5", "随机传送卷,38", "雷霆战戒", "修复神水")
function lualib.CreateSystemMail(title, msg,goldstr,outTime,log,uniqueStr) end
function lualib.CreateSystemMail(title, msg,goldstr,outTime,log) end
function lualib.CreateSystemMail(title, msg,goldstr,outTime) end
function lualib.CreateSystemMail(title, msg,goldstr) end
function lualib.CreateSystemMail(title, msg) end
---创建系统邮件 分隔符模式 --系统邮件需要时效内玩家上线才会收到 针对所有玩家
---@param title string 邮件标题
---@param msg string 邮件内容
---@param itemstr string 物品+数量 拼接字符串 "uniqueID1,count|uniqueID2,count|uniqueID3"
---@param goldstr string 金币数量 金币数量 字符串 --后期可能会多种货币 默认0
---@param outTime integer 超时时间 单位天 默认3天
---@param log string 日志
---@param Split string 切割符 --默认|
--例 lualib.CreateSystemMailSplit( "GM" , "系统" , "终极开天,5|随机传送卷,38|雷霆战戒|修复神水" , "99" , 30, "测试使用" , "|")
function lualib.CreateSystemMailSplit(title,msg,itemstr,goldstr,outTime,log,Split) end
function lualib.CreateSystemMailSplit(title,msg,itemstr,goldstr,outTime,log) end
function lualib.CreateSystemMailSplit(title,msg,itemstr,goldstr,outTime) end
function lualib.CreateSystemMailSplit(title,msg,itemstr) end
---comment 测试用
---@param message string
function lualib.TestRun(message) end
--- 添加金币
--- @param player MapObject 玩家对象
--- @param gold integer 数量
--- @param log string 日志
function lualib.AddGold(player,gold,log) end
function lualib.AddGold(player,gold) end
--- 删除金币
--- @param player MapObject 玩家对象
--- @param gold integer 数量
--- @param log string 日志
function lualib.DelGold(player,gold,log) end
function lualib.DelGold(player,gold) end
--- 添加货币
--- @param player MapObject 玩家对象
--- @param credit integer 数量
--- @param log string 日志
function lualib.AddCredit(player,credit,log) end
function lualib.AddCredit(player,credit) end
--- 删除货币
--- @param player MapObject 玩家对象
--- @param credit integer 数量
--- @param log string 日志
function lualib.DelCredit(player,credit,log) end
function lualib.DelCredit(player,credit) end
--- 查询货币
--- @param player MapObject 玩家对象
--- @return integer 数量
function lualib.GetCredit(player) end
---随机
---@param player MapObject
---@param page string
---@param autoRoll boolean
function lualib.RollDie(player,page,autoRoll) end
---随机
---@param player MapObject
---@param page string
---@param autoRoll boolean
function lualib.RollYut(player,page,autoRoll) end
--- 添加货币
--- @param player MapObject 玩家对象
--- @param value integer 数量
--- @param log string 日志
function lualib.GivePearls(player,value,log) end
function lualib.GivePearls(player,value) end
--- 删除货币
--- @param player MapObject 玩家对象
--- @param value integer 数量
--- @param log string 日志
function lualib.TakePearls(player,value,log) end
function lualib.TakePearls(player,value) end
---添加工会金币
---@param player MapObject 玩家对象
---@param gold integer 金币
---@param log string 日志
function lualib.GiveGuildGold(player, gold, log)end
function lualib.GiveGuildGold(player, gold)end
---减少工会金币
---@param player MapObject 玩家对象
---@param gold integer 金币
---@param log string 日志
function lualib.TakeGuildGold(player, gold, log) end
function lualib.TakeGuildGold(player, gold) end
---添加宠物
---@param player MapObject 玩家对象
---@param uniqueID string 怪物唯一标识
---@param level integer 等级 不填默认1
---@param count integer 数量 不填默认1
function lualib.GivePet(player,uniqueID,level,count) end
function lualib.GivePet(player,uniqueID,level) end
function lualib.GivePet(player,uniqueID) end
---清空宠物
---@param player MapObject 玩家对象
---@param uniqueID string 怪物唯一标识 如不填则清空所有宠物
function lualib.RemovePets(player,uniqueID) end
function lualib.RemovePets(player) end
---恢复英雄
---@param player MapObject 玩家对象
function lualib.ReviveHero(player) end
---召回英雄-英雄蛋
---@param player MapObject 玩家对象
function lualib.SealHero(player) end
---删除英雄
---@param player MapObject 玩家对象
function lualib.DeleteHero(player) end
--- 传送
--- @param player MapObject 玩家对象
--- @param mapUniqueID string 地图索引
--- @param x integer X
--- @param y integer Y
--- @param r integer 范围
function lualib.Move(player,mapUniqueID,x,y,r) end
--- 随机传送
--- @param player MapObject 玩家对象
--- @param mapUniqueID string 地图索引
function lualib.Move(player,mapUniqueID) end
--- 添加经验
--- @param player MapObject 玩家对象
--- @param exp integer 数量
--- @param log string 日志
function lualib.GiveExp(player,exp,log) end
function lualib.GiveExp(player,exp) end
--- 调整角色等级
--- @param player MapObject 玩家对象
--- @param lv integer 等级
--- @param log string 日志
function lualib.SetLevel(player, lv,log) end
function lualib.SetLevel(player, lv) end
---升级开关
---@param player MapObject 玩家对象
---@param open boolean 开关 默认开启 开启不升级
---@param log string 日志
function lualib.DisableLevelUp(player, open,log) end
---联系升级开关
---@param player MapObject 玩家对象
---@param open boolean 开关 默认开启 开启不能连续升级
---@param log string 日志
function lualib.DisableLoopLevelUp(player, open,log) end
---经验开关
---@param player MapObject 玩家对象
---@param open boolean 开关 默认开启 开启不升级
---@param log string 日志
function lualib.DisableAddExp(player, open,log) end
---调整性别
---@param player MapObject 玩家对象
function lualib.ChangeGender(player) end
---调整职业
---@param player MapObject 玩家对象
---@param class MirClass 职业枚举
---@param log string 操作日志
function lualib.ChangeClass(player,class,log) end
---调整发型
---@param player MapObject 玩家对象
---@param hair integer 0~9 发型编号 默认不填随机
function lualib.ChangeHair(player,hair) end
---添加技能
---@param player MapObject 玩家对象
---@param uniqueID string 技能标识
---@param level integer 技能等级 默认0
---@param log string 操作日志 默认无
---@---@return boolean 是否添加成功
function lualib.AddSkill(player,uniqueID,level,log) end
function lualib.AddSkill(player,uniqueID,level) end
function lualib.AddSkill(player,uniqueID) end
---设置技能等级
---@param player MapObject 玩家对象
---@param uniqueID string 技能标识
---@param level integer 技能等级 默认0
---@param log string 操作日志 默认无
---@---@return boolean 是否添加成功
function lualib.SetSkillLevel(player,uniqueID,level,log) end
function lualib.SetSkillLevel(player,uniqueID,level) end
function lualib.SetSkillLevel(player,uniqueID) end
---删除技能
---@param player MapObject 玩家对象
---@param uniqueID string 技能标识
---@param log string 操作日志
---@return boolean 是否删除
function lualib.DelSkill(player,uniqueID,log) end
function lualib.DelSkill(player,uniqueID) end
---增减血量
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param hp integer
function lualib.GiveHP(mapObjcet,hp,log) end
function lualib.GiveHP(mapObjcet,hp) end
---增减魔力
---@param player MapObject 玩家对象
---@param mp integer
function lualib.GiveMP(player,mp) end
---添加buff
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param uniqueID string buff详细状态 uniqueID
---@param duration integer 持续时间 分钟单位
function lualib.GiveBuff(mapObjcet,uniqueID,duration) end
---查询是否存在buff
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param uniqueID string buff详细状态 uniqueID
---@return boolean
function lualib.HasBuff(mapObjcet,uniqueID) end
---移除buff
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param uniqueID string buff详细状态 uniqueID
function lualib.RemoveBuff(mapObjcet, uniqueID) end
---刷新角色效果
---@param player MapObject 玩家对象|英雄对象
function lualib.RefreshStats(player) end
---刷新水平等级效果?LevelEffects
---@param player MapObject 玩家对象
function lualib.RefreshEffects(player) end
---婚戒
---@param player MapObject 玩家对象
function lualib.MakeWeddingRing(player) end
--离婚
---@param player MapObject 玩家对象
function lualib.ForceDivorce(player) end
---将PK值修改为当前值
---@param player MapObject 玩家对象
---@param pk integer 将PK值修改为当前值
function lualib.SetPKPoints(player,pk) end
---加入公会
---@param player MapObject 玩家对象
---@param name string 公会名称
function lualib.AddToGuild(player,name) end
---退出公会
---@param player MapObject 玩家对象
function lualib.RemoveFromGuild(player) end
---征服
---@param player MapObject 玩家对象
function lualib.ConquestGuard(player,index,infoIndex) end
---征服
---@param player MapObject 玩家对象
function lualib.ConquestGate(player,index,infoIndex) end
---征服
---@param player MapObject 玩家对象
function lualib.ConquestWall(player,index,infoIndex) end
---征服
---@param player MapObject 玩家对象
function lualib.ConquestSiege(player,index,infoIndex) end
---征服
---@param player MapObject 玩家对象
function lualib.TakeConquestGold(player,index) end
---征服
---@param player MapObject 玩家对象
function lualib.SetConquestRate(player,index,range) end
---征服
---@param player MapObject 玩家对象
function lualib.StartConquest(player,index) end
---征服
---@param player MapObject 玩家对象
function lualib.ScheduleConquest(player,index) end
---征服
function lualib.OpenGate(index,infoIndex) end
---征服
function lualib.CloseGate(index,infoIndex) end
---征服
---@param player MapObject 玩家对象
function lualib.ConquestRepairAll(player,index) end
--- 物品掉落 脚本触发一次对应怪物掉落判断 物品直接掉入玩家背包
--- @param Player MapObject 玩家对象
--- @param UniqueID string 怪物ID
function lualib.Drop(Player,UniqueID) end
--- 创建物品掉落
--- @param mapobject MapObject 如果为System则系统掉落 如果为Player或者Monster则为物品掉落
--- @param itemUniqueID string 物品唯一ID
--- @param mapUniqueID string 地图唯一ID
--- @param x integer 掉落坐标
--- @param y integer 掉落坐标
--- @param r integer 掉落坐标
--- @param owner MapObject 归属对象 为空则无归属
--- @param ownerTime integer 归属等待时间 秒
--- @param log string 日志
--- @return UserItem
function lualib.DropItem(mapobject,itemUniqueID,mapUniqueID,x,y,r,owner,ownerTime,log) end
--- 创建物品
--- 返回创建角色物品 注意:创建物品暂无ID 需要添加给角色后才会生成ID 可以将此方法创建的物品添加给多个角色
--- @itemUniqueID 物品索引
--- @count 数量
--- @return UserItem
function lualib.CreateItem(itemUniqueID,count) end
--- 给物品
--- 将角色背包物品添加给角色
--- @param player MapObject 玩家对象
--- @param userItem UserItem 物品对象
--- @param log string 日志
--- @return boolean
function lualib.Give(player,userItem,log) end
function lualib.Give(player,userItem) end
--- 给物品
--- 创建角色物品添加给角色背包
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @param count integer 数量
--- @param log string 日志
--- @return UserItem
function lualib.Give(player,itemUniqueID,count,log) end
function lualib.Give(player,itemUniqueID,count) end
--- 删除物品
--- 删除指定UniqueID的角色背包物品
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @param count integer 数量
--- @param log string 日志
--- @return boolean
function lualib.Take(player,itemUniqueID,count,log) end
function lualib.Take(player,itemUniqueID,count) end
--- 删除物品
--- 删除指定物品 --
--- @param player MapObject 玩家对象
--- @param userItem UserItem 物品对象
--- @param log string 日志
--- @return boolean
function lualib.Take(player,userItem,log) end
function lualib.Take(player,userItem) end
--- 判断角色背包中是否拥有物品
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @param itemWhereType ItemWhereType 物品定位枚举
--- @return boolean
function lualib.HasItem(player,itemUniqueID,itemWhereType) end
---获取物品
---@param uniqueID string
---@return XItemInfo
function lualib.GetItemInfo(uniqueID) end
---获取物品
---@param userItem UserItem
---@return XItemInfo
function lualib.GetItemInfo(userItem) end
---获取物品
---@param player MapObject
---@param itemIndex string 如为'' 则不判断itemIndex
---@param itemWhereType ItemWhereType 遍历位置
---@return UserItems
function lualib.GetItems(player,itemIndex,itemWhereType) end
--- 判断角色背包中是否拥有物品
--- @param player MapObject 玩家对象
--- @param site integer 物品下标 0~x 装备栏物品下标 -1~-x 背包栏下标
--- @return UserItem
function lualib.GetBoxItem(player,site) end
--- 使用物品
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @return boolean
function lualib.UseItem(player, itemUniqueID) end
---设置物品绑定装备 DontDeathdrop|DontDrop|DieDrop
---@param userItem UserItem 物品对象
---@param bindMode BindMode 绑定模式
function lualib.SetBindMode(userItem, bindMode) end;
---检测绑定模式
---@param userItem UserItem 物品对象
---@param bindMode BindMode 绑定模式
---@return boolean
function lualib.HasBindMode(userItem, bindMode) end;
---修改物品极品属性
---@param item UserItem
---@param stat Stat
---@param value integer
function lualib.SetItemStat(item, stat , value) end
---获取物品极品属性
---@param item UserItem
---@param stat Stat
---@return integer
function lualib.GetItemStat(item,stat) end
---刷新物品属性
---@param player MapObject
---@param item UserItem
function lualib.RefreshItem(player, item) end
--- 获取背包空格
--- @param player MapObject 玩家对象 查询背包空余
--- @param empty boolean 默认true 获取背包空格数 false获取最大背包格子数
--- @return integer 背包空余
function lualib.GetBagSize(player,empty) end
--- 获取背包第一个空格位置
--- @param player MapObject 玩家对象 查询背包空余
--- @param empty boolean 默认true 背包第一个空格下标 false 获取最后一个空格下标
--- @return integer 背包空余
function lualib.GetBagFristNull(player,empty) end
--- 获取角色背包中物品数量
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @return integer
function lualib.GetItemsNumber(player,itemUniqueID) end
--- 获取角色背包中物品数量
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @return integer[]
function lualib.GetBagItemsCount(player,itemUniqueID) end
--- 模糊匹配装备数量
--- @param player MapObject 玩家对象
--- @param name string 物品索引 判断包含名称
--- @return integer
function lualib.GetEquipmentsCount(player,name) end
---扩充背包
---@param player MapObject
---@param site integer
---@return integer
--英雄最大 42 角色最大86
function lualib.AddBag(player, site) end
---获取背包格子数
---@param player MapObject
---@return integer
function lualib.GetBagMaxCount(player) end
---扩充仓库
--- @param player MapObject 玩家对象
---@return integer
function lualib.AddStorage(player) end
---获取仓库格子数
---@param player MapObject 玩家对象
---@return integer
function lualib.GetStorageMaxCount(player) end
---脱装备
---@param player MapObject 玩家对象
---@param slot string 部位名称
--- Weapon,Armour,Helmet,Torch,Necklace,BraceletL,BraceletR,RingL,RingR,Amulet,Belt,Boots,Stone,Mount
function lualib.UnequipItem(player,slot) end
function lualib.UnequipItem(player) end --全脱
---删除装备
---@param player MapObject 玩家对象
---@param ItemName string 装备名称
---@param isTrigger boolean 是否触发触发器 默认true
---@param site integer 装备位置 不填默认根据名称查询第一个装备
function lualib.RemoveEquip(player,ItemName,isTrigger,site) end
function lualib.RemoveEquip(player,ItemName,isTrigger) end
function lualib.RemoveEquip(player,ItemName) end
--- 穿装备
--- 如部位已有装备则脱下原有装备
--- 戒指手镯位 自动优先穿到空位上 如无空位,也没指定部位 则循环穿戴左右
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @param useTrigger boolean 是否触发 默认 true
--- @param site integer 指定部位 默认值0 自动判断部位 (
--- @return boolean
function lualib.TakeOn(player, itemUniqueID,useTrigger,site) end
function lualib.TakeOn(player, itemUniqueID,site) end
function lualib.TakeOn(player, itemUniqueID) end
--- 穿装备
--- 如部位已有装备则脱下原有装备
--- 戒指手镯位 自动优先穿到空位上 如无空位,也没指定部位 则循环穿戴左右
--- @param player MapObject 玩家对象
--- @param UserItem UserItem 物品索引
--- @param useTrigger boolean 是否触发 默认 true
--- @param site integer 指定部位 默认值0 自动判断部位 (
--- @return boolean
function lualib.TakeOn(player, UserItem,useTrigger,site) end
function lualib.TakeOn(player, UserItem,useTrigger) end
function lualib.TakeOn(player, UserItem) end
--- 脱装备
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @param useTrigger boolean 是否触发 默认 true
--- @param site integer 指定部位 默认值0 自动判断部位
--- @return boolean
function lualib.TakeOff(player, itemUniqueID,useTrigger,site) end
--- 脱装备
--- @param player MapObject 玩家对象
--- @param itemUniqueID string 物品索引
--- @return boolean
function lualib.TakeOff(player, itemUniqueID) end
--- 脱装备
--- @param player MapObject 玩家对象
--- @param UserItem UserItem 物品索引
--- @param useTrigger boolean 是否触发 默认 true
--- @return boolean
function lualib.TakeOff(player, UserItem,useTrigger) end
--- 脱装备
--- @param player MapObject 玩家对象
--- @param UserItem UserItem 物品索引
--- @return boolean
function lualib.TakeOff(player, UserItem) end
--- 获取Int变量
--- Int64
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @return integer
function lualib.GetInt(player,varName) end
--- 设置Int变量
--- Int64
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @param value integer 值
function lualib.SetInt(player,varName,value) end
--- 获取String变量
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @return string
function lualib.GetStr(player,varName) end
--- 获取String变量
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @param value string 值
function lualib.SetStr(player,varName,value) end
---物品转Json
---@param item UserItem
---@return string
function lualib.Item2Json(item) end
---Json转物品
---@param json string
---@return UserItem
function lualib.Json2Item(json) end
--- 获取Int变量
--- Int64
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @return integer
function lualib.GetTempInt(player,varName) end
--- 设置Int变量
--- Int64
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @param value integer 值
--- @param varType VarType 变量周期 默认temp
function lualib.SetTempInt(player,varName,value,varType) end
function lualib.SetTempInt(player,varName,value) end
--- 获取String变量
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @return string
function lualib.GetTempStr(player,varName) end
--- 获取String变量
--- @param player MapObject 玩家对象
--- @param varName string 变量名称
--- @param value string 值
--- @param varType VarType 变量周期 默认temp
function lualib.SetTempStr(player,varName,value,varType) end
function lualib.SetTempStr(player,varName,value) end
--- 添加定时器
--- @param player MapObject 玩家对象||系统system
--- @param timername string 定时器名称
--- @param funcName string 定时器回调函数 (npc,player,timername,curr_count)
--- @param time integer 周期/毫秒
--- @param count integer 次数 执行完成就移除
--- @param turnoff boolean 默认 true
--- @return boolean
--已添加是否覆盖
function lualib.AddTimer(player,timername,funcName,time,count,turnoff) end
function lualib.AddTimer(player,timername,funcName,time,count) end
--- 删除定时器
--- @param player MapObject 玩家对象||系统system
--- @param timername string 定时器名称
function lualib.DelTimer(player,timername) end
---删除所有定时器
--- @param player MapObject 玩家对象||系统system
function lualib.DelAllTimer(player,timername) end
---开关定时器
--- @param player MapObject 玩家对象||系统system
--- @param timername string 定时器名称
--- @param turnoff boolean 开关
function lualib.SetTimer(player,timername,turnoff) end
---延迟执行
--- @param player MapObject 玩家对象||系统system
--- @param time integer 延迟毫秒数
--- @param funcName string 回调函数名 (npc,player,param)
--- @param param string 携带参数
function lualib.DelayCall(player,time,funcName,param) end
--- 直接执行
--- @param player MapObject 玩家对象||系统system
--- @param funcName string 回调函数名 (npc,player,param)
--- @param param string 携带参数
function lualib.Call(player,funcName,param) end
--- 添加计划执行
--- 写代码时注意运行时差问题 比如 因为某些原有系统卡了 00 没执行 那下一秒也得把他补上
--- 参数1为 '14:31:00' 参数2为'' 每日执行
--- 参数1为 '14:31:00' 参数2为 '2025-05-01' 为指定日期执行
--- 参数1为 '14:31:00' 参数2为 '-1,-2,-3,-4,-5,-6,-7' 周1-7执行
--- 参数1为 '14:31:00' 参数2为 '1,2,3,4,5,6,7,8,9,10,,,31' 按指定天执行
--- @param player MapObject 玩家对象,大多数情况是添加个system 然后 定时对全服角色进行执行
--- @param name string 计划名称
--- @param funcName string 计划回调函数 (npc,player,schedulename)
--- @param param1 string 计划参数1
--- @param param2 string 计划参数2
function lualib.AddSchedule(player,name,funcName,param1,param2) end
function lualib.AddSchedule(player,name,funcName,param1) end
--- 删除计划
--- @param player MapObject 玩家对象
--- @param name string 计划名称
function lualib.DelSchedule(player,name) end
---发送NPC对话框显示消息 \n分行符
---@param messages string
function lualib.NPCSay(messages) end
---打开输入框
---@param player MapObject
---@param funcName string 回调函数
---@param text string 输入框描述
---@param inputType integer 0 文本 1 数字 默认0
---@param btnType integer 0 确定+取消 1 确定 默认0
---@param timeout integer 过期时间/秒 默认0 不过期(但实际会因为其他npc操作而覆盖了funcName的授权)
function lualib.OpenInputBox(player, funcName, text,inputType ,btnType,timeout) end;
---打开仓库对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenStorageWindow(messages) end
function lualib.OpenStorageWindow() end
---打开购买对话框 出售玩家||NPC物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuyWindow(messages) end
function lualib.OpenBuyWindow() end
---打开购买对话框 出售NPC物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuyNewWindow(messages) end
function lualib.OpenBuyNewWindow() end
---打开购买对话框 出售玩家物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuyUsedWindow(messages) end
function lualib.OpenBuyUsedWindow() end
---打开购买对话框 出售NPC物品 使用特殊货币购买
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenPearlBuyWindow(messages) end
function lualib.OpenPearlBuyWindow() end
---打开出售对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenSellWindow(messages) end
function lualib.OpenSellWindow() end
---打开出售+购买对话框 出售玩家||NPC物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuySellWindow(messages) end
function lualib.OpenBuySellWindow() end
---打开出售+购买对话框 出售NPC物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuySellNewWindow(messages) end
function lualib.OpenBuySellNewWindow() end
---打开回购对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenBuyBackWindow(messages) end
function lualib.OpenBuyBackWindow() end
---打开修理对话框
---@param isRepair boolean 是否特修
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenRepairWindow(isRepair,messages) end
function lualib.OpenRepairWindow(isRepair) end
---获取修理价格
---@param player MapObject 是否特修
---@param site integer 装备下标 -1全身
---@param special boolean 是否特修 默认false
---@return integer
function lualib.GetRepairPrice(player,site,special) end
function lualib.GetRepairPrice(player,site) end
---@param equipmentSlot EquipmentSlot 装备下标枚举
---@return integer
function lualib.GetRepairPrice(player,equipmentSlot,special) end
function lualib.GetRepairPrice(player,equipmentSlot) end
---修理装备
---@param player MapObject 是否特修
---@param site integer 装备下标 -1全修
---@param special boolean 是否特修 默认false
function lualib.Repair(player,site,special) end
function lualib.Repair(player,site) end
---@param equipmentSlot EquipmentSlot 装备下标枚举
function lualib.Repair(player,equipmentSlot,special) end
function lualib.Repair(player,equipmentSlot) end
---打开合成对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenCraftWindow(messages) end
function lualib.OpenCraftWindow() end
---打开觉醒升级对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenAwakeningWindow(messages) end
function lualib.OpenAwakeningWindow() end
--打开拆卸对话框
function lualib.OpenDisassembleWindow(messages) end
function lualib.OpenDisassembleWindow() end
--打开降级对话框
function lualib.OpenDowngradeWindow(messages) end
function lualib.OpenDowngradeWindow() end
--打开重置对话框
function lualib.OpenResetWindow(messages) end
function lualib.OpenResetWindow() end
---打开精炼对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenRefineWindow(messages) end
function lualib.OpenRefineWindow() end
--检查精炼命令
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenRefineCheckWindow(messages) end
function lualib.OpenRefineCheckWindow() end
--取回精炼物品
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
---@return UserItem 取回的物品
function lualib.RefineCollect(messages) end
function lualib.RefineCollect() end
---打开交易行对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenMarketWindow(messages) end
function lualib.OpenMarketWindow() end
---打开提交拍卖物品对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenConsignWindow(messages) end
function lualib.OpenConsignWindow() end
---打开工会创建对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenGuildCreateWindow(messages) end
function lualib.OpenGuildCreateWindow() end
---打开请求行会战争对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenRequestWarWindow(messages) end
function lualib.OpenRequestWarWindow() end
---打开创建英雄对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenHeroCreateWindow(messages) end
function lualib.OpenHeroCreateWindow() end
---打开英雄管理对话框
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenHeroManageWindow(messages) end
function lualib.OpenHeroManageWindow() end
---更换婚戒
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.ReplaceWedRing(messages) end
function lualib.ReplaceWedRing() end
---打开发送邮件窗口
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenSendParcelWindow(messages) end
function lualib.OpenSendParcelWindow() end
---打开接收邮件窗口
---@param messages string [选填] 如果不填需要手动执行一次NPCSay
function lualib.OpenCollectParcelWindow(messages) end
function lualib.OpenCollectParcelWindow() end
---生成怪物 地图范围内随机
---@param monsterUniqueID string 怪物唯一标识
---@param mapUniqueID string 地图唯一标识
---@---@param count integer 怪物数量
---@param log string 操作理由
function lualib.Mongen(mapUniqueID,monsterUniqueID,count,log) end
---生成怪物 指定坐标范围随机
---@param monsterUniqueID string 怪物唯一标识
---@param mapUniqueID string 地图唯一标识
---@---@param count integer 怪物数量 默认1
---@param x integer 坐标X
---@param y integer 坐标Y
---@param r integer 范围R
---@param log string 操作理由
function lualib.Mongen(mapUniqueID,monsterUniqueID,count,x,y,r,log) end
---清理地图指定怪物
---@param monsterUniqueID string 怪物唯一标识
---@param mapUniqueID string 地图唯一标识 如为nil 则清理地图所有怪物
---@param log string 日志
function lualib.MonClear(mapUniqueID,monsterUniqueID,log) end
---获取在线玩家
---@param isAlive boolean 默认 true 只获取活人
---@return MapObjects
function lualib.GetOnlinePlayers(isAlive) end
---获取地图内玩家
---@param mapIndex string 地图索引
---@param x integer X
---@param y integer Y
---@param r integer R
---@param isDummy integer 是否为假人 默认0 不包含假人 1包含假人 2只含假人
---@param isAlive boolean 默认 true
---@return MapObjects
function lualib.GetMapPlayers(mapIndex, x, y, r,isDummy, isAlive) end
---获取地图内英雄
---@param mapIndex string 地图索引
---@param x integer X
---@param y integer Y
---@param r integer R
---@return MapObjects
function lualib.GetMapHeros(mapIndex, x, y, r) end
---获取地图内怪物
---只返回活着的
---@param mapIndex string 地图索引
---@param monsterIndex string 怪物索引 如果为'' 则匹配所有怪物
---@param x integer X
---@param y integer Y
---@param r integer R
---@param includeSlave integer 是否包含宝宝 默认0 不含宝宝 1包含宝宝 2只含宝宝 英雄不算宝宝
---@return MapObjects
function lualib.GetMapMonsters(mapIndex,monsterIndex, x, y, r,includeSlave) end
---获取英雄或宝宝的主人
---@param monster EntityObject
---@return EntityObject
function lualib.GetMaster(monster) end
--02/19新增|编辑
---判断角色名称是否重复
---@param name string 名称
---@return boolean true 重复
function lualib.CheckNameExist(name) end
---修改角色名称
---@param player MapObject 角色|英雄对象
---@param name string 名称
---@return boolean true 成功
function lualib.ModifyName(player,name) end
---修改英雄名称
---@param player MapObject 角色
---@param info XHeroInfo 英雄数据
---@param name string 名称
---@return boolean true 成功
function lualib.ModifyName(player,info,name) end
---踢下线
---@param player MapObject 角色
function lualib.Kick(player) end
---获取角色下英雄集合
---@param player MapObject 角色
---@return HeroInfos --英雄数据集合XHeroInfo
function lualib.GetPlayerHeros(player) end
---获取角色公会信息
---@param player MapObject 角色
---@return GuildObject 工会对象
function lualib.GetGuild(player) end
---获取公会信息
---@param name string 公会名称
---@return GuildObject 工会对象
function lualib.GetGuild(name) end
---增加行会经验
---@param guild GuildObject 公会名称
---@param exp integer 公会经验
function lualib.AddGuildExp(guild,exp) end
---设置行会等级
---@param guild GuildObject 公会名称
---@param lv integer 设置等级
function lualib.SetGuildLevel(guild,lv) end
---获取伴侣
---@param player MapObject 角色
---@return MapObject
function lualib.GetSpouse(player) end
--02/20新增|编辑
---设置攻击模式
---@param player MapObject
---@param mode AttackMode
---@param lock boolean 锁定状态 锁定后客户端无法调整攻击模式
function lualib.SetAttackMode(player,mode,lock) end
function lualib.SetAttackMode(player,mode) end
---物品呼出NPC对话框操作
---@param player MapObject 角色对象
---@param item UserItem UserItem对象
---@param funcName string 调用Lua名称的方法
---@说明 lualib.OpenItemNPCWindow(player,userItem,"systemmain") 需要创建一个systemmian方法 里面有相应的NPC对话
function lualib.OpenItemNPCWindow(player,item,funcName) end
--添加buff 可添加自定义属性
---@param mapObject MapObject 玩家对象 怪物对象
---@param caster MapObject 施法对象 不填默认为mapObject自己释放
---@param uniqueID string buff详细状态 uniqueID
---@param duration integer 持续时间 分钟单位
---@param stackCount integer buff叠加层数 需要[Buff_状态数据]配置可叠加 默认为1
---@param stats string buff属性 注:自定义buff属性 需要[Buff_状态数据]里面不填Stats栏
---@param panels string buff属性 注:自定义panel属性 需要[Buff_状态数据]里面不填panels栏
---@说明 lualib.GiveBuff(player,"最强王者",600,1,"1|15,2|15,14|50,15|50","1|15,2|15,14|50,15|50")
function lualib.GiveBuff(mapObject,caster,uniqueID,duration,stackCount,stats,panels) end
function lualib.GiveBuff(mapObject,caster,uniqueID,duration,stackCount,stats) end
function lualib.GiveBuff(mapObject,uniqueID,duration,stackCount,stats) end
function lualib.GiveBuff(mapObject,uniqueID,duration,stackCount) end
---@class XStats 属性集合 UserItem Buff 角色下都应包含可查询集合 与设置/属性配置表.XLSX对应
---@说明 XStats[1] key访问模式 取得id为1的属性 对应数值
---@说明 XStats:Get("最小攻击") Name访问模式 取得Name为最小攻击 对应数值
XStats={}
---@class XBuff buff信息
---@field Name string buff名称
---@field ExpireTime integer buff持续时间
---@field StackCount integer buff当前层数
---@field StackMax integer buff最大层数
---@field XStats XStats 属性集合
XBuff ={}
--获取角色buff 查看属性 持续时间 状态等
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param uniqueID string buff详细状态 uniqueID
---@return XBuff XBuff 查询不到为nil
function lualib.GetBuff(mapObjcet,uniqueID) end
--编辑角色buff 持续时间和叠加层数
---@param mapObjcet MapObject 玩家对象 怪物对象
---@param uniqueID string buff详细状态 uniqueID
---@param duration integer 持续时间 分钟单位
---@param stackCount integer buff叠加层数 如果叠加层数为0 视为移除buff
function lualib.EditBuff(mapObjcet,uniqueID,duration,stackCount) end
function lualib.EditBuff(mapObjcet,uniqueID,duration) end
--2025/03/19
---弹出确认框
---@param player EntityObject 玩家对象
---@param context string 文本框显示内容
---@param btnOK string 确认按钮显示内容
---@param OKcallback string 确认按钮回调方法
---@param btnCancel string 取消按钮显示内容
---@param Cancelcalback string 取消按钮回调方法
function lualib.MessageBox(player,context,btnOK,OKcallback,btnCancel,Cancelcalback) end
return lualib;
作者:admin 创建时间:2024-12-30 15:06
最后编辑:yilin01 更新时间:2025-08-20 18:55
最后编辑:yilin01 更新时间:2025-08-20 18:55