public override void Update()
        {
            var mon = NewPlayerManager.GetMonsters();

            foreach (var m in mon)
            {
                if (m.BloodBarCom != null)
                {
                    m.BloodBarCom.ShowBloodBar();
                }
            }
            //foreach (var m in NewPlayerManager.MonsterLst) if (m.BloodBarCom != null) m.BloodBarCom.ShowBloodBar();
        }
Exemplo n.º 2
0
        // thx https://github.com/pentium1131/GunfireReborn-aimbot
        public override void Update()
        {
            if (Input.GetKeyDown(KeyCode.X))
            {
                Toggled = !Toggled;
            }
            if (Toggled)
            {
                return;
            }
            var monsters = NewPlayerManager.GetMonsters();

            if (monsters != null)
            {
                Transform closestMonster     = null;
                var       closestMonsterDist = 99999f;
                foreach (var monster in monsters)
                {
                    if (monster == null)
                    {
                        continue;
                    }
                    var bodyPartCom = monster.BodyPartCom;
                    if (bodyPartCom == null)
                    {
                        continue;
                    }
                    var monsterTransform = bodyPartCom.GetWeakTrans(true);
                    if (monsterTransform == null)
                    {
                        continue;
                    }
                    var vec = CameraManager.MainCameraCom.WorldToViewportPoint(monsterTransform.position);
                    if (true)
                    {
                        if (vec.z <= 0)
                        {
                            continue;
                        }
                        vec.y = 0;
                        vec.x = 0.5f - vec.x;
                        vec.x = Screen.width * vec.x;
                        vec.z = 0f;
                        if (vec.magnitude > 150f)
                        {
                            continue;
                        }
                    }
                    vec = monsterTransform.position - CameraManager.MainCamera.position;
                    var ray     = new Ray(CameraManager.MainCamera.position, vec);
                    var hits    = Physics.RaycastAll(ray, vec.magnitude);
                    var visible = true;
                    foreach (var hit in hits)
                    {
                        if (hit.collider.gameObject.layer == 0 || hit.collider.gameObject.layer == 30 || hit.collider.gameObject.layer == 31) //&& hit.collider.name.Contains("_")
                        {
                            visible = false;
                            break;
                        }
                    }
                    if (visible)
                    {
                        if (vec.magnitude < closestMonsterDist)
                        {
                            closestMonsterDist = vec.magnitude;
                            closestMonster     = monsterTransform;
                        }
                    }
                }
                if (closestMonster != null)
                {
                    var offset = closestMonster.position;
                    offset += new Vector3(0, 0.2f);
                    var screenAim = CameraManager.MainCameraCom.WorldToScreenPoint(offset);
                    var aimTarget = new Vector2(screenAim.x, Screen.height - screenAim.y);
                    if (aimTarget != Vector2.zero)
                    {
                        var x = aimTarget.x - Screen.width / 2.0f;
                        var y = aimTarget.y - Screen.height / 2.0f;
                        x /= 2.5f;
                        y /= 2.5f;
                        mouse_event(0x0001, (int)x, (int)y, 0, 0);
                    }
                }
            }
        }
Exemplo n.º 3
0
        public override void OnUpdate() // Runs once per frame.
        {
            try
            {
                if (HeroCameraManager.HeroObj != null && HeroCameraManager.HeroObj.BulletPreFormCom != null && HeroCameraManager.HeroObj.BulletPreFormCom.weapondict != null)
                {
                    foreach (KeyValuePair <int, WeaponPerformanceObj> Weapon in HeroCameraManager.HeroObj.BulletPreFormCom.weapondict)
                    {
                        if (!limitangle)
                        {
                            Weapon.value.ModifyBulletInMagzine(100, 100);//无限子弹,不用换弹
                            if (Weapon.value.WeaponAttr.Radius != 500f)
                            {
                                Weapon.value.WeaponAttr.Radius = 500f;//爆炸范围
                            }
                        }
                        if (imreload)
                        {
                            Weapon.value.ReloadBulletImmediately(); //消耗子弹,光速换弹
                        }

                        if (Weapon.value.WeaponAttr.Accuracy != 10000)
                        {
                            Weapon.value.WeaponAttr.Accuracy = 10000;//子弹不扩散
                        }
                        if (Weapon.value.WeaponAttr.AttDis != 500f)
                        {
                            Weapon.value.WeaponAttr.AttDis = 500f;//射程
                        }
                        //Weapon.value.WeaponAttr.Pierce = 99; //穿透力,改了好像无效果?

                        if (Weapon.value.WeaponAttr.BulletSpeed >= 50f && Weapon.value.WeaponAttr.BulletSpeed != 55f)//弹道速度,某些武器改了会打不到怪
                        {
                            if (Weapon.value.WeaponAttr.BulletSpeed != 500f)
                            {
                                Weapon.value.WeaponAttr.BulletSpeed = 500f;
                            }
                        }
                        else if (Weapon.value.WeaponAttr.BulletSpeed == 30f)
                        {
                            if (Weapon.value.WeaponAttr.BulletSpeed != 500f)
                            {
                                Weapon.value.WeaponAttr.BulletSpeed = 500f;
                            }
                        }
                        if (Weapon.value.WeaponAttr.Stability != 10000)
                        {
                            Weapon.value.WeaponAttr.Stability = 10000;//后坐力
                        }
                        if (Weapon.value.WeaponAttr.Radius > 0f)
                        {
                            if (Weapon.value.WeaponAttr.Radius < 9f)
                            {
                                Weapon.value.WeaponAttr.Radius = 9f;//爆炸范围(会影响爆炸类武器、火标和电手套)
                            }
                        }
                    }
                }
                if (Input.GetKeyUp(KeyCode.Home))
                {
                    shownpc = !shownpc;
                }
                if (Input.GetKey(KeyCode.F))
                {
                    shownpc = true;
                }
                if (Input.GetKeyUp(KeyCode.F))
                {
                    shownpc = false;
                }
                if (Input.GetKeyUp(KeyCode.Delete))
                {
                    //if (WarShopManager.ShopItemDict.count > 0)
                    //{
                    //    bool first = true;
                    //    WarShopObject fobj = null;
                    //    foreach (KeyValuePair<int, WarShopObject> shopitem in WarShopManager.ShopItemDict)
                    //    {
                    //        if (shopitem.value.PropertyDict.ContainsKey("Inscription"))
                    //        {
                    //            List<int> Inscription = new List<int>();
                    //            Inscription.Add(4820); Inscription.Add(4821); Inscription.Add(4822); Inscription.Add(4823); Inscription.Add(4824); Inscription.Add(4825); Inscription.Add(4827);
                    //            shopitem.value.PropertyDict["Inscription"] = Inscription;
                    //        }
                    //
                    //    }
                    //}
                }
                if (Input.GetKeyUp(KeyCode.V))
                {
                    imreload = !imreload;
                }
                //War_Shop_Event
                //InitWarShop


                if (Input.GetKeyUp(KeyCode.Insert))//暴力模式全图锁
                {
                    limitangle = !limitangle;
                }

                //if (Input.GetMouseButton(1))
                if (Input.GetKeyUp(KeyCode.T))
                {
                    aimEnabled = !aimEnabled;
                }
                if ((aimEnabled && !Input.GetKey(KeyCode.LeftControl)) || (!aimEnabled && Input.GetKey(KeyCode.LeftControl)))//按F键临时开关自瞄(请按个人喜好修改)
                {
                    List <NewPlayerObject> monsters = NewPlayerManager.GetMonsters();
                    if (monsters != null)
                    {
                        Vector3 campos = CameraManager.MainCamera.position;

                        Transform nearmons = null;
                        float     neardis  = 99999f;
                        foreach (NewPlayerObject monster in monsters)
                        {
                            Transform montrans = monster.BodyPartCom.GetWeakTrans();
                            if (montrans == null)
                            {
                                continue;
                            }
                            Vector3 vec = CameraManager.MainCameraCom.WorldToViewportPoint(montrans.position);
                            if (limitangle)
                            {
                                if (vec.z <= 0)
                                {
                                    continue;
                                }
                                vec.y = 0;
                                vec.x = 0.5f - vec.x;
                                vec.x = Screen.width * vec.x;
                                vec.z = 0f;
                                if (vec.magnitude > 150f)
                                {
                                    continue;                      //自瞄范围
                                }
                            }
                            vec = montrans.position - campos;
                            float curdis  = vec.magnitude;
                            Ray   ray     = new Ray(campos, vec);
                            var   hits    = Physics.RaycastAll(ray, curdis);
                            bool  visible = true;
                            foreach (var hit in hits)
                            {
                                if (showallobjinfo)
                                {
                                    MelonLogger.Log(hit.collider.name);
                                    MelonLogger.Log(hit.collider.gameObject.layer.ToString());
                                }

                                if (hit.collider.gameObject.layer == 0 || hit.collider.gameObject.layer == 30 || hit.collider.gameObject.layer == 31) //&& hit.collider.name.Contains("_")
                                {
                                    if (showobjinfo)
                                    {
                                        MelonLogger.Log(hit.collider.name);
                                        MelonLogger.Log(hit.collider.gameObject.layer.ToString());
                                    }

                                    visible = false;//判断怪物是否可见
                                    break;
                                }
                            }
                            if (visible)
                            {
                                if (curdis < neardis)
                                {
                                    neardis  = curdis;
                                    nearmons = montrans;
                                }
                            }
                        }
                        if (nearmons != null)
                        {
                            Vector3 objpos = new Vector3();
                            objpos.x = HeroCameraManager.HeroObj.gameTrans.position.x;
                            objpos.y = HeroCameraManager.HeroObj.gameTrans.position.y + 1f;
                            objpos.z = HeroCameraManager.HeroObj.gameTrans.position.z;
                            Vector3 fw = nearmons.position - objpos;
                            fw.y += 0.12f;
                            Quaternion rot = Quaternion.LookRotation(fw);
                            HeroCameraManager.HeroObj.gameTrans.rotation = rot;
                            fw    = nearmons.position - campos;
                            fw.y += 0.12f;
                            Quaternion rot2 = Quaternion.LookRotation(fw);
                            CameraManager.MainCamera.rotation = rot2;
                        }
                    }
                }
            }
            catch
            {
            }
        }