public static ServerMessage Compose(uint CategoryId, uint MainId, List <NavigatorItem> ItemContainer)
        {
            ServerMessage message = new ServerMessage(FlagcodesOut.NAVIGATOR, ItemcodesOut.NAVIGATOR_SUBITEMS, false);

            message.AppendParameter(CategoryId, false);
            foreach (NavigatorItem item in ItemContainer)
            {
                SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(item.UInt32_0);
                if (item.SpaceId.Equals(MainId) && !item.IsCategory)
                {
                    message.AppendParameter(true, true);
                    message.AppendParameter(true, true);
                    message.AppendParameter(item.SpaceId, true);
                    message.AppendParameter(item.Name, true);
                    if (instanceBySpaceId == null)
                    {
                        message.AppendParameter(0, true);
                    }
                    else
                    {
                        message.AppendParameter((instanceBySpaceId.ActorCount > 12) ? 12 : instanceBySpaceId.HumanActorCount, true);
                    }
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(item.UInt32_0, true);
                    message.AppendParameter("-1", true);
                    message.AppendParameter(12, false);
                }
            }
            return(message);
        }
Example #2
0
 public override void SetSpaceInstance(SpaceInstance Space, uint ActorId)
 {
     this.spaceInstance_0 = Space;
     this.tileState_0     = Space.Model.Heightmap.TileStates;
     this.uint_0          = ActorId;
     this.list_0          = new List <Vector3>();
     this.vector3_0       = null;
 }
Example #3
0
        public static bool HandleCommand(Session Session, string Input)
        {
            Input = Input.Substring(1, Input.Length - 1);
            string[]      input             = Input.Split(new char[] { ' ' });
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(Session.CurrentSpaceId);
            SpaceActor    actor             = (instanceBySpaceId == null) ? null : instanceBySpaceId.GetActorByReferenceId(Session.CharacterId, SpaceActorType.UserCharacter);
            CharacterInfo referenceObject   = (CharacterInfo)actor.ReferenceObject;

            switch (input[0])
            {
            case "alerta":
                if (referenceObject.Staff == 1)
                {
                    string messageText = InputFilter.FilterString(InputFilter.MergeString(input, 1), false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, messageText, 3, ChatType.Say), 0, false);
                    return(true);
                }
                return(false);
            }
            return(false);
        }
Example #4
0
        public static void spawnchest1(Session session_0, ClientMessage clientMessage_0)
        {
            uint          itemId            = clientMessage_0.ReadUnsignedInteger();
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(session_0.CurrentSpaceId);

            if (instanceBySpaceId != null)
            {
                SpaceActor actorByReferenceId = instanceBySpaceId.GetActorByReferenceId(session_0.CharacterId, SpaceActorType.UserCharacter);
                if (actorByReferenceId != null)
                {
                    CharacterInfo referenceObject = (CharacterInfo)actorByReferenceId.ReferenceObject;
                    try
                    {
                        ContestItem item = instanceBySpaceId.Items[itemId];
                        if ((item != null) && item.IsActive)
                        {
                            using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
                            {
                                item.CatchItem(client, (int)session_0.CharacterId);
                                string definitionName = item.DefinitionName;

                                instanceBySpaceId.BroadcastChatMessage(actorByReferenceId, string.Concat(new object[] { actorByReferenceId.Name, " ha atrapado un cofre y obtiene: ", item.GoldCredits, " monedas de oro." }), false, 3);
                                instanceBySpaceId.BroadcastChatMessage(actorByReferenceId, string.Concat(new object[] { actorByReferenceId.Name, " has caught a chest and obtained: ", item.GoldCredits, " Gold Credits!" }), false, 3);
                                referenceObject.UpdateGoldCreditsBalance(client, (int)item.GoldCredits);
                                session_0.SendData(CharacterCoinsComposer.AddGoldCompose(item.GoldCredits), false);

                                instanceBySpaceId.BroadcastMessage(SpaceCatchItemComposer.Compose(itemId), 0, false);
                                instanceBySpaceId.BroadcastMessage(SpaceRemoveItemComposer.Compose(itemId), 0, false);
                            }
                        }
                    }
                    catch
                    {
                    }
                }
            }
        }
Example #5
0
        public static bool HandleCommand(Session Session, string Input)
        {
            Input = Input.Substring(1, Input.Length - 1);
            string[]      input             = Input.Split(new char[] { ' ' });
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(Session.CurrentSpaceId);
            SpaceActor    actor             = (instanceBySpaceId == null) ? null : instanceBySpaceId.GetActorByReferenceId(Session.CharacterId, SpaceActorType.UserCharacter);
            CharacterInfo referenceObject   = (CharacterInfo)actor.ReferenceObject;

            switch (input[0])
            {
            case "alerta":
                if (referenceObject.Staff == 1)
                {
                    string messageText = InputFilter.FilterString(InputFilter.MergeString(input, 1), false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, messageText, 3, ChatType.Say), 0, false);
                    return(true);
                }
                return(false);

            case "effect":
                if (referenceObject.Vip == 1)
                {
                    Input = Input.Replace("effect", "");
                    Input = Input.Replace(" ", "");

                    switch (int.Parse(Input))
                    {
                    case 1:
                        actor.ApplyEffect(1, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 2:
                        actor.ApplyEffect(2, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 3:
                        actor.ApplyEffect(3, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 4:
                        actor.ApplyEffect(4, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 5:
                        actor.ApplyEffect(5, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 6:
                        actor.ApplyEffect(6, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 7:
                        actor.ApplyEffect(7, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 8:
                        actor.ApplyEffect(8, true);
                        actor.UpdateNeeded = true;
                        break;
                    }

                    return(true);
                }
                return(false);
            }
            return(false);
        }
Example #6
0
        public static bool HandleCommand(Session Session, string Input)
        {
            Input = Input.Substring(1, Input.Length - 1);
            string[]      input             = Input.Split(new char[] { ' ' });
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(Session.CurrentSpaceId);
            SpaceActor    actor             = (instanceBySpaceId == null) ? null : instanceBySpaceId.GetActorByReferenceId(Session.CharacterId, SpaceActorType.UserCharacter);
            CharacterInfo referenceObject   = (CharacterInfo)actor.ReferenceObject;

            switch (input[0])
            {
            case "position":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Session.SendData(SpaceChatComposer.Compose(0, string.Concat(new object[] { "Tu posici\x00f3n actual es - X: ", actor.Position.Int32_0, ", Y: ", actor.Position.Int32_1, ", Z: ", actor.Position.Int32_2 }), 3, ChatType.Say), false);
                    return(true);
                }
                return(false);

            case "bm":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    if (!UpperBlock.Contains(actor.Name))
                    {
                        string str = string.Format("{0}: Has activated Block User Upper.", actor.Name);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, str, 3, ChatType.Say), 0, false);
                        UpperBlock.Add(actor.Name);
                    }
                    return(true);
                }
                return(false);

            case "uub":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Input = Input.Replace("uub", "");
                    Input = Input.Replace(" ", "");

                    uint IDtoblock = CharacterResolverCache.GetUidFromName(Input);



                    if (!UpperBlockUser.Contains(IDtoblock))
                    {
                        string str = string.Format("{0}: Has activated Block User Upper For {1}", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, str, 3, ChatType.Say), 0, false);
                        UpperBlockUser.Add(IDtoblock);
                    }
                    return(true);
                }
                return(false);

            case "ub":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Input = Input.Replace("ub", "");
                    Input = Input.Replace(" ", "");

                    uint IDtoblock = CharacterResolverCache.GetUidFromName(Input);



                    if (UpperBlockUser.Contains(IDtoblock))
                    {
                        string str = string.Format("{0}: Has deactivated Block User Upper For {1}", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, str, 3, ChatType.Say), 0, false);
                        UpperBlockUser.Remove(IDtoblock);
                    }
                    return(true);
                }
                return(false);

            case "ubm":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    if (UpperBlock.Contains(actor.Name))
                    {
                        string str = string.Format("{0}: Has deactivated Block User Upper.", actor.Name);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, str, 3, ChatType.Say), 0, false);
                        UpperBlock.Remove(actor.Name);
                    }
                    return(true);
                }
                return(false);


            case "block_upper":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + " ha bloqueado el punch.", 3, ChatType.Say), 0, false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": Has turned Block Punch On.", 3, ChatType.Say), 0, false);
                    block_upper = true;
                    return(true);
                }
                return(false);

            case "unblock_upper":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + " ha desbloqueado el punch.", 3, ChatType.Say), 0, false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": Has turned Block Punch Off.", 3, ChatType.Say), 0, false);
                    block_upper = false;
                    return(true);
                }
                return(false);

            case "checkcredits":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Input = Input.Replace("checkcredits", "");
                    Input = Input.Replace(" ", "");

                    uint ID = CharacterResolverCache.GetUidFromName(actor.Name);
                    actor.Whisper(checkcredits(Input), ID, false);

                    return(true);
                }
                return(false);

            case "block_coco":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": Ha bloqueado el coco.", 3, ChatType.Say), 0, false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": Has turned Block Coco On.", 3, ChatType.Say), 0, false);
                    block_coco = true;

                    return(true);
                }
                return(false);



            case "unblock_coco":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": ha desbloqueado el coco.", 3, ChatType.Say), 0, false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + ": Has turned Block Coco Off.", 3, ChatType.Say), 0, false);
                    block_coco = false;

                    return(true);
                }
                return(false);



            case "ban":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 && actor.Name != "DaLoe" || referenceObject.Staff == 6)
                {
                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();
                    string            Input2      = Input;
                    string            reason2     = Input2.Substring(Input2.IndexOf(',') + 1);
                    Input = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     UserID   = CharacterResolverCache.GetUidFromName(username);
                    Moderation.ModerationBanManager.BanHammer(mySqlClient, UserID, reason2, actor.Name);
                    string ban = string.Format("{0}: Banned: {1}, For: {2}", actor.Name, username, reason2);

                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(username);

                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        Session Session_ID  = SessionManager.GetSessionByCharacterId(ID);
                        uint    session_id2 = Session_ID.CharacterInfo.SessionId;
                        SessionManager.StopSession(session_id2);
                    }

                    else
                    {
                    }

                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, ban, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);

            case "unban":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 && actor.Name != "DaLoe" && actor.Name != "Fran" || referenceObject.Staff == 6)
                {
                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();
                    Input = Input.Replace("unban", "");
                    Input = Input.Replace(" ", "");

                    uint ID = CharacterResolverCache.GetUidFromName(Input);



                    Moderation.ModerationBanManager.Unban(mySqlClient, ID);

                    string unban = string.Format("{0}: Unbanned User {1}", actor.Name, Input);

                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, unban, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);

            case "ipban":
                if (referenceObject.Staff == 2 && actor.Name != "DaLoE" && actor.Name != "Fran" || referenceObject.Staff == 6)
                {
                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();
                    string            Input2      = Input;
                    string            reason2     = Input2.Substring(Input2.IndexOf(',') + 1);
                    Input = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     UserID   = CharacterResolverCache.GetUidFromName(username);

                    Sessions.Session session_0;
                    session_0 = SessionManager.GetSessionByCharacterId(UserID);
                    string str = session_0.RemoteAddress.ToString();

                    Moderation.ModerationBanManager.BanHammer3(mySqlClient, UserID, reason2, actor.Name, str);
                    string ban = string.Format("{0}: IP Banned: {1}, For: {2}", actor.Name, username, reason2);

                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(username);

                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        Session Session_ID  = SessionManager.GetSessionByCharacterId(ID);
                        uint    session_id2 = Session_ID.CharacterInfo.SessionId;
                        SessionManager.StopSession(session_id2);
                    }

                    else
                    {
                    }

                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, ban, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);

            case "alert":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    string messageText = InputFilter.FilterString(InputFilter.MergeString(input, 1), false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, messageText, 3, ChatType.Say), 0, false);
                    return(true);
                }
                return(false);

            case "la":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    if (actor.Name == "Brandon" || actor.Name == "Mike")
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Creator {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }


                    else if (actor.Name == "Kyle")
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Main Programmer {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }

                    else if (referenceObject.Staff == 1)
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Moderator {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }


                    else if (referenceObject.Staff == 2 && actor.Name != "Brandon" && actor.Name != "Mike")
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Administrator {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }


                    else if (referenceObject.Staff == 6 && actor.Name != "Kyle")
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Programmer {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }

                    else
                    {
                        foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                        {
                            Input = Input.Replace("la", "");
                            string send = string.Format("{0} - From Burbian Moderator {1}", Input, actor.Name);
                            pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, send, 2));
                        }
                    }

                    return(true);
                }
                return(false);

            case "effect":
                if (referenceObject.Vip == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Input = Input.Replace("effect", "");
                    Input = Input.Replace(" ", "");

                    switch (int.Parse(Input))
                    {
                    case 1:
                        actor.ApplyEffect(1, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 2:
                        actor.ApplyEffect(2, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 3:
                        actor.ApplyEffect(3, true);
                        actor.UpdateNeeded = true;
                        break;

                    case 4:
                        actor.ApplyEffect(4, true);
                        actor.UpdateNeeded = true;
                        break;
                    }



                    return(true);
                }
                return(false);


            case "give":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Session session_0;



                    string userthatadded = actor.Name;


                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();

                    int credits = 0;

                    string Input2  = Input;
                    string reason2 = Input2.Substring(Input2.IndexOf(',') + 1);
                    credits = int.Parse(reason2);
                    Input   = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     ID       = CharacterResolverCache.GetUidFromName(username);

                    session_0 = SessionManager.GetSessionByCharacterId(ID);

                    //givecredits2(mySqlClient, credits, username);
                    referenceObject.UpdateGoldCreditsBalance(mySqlClient, +credits);
                    session_0.SendData(CharacterCoinsComposer.AddGoldCompose(Convert.ToUInt32(credits)), false);     //Punch cost 200
                    string str = string.Format("{0}: Gave {1}, {2} Credits!", userthatadded, username, credits);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);

            case "share":
                if (referenceObject.Staff == 0 || referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 3 || referenceObject.Staff == 4 || referenceObject.Staff == 5 || referenceObject.Staff == 6)
                {
                    string            BeforeComma = string.Empty;
                    string            AfterComma  = string.Empty;
                    SqlDatabaseClient client      = SqlDatabaseManager.GetClient();
                    Session           session_0;
                    Session           session_1;

                    Input = Input.Replace("share", "");
                    Input = Input.Replace(" ", "");

                    BeforeComma = Input.Remove(Input.LastIndexOf(','));
                    AfterComma  = Input.Substring(Input.IndexOf(',') + 1);

                    string username          = BeforeComma.Replace(" ", "");
                    string amountofcredits_0 = AfterComma.Replace(" ", "");
                    int    amount            = int.Parse(amountofcredits_0);


                    uint actorID  = CharacterResolverCache.GetUidFromName(actor.Name);
                    uint actorID2 = CharacterResolverCache.GetUidFromName(username);

                    session_0 = SessionManager.GetSessionByCharacterId(actorID);
                    session_1 = SessionManager.GetSessionByCharacterId(actorID2);

                    SpaceInstance instanceBySpaceId2 = SpaceManager.GetInstanceBySpaceId(session_1.CurrentSpaceId);
                    SpaceActor    actor2             = (instanceBySpaceId2 == null) ? null : instanceBySpaceId2.GetActorByReferenceId(session_1.CharacterId, SpaceActorType.UserCharacter);
                    CharacterInfo referenceObject2   = (CharacterInfo)actor2.ReferenceObject;



                    if (enoughcredits(session_0, amount))
                    {
                        referenceObject.UpdateGoldCreditsBalance(client, -amount);
                        session_0.SendData(CharacterCoinsComposer.RemoveGoldCompose(Convert.ToUInt32(amount)), false);

                        referenceObject2.UpdateGoldCreditsBalance(client, +amount);
                        session_1.SendData(CharacterCoinsComposer.AddGoldCompose(Convert.ToUInt32(amount)), false);

                        string str = string.Format("{0}: Shared {1} Credits To {2}!", actor.Name, amount, username);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }

                    else
                    {
                        string str = string.Format("Could not send {0} the credits, did you have enough?", username);
                        actor.Whisper(str, actorID, false);
                    }



                    return(true);
                }
                return(false);


            case "take":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Session session_0;
                    Session session_1;


                    uint actoeid = CharacterResolverCache.GetUidFromName(actor.Name);


                    string userthatadded = actor.Name;


                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();

                    int credits = 0;

                    string Input2  = Input;
                    string reason2 = Input2.Substring(Input2.IndexOf(',') + 1);
                    credits = int.Parse(reason2);
                    Input   = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     ID       = CharacterResolverCache.GetUidFromName(username);

                    session_0 = SessionManager.GetSessionByCharacterId(ID);

                    //givecredits2(mySqlClient, credits, username);
                    session_1 = SessionManager.GetSessionByCharacterId(ID);
                    int gold      = session_1.CharacterInfo.GoldCoins;
                    int minusgold = gold - credits;

                    if (minusgold < 0)
                    {
                        actor.Whisper("Error, the amount you tried to give was below 0", actoeid, false);
                    }

                    else
                    {
                        referenceObject.UpdateGoldCreditsBalance(mySqlClient, -credits);
                        session_0.SendData(CharacterCoinsComposer.RemoveGoldCompose(Convert.ToUInt32(credits)), false);
                        string str = string.Format("{0}: Took Away {1} Credits From {2}!", userthatadded, credits, username);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }

                    return(true);
                }
                return(false);



            case "kick":
                if (referenceObject.Staff == 1 || referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Session session_0;

                    Input = Input.Replace("kick", "");
                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(Input);
                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        session_0 = SessionManager.GetSessionByCharacterId(ID);
                        SpaceManager.RemoveUserFromSpace(session_0);
                        string str = string.Format("{0}: Has Kicked {1} From Island.", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }

                    else
                    {
                    }

                    //SpaceManager.GetInstanceBySpaceId

                    //SpaceUserRemovedComposer.BroadcastCompose(



                    return(true);
                }
                return(false);

            case "kickoffline":
                if (referenceObject.Staff == 2 || referenceObject.Staff == 6)
                {
                    Session session_0;

                    Input = Input.Replace("kickoffline", "");
                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(Input);
                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        session_0 = SessionManager.GetSessionByCharacterId(ID);
                        uint session_id2 = session_0.CharacterInfo.SessionId;
                        SessionManager.StopSession(session_id2);
                        string str = string.Format("{0}: Has kicked {1} Offline!", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }

                    else
                    {
                    }

                    //SpaceManager.GetInstanceBySpaceId

                    //SpaceUserRemovedComposer.BroadcastCompose(



                    return(true);
                }
                return(false);

            case "mod":
                if (actor.Name == "Kyle" || actor.Name == "Brandon" || actor.Name == "Mike")
                {
                    Session session_0;

                    SqlDatabaseClient client;
                    client = SqlDatabaseManager.GetClient();
                    Input  = Input.Replace("mod", "");
                    Input  = Input.Replace(" ", "");
                    string Input2 = Input;

                    string level = Input2.Substring(Input2.IndexOf(",") + 1);
                    uint   mod   = Convert.ToUInt32(level);

                    if (Input.Contains(","))
                    {
                        Input = Input.Substring(0, Input.LastIndexOf(","));
                    }
                    givemod(client, Input, mod);
                    string str = string.Format("{0}: Gave {1} Level {2} Mod Ability.", actor.Name, Input, mod);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);

                    uint ID = CharacterResolverCache.GetUidFromName(Input);
                    session_0 = SessionManager.GetSessionByCharacterId(ID);
                    uint session_id2 = session_0.CharacterInfo.SessionId;
                    SessionManager.StopSession(session_id2);



                    return(true);
                }
                return(false);

            case "getmod":
                if (actor.Name == "Kyle" || actor.Name == "Brandon" || actor.Name == "Mike")
                {
                    SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient();
                    Input = Input.Replace("getmod", "");
                    Input = Input.Replace(" ", "");

                    uint ID2 = CharacterResolverCache.GetUidFromName(actor.Name);
                    uint ID  = CharacterResolverCache.GetUidFromName(Input);

                    Session session_1;

                    session_1 = SessionManager.GetSessionByCharacterId(ID);
                    uint modlevel = session_1.CharacterInfo.Staff;

                    string str = string.Format("User {0} is mod level {1}", Input, modlevel);
                    actor.Whisper(str, ID2, false);

                    SessionManager.StopSession(session_1.AbsoluteSpaceId);


                    return(true);
                }
                return(false);
            }


            return(false);
        }
        public static ServerMessage Message(List <NavigatorItem> ItemContainer, SpaceInfo InfoContainer, uint Category)
        {
            ServerMessage message = new ServerMessage(FlagcodesOut.NAVIGATOR, ItemcodesOut.NAVIGATOR_ITEMS, false);

            switch (Category)
            {
            case 1:
                message.AppendParameter(1, false);
                foreach (NavigatorItem item in ItemContainer)
                {
                    uint num = 0;
                    if (item.ParentId.Equals((uint)0) && (item.Category == NavigatorCategory.Area))
                    {
                        foreach (SpaceInstance instance in SpaceManager.SpaceInstances.Values)
                        {
                            if (instance.Info.ParentId == item.UInt32_0)
                            {
                                num += (uint)instance.HumanActorCount;
                            }
                        }
                        message.AppendParameter(1, true);
                        message.AppendParameter(1, true);
                        message.AppendParameter(item.SpaceId, true);
                        message.AppendParameter(item.Name, true);
                        message.AppendParameter(num, true);
                        message.AppendParameter(false, true);
                        message.AppendParameter(false, true);
                        message.AppendParameter(false, true);
                        message.AppendParameter("-1", true);
                        message.AppendParameter(false, false);
                    }
                }
                return(message);

            case 2:
                message.AppendParameter(2, false);
                foreach (NavigatorItem item2 in ItemContainer)
                {
                    SpaceInstance instance2 = item2.TryGetSpaceInstance();
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(item2.Name, true);
                    if (instance2 == null)
                    {
                        message.AppendParameter(0, true);
                    }
                    else
                    {
                        message.AppendParameter(instance2.ActorCount, true);
                    }
                    message.AppendParameter(item2.UInt32_0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, true);
                    message.AppendParameter(0, false);
                }
                return(message);

            case 3:
                message.AppendParameter(3, false);
                foreach (NavigatorItem item3 in ItemContainer)
                {
                    SpaceInstance instance3 = item3.TryGetSpaceInstance();
                    if (item3.ParentId.Equals((uint)0) && (item3.Category == NavigatorCategory.Game))
                    {
                        message.AppendParameter(1, true);
                        message.AppendParameter(true, true);
                        message.AppendParameter(item3.SpaceId, true);
                        message.AppendParameter(item3.Name, true);
                        if (instance3 == null)
                        {
                            message.AppendParameter(0, true);
                        }
                        else
                        {
                            message.AppendParameter(instance3.ActorCount, true);
                        }
                        message.AppendParameter(false, true);
                        message.AppendParameter(false, true);
                        message.AppendParameter(false, true);
                        message.AppendParameter("-1", true);
                        message.AppendParameter(false, false);
                    }
                }
                return(message);

            case 4:
                message.AppendParameter(4, false);
                return(message);
            }
            return(message);
        }
Example #8
0
 public abstract void SetSpaceInstance(SpaceInstance Space, uint ActorId);
Example #9
0
        public static bool HandleCommand(Session Session, string Input)
        {
            Input = Input.Substring(1, Input.Length - 1);
            string[]      input             = Input.Split(new char[] { ' ' });
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(Session.CurrentSpaceId);
            SpaceActor    actor             = (instanceBySpaceId == null) ? null : instanceBySpaceId.GetActorByReferenceId(Session.CharacterId, SpaceActorType.UserCharacter);
            CharacterInfo referenceObject   = (CharacterInfo)actor.ReferenceObject;



            switch (input[0])
            {
            case "position":
            {
                Session.SendData(SpaceChatComposer.Compose(0, string.Concat(new object[] { "Tu posici\x00f3n actual es - X: ", actor.Position.Int32_0, ", Y: ", actor.Position.Int32_1, ", Z: ", actor.Position.Int32_2 }), 3, ChatType.Say), false);
                return(true);
            }

            case "block":
                if (referenceObject.Staff != 0)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + " ha bloqueado el punch.", 3, ChatType.Say), 0, false);
                    block = true;
                    return(true);
                }
                return(false);

            case "unblock":
                if (referenceObject.Staff != 0)
                {
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, actor.Name + " ha desbloqueado el punch.", 3, ChatType.Say), 0, false);
                    block = false;
                    return(true);
                }
                return(false);

            case "ban":
                if (referenceObject.Staff == 2)
                {
                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();
                    string            Input2      = Input;
                    string            reason2     = Input2.Substring(Input2.IndexOf(',') + 1);
                    Input = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     UserID   = CharacterResolverCache.GetUidFromName(username);
                    Moderation.ModerationBanManager.BanHammer(mySqlClient, UserID, reason2, actor.Name);
                    string ban = string.Format("{0} ha baneado a {1} por {2}", actor.Name, username, reason2);

                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(username);

                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        Session Session_ID  = SessionManager.GetSessionByCharacterId(ID);
                        uint    session_id2 = Session_ID.CharacterInfo.SessionId;
                        SessionManager.StopSession(session_id2);
                    }

                    else
                    {
                    }

                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(1, ban, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);

            case "alert":
                if (referenceObject.Staff != 0)
                {
                    string messageText = InputFilter.FilterString(InputFilter.MergeString(input, 1), false);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, messageText, 3, ChatType.Say), 0, false);
                    return(true);
                }
                return(false);

            case "la":
                if (referenceObject.Staff != 0)
                {
                    foreach (KeyValuePair <uint, Session> pair in SessionManager.Sessions)
                    {
                        pair.Value.SendData(LaptopMessageComposer.Compose(pair.Value.CharacterId, Input.Replace("la", ""), 2));
                    }
                    return(true);
                }
                return(false);


            case "give":
                if (referenceObject.Staff == 2)
                {
                    Session session_0;
                    string  userthatadded = actor.Name;


                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();

                    int credits = 0;

                    string Input2  = Input;
                    string reason2 = Input2.Substring(Input2.IndexOf(',') + 1);
                    credits = int.Parse(reason2);
                    Input   = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     ID       = CharacterResolverCache.GetUidFromName(username);

                    session_0 = SessionManager.GetSessionByCharacterId(ID);

                    //givecredits2(mySqlClient, credits, username);
                    referenceObject.UpdateGoldCreditsBalance(mySqlClient, +credits);
                    session_0.SendData(CharacterCoinsComposer.AddGoldCompose(Convert.ToUInt32(credits)), false);     //Punch cost 200
                    string str = string.Format("{0} le ha dado a {1} {2} Creditos!", userthatadded, username, credits);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);


            case "take":
                if (referenceObject.Staff == 2)
                {
                    Session session_0;
                    string  userthatadded = actor.Name;

                    SqlDatabaseClient mySqlClient = SqlDatabaseManager.GetClient();

                    int credits = 0;

                    string Input2  = Input;
                    string reason2 = Input2.Substring(Input2.IndexOf(',') + 1);
                    credits = int.Parse(reason2);
                    Input   = Input.Replace(",", "");
                    string[] split    = Input.Split(' ');
                    string   username = (split[1]);
                    string   reason   = string.Join(" ", Input, 2, Input.Length - 2);
                    uint     ID       = CharacterResolverCache.GetUidFromName(username);

                    session_0 = SessionManager.GetSessionByCharacterId(ID);

                    referenceObject.UpdateGoldCreditsBalance(mySqlClient, -credits);
                    session_0.SendData(CharacterCoinsComposer.RemoveGoldCompose(Convert.ToUInt32(credits)), false);     //Punch cost 200
                    string str = string.Format("{0} le ha quitado {1} Creditos a {2}!", userthatadded, credits, username);
                    instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);


                    return(true);
                }
                return(false);


            case "kick":
                if (referenceObject.Staff != 0)
                {
                    Session session_0;

                    Input = Input.Replace("kick", "");
                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(Input);
                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        session_0 = SessionManager.GetSessionByCharacterId(ID);
                        SpaceManager.RemoveUserFromSpace(session_0);
                        string str = string.Format("{0} echa a {1} de la isla", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }
                    return(true);
                }
                return(false);

            case "kickoffline":
                if (referenceObject.Staff == 2)
                {
                    Session session_0;

                    Input = Input.Replace("kickoffline", "");
                    Input = Input.Replace(" ", "");
                    uint ID = CharacterResolverCache.GetUidFromName(Input);
                    if (SessionManager.ContainsCharacterId(ID))
                    {
                        session_0 = SessionManager.GetSessionByCharacterId(ID);
                        uint session_id2 = session_0.CharacterInfo.SessionId;
                        SessionManager.StopSession(session_id2);
                        string str = string.Format("{0} desconectó a {1}", actor.Name, Input);
                        instanceBySpaceId.BroadcastMessage(SpaceChatComposer.Compose(0, str, 3, ChatType.Say), 0, false);
                    }

                    //SpaceManager.GetInstanceBySpaceId

                    //SpaceUserRemovedComposer.BroadcastCompose(



                    return(true);
                }
                return(false);

            case "chest1":
                if (referenceObject.Staff == 2)
                {
                    return(true);
                }
                return(false);
            }


            return(false);
        }