Sosyal açıldı! Bir göz at → Hemen gir →

KAYNAK KOD Gameserver Başladığında Pk Botları Otomatik Atsın

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
Merhaba Cümleten Kolay Gelsin.

Gameserverdlg.h kısmına
Kod:
void AddBotPkStart();
ekliyoruz.
Kod:
// Gameserverdlg.cpp kısmını açıyoruz ve botlarlar ilgili bir satır bulup altına bu kodu yapıştırın

void CGameServerDlg::AddBotPkStart()

printf("INFO: AddBotPkStart fonksiyonu baslatiliyor...\n");
{
    // --- GENEL AYARLAR ---
    int Minute = 1440;      // Botların ne kadar süre kalacağı (24 saat)
    uint8 minlevel = 80;    // Minimum Level (ayarlanabilir)
    int sCount = 10;        // Her ırk/sınıf için atılacak bot sayısı
   
    // Sınıf ve Ulus ID'leri
    uint8 classWarrior = 1;
    uint8 classRogue = 2;
    uint8 classMage = 3;
    uint8 classPriest = 4;
    uint8 nationKarus = 1;
    uint8 nationHuman = 2;

    // Ronark Land (Zone 71) ayarları (Koordinatları kendi haritanıza göre ayarlayın!)
    uint8 zoneID = 71;
   
    // Karus Base civarı koordinatları (Örn: X=350, Y=350 civarı)
    float KarusXBase = 350.0f;
    float KarusYBase = 350.0f;

    // Human Base civarı koordinatları (Örn: X=650, Y=650 civarı)
    float HumanXBase = 650.0f;
    float HumanYBase = 650.0f;
   
    float Z = 0.0f; // Z koordinatı genellikle 0.0f veya harita zeminine uygun bir değer olmalıdır.

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // KARUS BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
   
    // Karus Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f; // Her bot arasında 1.5f mesafe
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classWarrior, nullptr, true);
    }
   
    // Karus Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        // Botları farklı bir alana veya Warrior'lardan kaydırılmış bir konuma atıyoruz
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classRogue, nullptr, true);
    }
   
    // Karus Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classMage, nullptr, true);
    }
   
    // Karus Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classPriest, nullptr, true);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // HUMAN BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
   
    // Human Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classWarrior, nullptr, true);
    }
   
    // Human Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classRogue, nullptr, true);
    }
   
    // Human Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classMage, nullptr, true);
    }
   
    // Human Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classPriest, nullptr, true);
    }
}
printf("INFO: AddBotPkStart fonksiyonu tamamlandi. Botlarin atilmasi denendi.\n");
}

GameServer Main kısmını bulup

if (g_pMain->Startup()) { // ... g_pMain->ResetBattleZone(BATTLEZONE_NONE);

bu kodun altına

Kod:
g_pMain->AddBotPkStart();

kodunu ekliyoruz ve derleme işlemine geçiyoruz

güle güle kullanın
 

gorothred

KY Kıdemli Üye
KAYIT
8 Ağu 2022
Mesajlar
110
Çözümler
1
Tepki puanı
60
Merhaba Cümleten Kolay Gelsin.

Gameserverdlg.h kısmına
Kod:
void AddBotPkStart();
ekliyoruz.
Kod:
// Gameserverdlg.cpp kısmını açıyoruz ve botlarlar ilgili bir satır bulup altına bu kodu yapıştırın

void CGameServerDlg::AddBotPkStart()

printf("INFO: AddBotPkStart fonksiyonu baslatiliyor...\n");
{
    // --- GENEL AYARLAR ---
    int Minute = 1440;      // Botların ne kadar süre kalacağı (24 saat)
    uint8 minlevel = 80;    // Minimum Level (ayarlanabilir)
    int sCount = 10;        // Her ırk/sınıf için atılacak bot sayısı
  
    // Sınıf ve Ulus ID'leri
    uint8 classWarrior = 1;
    uint8 classRogue = 2;
    uint8 classMage = 3;
    uint8 classPriest = 4;
    uint8 nationKarus = 1;
    uint8 nationHuman = 2;

    // Ronark Land (Zone 71) ayarları (Koordinatları kendi haritanıza göre ayarlayın!)
    uint8 zoneID = 71;
  
    // Karus Base civarı koordinatları (Örn: X=350, Y=350 civarı)
    float KarusXBase = 350.0f;
    float KarusYBase = 350.0f;

    // Human Base civarı koordinatları (Örn: X=650, Y=650 civarı)
    float HumanXBase = 650.0f;
    float HumanYBase = 650.0f;
  
    float Z = 0.0f; // Z koordinatı genellikle 0.0f veya harita zeminine uygun bir değer olmalıdır.

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // KARUS BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Karus Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f; // Her bot arasında 1.5f mesafe
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classWarrior, nullptr, true);
    }
  
    // Karus Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        // Botları farklı bir alana veya Warrior'lardan kaydırılmış bir konuma atıyoruz
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classRogue, nullptr, true);
    }
  
    // Karus Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classMage, nullptr, true);
    }
  
    // Karus Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classPriest, nullptr, true);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // HUMAN BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Human Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classWarrior, nullptr, true);
    }
  
    // Human Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classRogue, nullptr, true);
    }
  
    // Human Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classMage, nullptr, true);
    }
  
    // Human Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classPriest, nullptr, true);
    }
}
printf("INFO: AddBotPkStart fonksiyonu tamamlandi. Botlarin atilmasi denendi.\n");
}

GameServer Main kısmını bulup

if (g_pMain->Startup()) { // ... g_pMain->ResetBattleZone(BATTLEZONE_NONE);

bu kodun altına

Kod:
g_pMain->AddBotPkStart();

kodunu ekliyoruz ve derleme işlemine geçiyoruz

güle güle kullanın
Lazım olacak, teşekkürler
 

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
bunun için db ye bişey eklemek gerekiyormu ?
db'de bir ekleme yapanıza gerek yok files açıldığında otomatik atıcaktır oyuna girdiğinizde ortalama 80 adet bot cz'de aktif olacak
 

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
Daha Gerçekçi bir davranış için testler sonucu güncellenmiş hali ektedir. bunuda deneyebilirsiniz

Kod:
// KAÇIŞ REFLEKSİ BAŞLANGICI
    const float CRITICAL_HP_PERCENTAGE = 30.0f;

    if (GetHPRatio() * 100.0f < CRITICAL_HP_PERCENTAGE)
    {
        // Can kritik seviyenin altında, kaçış mantığı devreye girer.

        // Saldırmayı bırakmadan önce hedefi alalım.
        Unit* pLastTarget = g_pMain->GetUnitPtr(m_sTargetID, GetZoneID());
        m_sTargetID = -1; // Saldırmayı bırak

        __Vector3 vBot(GetX(), GetY(), GetZ());
        __Vector3 vEscapeDirection;

        if (pLastTarget != nullptr)
        {
            __Vector3 vTarget(pLastTarget->GetX(), pLastTarget->GetY(), pLastTarget->GetZ());
            // Saldıran düşmandan uzaklaşma yönü
            vEscapeDirection = vBot - vTarget;
        }
        else
        {
            // Hedef yoksa rastgele bir yöne kaç
            vEscapeDirection.Set((float)(myrand(0, 2000) - 1000.0f), 0.0f, (float)(myrand(0, 2000) - 1000.0f));
        }

        vEscapeDirection.Normalize();

        // Hız ayarı: Normal hızının %10 fazlası
        float fEscapeSpeed = m_sSpeed * 1.1f;

        const float MIN_ESCAPE_SPEED = 10.0f;
        if (fEscapeSpeed < MIN_ESCAPE_SPEED) {
            fEscapeSpeed = MIN_ESCAPE_SPEED;
        }

        // *** HAREKET MANTIK DEĞİŞİKLİĞİ BAŞLANGICI ***

        // Kaçış Mesafesi: Botun yürümesini istediğimiz mesafe (Örn: 10 birim ileri)
        // 10.0f yerine daha uzun bir mesafe deneyelim, örneğin 50 birim.
        // Bu değer, botun tek bir döngüde ne kadar uzağa yürümeye çalışacağını belirler.
        const float ESCAPE_DISTANCE = 50.0f;
        
        // Yeni hedef koordinatlarını hesapla
        __Vector3 vMove = vEscapeDirection * ESCAPE_DISTANCE;
        __Vector3 vNewPosition = vBot + vMove;

        // Botu anında ışınlamak yerine, yeni noktaya doğru YÜRÜT!
        // WalkCordinat(float x, float y, float z, uint16 Delay = 0, bool isAttack = false);
        // Delay=0 ve isAttack=false kullanıyoruz. Bot koşarak uzaklaşsın.
        WalkCordinat(vNewPosition.x, vNewPosition.y, vNewPosition.z, 0, false);
        
        // Bu hareketin tamamlanması için gereken süreyi tahmin edelim.
        // Zaman = Mesafe / Hız. Basitçe sabit bir süre belirleyebiliriz.
        const uint16 ESCAPE_DURATION_MS = 1500; // 1.5 saniye boyunca kaçmasını bekle
        
        m_sMoveRegionAttackTime = ULONGLONG(UNIXTIME2 + ESCAPE_DURATION_MS);
        
        // *** HAREKET MANTIK DEĞİŞİKLİĞİ SONU ***
        
        return;
    }
    // KAÇIŞ REFLEKSİ SONU
 

hasansbr

KY Uzman Üye
Yardımsever
Server Sahibi
KAYIT
4 Ocak 2021
Mesajlar
722
Tepki puanı
378
Yaş
13
Web
aydeacs.com
Merhaba Cümleten Kolay Gelsin.

Gameserverdlg.h kısmına
Kod:
void AddBotPkStart();
ekliyoruz.
Kod:
// Gameserverdlg.cpp kısmını açıyoruz ve botlarlar ilgili bir satır bulup altına bu kodu yapıştırın

void CGameServerDlg::AddBotPkStart()

printf("INFO: AddBotPkStart fonksiyonu baslatiliyor...\n");
{
    // --- GENEL AYARLAR ---
    int Minute = 1440;      // Botların ne kadar süre kalacağı (24 saat)
    uint8 minlevel = 80;    // Minimum Level (ayarlanabilir)
    int sCount = 10;        // Her ırk/sınıf için atılacak bot sayısı
  
    // Sınıf ve Ulus ID'leri
    uint8 classWarrior = 1;
    uint8 classRogue = 2;
    uint8 classMage = 3;
    uint8 classPriest = 4;
    uint8 nationKarus = 1;
    uint8 nationHuman = 2;

    // Ronark Land (Zone 71) ayarları (Koordinatları kendi haritanıza göre ayarlayın!)
    uint8 zoneID = 71;
  
    // Karus Base civarı koordinatları (Örn: X=350, Y=350 civarı)
    float KarusXBase = 350.0f;
    float KarusYBase = 350.0f;

    // Human Base civarı koordinatları (Örn: X=650, Y=650 civarı)
    float HumanXBase = 650.0f;
    float HumanYBase = 650.0f;
  
    float Z = 0.0f; // Z koordinatı genellikle 0.0f veya harita zeminine uygun bir değer olmalıdır.

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // KARUS BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Karus Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f; // Her bot arasında 1.5f mesafe
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classWarrior, nullptr, true);
    }
  
    // Karus Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        // Botları farklı bir alana veya Warrior'lardan kaydırılmış bir konuma atıyoruz
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classRogue, nullptr, true);
    }
  
    // Karus Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classMage, nullptr, true);
    }
  
    // Karus Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classPriest, nullptr, true);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // HUMAN BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Human Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classWarrior, nullptr, true);
    }
  
    // Human Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classRogue, nullptr, true);
    }
  
    // Human Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classMage, nullptr, true);
    }
  
    // Human Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classPriest, nullptr, true);
    }
}
printf("INFO: AddBotPkStart fonksiyonu tamamlandi. Botlarin atilmasi denendi.\n");
}

GameServer Main kısmını bulup

if (g_pMain->Startup()) { // ... g_pMain->ResetBattleZone(BATTLEZONE_NONE);

bu kodun altına

Kod:
g_pMain->AddBotPkStart();

kodunu ekliyoruz ve derleme işlemine geçiyoruz

güle güle kullanın
birde bunu Auto command kısmına koymayı yapsan tadından yenmez :D
 

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
birde bunu Auto command kısmına koymayı yapsan tadından yenmez :D
source kodları arasında +pkbotspawn olarak çağırılan komutu bulup / (slash) /pkbotspawn haline getirebilirsen oto command kısmına ekleye bilirsin diye düşünüyorum yarın bi bakalım
 

ProElen

KY Kıdemli Üye
Coder
KAYIT
12 Eki 2025
Mesajlar
263
Çözümler
1
Tepki puanı
94
Konum
Localhost
Merhaba Cümleten Kolay Gelsin.

Gameserverdlg.h kısmına
Kod:
void AddBotPkStart();
ekliyoruz.
Kod:
// Gameserverdlg.cpp kısmını açıyoruz ve botlarlar ilgili bir satır bulup altına bu kodu yapıştırın

void CGameServerDlg::AddBotPkStart()

printf("INFO: AddBotPkStart fonksiyonu baslatiliyor...\n");
{
    // --- GENEL AYARLAR ---
    int Minute = 1440;      // Botların ne kadar süre kalacağı (24 saat)
    uint8 minlevel = 80;    // Minimum Level (ayarlanabilir)
    int sCount = 10;        // Her ırk/sınıf için atılacak bot sayısı
  
    // Sınıf ve Ulus ID'leri
    uint8 classWarrior = 1;
    uint8 classRogue = 2;
    uint8 classMage = 3;
    uint8 classPriest = 4;
    uint8 nationKarus = 1;
    uint8 nationHuman = 2;

    // Ronark Land (Zone 71) ayarları (Koordinatları kendi haritanıza göre ayarlayın!)
    uint8 zoneID = 71;
  
    // Karus Base civarı koordinatları (Örn: X=350, Y=350 civarı)
    float KarusXBase = 350.0f;
    float KarusYBase = 350.0f;

    // Human Base civarı koordinatları (Örn: X=650, Y=650 civarı)
    float HumanXBase = 650.0f;
    float HumanYBase = 650.0f;
  
    float Z = 0.0f; // Z koordinatı genellikle 0.0f veya harita zeminine uygun bir değer olmalıdır.

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // KARUS BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Karus Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f; // Her bot arasında 1.5f mesafe
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classWarrior, nullptr, true);
    }
  
    // Karus Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        // Botları farklı bir alana veya Warrior'lardan kaydırılmış bir konuma atıyoruz
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classRogue, nullptr, true);
    }
  
    // Karus Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f + Offset, KarusYBase, Z,
                                 minlevel, nationKarus, classMage, nullptr, true);
    }
  
    // Karus Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, KarusXBase + 50.0f, KarusYBase + Offset, Z,
                                 minlevel, nationKarus, classPriest, nullptr, true);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////
    // HUMAN BOTLARI (Her sınıftan sCount kadar)
    //////////////////////////////////////////////////////////////////////////////////////////////////////
  
    // Human Warrior (Sınıf 1)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classWarrior, nullptr, true);
    }
  
    // Human Rogue (Sınıf 2)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classRogue, nullptr, true);
    }
  
    // Human Mage (Sınıf 3)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f + Offset, HumanYBase, Z,
                                 minlevel, nationHuman, classMage, nullptr, true);
    }
  
    // Human Priest (Sınıf 4)
    for (int i = 0; i < sCount; i++)
    {
        float Offset = i * 1.5f;
        g_pMain->SpawnEventBotPk(Minute, zoneID, HumanXBase - 50.0f, HumanYBase + Offset, Z,
                                 minlevel, nationHuman, classPriest, nullptr, true);
    }
}
printf("INFO: AddBotPkStart fonksiyonu tamamlandi. Botlarin atilmasi denendi.\n");
}

GameServer Main kısmını bulup

if (g_pMain->Startup()) { // ... g_pMain->ResetBattleZone(BATTLEZONE_NONE);

bu kodun altına

Kod:
g_pMain->AddBotPkStart();

kodunu ekliyoruz ve derleme işlemine geçiyoruz

güle güle kullanın
Merhabalar paylaşım teşekkürler, ancak kodları uygularken sorun yaşıyorum görselleri ekledim konu hakkında desteğini rica ederim.
 

Ekli dosyalar

  • Hata 1.png
    Hata 1.png
    117.6 KB · Görüntüleme: 33
  • hata 2.png
    hata 2.png
    121.3 KB · Görüntüleme: 35

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
Merhabalar paylaşım teşekkürler, ancak kodları uygularken sorun yaşıyorum görselleri ekledim konu hakkında desteğini rica ederim.
gameserverdlg.h
1762150365249.png


gameserverdlg.cpp
1762150507577.png


gameserver main

1762150622217.png


Hocam Gameserverdlg.h kısmındaki void AddBotPkStart(); satırını diğer tanımlamaların olduğu kısma yapın birde öyle deneyin satır numaralarını paylaştım şimdi
 

ProElen

KY Kıdemli Üye
Coder
KAYIT
12 Eki 2025
Mesajlar
263
Çözümler
1
Tepki puanı
94
Konum
Localhost

Ekli dosyalar

  • IMG_1361.png
    IMG_1361.png
    570.2 KB · Görüntüleme: 22
  • IMG_1362.png
    IMG_1362.png
    563.4 KB · Görüntüleme: 21
  • IMG_1363.png
    IMG_1363.png
    634.2 KB · Görüntüleme: 21

Slepperx

KY Uzman Üye
KAYIT
2 Eki 2025
Mesajlar
143
Çözümler
1
Tepki puanı
103
Konum
Macedonia
Uzak bağlantı ile sorun çözülmüştür. kolay gelsin
 

ATABEYY

KY Uzman Üye
Yardımsever
KAYIT
2 Ağu 2025
Mesajlar
362
Çözümler
4
Tepki puanı
443



Burda src içinde cr acinca oto pkbot atıyor bu src den yardım alabilirsin
 
Anasayfa Kayıt ol Giriş yap
Üst Alt