Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
B 1
berione65
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Playtime Rank

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

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!

Paylaşım için teşekkürler.
 
El altı satılıyormuş. Kendi c++ sürüm hatanızı kendiniz çözersiniz metin2 ile artık ilgilenmiyorum.
Ekli dosyayı görüntüle 111928

Evet bu sistemi satan çok kişi gördüm . bende filesim de ekimdejkini paylasıcaktım sen paylasmıssın ellerine sağlık . Doya doya kullansınlar 250 -500 TL arası fiyat biçiyor kendini bilmezler :))
 
Geçmiş olsun.
yüksek c++ sürümü kullanmayan arkadaşlar bunu kullanabilirler gcc49 ve üstünde bu kod çalışacaktır eror alan olursa yardımcı olabilirim konu üzerinden.


C++:
#include "stdafx.h"
#ifdef ENABLE_PLAYTIME_TITLE
#include "PlayTimeTitle.h"
#include "char.h"
#include "db.h"
#include "desc.h"

void CPlayTimeTitle::Initialize()
{
    std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT * FROM playtimetitle_infos"));

    if (pMsg->Get()->uiNumRows == 0)
    {
        sys_err("Playtime title table is empty!");
        return;
    }

    MYSQL_ROW row;
    while((row = mysql_fetch_row(pMsg->Get()->pSQLResult)))
    {
        uint8_t col = 0;
        SPlayTimeTitleInfo data;
        str_to_number(data.titleIdx, row[col++]);
        str_to_number(data.needTime, row[col++]);

        for (uint8_t i = 0; i < TITLE_MAX_AFF_NUM; ++i)
        {
            uint8_t affID = 0; uint16_t affValue = 0;
            str_to_number(affID, row[col++]);
            str_to_number(affValue, row[col++]);
            
            if (affID == 0 || affValue == 0)
            {
                break;
            }
            data.titleAffMap.insert(std::make_pair(affID, affValue));
        }

        m_TitleVec.push_back(data);
    }
}

void CPlayTimeTitle::SendToClient(LPCHARACTER ch)
{
    if (!ch || !ch->GetDesc())
    {
        return;
    }
    const auto rank = ch->GetTimeTitle();
    const uint8_t idx = rank >= m_TitleVec.size() ? rank : rank + 1;
    auto info = m_TitleVec.begin();

    for (; info != m_TitleVec.end(); ++info)
    {
        if (info->titleIdx == idx)
        {
            break;
        }
    }

    if (info != m_TitleVec.end())
    {
        const auto needTime = info->needTime;
        const auto point = needTime > ch->GetRealPoint(POINT_PLAYTIME) ? needTime - ch->GetRealPoint(POINT_PLAYTIME) : 0;
        std::string szAffInfo;
        for (const auto& affPair : info->titleAffMap)

        {
            szAffInfo += "|" + std::to_string(affPair.first) + "," + std::to_string(affPair.second);
        }

        ch->ChatPacket(CHAT_TYPE_COMMAND, "UpdatePTime %u %u %u %s",
            rank >= m_TitleVec.size() ? idx : idx - 1,
            idx,
            point,
            szAffInfo.c_str()
        );
    }
}

void CPlayTimeTitle::UpdateTitle(LPCHARACTER ch)
{
    if (!ch || !ch->GetDesc())
    {
        return;
    }

    const size_t nextIDX = ch->GetTimeTitle();
    if (nextIDX >= m_TitleVec.size())
    {
        return;
    }

    const auto& info = m_TitleVec.at(nextIDX);

    if (ch->GetRealPoint(POINT_PLAYTIME) < info.needTime)
    {
        return;
    }

    ch->RemoveAffect(PTIME_AFF);
    const auto& affMap = info.titleAffMap;
    for (const auto& affPair : affMap)
    {
        ch->AddAffect(PTIME_AFF, aApplyInfo[affPair.first].bPointType, affPair.second, AFF_NONE, INFINITE_AFFECT_DURATION, 0, false);
    }

    ch->SetTimeTitle(ch->GetTimeTitle() + 1);
    ch->UpdatePacket();
    SendToClient(ch);
}
#endif
 
Paylaşım için teşekkürler.
 
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