魔力宝贝Lua脚本引擎
CGDev Lua脚本引擎是针对魔力宝贝[CrossGate]服务端GMSV Avataria的脚本扩展引擎,该引擎可以通过Lua脚本调用Gmsv内部函数对游戏功能进行开放式的扩展。
本Lua脚本引擎以吉仔的LNS为基础,专门针对魔力宝贝进行了优化和扩展开发。
讨论论坛: http://cgdev.me/
官方咨询QQ群:19363311
联系QQ:19890425 或 859729391
更新日志 (changelog)
2021.12.04
- 修复常量 %对象_掉魂% %宠物_忠诚%
- 修复 Lua 在获取过多 Objects 时导致的挂端错误
- 允许 Char.JoinParty 对 NPC 进行操作
- 新增战斗新回合开始时触发的事件 RegBattleNewTurnStartEvent
- 新增道具耐久/最大耐久改变时触发的事件 RegItemDurabilityChangedEvent RegItemMaxDurabilityChangedEvent
- 新增创建道具实例的函数 Item.MakeItemAndRegist
- 新增战斗奖励触发时的事件 RegBattleGetProfitEvent
2020.10.01
- 新增 战斗技能 常量,适配Battle.ActionSelect
- Battle.ActionSelect 允许操作宠物角色
- 修复部分接口错误
2020.06.12
- Recipe 扩充 [测试状态]
- 新增 %宠物_忠诚% 常量
- 修正角色属性加成功能对宠物造成的部分不可控问题
- 修正Foreach.Npc无法触发Lua创建的NPC的错误
2020.06.07
- 新增Foreach库,用于对数据的批量操作
- Foreach.Player
- Foreach.Pet
- Foreach.Npc
- Foreach.Enemy
- Foreach.Item
- Foreach.Object
- Foreach.Warp
2020.05.30
- 宠物是否可以装备指定道具的检测事件及回调函数 RegPetEquipCheckEvent
- 修复某些情况下角色属性加成不触发的错误
- 使用TechId施放技能 Battle.UseTechById
2020.02.24
- 角色新增配方函数 GiveRecipe
2020.02.10
- 宠物升级函数 LevelUp
- 重构Lua删除道具的接口,修复了删除道具可能导致的异常。
- 给指定位置道具的接口 GiveItemWithPos
- GiveItem 和 DelItem 新增参数决定是否显示消息。
- 获取乘骑者接口 GetRider
- 内存快照生成接口 Snapshot
- 消耗魔力值事件和回调函数 RegFpConsumeEvent
- 获取连战信息 GetNextBattle
- 服务端发送封包回调函数 ServerProtocolSend
2019.04.02
- 新增角色属性加成相关的常量 角色加成常量
- 新增角色骑宠效果触发事件和相应回调函数 RegPetRideImageEvent
- 新增通过Lua返回角色升级所需经验的回调函数 RegGetNextLevelExpEvent
- 新增通过Lua返回装备使用所需等级的回调函数 RegEquipmentLevelEvent
- 新增NPC创建触发事件和相应回调函数 RegNpcCreatedEvent
- 新增战斗偷袭触发事件和相应回调函数 RegBattleSurpriseEvent
- 新增获取技能最大可使用等级的函数 GetSkillMaxLevel
- 新增获取角色的tech id的函数 GetTechId
- 新增luasocket的支持 http://w3.impa.br/~diego/software/luasocket/
- 诸多不记得的错误修正和优化。
2017.09.21
- 修复大地之怒无法触发NL.RegDamageCalculateEvent的错误
- NL.RegDamageCalculateEvent 现在可以同时获取修正前和修正后的伤害,并且获取伤害的模式了
- 修复战斗遇敌数量设置的接口NL.RegVSEnemyCreateEvent在部分情况下导致卡战斗的错误
- 修复Obj.GetObject在极端情况下导致挂端的错误
2017.07.30
- 战场魔法效果相关函数 Battle.SetBattleFieldAttribute Battle.GetBattleFieldAttribute
- 修复 Pet.GetGetableItemList 函数的错误
- 新增 Battle.SetBattleCharacterStatus 和 Battle.GetBattleCharacterStatus 支持 %战属_参数%
2017.06.18
- 头饰效果回调函数 NL.RegHeadCoverEvent
2017.06.15
- NLG.Talk 让指定角色说话
2017.06.01
- Char.FindTitleIndex 找是否存在指定的称号,并返回称号的位置index
2017.05.31
- NLG.GetMessage 获取message内容
2017.05.12
- Battle.SetBattleCharacterStatus 获取战斗中角色特殊状态 Battle.GetBattleCharacterStatus 支持新的几种战斗状态
- 修复Battle.SetBattleCharacterStatus不正确的错误
- 可以为NPC等角色设置自定义称号(SetData),并且通过NLG.SetShowName来显示了
2017.05.09
- 设置战斗连战 Battle.SetNextBattle
- 连战生成回调事件 NL.RegBattleNextEnemyEvent
2017.05.08
- 获取战斗中角色特殊状态 Battle.GetBattleCharacterStatus
- 设置战斗中角色特殊状态 Battle.SetBattleCharacterStatus
- 客户端通讯自定封包
- 修复NL.RegMakeItemStringEvent无法使用的错误
- 修复NL.RegTechOptionEvent在某些技能不被触发的错误
- 修复Battle.PetActionSelect无法释放多目标技能的错误
- 修复Battle.UseTech无法释放多目标技能的错误
- 如果指定的目标不存在,Battle.ActionSelect现在可以自动选择合适的攻击对象,而不会再让角色静止了
- Char.AddSkill现在可以自动更新技能的等级了
- 修复部分技能无法正确的被NL.RegDamageCalculateEvent触发的错误
- 修复Battle.Encount无法支持连战的错误
2017.04.25
- 删除角色 NL.DeleteCharacter
2017.04.11
- 发送宠物战斗指令 Battle.PetActionSelect
- 修复交易宠物接口的BUG
2017.03.30
- 选择称号 Char.SelectTitle
2017.03.29
- 离线角色相关接口统一为
Offline
包 - Offline.SetOfflinePlayer
- Offline.GetOfflineStatus
- Offline.GetOfflineStartTime
- Offline.GetOfflineEndTime
- Offline.SetOfflineEndTime
- Offline.OfflineLogout
- Offline.OfflineLogin
- Offline.SetOfflineLoopEvent
2017.03.27
- 设置是否显示头顶角色名 NLG.SetShowName
2017.03.26
- 宠物唯一标识 Pet.GetUUID
2017.03.21
- 注册帐号 NL.CreateAccount
- 创建角色 NL.CreateCharacter
- 移动道具 NLG.MoveItem
2017.03.20
- 战斗命令相关函数 Battle.GetEntryPosition Battle.GetTargetSelect Battle.ActionSelect Battle.UseTech Battle.IsWaitingCommand Battle.FinishPlayerBattle Battle.GetBattleMode Battle.IsBossBattle
- 获取玩家角色当前战斗中已提交的指令数 Char.GetCurrentBattleActionCount Char.GetCurrentBattleTechActionCount
2017.03.17
- 公会相关接口 Char.HaveGuild Char.GetGuildTitleID
- 刷新玩家称号 Char.CheckTitle
- PK最大血量 NL.RegBattlePVPMaxHpEvent
2016.08.03
2016.07.26
- 新增离线操作相关接口 NLG.SetOfflinePlayer 等
- 扩充EventFlg
- 摆摊许可地图判定
2016.04.20
- 修复发送图形事件接口 NLG.SendGraphEvent 对NPC无作用的错误
- 战斗遇敌数量设置的接口进行了重制 NL.RegVSEnemyCreateEvent
- 新增获取/设置地面物件删除时间的接口 Obj.GetDelTime 和 Obj.SetDelTime
2016.03.18 & 2016.03.28
- 战斗遇敌数量设置的接口进行了部分修改 NL.RegVSEnemyCreateEvent
- 台服版本支持了获取MAC的接口 NLG.GetMac
- 新增遇敌率修正接口 Char.SetBonusEncountRate
- Char.SetSkillExp 接口设置技能经验值后会自动更新技能等级了
- 修复 NLG.FindNpcByPos 无法正常使用的错误
- 新增获得指定地图放置宠物列表的接口 NLG.GetFloorPets
- 新增发送图形事件接口 NLG.SendGraphEvent
- 修复Char库中部分接口不规范的错误
2016.03.09
- 新增生成道具属性字段事件的接口NL.RegMakeItemStringEvent
- 新增设置NPC忽略对话距离限制的接口NL.SetRemoteNpc
- 新增通过坐标查找NPC的接口NLG.FindNpcByPos
- 新增通过名字查找NPC的接口NLG.FindNpcByName
- 新增触发玩家和NPC对话的接口NLG.ShowTalked
2016.03.02
- 新增获取随机地图重置时间的接口Map.GetDungeonExpireTime
- 战斗遇敌数量设置的接口进行了部分修改 NL.RegVSEnemyCreateEvent
2016.02.25
- 修复UpChar的一些问题
- 修复几个Lua接口的内存泄漏
- 新增战斗遇敌数量设置的接口 NL.RegVSEnemyCreateEvent
2016.02.17
- 新增获取战斗回合数接口 Battle.GetTurn
- 新增获取对象的战斗Index接口 Battle.GetCurrentBattle
- 修复NLG.UpChar的一个BUG
- 新增获取地图坐标的Object Index接口 Obj.GetObject
- 新增获取地图坐标范围的接口 Map.GetMapSize
- 对战斗指令接口做了小修改 NL.RegBattleActionEvent
2016.02.09
- 新增伤害计算事件 NL.RegDamageCalculateEvent
- 新增技能参数事件 NL.RegTechOptionEvent
2016.02.07
- 新增交易玩家道具、宠物的函数 Item.TradeItem & Pet.TradePet
- 新增整理玩家背包的函数 NLG.SortItem
- 新增常量
- %CHAR_PROFILE_OPENFLG%
- %CHAR_PROFILE_SELLFLG%
- %CHAR_PROFILE_BUYFLG%
- %CHAR_PROFILE_ABOUTFLG%
- %CHAR_PROFILE_SELLMSG%
- %CHAR_PROFILE_ABOUTMSG%
- %CHAR_PROFILE_BUYMSG%
- %CHAR_PROFILE_PROFILEMSG%