- Katılım
- 29 Eyl 2009
- Konular
- 1,298
- Mesajlar
- 18,700
- Çözüm
- 203
- Online süresi
- 7mo 19h
- Reaksiyon Skoru
- 9,276
- Altın Konu
- 377
- Başarım Puanı
- 426
- Yaş
- 32
- MmoLira
- 51,391
- DevLira
- 74
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!
Paylaşım için teşekkürler.
- Katılım
- 16 Eki 2009
- Konular
- 82
- Mesajlar
- 2,278
- Çözüm
- 1
- Online süresi
- 22d 19h
- Reaksiyon Skoru
- 825
- Altın Konu
- 16
- Başarım Puanı
- 239
- Yaş
- 36
- MmoLira
- 4,621
- DevLira
- 12
Paylaşım için teşekkürler.
- Katılım
- 13 Haz 2013
- Konular
- 182
- Mesajlar
- 2,499
- Çözüm
- 92
- Online süresi
- 3mo 20d
- Reaksiyon Skoru
- 1,662
- Altın Konu
- 2
- TM Yaşı
- 13 Yıl 2 Gün
- Başarım Puanı
- 289
- Yaş
- 28
- MmoLira
- 8,600
- DevLira
- 84
Paylaşım için teşekkürler, sistemi biraz inceleme fırsatım oldu. Her level range'i arası için ayrı bir array oluşturulmuş. Aslında buna gerek yok.
constants.cpp
constants.h'a da ekleme yaparsınız.
char_hunting.cpp
Bu gibi sistemde benim açımdan değiştirilmesi gereken çok şey var, yine de paylaşım için teşekkürler. Üzerinde çalışarak güzel hale getirilebilir.
NOT: Eğer verdiğim düzenlemeyi yaparsanız levelrange arraylerini kullanan SendRandomItemPacket fonksiyonunu da düzenlemeniz gerek.
constants.cpp
C++:
constexpr std::array<std::array<int, 2>, 5> THuntingRandomItem_Ranges = {{ // level range'ini belirtir
{{1, 20}},
{{21, 40}},
{{41, 60}},
{{61, 80}},
{{81, 90}},
}};
constexpr std::array<std::array<std::array<int, 2>, 10>, 5> THuntingRandomItems = {{ // her range'de verilicek random item ve count'u belirtir.
{{{{100, 1}}, {{200, 2}}, {{300, 3}}, {{400, 4}}, {{500, 5}}, {{600, 6}}, {{700, 7}}, {{800, 8}}, {{900, 9}}, {{1000, 10}}}},
{{{{1100, 11}}, {{1200, 12}}, {{1300, 13}}, {{1400, 14}}, {{1500, 15}}, {{1600, 16}}, {{1700, 17}}, {{1800, 18}}, {{1900, 19}}, {{2000, 20}}}},
{{{{2100, 21}}, {{2200, 22}}, {{2300, 23}}, {{2400, 24}}, {{2500, 25}}, {{2600, 26}}, {{2700, 27}}, {{2800, 28}}, {{2900, 29}}, {{3000, 30}}}},
{{{{3100, 31}}, {{3200, 32}}, {{3300, 33}}, {{3400, 34}}, {{3500, 35}}, {{3600, 36}}, {{3700, 37}}, {{3800, 38}}, {{3900, 39}}, {{4000, 40}}}},
{{{{4100, 41}}, {{4200, 42}}, {{4300, 43}}, {{4400, 44}}, {{4500, 45}}, {{4600, 46}}, {{4700, 47}}, {{4800, 48}}, {{4900, 49}}, {{5000, 50}}}},
}};
constants.h'a da ekleme yaparsınız.
char_hunting.cpp
C++:
void CHARACTER::SetRewardRandomItemFromTable()
{
BYTE bMissionLevel = GetQuestFlag("hunting_system.level");
DWORD itemVnum, itemCount;
auto it = std::find_if(THuntingRandomItem_Ranges.begin(), THuntingRandomItem_Ranges.end(),
[bMissionLevel](const auto& range){
return bMissionLevel >= std::get<0>(range) && bMissionLevel <= std::get<1>(range);
});
if (it != THuntingRandomItem_Ranges.end()) {
int randItem = number(0,9); // array length - 1
itemVnum = THuntingRandomItems[std::distance(THuntingRandomItem_Ranges.begin(), it)][randItem][0];
itemCount = THuntingRandomItems[std::distance(THuntingRandomItem_Ranges.begin(), it)][randItem][1];
}
SetQuestFlag("hunting_system.reward_rand", itemVnum);
SetQuestFlag("hunting_system.reward_rand_count", itemCount);
return;
}
NOT: Eğer verdiğim düzenlemeyi yaparsanız levelrange arraylerini kullanan SendRandomItemPacket fonksiyonunu da düzenlemeniz gerek.
- Katılım
- 11 Mar 2017
- Konular
- 146
- Mesajlar
- 2,117
- Çözüm
- 20
- Online süresi
- 6mo 15d
- Reaksiyon Skoru
- 1,776
- Altın Konu
- 2
- Başarım Puanı
- 284
- MmoLira
- 3,301
- DevLira
- 16
Paylaşım için teşekkürler
Paylaşım için teşekkürler
Paylaşım için teşekkürler.
Paylaşım için teşekkürler.
Paylaşım için teşekkürler
Paylaşım için teşekkürler.
Paylaşım için teşekkürler.
paylaşım için teşekkürler.
Paylaşım için teşekkürler![]()
Paylaşım için teşekkürler.
Paylaşım için teşekkürler cano.
Paylaşım için teşekkürler.
Paylaşım için teşekkürler
Paylaşım için teşekkürler.
Paylaşım için teşekkürler.
Paylaşım için teşekkürler, sistemi biraz inceleme fırsatım oldu. Her level range'i arası için ayrı bir array oluşturulmuş. Aslında buna gerek yok.
constants.cpp
C++:constexpr std::array<std::array<int, 2>, 5> THuntingRandomItem_Ranges = {{ // level range'ini belirtir {{1, 20}}, {{21, 40}}, {{41, 60}}, {{61, 80}}, {{81, 90}}, }}; constexpr std::array<std::array<std::array<int, 2>, 10>, 5> THuntingRandomItems = {{ // her range'de verilicek random item ve count'u belirtir. {{{{100, 1}}, {{200, 2}}, {{300, 3}}, {{400, 4}}, {{500, 5}}, {{600, 6}}, {{700, 7}}, {{800, 8}}, {{900, 9}}, {{1000, 10}}}}, {{{{1100, 11}}, {{1200, 12}}, {{1300, 13}}, {{1400, 14}}, {{1500, 15}}, {{1600, 16}}, {{1700, 17}}, {{1800, 18}}, {{1900, 19}}, {{2000, 20}}}}, {{{{2100, 21}}, {{2200, 22}}, {{2300, 23}}, {{2400, 24}}, {{2500, 25}}, {{2600, 26}}, {{2700, 27}}, {{2800, 28}}, {{2900, 29}}, {{3000, 30}}}}, {{{{3100, 31}}, {{3200, 32}}, {{3300, 33}}, {{3400, 34}}, {{3500, 35}}, {{3600, 36}}, {{3700, 37}}, {{3800, 38}}, {{3900, 39}}, {{4000, 40}}}}, {{{{4100, 41}}, {{4200, 42}}, {{4300, 43}}, {{4400, 44}}, {{4500, 45}}, {{4600, 46}}, {{4700, 47}}, {{4800, 48}}, {{4900, 49}}, {{5000, 50}}}}, }};
constants.h'a da ekleme yaparsınız.
char_hunting.cpp
Bu gibi sistemde benim açımdan değiştirilmesi gereken çok şey var, yine de paylaşım için teşekkürler. Üzerinde çalışarak güzel hale getirilebilir.C++:void CHARACTER::SetRewardRandomItemFromTable() { BYTE bMissionLevel = GetQuestFlag("hunting_system.level"); DWORD itemVnum, itemCount; auto it = std::find_if(THuntingRandomItem_Ranges.begin(), THuntingRandomItem_Ranges.end(), [bMissionLevel](const auto& range){ return bMissionLevel >= std::get<0>(range) && bMissionLevel <= std::get<1>(range); }); if (it != THuntingRandomItem_Ranges.end()) { int randItem = number(0,9); // array length - 1 itemVnum = THuntingRandomItems[std::distance(THuntingRandomItem_Ranges.begin(), it)][randItem][0]; itemCount = THuntingRandomItems[std::distance(THuntingRandomItem_Ranges.begin(), it)][randItem][1]; } SetQuestFlag("hunting_system.reward_rand", itemVnum); SetQuestFlag("hunting_system.reward_rand_count", itemCount); return; }
NOT: Eğer verdiğim düzenlemeyi yaparsanız levelrange arraylerini kullanan SendRandomItemPacket fonksiyonunu da düzenlemeniz gerek.
Rica ederim efenim
- Katılım
- 3 Şub 2014
- Konular
- 1
- Mesajlar
- 58
- Online süresi
- 26d 14h
- Reaksiyon Skoru
- 15
- Altın Konu
- 0
- TM Yaşı
- 12 Yıl 4 Ay 12 Gün
- Başarım Puanı
- 96
- MmoLira
- 6,378
- DevLira
- 0
0214 21:55:15365 ::
uiHunting.py(line:139) LoadWindow
ui.py(line:3500) GetChild
HuntingWindow.LoadWindow.BindObject - <type 'exceptions.KeyError'>:'item_area'
0214 21:55:15365 :: ============================================================================================================
0214 21:55:15365 :: Abort!!!!
uiHunting.py(line:139) LoadWindow
ui.py(line:3500) GetChild
HuntingWindow.LoadWindow.BindObject - <type 'exceptions.KeyError'>:'item_area'
0214 21:55:15365 :: ============================================================================================================
0214 21:55:15365 :: Abort!!!!
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 27
- Görüntüleme
- 1K
- Cevaplar
- 50
- Görüntüleme
- 4K
- Cevaplar
- 45
- Görüntüleme
- 2K
- Cevaplar
- 16
- Görüntüleme
- 1K











ilaç gibi geldi