Psych0SoociaL 1
Psych0SoociaL
onur akbaş 1
onur akbaş
noisiv 1
noisiv
xranzei 1
xranzei
Bvural41 1
Bvural41
D 1
delimuratt
ShadowFon 1
ShadowFon
shrpnl 1
shrpnl
DEVLOPER 1
DEVLOPER
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Karan2offical 1
Karan2offical
Hikaye Ekle

Gerçek Zamanlı(Real-Time) Affect

  • Konuyu başlatan Konuyu başlatan canTolip
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 17
  • Görüntüleme Görüntüleme 5K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Teşekkürler.
 
Güzel olmuş buda eline sağlık :)
 
Oyuncularınıza gerçek zamanlı affectler verebilmenize yarar. Örneğin bir oyuncunuza 7 günlük tag verdiniz ama oyuncu oyunda yokken de süresinin eksilmesini istiyorsunuz. İşte bu size göre;

Not: Gcc sürümüne bilmem neye ihtiyaç yoktur, herkesin kullanabileceği şekilde düzenlenmiştir.
Not2: İfdef'i kafanıza göre ayarlamayı veya kaldırmayı unutmayın.

game/char_affect.cpp
Aratılır
C++:
int CHARACTER::ProcessAffect()

Üstüne eklenir

C++:
#ifdef DÜTDÜT
const int gercekZamanliAff[] = {
    AFFECT_BLOCK_CHAT,
    AFFECT_TAG_YOUTUBE,
    AFFECT_TAG_TWITCH,
    AFFECT_TAG_FACEBOOK,
};
#endif


C++:
int CHARACTER::ProcessAffect()
içinde Aratılır:

C++:
if (--pkAff->lDuration <= 0) { bEnd = true; }

Değiştirilir


C++:
#ifdef DÜTDÜT
        const long suanTime = get_global_time();
        bool gercekZamanli = false;
        for (BYTE i = 0; i < (sizeof(gercekZamanliAff) / sizeof(gercekZamanliAff[0])); i++) {
            if (gercekZamanliAff[i] == pkAff->dwType) {
                //if (IsGM()) { ChatPacket(1, "<GM|GERCEKZAMANLIAFFECT> affIdx:%d var.farkSn:%d", pkAff->dwType, (pkAff->lDuration - suanTime)); }
                if (pkAff->lDuration <= (long)suanTime) {
                    RemoveAffect(pkAff->dwType);
                    bDiff = true;
                }
                gercekZamanli = true;
                break;
            }
        }
        if (!gercekZamanli) {
            if (--pkAff->lDuration <= 0) { bEnd = true; }
        }
#else
        if (--pkAff->lDuration <= 0) { bEnd = true; }
#endif


Gerçek zamanlı çalışmasını istediğiniz AFFECT numarasını gercekZamanliAff arrayına eklemeniz yeterlidir.
Örnek affect eklemesi(get_global_time() + verilecekSaniye);

C++:
AddAffect(AFFECT_BLOCK_CHAT, POINT_NONE, 0, AFF_CHATBAN, get_global_time() + 86400, 0, false); }
düşünsenize.. biri 257 affect ekliyor.. şaka şaka for yazdıktan sonra otomatik int yazmayanlar kulübüne hoşgeldiniz


Paylaşım için teşekkürler.
kardeş sen niye hiç başka yorum yapmıyorsun :d
 
Ty for share
my cat brother
 
Paylaşım için teşekkürler.
 

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

Geri
Üst