|
如何实现一个机器人
首先配置机器人信息,然后根据机器人指定的执行函数在“系统固定NPC\RobotManageNpc”里面实现函数,如:
//在示范版本中,DailyResile是一个系统机器人。请勿对系统机器人的参数Player做任何操作,该参数不指向玩家,指向了机器人本身,对其操作无任何意义
//如果是玩家个人机器人,则Player指向了执行该函数的当前玩家
procedure DailyResile(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
I: Integer;
APlay: TPlayObject;
begin
//将服务器标记+1并保存
Gamelib.VarInteger('Flag').AsInteger := Gamelib.VarInteger('Flag').AsInteger + 1;
Gamelib.VarInteger('Flag').Save;
//循环将在线人物进行数据初始化,传统脚本会调用一个StartQuest函数通知每个角色去执行什么内容,
//在本引擎中也可以支持StartQuest执行通知,但是使用一个循环操作更方便管理代码
for I := GameLib.PlayCount - 1 downto 0 do //使用for downto 循环可以避免访问超界
begin
APlay := GameLib.Player[I];
if APlay <> nil then
begin
//对角色执行每日的初始化操作
end;
end;
end;
|
|