コード例 #1
0
        // thủ tục đào TNC
        public void ClickTNC()
        {
            RefreshEntityList();

            if (EntityList.Count < 1)
            {
                return;
            }

            var EntityListClickTNC = new List <PlayerEntity>(EntityList);

            int minDistance = 200;

            var posX = CurrentPlayer.PositionX;
            var posY = CurrentPlayer.PositionY;

            foreach (var entity in EntityListClickTNC)
            {
                if (entity.EntityType == NPCType.Item)
                {
                    int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));
                    if (d > 0 && d < minDistance)
                    {
                        minDistance = d;

                        TalkToEntity(entity.EntityId);

                        break;
                    }
                }
            }
        }
コード例 #2
0
        // thủ tục click NPC Game trong các ải
        public void ClickNPCvuotai(string name)
        {
            if (name != "" && name != null)
            {
                RefreshEntityList();

                var EntityListClickNPCvuotai = new List <PlayerEntity>(EntityList);

                PlayerEntity result      = null;
                int          minDistance = int.MaxValue;

                var posX = CurrentPlayer.PositionX;
                var posY = CurrentPlayer.PositionY;

                foreach (var entity in EntityListClickNPCvuotai)
                {
                    if (entity.EntityNameNoMark.Contains(name) && entity.EntityType == NPCType.Item && entity.EntityNameNoMark == name)
                    {
                        int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));
                        if (d < minDistance)
                        {
                            minDistance = d;
                            result      = entity;
                            break;
                        }
                    }
                }

                if (result != null)
                {
                    TalkToEntity(result.EntityId);
                }
            }
        }
コード例 #3
0
        public void HoiSinh(string name)
        {
            RefreshEntityList();

            PlayerEntity result      = null;
            int          minDistance = int.MaxValue;
            var          posX        = CurrentPlayer.PositionX;
            var          posY        = CurrentPlayer.PositionY;

            foreach (var entity in EntityList)
            {
                if (entity.EntityType != NPCType.Player)
                {
                    continue;
                }
                if (entity.EntityNameUnicode.Contains(name))
                {
                    int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));
                    if (d < minDistance)
                    {
                        minDistance = d;
                        result      = entity;
                        break;
                    }
                }
            }
            if (result != null && result.PlayerStatus == PlayerStatus.Death)//YeuCo 128
            {
                AttackVictim(458840, result.EntityId);
            }
        }
コード例 #4
0
        public void ClickNPC(string name)
        {
            arritemNameID = name.Split('-');

            RefreshEntityList();

            PlayerEntity result      = null;
            int          minDistance = int.MaxValue;
            var          posX        = CurrentPlayer.PositionX;
            var          posY        = CurrentPlayer.PositionY;

            foreach (var entity in EntityList)
            {
                if (entity.EntityType != NPCType.Item)
                {
                    continue;
                }
                if (entity.EntityNameNoMark.Contains(arritemNameID[1]))
                {
                    int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));
                    if (d < minDistance)
                    {
                        minDistance = d;
                        result      = entity;
                        break;
                    }
                }
            }
            if (result != null)
            {
                TalkToEntity(result.EntityId);
            }
        }
コード例 #5
0
        // thủ tục đánh quái
        public void Trainquai(int IDskin, string name)
        {
            if (name != "" && name != null && IDskin.ToString() != "" && IDskin.ToString() != null)
            {
                RefreshEntityList();

                arritemNamequaiID = name.Split('/');

                if (EntityList.Count < 1)
                {
                    return;
                }

                var EntityListTrainquai = new List <PlayerEntity>(EntityList);

                var posX = CurrentPlayer.PositionX;
                var posY = CurrentPlayer.PositionY;


                foreach (var entity in EntityListTrainquai)
                {
                    if (entity.EntityType == NPCType.Beast && entity.EntityId.ToString() == arritemNamequaiID[0].ToLower().Trim())
                    {
                        int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));

                        if (d < 1000 && (CurrentPlayer.Hephai == (int)HePhai.Nmk || CurrentPlayer.Hephai == (int)HePhai.Dgc || CurrentPlayer.Hephai == (int)HePhai.Tyvt || CurrentPlayer.Hephai == (int)HePhai.Tyln || CurrentPlayer.Hephai == (int)HePhai.Nmd || CurrentPlayer.Hephai == (int)HePhai.Mgb || CurrentPlayer.Hephai == (int)HePhai.Vdk || CurrentPlayer.Hephai == (int)HePhai.Vdb || CurrentPlayer.Hephai == (int)HePhai.Tlt || CurrentPlayer.Hephai == (int)HePhai.Clts || CurrentPlayer.Hephai == (int)HePhai.Dm || CurrentPlayer.Hephai == (int)HePhai.Hd))
                        {
                            BuffSkill(IDskin, entity.PositionX, entity.PositionY);
                            break;
                        }
                        else if (d > 1000 && (CurrentPlayer.Hephai == (int)HePhai.Nmk || CurrentPlayer.Hephai == (int)HePhai.Dgc || CurrentPlayer.Hephai == (int)HePhai.Tyvt || CurrentPlayer.Hephai == (int)HePhai.Tyln || CurrentPlayer.Hephai == (int)HePhai.Nmd || CurrentPlayer.Hephai == (int)HePhai.Mgb || CurrentPlayer.Hephai == (int)HePhai.Vdk || CurrentPlayer.Hephai == (int)HePhai.Vdb || CurrentPlayer.Hephai == (int)HePhai.Tlt || CurrentPlayer.Hephai == (int)HePhai.Clts || CurrentPlayer.Hephai == (int)HePhai.Dm || CurrentPlayer.Hephai == (int)HePhai.Hd))
                        {
                            ShortMove(entity.PositionX, entity.PositionY);

                            if (Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY)) < 1000)
                            {
                                BuffSkill(IDskin, entity.PositionX, entity.PositionY);
                                break;
                            }
                        }
                        else if (CurrentPlayer.Hephai == (int)HePhai.Tld || CurrentPlayer.Hephai == (int)HePhai.Tlq || CurrentPlayer.Hephai == (int)HePhai.Cbb || CurrentPlayer.Hephai == (int)HePhai.Cs)
                        {
                            ShortMove(entity.PositionX, entity.PositionY);

                            if (Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY)) < 100)
                            {
                                BuffSkill(IDskin, entity.PositionX, entity.PositionY);
                                break;
                            }
                        }
                        else
                        {
                            break;
                        }
                    }
                }
            }
        }
コード例 #6
0
        // thủ tục Buff cho các nhân vật game
        public void BuffPlayer(string NpcName)
        {
            if (NpcName != "" && NpcName != null)
            {
                RefreshEntityList();

                if (EntityList.Count < 1)
                {
                    return;
                }

                var EntityListBuffPlayer = new List <PlayerEntity>(EntityList);

                PlayerEntity result      = null;
                int          minDistance = int.MaxValue;

                var posX = CurrentPlayer.PositionX;
                var posY = CurrentPlayer.PositionY;

                foreach (var entity in EntityListBuffPlayer)
                {
                    if (entity.EntityType == NPCType.Player && entity.EntityNameNoMark == NpcName)
                    {
                        int d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));
                        if (d < minDistance)
                        {
                            minDistance = d;
                            result      = entity;
                            break;
                        }
                    }
                }

                if (result != null)
                {
                    AttackVictim(GameConst.SenIDKill, result.EntityId);
                }
            }
        }
コード例 #7
0
        public void ClickTNC()
        {
            RefreshEntityList();

            var posX = CurrentPlayer.PositionX;
            var posY = CurrentPlayer.PositionY;

            foreach (var entity in EntityList)
            {
                if (entity.EntityType.Equals("6"))
                {
                    continue;
                }

                var d = Convert.ToInt32(GameGeneral.Distance(posX, posY, entity.PositionX, entity.PositionY));

                if (d > 0 && d < 200)
                {
                    TalkToEntity(entity.EntityId);
                    break;
                }
            }
        }