R10DEV.NET HABER SİTESİ AÇILDI!R10DEV.NET HABER SİTESİ AÇILDI!

Metin2 Tam Lonca Puanı + PK + Sezon Sistemi | Server Files Eklentisi
0
164
admin

admin

PATRON
SİTE YETKİLİSİ
Moderator
ÜYE
Kurumsal Üye
Katılım
23 Eki 2022
Mesajlar
6,176
Çözümler
11
Tepkime puanı
3,772
Puanları
113
Yaş
28
Metin2 Tam Lonca Puanı, PK ve Sezon Sistemi eklentisi; PvP odaklı server files için geliştirilmiş, rekabetçi ve yönetilebilir altyapı sunar.
1771193068416.webp
Kod:
MULTI-ACCOUNT / FARM HİLESİ
❌ Sorun

Aynı kişi:

2 hesap açar

Sürekli birbirini keser

Lonca puanı kasar

✅ ÇÖZÜM (CORE)
🔒 IP + HWID + Account kontrolü
bool CHARACTER::IsFarmAbuse(CHARACTER* victim)
{
    if (GetIP() == victim->GetIP())
        return true;

    if (GetAccountID() == victim->GetAccountID())
        return true;

    return false;
}

if (IsFarmAbuse(victim))
    return;


Not:
HWID sistemi varsa en güçlü çözüm.

AYNI OYUNCUYU TEKRAR TEKRAR KESME
❌ Sorun

10 dk beklemeden aynı oyuncuyu kesme

✅ ÇÖZÜM (Cooldown)
#define PK_COOLDOWN 600

bool CHARACTE[HASH=1]#define[/HASH]kPKCooldown(DWORD victimID)
{
    time_t now = time(nullptr);

    auto it = m_pkCooldown.find(victimID);
    if (it != m_pkCooldown.end() && now - it->second < PK_COOLDOWN)
        return false;

    m_pkCooldown[victimID] = now;
    return true;
}


✔ Oyuncu bazlı
✔ Core seviyesinde
✔ Resetlenemez

AFK KILL / BOT FARM
❌ Sorun

AFK char bırakıp kestirme

✅ ÇÖZÜM
if (victim->IsAFK())
    return;


AFK algılama:

Son hareket zamanı

Son skill / saldırı zamanı

DÜŞÜK SEVİYE FARM (TWINK)
❌ Sorun

Level 1–30 char keserek puan kasma

✅ ÇÖZÜM
#define MIN_PK_LEVEL 55

if (victim->GetLevel() < MIN_PK_LEVEL)
    retu#defineRTY / LONCA İÇİ FARM
❌ Sorun

Aynı lonca veya party içinde farm

✅ ÇÖZÜM
if (GetGuild() && victim->GetGuild() &&
    GetGuild()->GetID() == victim->GetGuild()->GetID())
    return;

if (IsInSameParty(victim))
    return;

MAP ABUSE (SAFE ZONE BUG)
❌ Sorun

Koruma alanlarında kesme

✅ ÇÖZÜM
if (GetMapIndex() == MAP_TOWN || IsSafeZone())
    return;

LOGOUT / LOGIN RESET BUG
❌ Sorun

Çık-gir yaparak cooldown sıfırlama

✅ ÇÖZÜM

Cooldown’u:

CHARACTER değil

ACCOUNT bazlı tut

std::map<DWORD, time_t> g_mapPKCooldownAccount;

8️⃣ SERVER CRASH → ÇİFT ÖDÜL
❌ Sorun

Sezon bitişinde crash → tekrar ödül

✅ ÇÖZÜM (DB FLAG)
ALTER TABLE season ADD COLUMN rewarded TINYINT DEFAULT 0;

if (season.rewarded)
    return;

season.rewarded = 1;
SaveSeason();

FAKE DAMAGE / TEK VURUŞ HİLESİ
❌ Sorun

Tek vuruş hilesiyle farm

✅ ÇÖZÜM
if (GetLastDamageTime(victim) < 3)
    return;

CLIENT PACKET MANIPULATION
❌ Sorun

Client packet göndererek bağış artırma

✅ ÇÖZÜM

✔ Bağış SADECE SERVER TARAFINDA
✔ Client sadece request
✔ Tüm hesaplama server’da

void HandleGuildDonatePacket(CHARACTER* ch)
{
    if (ch->GetPKPoint() < amount)
        return;

    ch->RemovePKPoint(amount);
    ch->GetGuild()->AddGuildPoint(amount);
}

RATE LIMIT (SPAM KORUMA)
if (!CheckActionDelay("GUILD_DONATE", 3))
    return;

GM / LOG SİSTEMİ
📜 LOG AT
sys_log(0, "[GUILD_POINT] %s -> %d",
    ch->GetName(), amount);
 
Meta Title
Metin2 Lonca Puan, PK ve Sezon Sistemi – Gelişmiş PvP Server Files Eklentisi
Meta Description
Metin2 Tam Lonca Puanı, PK ve Sezon Sistemi; sunucular için rekabeti artıran, sıralama ve sezon tabanlı gelişmiş PvP eklentisidir.
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!