微信扫一扫 分享朋友圈

已有 2940 人浏览分享

开启左侧

91M2引擎的传奇如何克隆玩家为人形怪?

[复制链接]
2940 0
如何克隆玩家为人形怪

1675403827358781.jpg

方法1 直接从现有玩家克隆:



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

var

AObj: TActor;

begin

//直接克隆当前玩家

AObj := Gamelib.AddClonePlayer(Player{克隆对象}, \“鸭梨山大\“{克隆后角色的名称}, Player.Map{指定克隆对象的目标地图}, 100, 100{目标地图的坐标});

if AObj <> nil then //克隆可能会失败,所以需要判断是否为nil

begin

    AObj.Master := Player; //将克隆的对象设置为当前玩家的下属   

    AObj.MasterRoyaltyTick := 60 * 60 * 1000; //设置下属的有效期为60分钟

end;

end;



方法2 从文件中加载玩家数据克隆:



1. 首先需要在特殊情况下保存玩家数据

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

begin

//将当前玩家的数据保存到本地文件(Envir目录下面)

Gamelib.SavePlayerToFile(Player, \“Store\第一战士.dat\“);

end;



2. 然后根据需要执行克隆

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

var

AObj: TActor;

begin

//直接克隆当前玩家

AObj := Gamelib.AddClonePlayerFromFile(\“Store\第一战士.dat\“{要克隆的玩家数据文件}, \“鸭梨山大\“{克隆后角色的名称}, Player.Map{指定克隆对象的目标地图}, 100, 100{目标地图的坐标});

if AObj <> nil then //克隆可能会失败,所以需要判断是否为nil

begin

    AObj.Master := Player; //将克隆的对象设置为当前玩家的下属   

    AObj.MasterRoyaltyTick := 10 * 60 * 1000; //设置下属的有效期为10分钟

end;   



//如果不设置为下属,则克隆对象将是一个普通怪物

end;



注意:通过克隆出来的人形怪不会爆出任何装备

举报 使用道具

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

本版积分规则

0

关注

2

粉丝

3048

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信

  • QQ群

QQ|Archiver|手机版|小黑屋|88M2传奇资源网 ( 鲁ICP备20017785号-2 )|网站地图

GMT+8, 2024-12-27 23:11 , Processed in 0.104309 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.