Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 03:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Some help with my problem about exp bar !

Discussion on Some help with my problem about exp bar ! within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
Sp!!ke's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 380
Received Thanks: 58
Some help with my problem about exp bar !



Code:
  static void AppendConnect(Connect appendConnect, Client.GameState client)
        {
            if (client.LoggedIn == true)
            {
                client.Disconnect();
                return;
            }

            if (client.JustCreated)
            {
                string Message = "NEW_ROLE";
                if (client.Account.EntityID != 0)
                    Message = "ANSWER_OK";
                if (client.Account.State == Database.AccountTable.AccountState.Banned)
                    Message = "You are banned.";
                if (client.Account.State == Database.AccountTable.AccountState.NotActivated)
                {
                    Message = "You cannot login until your account is activated.";
                }
                if (Message == "ANSWER_OK")
                {
                    if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
                    {
                        Client.GameState aClient = null;
                        ServerBase.Kernel.GamePool.TryGetValue(client.Account.EntityID, out aClient);
                        if (aClient != null)
                        {
                            aClient.DoSetOffline = false;
                            aClient.Disconnect();
                        }
                        else
                            ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);
                        aClient.Disconnect();
                    }
                    client.JustCreated = false;
                    DoLogin(client);
                    return;
                }
                client.Send(new Message(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
            }
            Database.AccountTable Account = null;
            if (ServerBase.Kernel.AwaitingPool.ContainsKey(appendConnect.Identifier))
            {
                ServerBase.Kernel.AwaitingPool.TryGetValue(appendConnect.Identifier, out Account);
                ServerBase.Kernel.AwaitingPool.Remove(appendConnect.Identifier);
                if (Account != null)
                {

                    client.Account = Account;
                    string Message = "NEW_ROLE";
                    if (client.Account.EntityID != 0)
                        Message = "ANSWER_OK";
                    if (Account.State == Database.AccountTable.AccountState.Banned)
                        Message = "You are banned.";
                    if (Account.State == Database.AccountTable.AccountState.NotActivated)
                    {
                        Message = "You cannot login until your account is activated.";
                    }
                    if (Message == "ANSWER_OK")
                    {
                        if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
                        {
                            Client.GameState aClient = null;
                            // ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);
                            ServerBase.Kernel.GamePool.TryGetValue(client.Account.EntityID, out aClient);
                            if (aClient != null)
                            {
                                aClient.DoSetOffline = false;
                                aClient.Disconnect();
                            }
                            else
                                ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);

                        }
                        if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
                        {
                            Client.GameState aClient = null;
                            ServerBase.Kernel.GamePool.TryGetValue(client.Account.EntityID, out aClient);
                            if (aClient != null)
                            {
                                aClient.DoSetOffline = false;
                                aClient.Disconnect();
                            }
                            else
                                ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);
                            aClient.Disconnect();
                            //  Client.GameState d = ServerBase.Kernel.GamePool[client.Account.EntityID];
                            // ServerBase.Kernel.GamePool.Remove(d.Account.EntityID);
                            // d.Disconnect();
                            //Message = "Your account logged in";
                            // DoLogin(d);
                            //return;

                        }

                        if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
                        {
                            Client.GameState aClient = null;
                            ServerBase.Kernel.GamePool.TryGetValue(client.Account.EntityID, out aClient);
                            if (aClient != null)
                            {
                                aClient.DoSetOffline = false;
                                aClient.Disconnect();
                            }
                            else
                                ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);
                            ServerBase.Kernel.GamePool.Remove(client.Account.EntityID);
                            client.Send(new Message("Account was in use! Relogin now.", "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                            return;
                        }
                        DoLogin(client);
                        client.Send(new Message(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                    }
                    else
                    {
                        string Messages = "NEW_ROLE";
                        client.Send(new Message(Messages, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                    }
                }
            }
        }
        static void DoLogin(object _client)
        {
            Client.GameState client = _client as Client.GameState;
            client.ReadyToPlay();
            if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
            {
                Client.GameState d = ServerBase.Kernel.GamePool[client.Account.EntityID];
                ServerBase.Kernel.GamePool.Remove(d.Account.EntityID);
                d.Disconnect();
            }
            Database.EntityTable.LoadEntity(client);

          
            string Message = "ANSWER_OK";

            if (client.Entity == null || client.Entity.Name == null)
            {
                Message = "There is something wrong. You may not login.";
                client.Send(new Message(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                return;
            }

            if (ServerBase.Kernel.GamePool.Count == Program.PlayerCap && client.Entity.VIPLevel == 0)
            {
                Message = "Player limit exceeded. (Online players: " + ServerBase.Kernel.GamePool + "/" + Program.PlayerCap + ")";
                client.Send(new Message(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                return;
            }

            client.Send(new Message(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));

            client.Logger = new Logger(client.Entity.Name);
            ServerBase.Kernel.GamePool.Add(client.Entity.UID, client);

            if (!ServerBase.Kernel.WasInGamePool.ContainsKey(client.Account.EntityID))
                ServerBase.Kernel.WasInGamePool.Add(client.Entity.UID, client);

            Database.EntityTable.UpdateOnlineStatus(client, true);
 
            client.Send(new GamePackets.CharacterInfo(client));
            string IP = client.Socket.RemoteEndPoint.ToString().Split(':')[0].ToString();
            client.Account.IP = IP;
            client.Account.Save();


            if (!client.LoggedIn)
                Console.WriteLine(client.Entity.Name + " has logged on. {" + client.Account.IP + "}");
            client.LoggedIn = true;
            client.Action = 2;
        }
Impulse tell me the problem is because I don't receive Answer_OK , so I changed some here but not working ! any can tell me how I can solve that?
Sp!!ke is offline  
Old 07/18/2012, 20:59   #2
 
turk55's Avatar
 
elite*gold: 130
Join Date: Oct 2007
Posts: 1,655
Received Thanks: 705
Are you sure you receive the ANSWER_OK ?
turk55 is offline  
Old 07/19/2012, 10:57   #3
 
Sp!!ke's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 380
Received Thanks: 58
yes man , I thank you for the reply but I solve the problem !

Note: I will not help anyone to fix that because nobody help me..
Sp!!ke is offline  
Reply


Similar Threads Similar Threads
[Problem]Habe ein Problem und zwar spinnt mein VPC etwas(ohne Grund)?!
07/28/2011 - Metin2 Private Server - 10 Replies
Also wie schon gesagt meins Server spinnt wodurch kiks usw. kommen :( ich lade euch die Screens in den Anhang, mit der Hoffnung, dass ihr mir helfen könnt :) wäre echt sehr nice :)



All times are GMT +1. The time now is 03:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.