Command Errors - They don't work

n00b

n00b
Jun 20, 2012
235
38
Okay so I've got 2 command that I need help fixing - :give and :deposit It's a r63 RP hotel as well.

The code for :give we have is -

Code:
#region :give x <amount>
                    case "give":
                        {


                            TimeSpan span = DateTime.Now - Session.CharacterInfo.Cooldown;
                            if (span.Seconds < 5)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "You're cooling down! [" + span.Seconds + "/5]", 0, ChatType.Whisper));
                                return true;
                            }




                            if (Bits.Length < 3)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "Invalid syntax - :give <username> <amount>", 0, ChatType.Whisper));
                                return true;
                            }

                            string Username = UserInputFilter.FilterString(Bits[1].Trim());
                            int amount = Int32.Parse(UserInputFilter.FilterString(Bits[2].Trim()));
                            Session TargetSession = SessionManager.GetSessionByCharacterId(CharacterResolverCache.GetUidFromName(Username));
                            RoomActor Target = (Instance == null ? null : Instance.GetActorByReferenceId(TargetSession.CharacterId));
                            RoomActor TargetActor = (Instance == null ? null : Instance.GetActorByReferenceId(TargetSession.CharacterId));
                            Username = TargetSession.CharacterInfo.Username;

                            if (TargetSession == null || !TargetSession.InRoom || Session.AbsoluteRoomId != TargetSession.AbsoluteRoomId)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "Could not find " + Username + " in this room.", 0, ChatType.Whisper));
                                return true;
                            }

                            if (Session.CharacterInfo.Jailed == 1)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "You cannot give coins to your inmates.", 0, ChatType.Whisper));
                                return true;
                            }
                            if (Session.CharacterInfo.Dead == 1)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "You cannot give coins while your dead!", 0, ChatType.Whisper));
                                return true;
                            }

                            if (Distance.Calculate(Actor.Position.GetVector2(), Target.Position.GetVector2()) > 3)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "This user is too far away, try getting closer!", 0, ChatType.Whisper));
                                return true;
                            }

                            if (amount < 1 || amount > Session.CharacterInfo.CreditsBalance)
                            {
                                Session.SendData(RoomChatComposer.Compose(Actor.Id, "Error - You dont have enough coins to give away!", 0, ChatType.Whisper));
                                return true;
                            }
                            Username = TargetSession.CharacterInfo.Username;
                            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
                            {
                                int user1 = 0;
                                user1 = Session.CharacterInfo.CreditsBalance - amount;
                                Session.CharacterInfo.UpdateCreditsBalance(MySqlClient, -amount);
                                Session.SendData(CreditsBalanceComposer.Compose(user1));

                                int user2 = 0;
                                user2 = TargetSession.CharacterInfo.CreditsBalance + amount;
                                TargetSession.CharacterInfo.UpdateCreditsBalance(MySqlClient, amount);
                                TargetSession.SendData(CreditsBalanceComposer.Compose(user2));
                            }
                            Instance.BroadcastMessage(RoomChatComposer.Compose(Actor.Id, "*Hands " + amount + " dollars to " + Username + "*", 0, ChatType.Shout));
                        }
                        return true;
                            #endregion
                            #region :online
                            case "online":
                                {
                                    List<string> OnlineUsers = SessionManager.ConnectedUserData.Values.ToList();
                                    StringBuilder MessageText = new StringBuilder("There are currently " + OnlineUsers.Count + " user(s) online:\n");

                                    foreach (string OnlineUser in OnlineUsers)
                                    {
                                        MessageText.Append('\n');
                                        MessageText.Append("- " + OnlineUser);
                                    }

                                    Session.SendData(NotificationMessageComposer.Compose(MessageText.ToString()));
                                    return true;
                                }
                            #endregion

and we do not have a deposit command and I'm not the best coder so if anyone could help me out it'd be very appreciated.
 

Users who are viewing this thread

Top