Example #1
0
        //发送飞鸽信息
        private void Send(PigeonInfo info)
        {
            short msgLen = 28;

            msgLen += (short)(Coding.GetDefauleCoding().GetBytes(info.name).Length + 1);
            msgLen += 17;
            msgLen += (short)(Coding.GetDefauleCoding().GetBytes(info.text).Length + 1);
            GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut();
            outpack.WriteInt16(msgLen);
            outpack.WriteInt16(1004);
            outpack.WriteInt32(0xffffff);
            outpack.WriteInt32(2017);
            outpack.WriteInt32(1419);
            outpack.WriteInt32(-1);
            outpack.WriteInt32(0);
            outpack.WriteByte(4); //四个字符串数组
            outpack.WriteString(info.name);
            outpack.WriteString("ALLUSERS");
            outpack.WriteString("1241350");
            outpack.WriteString(info.text);
            outpack.WriteByte(0);
            outpack.WriteByte(0);
            outpack.WriteByte(0);
            UserEngine.Instance().BrocatBuffer(outpack.Flush());
        }
Example #2
0
        public void SendGuanJueInfo(PlayerObject play)
        {
            //  byte[] data1 = { 25, 0, 247, 3, 0, 0, 0, 0, 113, 0, 1, 12, 49, 32, 45, 49, 32, 51, 48, 48, 48, 48, 48, 48, 0 };
            //捐献的
            ulong guanjue = play.GetBaseAttr().guanjue;

            byte[] byte_ = Coding.GetDefauleCoding().GetBytes(guanjue.ToString());
            GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut(play.GetGamePackKeyEx());
            outpack.WriteUInt16((ushort)(byte_.Length + 4 + 14));
            outpack.WriteUInt16(1015);
            outpack.WriteUInt32(0);
            outpack.WriteUInt16(113);
            outpack.WriteByte(1);

            //长度--
            outpack.WriteByte((byte)(byte_.Length + 5));
            String sjuewei = ((byte)play.GetGuanJue()).ToString();

            byte[] jueweibyte_ = Coding.GetDefauleCoding().GetBytes(sjuewei);
            outpack.WriteByte(jueweibyte_[0]); //爵位
            outpack.WriteByte(32);             //分隔符
            outpack.WriteByte(45);
            outpack.WriteByte(49);
            outpack.WriteByte(32); //分隔符
            outpack.WriteBuff(byte_);
            outpack.WriteByte(0);


            play.SendData(outpack.Flush());
        }
Example #3
0
        public void GetFriendInfo(int playerid)
        {
            PlayerObject obj = UserEngine.Instance().FindPlayerObjectToPlayerId(playerid);

            if (obj == null)
            {
                return;
            }

            GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut(play.GetGamePackKeyEx());
            outpack.WriteUInt16(52);
            outpack.WriteUInt16(2033);
            outpack.WriteInt32(playerid);
            outpack.WriteUInt32(obj.GetBaseAttr().lookface);
            outpack.WriteByte(obj.GetBaseAttr().level);
            outpack.WriteByte(obj.GetBaseAttr().profession); //职业
            outpack.WriteInt32(0);
            outpack.WriteInt16(0);
            outpack.WriteByte(206);
            outpack.WriteByte(222);
            byte[] data = new byte[30];
            outpack.WriteBuff(data);
            play.SendData(outpack.Flush());
        }
Example #4
0
        public override bool Run()
        {
            bool ret = base.Run();
            //距离超出-
            if (!this.GetPoint().CheckVisualDistance(mPlay.GetCurrentX(), mPlay.GetCurrentY(), DIS))
            {
                mPlay.GetTimerSystem().DeleteStatus(GameStruct.RoleStatus.STATUS_WANGNIANWULING);
                return false;
            }
            //刷新周围对象以便寻找目标
            if (this.GetAi().GetTargetObject() == null)
            {
                if (System.Environment.TickCount - mnRefreshTick > REFRESHTIME)
                {
                    this.RefreshVisibleObject();
                    mnRefreshTick = System.Environment.TickCount;
                }
            }

            if (mAddHP_Time.ToNextTime())
            {
                if (mPlay.GetBaseAttr().life < mPlay.GetBaseAttr().life_max)
                {
                    int nAddHP = (int)(mPlay.GetBaseAttr().life_max * 0.05);//百分之五的血量
                    mPlay.ChangeAttribute(GameStruct.UserAttribute.LIFE, nAddHP, true);
                    NetMsg.MsgMonsterMagicInjuredInfo magicattack = new NetMsg.MsgMonsterMagicInjuredInfo();
                    magicattack.roleid = this.GetTypeId();
                    magicattack.role_x = this.GetCurrentX();
                    magicattack.role_y = this.GetCurrentY();
                    magicattack.tag = 21;
                    magicattack.magicid = 6055;
                    magicattack.magiclv = 0;
                    magicattack.monsterid = mPlay.GetTypeId();
                    magicattack.injuredvalue = (uint)nAddHP;
                    this.BrocatBuffer(magicattack.GetBuffer());

                    byte[] data2 = {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                    GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut();
                    outpack.WriteUInt16(88);
                    outpack.WriteUInt16(1105);
                    outpack.WriteUInt32(this.GetTypeId());
                    outpack.WriteUInt32(mPlay.GetTypeId());
                    outpack.WriteUInt16(6055);  //技能id
                    outpack.WriteUInt16(0);//技能等级
                    outpack.WriteByte(this.GetDir());
                    outpack.WriteByte(1); //类型
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt16(0);
                    outpack.WriteUInt32(mPlay.GetTypeId());
                    outpack.WriteInt32(nAddHP);
                    outpack.WriteBuff(data2);
                    this.BrocatBuffer(outpack.Flush());
                        //NetMsg.MsgGroupM;agicAttackInfo magicattackex = new NetMsg.MsgGroupMagicAttackInfo();
                    //magicattackex.nID = this.GetTypeId();
                    //magicattackex.nX = this.GetCurrentX();
                    //magicattackex.nY = this.GetCurrentX();
                    //magicattackex.nMagicID = 6055;
                    //magicattackex.nMagicLv = 0;
                    //magicattackex.bDir = this.GetDir();
                    //this.BrocatBuffer(magicattackex.GetBuffer());
                }

            }
            return ret;
        }
Example #5
0
        public override bool Run()
        {
            bool ret = base.Run();

            //距离超出-
            if (!this.GetPoint().CheckVisualDistance(mPlay.GetCurrentX(), mPlay.GetCurrentY(), DIS))
            {
                mPlay.GetTimerSystem().DeleteStatus(GameStruct.RoleStatus.STATUS_WANGNIANWULING);
                return(false);
            }
            //刷新周围对象以便寻找目标
            if (this.GetAi().GetTargetObject() == null)
            {
                if (System.Environment.TickCount - mnRefreshTick > REFRESHTIME)
                {
                    this.RefreshVisibleObject();
                    mnRefreshTick = System.Environment.TickCount;
                }
            }

            if (mAddHP_Time.ToNextTime())
            {
                if (mPlay.GetBaseAttr().life < mPlay.GetBaseAttr().life_max)
                {
                    int nAddHP = (int)(mPlay.GetBaseAttr().life_max * 0.05);//百分之五的血量
                    mPlay.ChangeAttribute(GameStruct.UserAttribute.LIFE, nAddHP, true);
                    NetMsg.MsgMonsterMagicInjuredInfo magicattack = new NetMsg.MsgMonsterMagicInjuredInfo();
                    magicattack.roleid       = this.GetTypeId();
                    magicattack.role_x       = this.GetCurrentX();
                    magicattack.role_y       = this.GetCurrentY();
                    magicattack.tag          = 21;
                    magicattack.magicid      = 6055;
                    magicattack.magiclv      = 0;
                    magicattack.monsterid    = mPlay.GetTypeId();
                    magicattack.injuredvalue = (uint)nAddHP;
                    this.BrocatBuffer(magicattack.GetBuffer());



                    byte[] data2 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                    GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut();
                    outpack.WriteUInt16(88);
                    outpack.WriteUInt16(1105);
                    outpack.WriteUInt32(this.GetTypeId());
                    outpack.WriteUInt32(mPlay.GetTypeId());
                    outpack.WriteUInt16(6055); //技能id
                    outpack.WriteUInt16(0);    //技能等级
                    outpack.WriteByte(this.GetDir());
                    outpack.WriteByte(1);      //类型
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt32(0);
                    outpack.WriteUInt16(0);
                    outpack.WriteUInt32(mPlay.GetTypeId());
                    outpack.WriteInt32(nAddHP);
                    outpack.WriteBuff(data2);
                    this.BrocatBuffer(outpack.Flush());
                    //NetMsg.MsgGroupM;agicAttackInfo magicattackex = new NetMsg.MsgGroupMagicAttackInfo();
                    //magicattackex.nID = this.GetTypeId();
                    //magicattackex.nX = this.GetCurrentX();
                    //magicattackex.nY = this.GetCurrentX();
                    //magicattackex.nMagicID = 6055;
                    //magicattackex.nMagicLv = 0;
                    //magicattackex.bDir = this.GetDir();
                    //this.BrocatBuffer(magicattackex.GetBuffer());
                }
            }
            return(ret);
        }
Example #6
0
 //发送飞鸽信息
 private void Send(PigeonInfo info)
 {
     short msgLen = 28;
     msgLen += (short)(Coding.GetDefauleCoding().GetBytes(info.name).Length + 1);
     msgLen += 17;
     msgLen += (short)(Coding.GetDefauleCoding().GetBytes(info.text).Length + 1);
     GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut();
     outpack.WriteInt16(msgLen);
     outpack.WriteInt16(1004);
     outpack.WriteInt32(0xffffff);
     outpack.WriteInt32(2017);
     outpack.WriteInt32(1419);
     outpack.WriteInt32(-1);
     outpack.WriteInt32(0);
     outpack.WriteByte(4); //四个字符串数组
     outpack.WriteString(info.name);
     outpack.WriteString("ALLUSERS");
     outpack.WriteString("1241350");
     outpack.WriteString(info.text);
     outpack.WriteByte(0);
     outpack.WriteByte(0);
     outpack.WriteByte(0);
     UserEngine.Instance().BrocatBuffer(outpack.Flush());
 }
Example #7
0
        public void GetFriendInfo(int playerid)
        {
            PlayerObject obj = UserEngine.Instance().FindPlayerObjectToPlayerId(playerid);
            if (obj == null) return;

            GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut(play.GetGamePackKeyEx());
            outpack.WriteUInt16(52);
            outpack.WriteUInt16(2033);
            outpack.WriteInt32(playerid);
            outpack.WriteUInt32(obj.GetBaseAttr().lookface);
            outpack.WriteByte(obj.GetBaseAttr().level);
            outpack.WriteByte(obj.GetBaseAttr().profession); //职业
            outpack.WriteInt32(0);
            outpack.WriteInt16(0);
            outpack.WriteByte(206);
            outpack.WriteByte(222);
            byte[] data = new byte[30];
            outpack.WriteBuff(data);
            play.SendData(outpack.Flush());
        }
Example #8
0
        public void SendGuanJueInfo(PlayerObject play)
        {
            //  byte[] data1 = { 25, 0, 247, 3, 0, 0, 0, 0, 113, 0, 1, 12, 49, 32, 45, 49, 32, 51, 48, 48, 48, 48, 48, 48, 0 };
            //捐献的
            ulong guanjue = play.GetBaseAttr().guanjue;
            byte[] byte_ = Coding.GetDefauleCoding().GetBytes(guanjue.ToString());
            GameBase.Network.PacketOut outpack = new GameBase.Network.PacketOut(play.GetGamePackKeyEx());
            outpack.WriteUInt16((ushort)(byte_.Length + 4 + 14));
            outpack.WriteUInt16(1015);
            outpack.WriteUInt32(0);
            outpack.WriteUInt16(113);
            outpack.WriteByte(1);

            //长度--
            outpack.WriteByte((byte)(byte_.Length + 5));
            String sjuewei = ((byte)play.GetGuanJue()).ToString();
            byte[] jueweibyte_ = Coding.GetDefauleCoding().GetBytes(sjuewei);
            outpack.WriteByte(jueweibyte_[0]); //爵位
            outpack.WriteByte(32); //分隔符
            outpack.WriteByte(45);
            outpack.WriteByte(49);
            outpack.WriteByte(32); //分隔符
            outpack.WriteBuff(byte_);
            outpack.WriteByte(0);

            play.SendData(outpack.Flush());
        }