Çözüldü Dungeon info sistemine eklenti

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

XoliswA

Üye
Üye
Mesaj
11
Çözümler
1
Beğeni
0
Puan
406
Ticaret Puanı
0
Dungeon info sisteminde ücret karşılığı ışınlamasını istiyorum. Bunun için nasıl bir kod eklemem gerek?

C++:
void CDungeonInfoManager::Warp(LPCHARACTER pkCh, BYTE byIndex)
{
    if (!pkCh)
        return;

    LPDESC pkDesc = pkCh->GetDesc();
    if (!pkDesc)
        return;

    if (byIndex > s_vecDungeonProto.size() - 1)
        return;

    SDungeonData* pSDungeonData = s_vecDungeonProto[byIndex];
    if (pSDungeonData)
    {
        for (size_t iLimit = 0; iLimit < pSDungeonData->vecLevelLimit.size(); ++iLimit)
        {
            if (pkCh->GetLevel() < pSDungeonData->vecLevelLimit[iLimit].iMin)
                return;

            if (pkCh->GetLevel() > pSDungeonData->vecLevelLimit[iLimit].iMax)
                return;
        }

        for (size_t iPos = 0; iPos < pSDungeonData->vecLevelLimit.size(); ++iPos)
        {
            pkCh->WarpSet(
                pSDungeonData->vecEntryPosition[iPos].lBaseX * 100,
                pSDungeonData->vecEntryPosition[iPos].lBaseY * 100
            );
            return;
        }
    }
}
 
Çözüm
C++:
if (!pkCh)
    return;

Bunun altına yada üstüne şunu ekle:
C++:
    if(ch->GetGold() < 1000) //1m
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("dungeon_info_ucret"));
        return;
    }

locale_string.txt içine ekle:
Kod:
"dungeon_info_ucret";
"Yeterli paran olmadığı için işlem reddedildi";
C++:
if (!pkCh)
    return;

Bunun altına yada üstüne şunu ekle:
C++:
    if(ch->GetGold() < 1000) //1m
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("dungeon_info_ucret"));
        return;
    }

locale_string.txt içine ekle:
Kod:
"dungeon_info_ucret";
"Yeterli paran olmadığı için işlem reddedildi";
 
Çözüm
int WarpCost;
WarpCost = 200000;

ch->PointChange(POINT_GOLD, - WarpCost);
 
int WarpCost;
WarpCost = 200000;

ch->PointChange(POINT_GOLD, - WarpCost);
Aynen onu unutmuşum yarın yolcuyum malum kafam pek yerinde değil :)
Bu verilen kod da, benim verdiğim if bloğunun altına else bloğu olarak eklenebilir.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst