Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Tab Targeting (GF v16.1)

  • Konuyu başlatan Konuyu başlatan VegaS89
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 19
  • Görüntüleme Görüntüleme 6K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

VegaS89

Level 2
Üye
Katılım
6 Eyl 2016
Konular
34
Mesajlar
73
Online süresi
3d 2h
Reaksiyon Skoru
168
Altın Konu
0
TM Yaşı
9 Yıl 9 Ay 3 Gün
Başarım Puanı
97
Yaş
36
MmoLira
1,337
DevLira
12
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!



Tab Targeting: Player has the possibility to select the nearest monster around the character by pressing the Tab key.
  • NOTE: Players are not able to select NPCs, Metin Stones and players as target!
Repository GitHub:




Türkçe Çeviri
Tab Tuşu ile İşaretleme : Oyuncunun kendisine en yakın canavarı Tab tuşuna basarak işaretlemesine olanak sağlar.
  • NOT : Oyuncular NPC'leri, Metin Taşlarını ve karakterleri seçemezler.
GitHub Veri Deposu:




 
Moderatör tarafında düzenlendi:
Bulamayan arkdaşlar için;
Kod:
//Locale_inc.h açılır
// add:
#define ENABLE_TAB_NEXT_TARGET


//PythonApplicationEvent.cpp
//1.1 Search for:
#include "../eterlib/Camera.h"
//1.1 Add after:
#if defined(ENABLE_TAB_NEXT_TARGET)
    #include "PythonCharacterManager.h"
    #include "PythonPlayer.h"
    #include "InstanceBase.h"
#endif

//1.2 Search for:
    rkWndMgr.RunKeyDown(iIndex);
//1.2 Add before:
#if defined(ENABLE_TAB_NEXT_TARGET)
    if (DIK_TAB == iIndex)
    {
        CPythonPlayer * rkPlayer = CPythonPlayer::InstancePtr();
        if (rkPlayer)
        {
            CInstanceBase * pkInstTarget = CPythonCharacterManager::Instance().GetTabNextTargetPointer(rkPlayer->NEW_GetMainActorPtr());
            if (pkInstTarget)
                rkPlayer->SetTarget(pkInstTarget->GetVirtualID(), true);
        }
    }
#endif


//PythonCharacterManager.cpp açılır
//1.1 Search for:
    m_v2PickedInstProjPos = D3DXVECTOR2(0.0f, 0.0f);
//1.1 Add after:
#if defined(ENABLE_TAB_NEXT_TARGET)
    ResetTabNextTargetVectorIndex();
#endif

//1.2 Search for:
void CPythonCharacterManager::SelectInstance(DWORD VirtualID)
{
    TCharacterInstanceMap::iterator itor = m_kAliveInstMap.find(VirtualID);

    if (m_kAliveInstMap.end() == itor)
    {
        Tracef("SelectCharacterInstance: no vid by %d\n", VirtualID);
        return;
    }

    m_pkInstBind = itor->second;
}
//1.2 Add after:
#if defined(ENABLE_TAB_NEXT_TARGET)
CInstanceBase * CPythonCharacterManager::GetTabNextTargetPointer(CInstanceBase * pkInstMain)
{
    if (!pkInstMain)
    {
        ResetTabNextTargetVectorIndex();
        return NULL;
    }
  
    struct FCharacterManagerInstanceTarget
    {
        CInstanceBase * pkInstMain;
        FCharacterManagerInstanceTarget(CInstanceBase * pInstance) : pkInstMain(pInstance) {}

        inline void operator () (const std::pair<DWORD, CInstanceBase *>& itor)
        {
            const auto pkInstTarget = itor.second;
            if (!pkInstTarget || pkInstTarget == pkInstMain || !pkInstTarget->IsEnemy())
                return;

            const auto fRadiusDistance = pkInstMain->GetDistance(pkInstTarget);
            if (fRadiusDistance < 1500.0f)
                m_vecTargetInstance.push_back(pkInstTarget);
        }

        std::vector<CInstanceBase *> m_vecTargetInstance;
    };

    FCharacterManagerInstanceTarget f(pkInstMain);
    f = std::for_each(m_kAliveInstMap.begin(), m_kAliveInstMap.end(), f);

    const auto kTargetCount = f.m_vecTargetInstance.size();
    if (kTargetCount == 0)
    {
        ResetTabNextTargetVectorIndex();
        return NULL;
    }

    if (GetTabNextTargetVectorIndex() >= kTargetCount - 1)
        ResetTabNextTargetVectorIndex();

    return f.m_vecTargetInstance.at(++m_adwVectorIndexTabNextTarget);
}
#endif

//PythonCharacterManager.h açılır

//1.1 Search for:
    protected:
        void                                UpdateTransform();
        void                                UpdateDeleting();
//1.1 Add after:
#if defined(ENABLE_TAB_NEXT_TARGET)
    public:
        CInstanceBase *                        GetTabNextTargetPointer(CInstanceBase * pkInstMain);
        const DWORD                            GetTabNextTargetVectorIndex() { return m_adwVectorIndexTabNextTarget; }
        void                                ResetTabNextTargetVectorIndex() { m_adwVectorIndexTabNextTarget = -1; }
      
    protected:
        DWORD                                m_adwVectorIndexTabNextTarget;
#endif
 
VERİLER SIZDIRILINCA github.com'a GEÇERKEN BEN
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst