public string DoCmd(IDictionary <string, string> args) { switch (args["cmd"]) { case "AddItem": string numStr; if (!args.TryGetValue("num", out numStr)) { numStr = "1"; } foreach (var idStr in args["ids"].Split(',')) { int id = Convert.ToInt32(idStr.Trim()); int num = Convert.ToInt32(numStr); if (HookRegistry.IsWithinUnity()) { HookRegistry.Debug("AddItem {0}", id); Module <Player> .Self.bag.AddItem(id, num, false, AddItemMode.ForceBag); } else { } } break; case "UnlockAchievement": { int id = Convert.ToInt32(args["id"].Trim()); if (HookRegistry.IsWithinUnity()) { if (Module <AchievementModule> .Self.IsAchievementUnlocked(id)) { return(String.Format("{0} is unlocked", id)); } Module <AchievementModule> .Self.UnlockAchievement(id); } } break; case "MissionAll": { StringBuilder sb = new StringBuilder(); foreach (MissionBaseInfo missionBaseInfo in MissionManager.allMissionBaseInfo.Values) { sb.Append(missionBaseInfo.InstanceID); sb.Append(", "); sb.Append(missionBaseInfo.MissionNO); sb.Append(", "); string name = TextMgr.GetOriginStr(missionBaseInfo.MissionNameId); sb.Append(name); sb.Append(", "); sb.AppendLine(); } return(sb.ToString()); } case "TransportMap": { MessageManager.Instance.Dispatch("TransportMap", new object[] { }, DispatchType.IMME, 2f); } break; case "RefreshPriceIndex": //更新物价指数 Module <StoreManagerV40> .Self.RefreshPriceIndex(); break; case "ItemBar": //修改物品数量 { int index = Convert.ToInt32(args["solt"].Trim()) - 1; int num = Convert.ToInt32(args["num"].Trim()); var item = Module <Player> .Self.bag.itemBar.itemBarItems.ElementAt(index); if (item != null) { num = Mathf.Clamp(num, 1, item.ItemBase.MaxNumber); item.ChangeNumber(num - item.Number); return(String.Format("slot {0} {2}({1}) => {3}", index + 1, item.ItemDataId, item.ItemBase.Name, item.Number)); } else { return("no item on bar"); } } case "Test": return("test"); } return("success"); }