首页 教程资料文章正文

TGS2011—lua语句解析(三)

教程资料 2021年01月14日 11:08 1364 admin
【 本文内容提供给千年技术热爱者学习使用!QQ群:296880811 唯一网址:www.1000yGM.com 】

【 源码端或脚本请自行安装调试,除商业版以外,功能不做保证同时不提示技术支持!扫地僧QQ:7028518】

本站所有资料和相关软件均来自互联网搜集,请下载后24小时内进行删除!当你下载资料或者软件,将视为同意本条要求!一切的支持都以单机学习为基础!

千年技术中文社区

// P可以是玩家 或者npc 或者怪物 传递啥就谁的



BasicObj.GetName(P);  //返回名字 

         GetViewName(P);  //返回显示名字 

         Say(P, 说话字符串, 发言间隔时间); //无返回

         SayByName(P, 说话的怪物和NPC名字, 种族类型, 说话字符串, 发言间隔时间); //无返回

GoToXY(P, 坐标x, y, 时间值); //无返回   设定NPC或者怪物 多少秒后移动到指定的坐标 

ShowEffect(P, 特效数字, 特效播放方式); //无返回 特效播放方式数字 0 没意义 1 跟随 2方向性跟随 3 ,4关闭,5 播放久一点 6 一直播放)

MoveSpace(P, 对象名字, 对象种族类别('USER', 'MONSTER','NPC'), 地图id, 坐标x, y, 间隔时间) //多久之后将目标传送到指定地图指定坐标

   //例: BasicObj.MoveSpace(P, '狂犬', 'MONSTER', 1, 500, 500, 1000);

DirectMoveSpace(P, 对象名字, 对象种族类别('USER', 'MONSTER','NPC'), 地图id, 坐标x, y);  //立刻传送目标到指定地图坐标

MoveSpaceByName(P, 对象名字, 对象种族类别('USER', 'MONSTER','NPC'), 地图id, 坐标x, y, 传送员名字,传送员种族, 时间) //将目标传送到指定地图指定坐标 <直接不延迟>

SetAllowHitByName(P, 对象名字, 对象种族类别('USER', 'MONSTER','NPC'), 字符串('true'或'false')); //根据名字设定是否允许目标攻击

SetAllowHitByTick(P, 字符串('true'或'false'), 时间间隔); //允许P代表的目标 多久之后允许或禁止攻击

SetAllowHit(P, 字符串('true'或'false')); //效果同上 立刻生效

SetAllowDelete(P, 对象种族类别('MONSTER','Npc', 'DYNAMICOBJECT'), 对象名字); //清除P在的地图 指定名字的对象

CommandIce(P, 时间); //定住p 多久不能动

CommandIceByName(P, 对象名字, 对象种族类别('MONSTER','Npc', 'USER'), 时间); //定住 p在的地图 指定目标多久

Regen(P,  对象名字, 对象种族类别('MONSTER','Npc', 'DYNAMICOBJECT')) ; //刷新P所在的地图目标

MapRegen(P, MapId(数字)); //刷新指定的ID的地图

MapRegenByName(P, 地图名字); //刷新地图

MapDelObjByName(P, 对象种族类别('MONSTER','DYNAMICOBJECT'), 名字); //删除p在的地图 指定的目标

         MapAddObjByName(P, ....); //在P在的地图 添加目标

   //怪物 BasicObj(P, 'Monster', '狂犬', 500, 500, 50, 10009, 'true');  //如果 'true'死亡后刷新  'false' 表示死亡后删除

   //Npc  BasicObj(P, 'Npc', '老板娘', 500, 500, 30, 10009, 'xxx.sdb');  //xxx.sdb就是setting里面说话的那个

   //DYN  BasicObj(P, 'DYNAMICOBJECT', '草药堆', 500, 500, 10009);  //10009都是脚本序号

         MapAddObjByTick(P, ...); 功能同上,参数要满足9个 第9个是时间 这个是延迟多久添加

SetJobKind(P, 技能职业数字); //p这里一般是玩家 给玩家设定职业技能

SetVirtueman(P); //设定p(玩家)为神工

BoIceAllbyName(P, 目标名字, 'Monster', 符'true'或 'false'); //在P所在的地图,是否冻结某名字所有怪物

BoHitAllbyName(P, 目标名字, 'Monster', 符'true'或 'false'); //在P所在的地图,是否允许被攻击?

BoPickbyMapName(P, 地图名字, 符'true'或 'false'); //设定地图是否可以拾取物品

RePosition(P, OtherP); //刷新OtherP的位置

ReturnDamage(P, OtherP, 伤害数字, 伤害数字的百分比); //给OtherP 造成伤害

Refill(P); //给P一个还生状态

BoMapEnter(P, 地图id, 'true'或 'false'); //设定地图是否可以进入

SelfChangeDynobjState(P, 布尔值); //动态目标(火盆之类) 加减血

         ChangeDynObjState(P, '火坛', false);

         ChangeDynObjStateByTick(P, '火坛', 'false', 0); //参数3是字符串 'true'表示好 'false'表示灭


         FindObjectByName(P, 名字, 种族类型数字); //返回BoHave,P 如果P == nil就是没有 P = playP, Npc存在就是有 就是存在 种族类型数字为0 就是不区分 1 玩家 3怪物 4npc

           local BoHave, ObjP = BasicObj.FindObjectByName(P, '测试', 1);  //查找p周围有没 测试这个名字的玩家

GetId(P);  //返回游戏数字id

GetServer(P); //返回地图编号

GetPosition(P); //返回地图编号 角色坐标

   //例 local MapId, X, Y = BasicObj.GetPosition(P);


         GetNearXY(P, X, Y); //返回字符串 格式 x_y    获取P在的地图 x, y附近的坐标

GetMapName(P); //返回字符串 P在的地图名字

GetMoveableXY(P, X, Y); //返回字符串 false or true    获取P在的地图 X,Y坐标是否可以移动

GetRace(P); //返回数字 种族类型

GetMaxLife(P); //返回P的最大血量 数字类型

GetLife(P); //返回P的当前血量 数字类型

 

CheckAliveMonsterCount(P, 种族类型, 名字); //返回数字

         Attack(P, Id); //攻击指定ID的目标 id是指 BasicObj.GetId(P);  返回的游戏数字id

         ChangeObjectName(ObjP, 名字) 改变目标名字  

         SetGroupKey(ObjP, 团队id); //改变团队 仅支持玩家和怪物

         GetViewARoundObj(ObjP); 获取周围的玩家 表 结构 {[玩家名字] = p, ....}

         ChangeLife(ObjP, 血数字); 改变目标血 支持玩家和怪物 数字正就是补,负就是减少 


Sql.ExecSql(sql语句单条);  //返回影响的条数

    OpenSql(Sql语句单条);  //返回表 跟数据库字段类似 参数 LifeData

    ReloadSqlItemInfo();  //重读mdb物品属性


TeamManager.MakeNewTeam(队伍玩家数量); //返回创建的队伍索引

            GetTeamPlayerCount(TeamIndex) //返回队伍id是 TeamIndex的队伍人数

            CheckTeamFull(TeamIndex) //返回布尔值  false 是没满 true是满

            MoveSpaceTeamPlayer(TeamIndex, ServerId, X, Y);//移动玩家到某地图

            ClearTeamPlayer(PlayP); //无返回 删除玩家队伍信息

            ClearAllTeamPlayer(TeamIndex); //无返回 清除某队伍的所有玩家

            GetPlayerTeamIndex(PlayP) 返回队伍索引 -1表示没队伍

            AddPlayerToTeam(队伍编号, PlayP); //返回布尔值 是否成功

    GetTeamMemberInfo(TeamIndex); //返回队伍玩家信息

            GetTeamListInfo(); //返回队伍表


Dota.GetDotaTeam(TeamTab);  //返回Dota索引 取得dota团队信息 local TeamTab ={Count = 5, Title = 'dota之战', ItemName = '金元', ItemCount = 100, LeftDyn = '红剑令', RightDyn = '蓝剑令', MapId = 1, X = 120, Y = 120, X1 = 20, Y1 = 20};

     AddUserToTeam(PlayP, aIndex, 数字); //返回布尔类型   数字参数 1是玩家加入左侧 2是加入右侧

     CheckTeamFull(数字); //检查队伍是否存在或者满员

     DelUserToTeam(PlayP); //无返回 从队列删除玩家


【千年技术站推荐QQ交流群:296880811 欢迎加入!】

资源仅提供学习,请勿用于商业!如网盘过期,请联系管理员处理。

千年技术社区微信公众号【千年圈、qnyouxi】上线,感谢关注获得更多资源!

本站所有资料和相关软件均来自互联网搜集,请下载后24小时内进行删除!当你下载资料或者软件,将视为同意本条要求!一切的支持都以单机学习为基础!

发表评论

千年技术中文网- Copyright 1000ygm.com 千年游戏技术网 Rights Reserved. 备案号:皖ICP备2021006367号 1000YGM强力驱动 站长QQ:7028518

本站资料来自互联网搜集整理,仅供学习交流,请支持正版游戏,切勿用于非法途径。如有发生侵权等行为,联系理删除。