public static bool ExecuteCMD(int EntityID, String strCommand, EntityPlayer player) { DisplayLog("ExecuteCMD: " + strCommand); EntityAliveSDX myEntity = GameManager.Instance.World.GetEntity(EntityID) as EntityAliveSDX; if (myEntity == null) { return(false); } LocalPlayerUI uiforPlayer = LocalPlayerUI.GetUIForPlayer(player as EntityPlayerLocal); Vector3 position = myEntity.position; // Restore it's walk speed to default. myEntity.RestoreSpeed(); switch (strCommand) { case "TellMe": //XUiC_TipWindow.ShowTip(myEntity.ToString(), XUiM_Player.GetPlayer() as EntityPlayerLocal,null); GameManager.ShowTooltipWithAlert(player as EntityPlayerLocal, myEntity.ToString() + "\n\n\n\n\n", "ui_denied"); // uiforPlayer.windowManager.Open("EntityInformation", true, false, true); break; case "ShowAffection": GameManager.ShowTooltipWithAlert(player as EntityPlayerLocal, "You gentle scratch and stroke the side of the animal.", ""); break; case "FollowMe": SetLeader(EntityID, player.entityId); SetCurrentOrder(EntityID, Orders.Follow); myEntity.moveSpeed = player.moveSpeed; myEntity.moveSpeedAggro = player.moveSpeedAggro; break; case "StayHere": SetCurrentOrder(EntityID, Orders.Stay); myEntity.GuardPosition = position; myEntity.moveHelper.Stop(); break; case "GuardHere": SetCurrentOrder(EntityID, Orders.Stay); myEntity.SetLookPosition(player.GetLookVector()); myEntity.GuardPosition = position; myEntity.moveHelper.Stop(); myEntity.GuardLookPosition = player.GetLookVector(); break; case "Wander": SetCurrentOrder(EntityID, Orders.Wander); break; case "SetPatrol": SetLeader(EntityID, player.entityId); SetCurrentOrder(EntityID, Orders.SetPatrolPoint); myEntity.moveSpeed = player.moveSpeed; myEntity.moveSpeedAggro = player.moveSpeedAggro; myEntity.PatrolCoordinates.Clear(); // Clear the existing point. break; case "Patrol": SetCurrentOrder(EntityID, Orders.Patrol); break; case "Hire": bool result = Hire(EntityID, player as EntityPlayerLocal); break; case "OpenInventory": GameManager.Instance.TELockServer(0, myEntity.GetBlockPosition(), EntityID, player.entityId); uiforPlayer.windowManager.CloseAllOpenWindows(null, false); if (myEntity.lootContainer == null) { DisplayLog(" Loot Container is null"); } else { DisplayLog(" Get Open Time"); DisplayLog("Loot Container: " + myEntity.lootContainer.ToString()); myEntity.lootContainer.lootListIndex = 62; DisplayLog(" Loot List: " + myEntity.lootContainer.lootListIndex); DisplayLog(myEntity.lootContainer.GetOpenTime().ToString()); lootContainerOpened(myEntity.lootContainer, uiforPlayer, player.entityId); } break; case "Loot": SetCurrentOrder(EntityID, Orders.Loot); myEntity.Buffs.RemoveCustomVar("Leader"); break; case "Dismiss": SetCurrentOrder(EntityID, Orders.Wander); myEntity.Buffs.RemoveCustomVar("Leader"); myEntity.Buffs.RemoveCustomVar("Owner"); break; } return(true); }