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!
herhangi bir düzeltme?
Ekli dosyalar
Metin taşlarından taş düşmüyor. Taş düşmesi için kendimce birşeyler yaptım.Game src içerisindeki char_battle.cpp dosyasında
[CODE title="char_battle.cpp"] // --- ÖZEL TAŞ SİSTEMİ BAŞLANGIÇ ---
if (pkAttacker && IsStone() && abs(GetLevel() - pkAttacker->GetLevel()) <= 15)
{
DWORD dwStoneVnum = 0;
// 65 Level ve altındaki metinler (+2 ve +3 taşlar)
if (GetLevel() <= 65)
{
static const DWORD s_adwLowStones[] = {
28230, 28231, 28232, 28233, 28234, 28235, 28236, 28237, 28238, 28239, 28240, 28241, 28242, 28243, // +2 Taşlar
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343 // +3 Taşlar
};
dwStoneVnum = s_adwLowStones[number(0, sizeof(s_adwLowStones) / sizeof(DWORD) - 1)];
}
// 70 Level ve üstündeki metinler (+3 ve +4 taşlar)
else
{
static const DWORD s_adwHighStones[] = {
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343, // +3 Taşlar
28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443 // +4 Taşlar
};
dwStoneVnum = s_adwHighStones[number(0, sizeof(s_adwHighStones) / sizeof(DWORD) - 1)];
}
// Düşme oranı %90
if (dwStoneVnum != 0 && number(1, 100) <= 90)
{
LPITEM pkStoneItem = ITEM_MANAGER::instance().CreateItem(dwStoneVnum, 1);
if (pkStoneItem)
{
bool bGiveToInventory = false;
// Otomatik Toplama Kontrolü
if (pkAttacker->FindAffect(AFFECT_AUTO_PICK_UP) &&
IS_SET(pkAttacker->GetPickUPMode(), AUTOMATIC_PICK_UP_ACTIVATE) &&
pkAttacker->CheckItemCanGet(pkStoneItem))
{
pkAttacker->AutoGiveItem(pkStoneItem);
bGiveToInventory = true;
// Toplandı Bilgi Mesajı
#ifdef ENABLE_RENEWAL_SPECIAL_CHAT
#ifdef pkAttacker->SendPickupItemPacket(pkStoneItem->GetVnum());
#else
pkAttacker->L#elseChatPacket(CHAT_TYPE_INFO, 495, "%s", pkStoneItem->GetName());
#endif
}
#endif(!bGiveToInventory)
{
PIXEL_POSITION stonePos = GetXYZ();
pkStoneItem->AddToGround(GetMapIndex(), stonePos);
pkStoneItem->SetOwnership(pkAttacker);
pkStoneItem->StartDestroyEvent();
}
}
}
}
// --- ÖZEL TAŞ SİSTEMİ BİTİŞ ---[/CODE]
65 level ve altındaki metinlerden +2, +3 taş, 70 level ve üstü metinlerden +3, +4 taş düşmesini ayarladım. Oto toplama ve topladığına dair bilgi geçme uyumlu olarak çalışıyor.
//PROF_UNIT pu3("r3"); aratıp alt satırına alttaki kodları ekliyoruz.[CODE title="char_battle.cpp"] // --- ÖZEL TAŞ SİSTEMİ BAŞLANGIÇ ---
if (pkAttacker && IsStone() && abs(GetLevel() - pkAttacker->GetLevel()) <= 15)
{
DWORD dwStoneVnum = 0;
// 65 Level ve altındaki metinler (+2 ve +3 taşlar)
if (GetLevel() <= 65)
{
static const DWORD s_adwLowStones[] = {
28230, 28231, 28232, 28233, 28234, 28235, 28236, 28237, 28238, 28239, 28240, 28241, 28242, 28243, // +2 Taşlar
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343 // +3 Taşlar
};
dwStoneVnum = s_adwLowStones[number(0, sizeof(s_adwLowStones) / sizeof(DWORD) - 1)];
}
// 70 Level ve üstündeki metinler (+3 ve +4 taşlar)
else
{
static const DWORD s_adwHighStones[] = {
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343, // +3 Taşlar
28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443 // +4 Taşlar
};
dwStoneVnum = s_adwHighStones[number(0, sizeof(s_adwHighStones) / sizeof(DWORD) - 1)];
}
// Düşme oranı %90
if (dwStoneVnum != 0 && number(1, 100) <= 90)
{
LPITEM pkStoneItem = ITEM_MANAGER::instance().CreateItem(dwStoneVnum, 1);
if (pkStoneItem)
{
bool bGiveToInventory = false;
// Otomatik Toplama Kontrolü
if (pkAttacker->FindAffect(AFFECT_AUTO_PICK_UP) &&
IS_SET(pkAttacker->GetPickUPMode(), AUTOMATIC_PICK_UP_ACTIVATE) &&
pkAttacker->CheckItemCanGet(pkStoneItem))
{
pkAttacker->AutoGiveItem(pkStoneItem);
bGiveToInventory = true;
// Toplandı Bilgi Mesajı
#ifdef ENABLE_RENEWAL_SPECIAL_CHAT
#ifdef pkAttacker->SendPickupItemPacket(pkStoneItem->GetVnum());
#else
pkAttacker->L#elseChatPacket(CHAT_TYPE_INFO, 495, "%s", pkStoneItem->GetName());
#endif
}
#endif(!bGiveToInventory)
{
PIXEL_POSITION stonePos = GetXYZ();
pkStoneItem->AddToGround(GetMapIndex(), stonePos);
pkStoneItem->SetOwnership(pkAttacker);
pkStoneItem->StartDestroyEvent();
}
}
}
}
// --- ÖZEL TAŞ SİSTEMİ BİTİŞ ---[/CODE]
65 level ve altındaki metinlerden +2, +3 taş, 70 level ve üstü metinlerden +3, +4 taş düşmesini ayarladım. Oto toplama ve topladığına dair bilgi geçme uyumlu olarak çalışıyor.
Peki +6 +8 taşlar gri renkli.Onları hangi dosyadan aktif edicez?Metin taşlarından taş düşmüyor. Taş düşmesi için kendimce birşeyler yaptım.Game src içerisindeki char_battle.cpp dosyasında//PROF_UNIT pu3("r3");aratıp alt satırına alttaki kodları ekliyoruz.
[CODE title="char_battle.cpp"] // --- ÖZEL TAŞ SİSTEMİ BAŞLANGIÇ ---
if (pkAttacker && IsStone() && abs(GetLevel() - pkAttacker->GetLevel()) <= 15)
{
DWORD dwStoneVnum = 0;
// 65 Level ve altındaki metinler (+2 ve +3 taşlar)
if (GetLevel() <= 65)
{
static const DWORD s_adwLowStones[] = {
28230, 28231, 28232, 28233, 28234, 28235, 28236, 28237, 28238, 28239, 28240, 28241, 28242, 28243, // +2 Taşlar
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343 // +3 Taşlar
};
dwStoneVnum = s_adwLowStones[number(0, sizeof(s_adwLowStones) / sizeof(DWORD) - 1)];
}
// 70 Level ve üstündeki metinler (+3 ve +4 taşlar)
else
{
static const DWORD s_adwHighStones[] = {
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343, // +3 Taşlar
28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443 // +4 Taşlar
};
dwStoneVnum = s_adwHighStones[number(0, sizeof(s_adwHighStones) / sizeof(DWORD) - 1)];
}
// Düşme oranı %90
if (dwStoneVnum != 0 && number(1, 100) <= 90)
{
LPITEM pkStoneItem = ITEM_MANAGER::instance().CreateItem(dwStoneVnum, 1);
if (pkStoneItem)
{
bool bGiveToInventory = false;
// Otomatik Toplama Kontrolü
if (pkAttacker->FindAffect(AFFECT_AUTO_PICK_UP) &&
IS_SET(pkAttacker->GetPickUPMode(), AUTOMATIC_PICK_UP_ACTIVATE) &&
pkAttacker->CheckItemCanGet(pkStoneItem))
{
pkAttacker->AutoGiveItem(pkStoneItem);
bGiveToInventory = true;
// Toplandı Bilgi Mesajı
#ifdef ENABLE_RENEWAL_SPECIAL_CHAT
#ifdef pkAttacker->SendPickupItemPacket(pkStoneItem->GetVnum());
#else
pkAttacker->L#elseChatPacket(CHAT_TYPE_INFO, 495, "%s", pkStoneItem->GetName());
#endif
}
#endif(!bGiveToInventory)
{
PIXEL_POSITION stonePos = GetXYZ();
pkStoneItem->AddToGround(GetMapIndex(), stonePos);
pkStoneItem->SetOwnership(pkAttacker);
pkStoneItem->StartDestroyEvent();
}
}
}
}
// --- ÖZEL TAŞ SİSTEMİ BİTİŞ ---[/CODE]
65 level ve altındaki metinlerden +2, +3 taş, 70 level ve üstü metinlerden +3, +4 taş düşmesini ayarladım. Oto toplama ve topladığına dair bilgi geçme uyumlu olarak çalışıyor.Ekli dosyayı görüntüle 171831Ekli dosyayı görüntüle 171832Ekli dosyayı görüntüle 171833Ekli dosyayı görüntüle 171834
Düşmesini istiyorsan 28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443 // +4 Taşlar bu şekilde kod bloğu var oraya 28443, 28603, bu şekilde , virgül koyup devam edebilirsin veya bu şekildePeki +6 +8 taşlar gri renkli.Onları hangi dosyadan aktif edicez?
Kod:
28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343, // +3 Taşlar
28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443, // +4 Taşlar
28800, 28801, 28802, 28803, 28804, 28805, 28806, 28807, 28808, 28809, 28810, 28811, 28812, 28813 // +8 Taşlar
devam edebilirsin.
Abi onların simgesi gri ama birde altlarında özellikleri yazmıor.Düşmesini istiyorsan 28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443 // +4 Taşlar bu şekilde kod bloğu var oraya 28443, 28603, bu şekilde , virgül koyup devam edebilirsin veya bu şekilde
Kod:28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343, // +3 Taşlar 28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28440, 28441, 28442, 28443, // +4 Taşlar 28800, 28801, 28802, 28803, 28804, 28805, 28806, 28807, 28808, 28809, 28810, 28811, 28812, 28813 // +8 Taşlar
devam edebilirsin.
Şu an konuyu görüntüleyenler (Toplam : 2, Üye: 1, Misafir: 1)
Benzer konular
- Cevaplar
- 41
- Görüntüleme
- 3K
- Cevaplar
- 39
- Görüntüleme
- 5K
- Cevaplar
- 112
- Görüntüleme
- 14K
- Cevaplar
- 121
- Görüntüleme
- 11K
- Cevaplar
- 42
- Görüntüleme
- 5K
