// ********************************************************************** // // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. // // ********************************************************************** #pragma once module BattleIce { /**onFinishPickItem*/ class FinishPickItem { string itemIcon; int quality; int num; string instanceId; int objectId; }; /**getPlayerPKInfoData*/ class PlayerPKInfoData { int pkMode; int pkValue; int pkLevel; }; /**canTalkWithNpc*/ class CanTalkWithNpc { int templateId; bool canTalk; }; /**refreshPlayerPropertyChange*/ class RefreshPlayerPropertyChange { string key; int changeType; int valueType; int value; int duration; long timestamp; }; /**getPlayerData*/ class SkillDataICE { int skillId; long skillTime; }; sequence SkillDataSeq; class GetPlayerData { float x; float y; float direction; int hp; int mp; int pkMode; int pkValue; int pkLevel; SkillDataSeq skillData; int combatState; }; /**canTalkWithNpc*/ class CanTalkWithNpcResult{ int templateId; bool canTalk; }; ["amd"] interface XmdsManager { //游戏服通知战斗服数据 void notifyBattleServer(string instanceId, string name, string data); //获取场景副本实例静态数据 string getZoneStaticData(string instanceId); //(异步) 获取场景副本中有效的刷新区域 string getZoneRegions(string instanceId); // 获取跨场景出生坐标 string getBornPlace(string instanceId, int areaId, string pointId); //(异步) 获取场景副本所有的单位信息 string getAllUnitInfo(string instanceId); //获取场景副本所有的npc信息 string getAllNpcInfo(string instanceId); //获取所有玩家UUID信息 string getAllPlayerUUID(); // 获取玩家数据 string getPlayerData(string playerId,bool changeArea); // 怪物死亡掉落 void onMonsterDiedDrops(string instanceId,string data); // 拾取道具 data{itemIcon, quality, num} //void onPickItem(string playerId,string data); // 帮助复活角色 void helpRevivePlayer(string playerId, string revivePlayerId, int time); // 复活角色 void revivePlayer(string playerId, string data); // 角色坐骑 void refreshSummonMount(string playerId, int time, int isUp); // 玩家战斗信息同步 void refreshPlayerBasicData(string playerId, string basic); // 玩家组队信息同步 void refreshPlayerTeamData(string playerId, string uuidList); // 玩家背包剩余格子数量信息同步 void refreshPlayerRemainBagCountData(string playerId, int remainCount); // 玩家背包剩余格子数量信息同步 void refreshPlayerRemainTeamBagCountData(string playerId, int remainCount); // 玩家宠物基础信息变更 void refreshPlayerPetBaseInfoChange(string playerId, string data); // 玩家宠物全部信息变更 int refreshPlayerPetDataChange(string playerId, int type, string data); // 玩家战斗信息同步 void refreshPlayerBattleEffect(string playerId, string effects); // 添加玩家属性 void addPlayerAtt(string playerId, string notifyPlayerIds, string key, int value); // 玩家技能信息同步 void refreshPlayerSkill(string playerId, int operateID , string skills); //技能 void playerChangeSkill(string playerId, int oldSkillID, int newSkillID, string data); // 玩家时装信息同步 void refreshPlayerAvatar(string playerId, string avatars); // 获取玩家PK信息 string getPlayerPKInfoData(string playerId); // 获取玩家技能cd信息 string getPlayerSkillCDTime(string playerId); // 获取玩家技能cd信息 string canTalkWithNpc(string playerId, int npcId); // 角色关联属性变更 void refreshPlayerPropertyChange(string playerId, string data); // 玩家pk模式同步,同createZoneRequest返回 int refreshPlayerPKMode(string playerId, bool isLook, int mode); // 玩家pk值同步 void refreshPlayerPKValue(string playerId, int value); // 玩家pk等级同步 void refreshPlayerPKLevel(string playerId, int level); // 拾取道具 data{itemIcon, quality, num} void onFinishPickItem(string playerId, string data); // 宠物技能信息同步 void refreshPlayerPetSkillChange(string playerId, int operateID , string skills); // 宠物加血判断 bool canUseItem(string playerId); //玩家指定路点传送 bool transferToPointPos(string instanceId, string playerId, string point, bool setDirection, float direction); // 宠物加血 void refreshPlayerPetPropertyChange(string playerId, string data); // 获取玩家数据 string getPlayerPetData(string playerId); // 触发特殊战斗事件 void triggrBattleFunction(string playerId, int eventId, int value1, int valu2, int valu3, int valu4, int value5, int value6); // 往场景内种怪(Unit), 只创建一个怪物时,返回怪物ObjectId; 多个返回0;失败-1 int addUnits(string instanceId, string data); // 切换宠物pk模式 void refreshPlayerPetFollowModeChange(string playerId, int mode); // 玩家准备就绪 void playerReady(string playerId); // 刷新队伍数据 void refreshTeamData(string playerId, string data); // 设置自动战斗 void autoBattle(string instanceId, string playerId, bool enable); // 获取玩家统计 string getPlayerStatistic(string instanceId, string playerId, int flag); // 获取场景统计 string getInstanceStatistic(string instanceId); //刷NPC(Item) int addUnit(string instanceId, int unitTemplateID, string data); //移除NPC(item), 固定unitId void removeUnit(string instanceId, int unitId); //移除单位,战斗服创建的unit void removePointUnit(string instanceId, int unitObjectId); //传送Unit到指定位置 void transferUnit(string instanceId, int unitObjectId, float x, float y); //移除物品 void removeItem(string instanceId, int itemId); //切换玩家状态, 14-传功,15-打坐 //time锁定时间,秒 void changePlayerState(string instanceId, string playerId, byte status, int time); //独立打坐功能,服务器处理 void playerChuanGong(string instanceId, string playerIdA, string playerIdB); //山大王死亡,通知事件 void mountainKingRefreshNotify(string instanceId, string data); }; };