阳光下泡沫 发表于 2020-2-14 05:35:13

77M2引擎如何创建和删除一个副本地图脚本示例

如何创建一个副本地图
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 <> nil then
      begin
      Player.Group.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.

朱女士123 发表于 2020-2-14 07:06:50

我是个凑数的。。。

ddz008pr 发表于 2020-2-14 07:06:50

珍爱生命,果断回帖。

rebecca0479 发表于 2020-2-20 07:29:47

鼎力支持!!

273060050 发表于 2020-2-25 02:19:41

LZ帖子不给力,勉强给回复下吧

STARNO 发表于 2020-2-26 10:51:32

支持支持再支持

Chaos六旪 发表于 2020-3-2 21:11:24

确实不错,顶先

kcjjfkld 发表于 2020-3-7 19:05:14

看帖要回,回帖才健康,在踩踩,楼主辛苦了!

闲人一个个 发表于 2020-3-8 00:26:19

打酱油的人拉,回复下赚取积分

dgyuexian1 发表于 2020-3-13 06:29:45

不错 支持一个了
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 77M2引擎如何创建和删除一个副本地图脚本示例