• 400-123-4567

    工作时间

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

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

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

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

  • 灌水之王

  • 突出贡献

  • 优秀版主

  • 荣誉管理

  • 论坛元老

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

[其它端游引擎] 77M2引擎如何创建和删除一个副本地图脚本示例

  [复制链接]
趣游论坛 发表于 2019-3-13 13:01:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
20190313125448.png

如何创建一个副本地图
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
  AMap: TEnvirnoment;   
  I: Integer;
begin
  AMap:= Gamelib.CreateDuplicateMap('Dota对战', 300); //创建一个Dota副本,副本持续时间为300秒
  if AMap <> nil then //如果创建成功,则不为nil
  begin
    AMap.RunMon := False; //设置地图为不允许穿过怪物的模式
    for I := 0 to Player.GroupCount - 1 do //循环当前玩家所在的队伍
      if Player.Group[I] <> nil then
      begin
        Player.Group[I].MapMoveEx(AMap, 100, 100); //将队员传送到副本的指定坐标
        Player.SendCountDownMessage('离副本关闭还有{$Time:300$}', 0); //向队员发送一个倒计时信息
      end;
  end
  else
    Npc.MessageBox(Player, '副本创建失败!!');
end;


注:副本地图不是预生成的,而是调用脚本后才开始创建的,没有做数量上的限制,实际应用中则最好根据副本配置情况限制副本同一时间最大允许数量
副本的持续时间不得低于1分钟


如何删除一个副本地图
unit Q2;

inte**ce
  uses Classes, SysUtils;

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);

implementation

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
  if Player.Map.Duplicate then //如果玩家当前处于副本地图中
    Gamelib.CloseDuplicateMap(Player.Map.Name); //关闭副本,人物都回城,副本地图怪物清理掉
end;

end.

回复

使用道具 举报

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

本版积分规则

猜你喜欢
客服电话
1300000000

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

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

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方微信群

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