private void OnGotPM(object sender, BasicCommunication.MessageParser.Got_PM_EventArgs e) { string Message = e.Message.ToLower(); if (Message[0] != '#') { Message = "#" + Message; } string[] CommandArray = Message.Split(' '); if (CommandArray[0] == "#openstorage" || CommandArray[0] == "#os") { if (CommandArray.Length > 2) { goto WrongArguments; } bool disabled = TheMySqlManager.CheckIfCommandIsDisabled("#openstorage", Settings.botid); if (disabled == true) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "This command is disabled")); return; } if (TheMySqlManager.GetUserRank(e.username, Settings.botid) < TheMySqlManager.GetCommandRank("#openstorage", Settings.botid)) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You are not authorized to use this command!")); return; } string npcName = ""; if (CommandArray.Length > 1) { npcName = CommandArray[1]; } if (npcName == "") { //get the npc name from their storage selection... npcName = TheMySqlManager.getStorageNPCName(); } int storageActorID = TheActorHandler.GetUserIDFromname(npcName); ActorHandler.Actor myActor = (ActorHandler.Actor)TheActorHandler.ActorsHashTable[TheActorHandler.GetUserIDFromname(npcName)]; try { if (myActor.kind_of_actor == 2) { TheTCPWrapper.Send(CommandCreator.TOUCH_PLAYER((uint)storageActorID)); TheTCPWrapper.Send(CommandCreator.RESPOND_TO_NPC((ushort)storageActorID)); TradeHandler.openingStorage = true; TradeHandler.storageOpen = false; TradeHandler.username = e.username; Settings.IsTradeBot = false; } } catch { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "It appears that " + npcName + " is not a storage NPC! (or I'm not in range...)")); } } return; WrongArguments: TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Here is the usage of the #openstorage command: ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[#openstorage <name> ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[-----------------------------------------------")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #openstorage ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #openstorage raven ")); return; }
private void OnGotPM(object sender, BasicCommunication.MessageParser.Got_PM_EventArgs e) { string Message = e.Message.ToLower().Replace("\'", "\\\'").Replace("\"", "\\\""); if (Message[0] != '#') { Message = "#" + Message; } string[] CommandArray = Message.Split(' '); if (CommandArray[0] != "#prize" && CommandArray[0] != "#prizes") { return; } if (claimingPrize || TheTradeHandler.claimingPrize) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You're already claiming your prize!")); TheTCPWrapper.Send(CommandCreator.EXIT_TRADE()); return; } claimingPrize = false; acceptedOnce = false; if (!TheMySqlManager.IGamble()) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "I don't gamble, sorry!")); return; } if (Settings.IsTradeBot == false) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "Sorry, I am not a trade bot!")); return; } int rank = TheMySqlManager.GetUserRank(e.username, Settings.botid); if (rank < TheMySqlManager.GetCommandRank("#prize", Settings.botid)) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You are not authorized to use this command!")); return; } if (TheMySqlManager.CheckIfBannedGuild(e.username, Settings.botid) < 0) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You are not authorized to use this command!")); return; } if (this.TheTradeHandler.AmITrading() && e.username != TradeHandler.username) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "I am currently trading, please retry shortly.")); return; } if (TheTradeHandler.Gambling) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You cannot calim prizes if you're already gambling, cancel and reissue the command!")); return; } if (CommandArray.Length != 2) { goto WrongArguments; } username = e.username; string argument = CommandArray[1]; switch (argument) { case "high": case "low": case "medium": TheMySqlManager.displayPrizes(argument, e.username); break; case "claim": if (!acceptedOnce) { Int16 TradePartnerUserID = TheActorHandler.GetUserIDFromname(username); //Console.WriteLine("usernames: " + TradeHandler.username + " " + username); if (!TheTradeHandler.Trading || (TradeHandler.username != username)) { TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You must be trading with me first!")); TheTCPWrapper.Send(CommandCreator.TRADE_WITH(TradePartnerUserID)); claimingPrize = true; } else if (TheTradeHandler.Trading && itemCount == 0) { TheTradeHandler.claimingPrize = true; claimingPrize = true; itemCount = TheMySqlManager.putPrizesInWindow(username); } } break; case "list": TheMySqlManager.listPrizesWon(username); //TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "Not yet implemented, sorry...")); break; default: goto WrongArguments; } return; WrongArguments: TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[----------------------------------------")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Here is the usage of the #prize command:")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[#prize <level> list prizes you can win ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[#prize <claim> claim your prize ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[#prize <list> lists prizes you can claim")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[----------------------------------------")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #prize high ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #prize medium ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #prize low ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #prize claim ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[Example: #prize list ")); TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "[----------------------------------------")); return; }