Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
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
Üstüne eklenir
içinde Aratılır:
Değiştirilir
Gerçek zamanlı çalışmasını istediğiniz AFFECT numarasını gercekZamanliAff arrayına eklemeniz yeterlidir.
Örnek affect eklemesi(get_global_time() + verilecekSaniye);
Gcc11 ve daha üstü sürümlerde bu eklentiyi kullananlar, gerçek süreli affect sona erdiğinde affect remove kod bloğu yüzünden core alacaktır. 22.06.2023 16:03 tarihiyle kodu düzgün hali ile değiştirdim. Kullanıp problem yaşamış olan var ise kusura bakmasın hiçbir geri dönüş almamıştım. Eğer bu düzenlemeyi kullanan var ise konudaki hali ile değiştirsin lütfen.
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
Kod:
const DWORD realTimeAffList[] = {
AFFECT_TAG_YOUTUBE,
AFFECT_TAG_TWITCH,
AFFECT_TAG_FACEBOOK,
};
C++:
int CHARACTER::ProcessAffect()
C++:
if (--pkAff->lDuration <= 0) { bEnd = true; }
Değiştirilir
C++:
const long timeNow = (long)get_global_time();
bool isRealTime = false;
for (uint8_t i = 0; i < _countof(realTimeAffList); i++) {
if (realTimeAffList[i] == pkAff->dwType) {
//if (IsGM()) { ChatPacket(1, "<GM|realTimeAffListECT> affIdx:%d var.farkSn:%d", pkAff->dwType, (pkAff->lDuration - suanTime)); }
if (pkAff->lDuration <= timeNow)
bEnd = true;
isRealTime = true;
break;
}
}
if (!isRealTime) {
if (--pkAff->lDuration <= 0) { bEnd = true; }
}
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); }
Gcc11 ve daha üstü sürümlerde bu eklentiyi kullananlar, gerçek süreli affect sona erdiğinde affect remove kod bloğu yüzünden core alacaktır. 22.06.2023 16:03 tarihiyle kodu düzgün hali ile değiştirdim. Kullanıp problem yaşamış olan var ise kusura bakmasın hiçbir geri dönüş almamıştım. Eğer bu düzenlemeyi kullanan var ise konudaki hali ile değiştirsin lütfen.
Son düzenleme:
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
Kod:const DWORD realTimeAffList[] = { AFFECT_TAG_YOUTUBE, AFFECT_TAG_TWITCH, AFFECT_TAG_FACEBOOK, };
içinde Aratılır:C++:int CHARACTER::ProcessAffect()
C++:if (--pkAff->lDuration <= 0) { bEnd = true; }
Değiştirilir
C++:const long timeNow = (long)get_global_time(); bool isRealTime = false; for (uint8_t i = 0; i < _countof(realTimeAffList); i++) { if (realTimeAffList[i] == pkAff->dwType) { //if (IsGM()) { ChatPacket(1, "<GM|realTimeAffListECT> affIdx:%d var.farkSn:%d", pkAff->dwType, (pkAff->lDuration - suanTime)); } if (pkAff->lDuration <= timeNow) bEnd = true; isRealTime = true; break; } } if (!isRealTime) { if (--pkAff->lDuration <= 0) { bEnd = true; } }
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); }
Gcc11 ve daha üstü sürümlerde bu eklentiyi kullananlar, gerçek süreli affect sona erdiğinde affect remove kod bloğu yüzünden core alacaktır. 22.06.2023 16:03 tarihiyle kodu düzgün hali ile değiştirdim. Kullanıp problem yaşamış olan var ise kusura bakmasın hiçbir geri dönüş almamıştım. Eğer bu düzenlemeyi kullanan var ise konudaki hali ile değiştirsin lütfen.
Paylaşım için teşekkürler.
Son düzenleme:
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 6
- Görüntüleme
- 1K
- Cevaplar
- 16
- Görüntüleme
- 3K
- Cevaplar
- 22
- Görüntüleme
- 3K
