---------------------------------------------------------
-- 超级框架 Designed by BakaM (QQ:990139563)
---------------------------------------------------------
-- 基于模版的注册事件代码自动生成的超级框架,仅需一次编译
-- 完美解决传统框架需实时“读后编译”导致运行效率低下的弊端
-- 超级框架,跳过实时“读后编译”步骤,彻底释放性能
-- 极低的资源占用,却百倍于传统框架的性能
---------------------------------------------------------
-----------------【框架集成GM拓展指令】-----------------
====================================
@lvlock x 【设置等级锁为x级(当角色、宠物等级达到x级时,每次战斗将不会获得有效经验),服务器重启后依然有效,若要还原请设置为0】
@exprate x 【全服经验加成x%,服务器重启后依然有效,若要还原请设置为1】
@skillexprate x 【全服技能经验加成x%,服务器重启后依然有效,若要还原请设置为1】
@>要发送的滚动横幅公告内容 【发送全服滚动横幅公告,默认金色,支持颜色符号自定义,比如在文字前加上$6就是红色字体】
@<要发送的滚动横幅公告内容 【与上边相同,但公告会同时显示在聊天框中】
@encrylua 加密的lua文件 【重新加载已加密的lua文件】
@makepet 宠物id 档位分布【 如makepet 1 01010,即可获得一只档位01010的虎人】
@additem 道具id 数量 是否鉴定【如@additem 12 2 1,即可获得2个鉴定好的钢剑】
@banclear 【清除所有被禁止的机器码】
@ban Mac信息 【禁止或解封指定的机器码,服务器重启后会重置】
@money 身份ID 充值的金额 【为指定身份ID的用户充值金额】
@setitem key value 【修改道具(道具栏位1)的指定常量的值,如@setitem 18 100,即将该道具的攻击变成+100】
@setchar key value 【修改自身指定常量的值,如@setchar 41 10000,即将自身的经验值变成10000】
@setpet key value 【修改宠物(宠物栏位1)指定常量的值,如@setpet 41 10000,即将该宠物的经验值变成10000】
@getitem key【获得道具(道具栏位1)的指定常量的值,如@getitem 0,即获得道具ID】
@getchar key【获得自身指定常量的值,如@getchar 41,即获得经验值】
@getpet key【获得宠物(宠物栏位一)指定常量的值,如@getpet 41,即获得经验值】
@itemid 道具名【查询指定道具名的道具ID】
@jobid 职业名【查询指定职业名的职业ID】
@jobname 职业ID【查询指定职业ID的职业名】
@rightchar 【临时开启或关闭GM鼠标右键管理,服务器重启后会重置】
@lock 【查看各服务器在线玩家的总数量】
@gk 玩家索引 【强制观战指定玩家】
@killall 【将所有在线玩家全踢下线,并返回踢掉的玩家数量】
@killalldelay 【将所有在线玩家全部延迟踢下线(每个玩家均在随机1~100秒内掉线),并返回处理数量】
@kill Cdkey 【将指定账号的玩家踢下线,亦可清除卡号,有多个服务器时会自动根据不同服务器作判断】
@shop 【显示面前1格的摆摊玩家信息[玩家索引]和[玩家账号],输入@tshop 索引,可将该索引的摆摊玩家移除下线】
@player 【显示面前1格的所有(重叠)玩家信息[玩家索引]和[玩家账号],输入@tplayer 索引,可将该索引的玩家移除下线】
@obj 【显示面前1格的所有对象(NPC、宠物、道具、金币)信息[对象名称]和[对象索引],输入@delobj 索引,可将该索引的对象(NPC、宠物、道具、金币)删除】
@labaon 【开启小喇叭道具的使用】
@labaoff 【临时关闭小喇叭道具的使用,服务器重启后会重置】
@pwd Cdkey 【查询指定账号的密码】
@qq Cdkey 【查询指定账号的注册QQ】
@code Cdkey 【查询指定账号的暗码】
@ip Cdkey 【查询指定账号的注册IP】
@cqq QQ号 【查询指定QQ号下的所有注册账号数量】
@cip IP地址 【查询指定IP的所有注册账号数量】
@server Cdkey 【查询指定账号所在的服务器】
@fhip IP地址 【将指定IP地址所有账号封禁】
@jfip IP地址 【将指定IP地址所有账号解封】
@fhqq QQ号 【将指定QQ号下的所有账号封禁】
@jfqq QQ号 【将指定QQ号下的所有账号解封】
@fh Cdkey 【将指定账号封号】
@jf Cdkey 【将指定账号解封】
-----------------【框架已封装下面所有通用API函数】-----------------
==========================================
--分割字符串,仅支持单字符参数
Gl.Split(_Str, _Split_char)
--分割字符串,支持多字符参数
Gl.Split2(_Str,_Separator)
--获得tabkey(格式:CdKey_RegisterNumber)
Gl.GetTabKey(_PlayerIndex)
--获得cdkey
Gl.GetCdKey(_PlayerIndex)
--根据tabkey获得cdkey
Gl.GetCdKeyByTabKey(_TabKey)
--获取身上宠物数量
Gl.GetPetSlot(_PlayerIndex)
--通过宠物索引获得宠物所在栏位
Gl.GetPosByPetIndex(_PlayerIndex,_PetIndex)
--通过道具索引获取道具所在栏位
Gl.GetPosByItemIndex(_PlayerIndex,_ItemIndex)
--更新身上所有道具
Gl.UpdateAllItem(_PlayerIndex)
--更新身上所有宠物
Gl.UpdateAllPet(_PlayerIndex)
--返回0即不在战斗中,返回1即为战斗中
Gl.CheckBattleStatus(_PlayerIndex)
--返回-1即不在战斗中,返回非-1为战斗索引
Gl.GetBattleIndex(_PlayerIndex)
--整数判断,返回1,即整数,0为非整数
Gl.CheckInt(_Num)
--判断奇偶数,返回1即奇数,返回0即偶数
Gl.CheckOddEven(_Num)
--产生不相同的从_M到_N,一共_Count个随机数表table
Gl.GetRandomX(_M,_N,_Count)
--去掉字符串两端多余的空白符
Gl.Trim(str)
--判断前后两次操作时间是否在1秒内,返回1则在1秒内,返回0则不在
Gl.CheckInterval(_PlayerIndex)
-- 截取utf8字符串
-- _Str:要截取的字符串
-- _StartChar:开始字符下标,从1开始
-- _NumChars:要截取的字符长度
Gl.UTF8Sub(_Str,_StartChar,_NumChars)
-- 计算utf8字符串字符数, 各种字符都按一个字符计算,并返回字符数、字母个数,汉字个数
-- 例如utf8len("1你好") => 3
Gl.UTF8Len(_Str)
--将一段字符串,按指定字节长度分成几段字符串,并返回存储了分段字符串的table值
Gl.GetSegmentationMsg(_Str,_Count)
--显示通用居中对齐文本对话框
Gl.ShowCenterWindowTalked(_PlayerIndex,_Msg)
--获取种族名(通过种族编号)
Gl.GetRaceNameByID(_Id)
--获取道具类别名(通过类别编号)
Gl.GetTypeNameByID(_Id)
--获得数据库表的所有字段名、类型
Gl.GetColumnsNameAndType(_DataTable)
--检查_File文件是否存在,存在返回1,否则返回0
Gl.CheckFileExist(_File)
-setup.cf参数读取格式
Gl.Setup[参数名]=设置值
--gp_config参数读取格式
Gl.Config[参数名]=设置值
--若不存在exp.txt,则Gl.Exp为nil
Gl.Exp[等级]=所需经验
Gl.SkillName[技能ID]=技能名
Gl.TechName[techID]=tech名字
Gl.ItemName[itemId]=道具名
Gl.ItemId[道具名]=itemId
Gl.JobName[jobId]=职业名
Gl.JobId[职业名]=jobId
--通用传统对话框数据分页
--备注:在调用前,务必先设置每页显示的行数Page.SetRow,table数据Page.SetData,以及数据行显示格式Page.SetFormat
--设置后在玩家整个相关分页对话框操作未关闭前,该设置一直有效;同时也能避免不同调用之间的冲突
--传统对话框数据分页:获取选择的table数据索引
--参数:_Index为当页前中选择的索引
Page.SelectedIndex(_PlayerIndex,_Index)
--传统对话框数据分页:获取当前所在页的数据显示(并记录当前所在页的页数)
--备注1:table的索引变量统一为x,table为t
--备注2:分页支持常规table及通过Sql.Run查询获得的table
--备注3:如果不符合使用要求,可复制这段函数按基本格式重写即可
--参数:_PageNum为当前所在页的页数
Page.Data(_PlayerIndex,_PageNum)
--传统对话框数据分页:获取分页总数
--备注:_MaxRowCount为可选参数,指总行数限制,若总行数超_MaxRowCount,则总行数设置为_MaxRowCount
Page.Count(_PlayerIndex,_MaxRowCount)
--传统对话框数据分页:获取按钮分布
--参数:_PageNum为当前所在页的页数,_PageCount为总页数
Page.Btn(_PageNum,_PageCount)