• 400-123-4567

    工作时间

    周一至周五:9:00-21:00

    周末及节日:9:00-18:00

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

网络广告 风险自担
趣游论坛 管理员
  • 未知地域
  • 活跃会员

  • 灌水之王

  • 突出贡献

  • 优秀版主

  • 荣誉管理

  • 论坛元老

  • 10567发帖数
  • 10559主题数
  • 0关注数
  • 2粉丝

[其它端游引擎] 91m2引擎判断队伍信息和判断两个角色之间的距离脚本

  [复制链接]
趣游论坛 发表于 2019-1-26 14:15:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
20190126140556.png

判断队伍信息

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
    I: Integer;
    P: TPlayObject;
    S: String;
begin
    if Player.GroupOwner <> nil then //如果存在队长
    begin
        S := '';< /FONT>
        for I := 0 to Player.GroupCount - 1 do //循环队伍里面的角色,Player.GroupCount为当前角色所在队伍的人数(包含当前角色)
        begin
            P := Player.Group[I]; //取出一个角色
            if P <> nil then //如果角色不为空值
            begin
                if S <> '' then
                    S := S + ';';
                S := S + Format('职业:%d,等级:%d,名称:%s', [P.Job, P.Level, P.Name]); //将当前角色的信息拼接到字符串
            end;
        end;
        if S <> '' then
            Npc.MessageBox(Player, S); //如果字符串不为空则弹出对话框显示
    end;
end;


判断两个角色之间的距离

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
  if (Abs(Npc.MapX - Player.MapX) > 5) or (Abs(Npc.MapY - Player.MapY)>5) then //ABS为取绝对值函数。此处判断NPC和角色的X坐标或Y坐标距离是否大于5,怪物、NPC及玩家都有MapX和MapY属性
    Npc.Say(Player, '你离我太远了,我看不清楚。。。');
end;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
客服电话
1300000000

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

    点击交谈
  • 上海市虹口区海伦中心A座

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方微信群

Powered by Discuz!X3.5 ©2022-2023 Comsenz Inc.河月网络设计( 赣ICP备2022008660号-4 )赣公网安备36050202000600号|网站地图