コード例 #1
0
        public override void Execute(string[] args)
        {
            if (args.Length == 1)
            {
                game.Chat.Add("&cNew software name required."); return;
            }

            string name = "";

            for (int i = 1; i < args.Length; i++)
            {
                name += args[i] + " ";
            }

            name = name.Trim();
            game.Server.AppName = name;

            if (!game.Server.IsSinglePlayer)
            {
                NetworkProcessor net = (NetworkProcessor)game.Server;
                net.writer.WriteUInt8(Opcode.CpeExtInfo);
                WriteHackyString(net.writer, name);
                net.writer.WriteInt16(0);                 // no extensions
                net.SendPacket();
            }
            game.Chat.Add("&eSet software name to: " + name);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ckabalan/irc-statistics
        public static List <NetworkProcessor> CreateNetProcs()
        {
            AppLog.WriteLine(5, "STATUS", "Entered IRCStatistician.Program.CreateNetProcs().");
            List <NetworkProcessor> returnList = new List <NetworkProcessor>();
            // Get the tbn_networks table
            MySqlCommand    NetworkCmd        = new MySqlCommand("SELECT * FROM " + Config.SQLTablePrefix + "networks", MyDBConn.Connection);
            MySqlDataReader NetworkDataReader = NetworkCmd.ExecuteReader();
            DataTable       NetworkTable      = new DataTable();

            NetworkTable.Load(NetworkDataReader);
            NetworkDataReader.Close();
            // Get the tbn_channels table
            MySqlCommand    ChannelCmd        = new MySqlCommand("SELECT * FROM " + Config.SQLTablePrefix + "channels", MyDBConn.Connection);
            MySqlDataReader ChannelDataReader = ChannelCmd.ExecuteReader();
            DataTable       ChannelTable      = new DataTable();

            ChannelTable.Load(ChannelDataReader);
            ChannelDataReader.Close();
            // Organize them together.
            foreach (DataRow CurNetwork in NetworkTable.Rows)
            {
                NetworkProcessor tempLW = new NetworkProcessor(CurNetwork);
                foreach (DataRow CurChannel in ChannelTable.Rows)
                {
                    if (Convert.ToInt32(CurChannel["networkid"]) == tempLW.Network.Id)
                    {
                        tempLW.Network.Channels.Add(CurChannel["name"].ToString(), new Channel(CurChannel["name"].ToString()));
                    }
                }
                returnList.Add(tempLW);
            }
            return(returnList);
        }
コード例 #3
0
ファイル: IProtocol.cs プロジェクト: dhtdht020/GTTMCube
 public IProtocol(Game game)
 {
     this.game = game;
     net       = (NetworkProcessor)game.Server;
     reader    = net.reader;
     writer    = net.writer;
 }
コード例 #4
0
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            if (cbSave.IsChecked == true && tbSaveValue.Text.Length == 1)
            {
                PaintProcessor.SavePaint(gridPaint, Convert.ToInt32(tbSaveValue.Text.ToString()), "datas.txt");
                btnReset_Click(sender, e);
            }
            else
            {
                float[] atmInput = PaintProcessor.PaintToInput(gridPaint);

                lbResults.Items.Clear();

                List <float> eredmenyek = new List <float>();

                for (int i = 0; i < 10; i++)
                {
                    eredmenyek.Add(NetworkProcessor.Try(net, atmInput, i));
                    ListViewItem lvi = new ListViewItem();
                    lvi.Content = i + "-> " + eredmenyek[i];
                    lbResults.Items.Add(lvi);
                }

                for (int i = 0; i < eredmenyek.Count; i++)
                {
                    if (eredmenyek[i] >= 0.5f && eredmenyek[i] == eredmenyek.Max())
                    {
                        lblResult.Content = i;
                    }
                }
            }
        }
コード例 #5
0
        // public method
        // data initialize
        public void DataInitialize()
        {
            // allocate queue
            receiveQueue     = new PacketQueue();
            sendQueue        = new PacketQueue();
            indexClientQueue = new Queue <Socket>();

            // allocate buffer
            receiveBuffer = new byte[bufferSize];
            sendBuffer    = new byte[bufferSize];

            // set network processor
            networkProcessor             = new NetworkProcessor();
            networkProcessor.OnReceived += OnReceivePacketFromClient;

            // set data processor
            dataProcessor = new DataProcessor(networkProcessor);

            // set receive notifier
            RegisterServerReceivePacket((int)ClientToServerPacket.JoinRequest, ReceiveJoinRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.LoginRequest, ReceiveLoginRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.GameDataRequest, ReceiveGameDataRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.StoreCreateRequest, ReceiveStoreCreateRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.ItemCreateRequest, ReceiveItemCreateRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.ItemAcquireRequest, ReceiveItemCreateRequest);
            RegisterServerReceivePacket((int)ClientToServerPacket.ItemSellRequest, ReceiveItemSellRequest);
        }
コード例 #6
0
    // constuctor - no parameter
    public DataProcessor(NetworkProcessor netpro)
    {
        // connect network processor
        networkProcessor = netpro;

        // connect database
        sqlCommand = new MySqlCommand();
        try
        {
            connectString = "Server=127.0.0.1;Database=gameschema;Uid=root;Pwd=root";
            sqlConnection = new MySqlConnection(connectString);
            sqlConnection.Open();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.StackTrace);
            Console.WriteLine("Server : Exception - DataProcessor : Database connect fail");
        }
        finally
        {
            sqlConnection.Close();
        }

        Console.WriteLine("Success Database Connect");
    }
コード例 #7
0
 private void MenuLoadNetwork_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         NetworkProcessor.LoadNetFromFile(ref net, "net.txt");
         MessageBox.Show("Háló sikeresen betöltve!");
     }
     catch { MessageBox.Show("Hiba történt a fileból való net betöltése közben!"); }
 }
コード例 #8
0
        public TcpServer(IProtoProvider protocol)
        {
            if (protocol == null)
            {
                throw new ArgumentNullException();
            }

            m_ProtocolProvider  = protocol;
            m_ListeningTasks    = new List <Task>();
            m_ReceivingTasks    = new List <Task>();
            m_CurrentProcessor  = new NetworkProcessor();
            m_ActiveConnections = new Dictionary <Guid, NetworkConnection>();

            RegisterProcessors();
        }
コード例 #9
0
        void ParseBlockDefinition(NbtCompound compound)
        {
            byte      id   = (byte)compound["ID"].Value;
            BlockInfo info = game.BlockInfo;

            info.Name[id]            = (string)compound["Name"].Value;
            info.Collide[id]         = (CollideType)compound["CollideType"].Value;
            info.SpeedMultiplier[id] = (float)compound["Speed"].Value;

            byte[] data = (byte[])compound["Textures"].Value;
            info.SetTex(data[0], Side.Top, id);
            info.SetTex(data[1], Side.Bottom, id);
            info.SetTex(data[2], Side.Left, id);
            info.SetTex(data[3], Side.Right, id);
            info.SetTex(data[4], Side.Front, id);
            info.SetTex(data[5], Side.Back, id);

            info.BlocksLight[id] = (byte)compound["TransmitsLight"].Value == 0;
            byte soundId = (byte)compound["WalkSound"].Value;

            info.DigSounds[id]  = NetworkProcessor.breakSnds[soundId];
            info.StepSounds[id] = NetworkProcessor.stepSnds[soundId];
            info.FullBright[id] = (byte)compound["FullBright"].Value != 0;
            info.IsSprite[id]   = (byte)compound["Shape"].Value == 0;
            NetworkProcessor.SetBlockDraw(info, id, (byte)compound["BlockDraw"].Value);

            data = (byte[])compound["Fog"].Value;
            info.FogDensity[id] = (data[0] + 1) / 128f;
            info.FogColour[id]  = new FastColour(data[1], data[2], data[3]);

            data           = (byte[])compound["Coords"].Value;
            info.MinBB[id] = new Vector3(data[0] / 16f, data[1] / 16f, data[2] / 16f);
            info.MaxBB[id] = new Vector3(data[3] / 16f, data[4] / 16f, data[5] / 16f);

            if (info.Collide[id] != CollideType.Solid)
            {
                info.IsTransparent[id] = true;
                info.IsOpaque[id]      = false;
            }
            info.SetupCullingCache(id);
            info.InitLightOffsets();
            game.Events.RaiseBlockDefinitionChanged();
            info.DefinedCustomBlocks[id >> 5] |= (1u << (id & 0x1F));

            game.Inventory.CanPlace.SetNotOverridable(true, id);
            game.Inventory.CanDelete.SetNotOverridable(true, id);
            game.Events.RaiseBlockPermissionsChanged();
        }
コード例 #10
0
        private void Worker_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            worker.ReportProgress(0, "Tanulás ...");

            for (int i = 0; i < 100; i++)
            {
                if (i % 10 == 0)
                {
                    NetworkProcessor.SaveNetToFile(net, "net.txt");
                    worker.ReportProgress(i / 1, "%");
                }
                NetworkProcessor.Learning(net, "datas.txt");
            }
        }
コード例 #11
0
 private void MenuSaveNetwork_Click(object sender, RoutedEventArgs e)
 {
     NetworkProcessor.SaveNetToFile(net, "net.txt");
     MessageBox.Show("Háló sikeresen mentve!");
 }