noisiv 1
noisiv
Manwe Work 1
Manwe Work
Best Studio 1
Best Studio
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
InfernoShade 1
InfernoShade
BlackFullMoon 1
BlackFullMoon
Agora Metin2 1
Agora Metin2
PrimeAC 1
PrimeAC
ShadowFon 1
ShadowFon
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Yeni Config Kodu Oluşturma.

  • Konuyu başlatan Konuyu başlatan Etzhel
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 10
  • Görüntüleme Görüntüleme 3K

Etzhel

make metin2 great again
Fahri Üye
Katılım
2 Şub 2015
Konular
230
Mesajlar
2,001
Çözüm
2
Online süresi
3mo 24d
Reaksiyon Skoru
1,027
Altın Konu
0
Başarım Puanı
276
MmoLira
5,751
DevLira
31
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!

En çok aranan konulardan birisi budur herhalde. Bi ara paylaşılmıştı sonradan kaldırıldı. Bu anlatacağım bool dur yani 0 ve 1 ile çalışır. Burda anlatacağım gmlerin yere item atmasını engelleyecek config kodunu oluşturma. Umarım bitane mod gelip daha önce verildi diye kapatmaz konuyu burdaki amaç yeni config kodu nasıl oluşturulur. Config kodundan değer çekmeyide yarına paylaşırım. Örneğin max_lonca_skor: 250 gibi.

Lütfen kopyala/yapıştır yapmayın hata alırısınız kendi elinizle yazın resimlere bakarak.

İlk başta sourcemize config komutlarını ekleyelim.

Açılır: config.cpp

Aratılır: gPlayerMaxLevel

Altına eklenir: // Burdaki sıfır eğer config dosyamızda bu kod yoksa standart olarak geçerli olacak değerdir.
Kod:
int gmyereitematamaz= 0;

Eq4AX9.png


Daha sonra tekrar aratılır: gPlayerMaxLevel

Bulduğumuz kod bloğunun altına eklenir:
Kod:
TOKEN("GM_YERE_ITEM_ATAMAZ")
{
    str_to_number(gmyereitematamaz, value_string);
    printf("GM_YERE_ITEM_ATAMAZ: 1\n");
    continue;
}


j2GN9G.png


Şimdi config.h açılır.

Aratılır: gPayerMaxLevel

Altına eklenir:
Kod:
extern int gmyereitematamaz;

2kVoD0.png


Config kodumuzu oluşturduk şimdi geldi buna işlev yüklemeye. Belirttiğim gibi gm nin yere item atmasını engelleyen config kodunu oluşturmayı gösteriyorum bu konuda. Siz de geliştirip farklı işlevler için kod oluşturabilirsiniz. Mantık genellikle aynı.

Açılır: char_item.cpp

Aratılır:
Kod:
bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount)

Bulunur:
Kod:
LPITEM item = NULL;

Yukardaki koddan sonra iki defa entere basıp alttaki kod eklenir.

Kod:
if (gmyereitematamaz == 1)
{
    if (GetGMLevel() > GM_PLAYER)
    {
        ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster yere item atamaz.");
        return false;
    }
}

B05bqj.png



Bu işlemler bittik sonra config dosyana gm_yere_item_atamaz: 1 kodunu eklersen gmlerin yere item atmasını engellesin.

Kanıt:
cT19yUq.jpg
 
Moderatör tarafında düzenlendi:
eline sağlık güzel paylaşım
 
Teşekkürler,

Kod:
printf("GM_YERE_ITEM_ATAMAZ: 1\n");
Bunun yerine
Kod:
fprintf("GM_YERE_ITEM_ATAMAZ: %d\n", gmyereitematamaz);
Bu şekilde yazılması daha iyi confige kaç yazdıysa o rakkam çıkar.
 
Teşekkürler,

Kod:
printf("GM_YERE_ITEM_ATAMAZ: 1\n");
Bunun yerine
Kod:
fprintf("GM_YERE_ITEM_ATAMAZ: %d\n", gmyereitematamaz);
Bu şekilde yazılması daha iyi confige kaç yazdıysa o rakkam çıkar.

senin dediğinde doğru ama zaten config komutunu ekleyince o yazı çıkıyor eklemeyince yazdırmıyor.
 
En çok aranan konulardan birisi budur herhalde. Bi ara paylaşılmıştı sonradan kaldırıldı. Bu anlatacağım bool dur yani 0 ve 1 ile çalışır. Burda anlatacağım gmlerin yere item atmasını engelleyecek config kodunu oluşturma. Umarım bitane mod gelip daha önce verildi diye kapatmaz konuyu burdaki amaç yeni config kodu nasıl oluşturulur. Config kodundan değer çekmeyide yarına paylaşırım. Örneğin max_lonca_skor: 250 gibi.

Lütfen kopyala/yapıştır yapmayın hata alırısınız kendi elinizle yazın resimlere bakarak.

İlk başta sourcemize config komutlarını ekleyelim.

Açılır: config.cpp

Aratılır: gPlayerMaxLevel

Altına eklenir: // Burdaki sıfır eğer config dosyamızda bu kod yoksa standart olarak geçerli olacak değerdir.
Kod:
int gmyereitematamaz= 0;

7W7r6dT.png


Daha sonra tekrar aratılır: gPlayerMaxLevel

Bulduğumuz kod bloğunun altına eklenir:
Kod:
TOKEN("GM_YERE_ITEM_ATAMAZ")
{
    str_to_number(gmyereitematamaz, value_string);
    printf("GM_YERE_ITEM_ATAMAZ: 1\n");
    continue;
}

mS5W8rl.png


Şimdi config.h açılır.

Aratılır: gPayerMaxLevel

Altına eklenir:
Kod:
extern int gmyereitematamaz;

ioXArgr.png


Config kodumuzu oluşturduk şimdi geldi buna işlev yüklemeye. Belirttiğim gibi gm nin yere item atmasını engelleyen config kodunu oluşturmayı gösteriyorum bu konuda. Siz de geliştirip farklı işlevler için kod oluşturabilirsiniz. Mantık genellikle aynı.

Açılır: char_item.cpp

Aratılır:
Kod:
bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount)

Bulunur:
Kod:
LPITEM item = NULL;

Yukardaki koddan sonra iki defa entere basıp alttaki kod eklenir.

Kod:
if (gmyereitematamaz == 1)
{
    if (GetGMLevel() > GM_PLAYER)
    {
        ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster yere item atamaz.");
        return false;
    }
}

RSgmQGt.png



Bu işlemler bittik sonra config dosyana gm_yere_item_atamaz: 1 kodunu eklersen gmlerin yere item atmasını engellesin.

Kanıt:
cT19yUq.jpg

continue'ye bazı durumlarda gerek yok örneğin common , constants gibi durumlarada continue kullanırsan çalışmaz haberin olsun dedim sanal hayatınızda başarılar artık bıraktığım için komple uğraşmıyorum beni stackover , github gibi forumlarda görebilirsiniz :) bundan sonra sadece yazılım :)
 

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

Geri
Üst