Вопрос Кик ночной город

Начинающий
Статус
Оффлайн
Регистрация
3 Мар 2024
Сообщения
52
Реакции[?]
1
Поинты[?]
1K
Видел тему -> https://yougame.biz/threads/337663/
Помогите в мой код добавить, чтобы при первом громе не кикало


Код:
    void function() {

        auto Game = SSystemGlobalEnvironment::Singleton()->GetIGame();
        if (!Game) return;
        auto pPhysicalWorld = SSystemGlobalEnvironment::Singleton()->GetIPhysicalWorld();   
        if (!pPhysicalWorld) return;
        auto sGameFramework = Game->GetIGameFramework();               
        if (!sGameFramework) return;
        auto pEntitySystem = sGameFramework->GetIEntitySystem();   
        if (!pEntitySystem) return;
        auto pEntityIt = pEntitySystem->GetEntityIterator();   
        if (!pEntityIt) return;
        auto nActor = sGameFramework->GetClientActor();                                                       if (!nActor) return;
        auto pRenderer = SSystemGlobalEnvironment::Singleton()->GetIRenderer();
        if (!pRenderer) return;
        auto sVar = Game->GetCVars();                               
        if (!sVar) return;
        auto pRules = sGameFramework->GetGameRules(); 
        if (!pRules) return;
        auto pActorSystem = sGameFramework->GetActorSystem(); 
        if (!pActorSystem) return;

        auto nItem = nActor->GetCurrentItem(); 
        if (!nItem) return;
        auto pWeapon = nItem->GetWeapon();     
        if (!pWeapon) return;
        auto pWeaponGeneral = pWeapon->GetWeaponGeneral();   
        if (!pWeaponGeneral) return;
        auto pWeaponParameters = pWeaponGeneral->GetParameters(); 
        if (!pWeaponParameters) return;
        auto pTimer = SSystemGlobalEnvironment::Singleton()->GetTimer();
        if (!pTimer) return;
        auto pInput = SSystemGlobalEnvironment::Singleton()->GetInput();
        if (!pInput) return;
        auto pKey = new UIKeyState(pInput);

        Timer.Upd(pTimer->GetFrameTime());
        Timer.Hz(8.f);
 
    //    Game->GetCPlayerStatus()->SetAfkTime(0); //анти-афк

        Vec3 ShootPos = pRenderer->GetViewCamera();

        update(ShootPos, nActor);

        vector<SvRequestShootHit::RequestHit> hit;



        while (auto pEntity = pEntityIt->Next()) {
            if (pEntity->IsHidden()) continue;

            

            const char* pName = pEntity->GetName();

            IEntityClass* pEntityClass = pEntity->GetEntityClass(); if (!pEntityClass) continue;
            cchar pClassName = pEntityClass->GetIClassName();

            AABB aabb;
            pEntity->GetWorldBounds(aabb);

            float GetDistance = pDistance(ShootPos, aabb.GetCenter());


            

            static int hits = 13;

            if (ObjectsMultihit(pEntity, pClassName, pName, pKey, GetDistance, hits, sMultiHit)) {

                hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 0, 6, 12, ShootPos, 0.0f, nActor->HitGett()));
                for (size_t i = 0; i < hits; ++i) hit.push_back(SvRequestShootHit::RequestHit(pEntity->GetEntityId(), 0, 1, 0, aabb.GetCenter(), 0.0f, 0));

                continue;
            }

        }
        pEntityIt->Release();
        IActorSystem::IActorIterator* ActorIterator = nullptr;
        pActorSystem->CreateActorIterator(&ActorIterator); if (!ActorIterator) return;

        for (; auto pActor = ActorIterator->Next();)
        {
            Vec3 BonePos = { 0, 0, 0 };

            int idbone = 0;
            int MaterialId = 0;


            if (sMultiHit && pSuicide)
            {

            }
            else if (sMultiHit && team_Kill)
            {
                if (check_actor(nActor, pActor)) continue;
            }
            else
            {
                if (check_actor(nActor, pActor)) continue;
                if (!GetTeam(nActor, pActor)) continue;
            }

            auto pEntityActor = pActor->GetEntity(); if (!pEntityActor) continue;
            cchar pActorName = pEntityActor->GetName();
            cchar sAnim = pActor->GetAnimationGraphState()->GetCurrentStateName();

            

            if (pActor->IsDead()) continue;


            if (NumerationEntity(pRules, pActorName, sAnim, pEntityActor, idbone, BonePos, MaterialId) && nItem->IsWeapon()) {

                if (team_Wallshoot || pPhysicalWorld->isVisible(pEntitySystem, pEntityActor, ShootPos, BonePos)) {

                    if (sMultiHit ) {

                        hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));
                        for (int i = 0; i < 1; ++i) hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
                    }
                }
            }

        }
        ActorIterator->Release();


        if (sMultiHit ) {

            if (Timer.Hav()) {

                if (!hit.empty()) {

                    if (nItem->IsWeapon()) {
                        AddProjectile(hit);
                        RequestShootHit(nItem);
                        clear();
                    }
                }
                Timer.Res();
            }
        }
    }


}
 
Похожие темы
Сверху Снизу