Bvural41 1
Bvural41
OnurBoyla 1
OnurBoyla
noisiv 1
noisiv
Manwe Work 1
Manwe Work
farkmt2official 1
farkmt2official
mavzermete 1
mavzermete
dreamstone 1
dreamstone
Hikaye Ekle

Cevaplanmadı Arena Pot Basmama Sorunu

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!

Merhaba Arkadaşlar, Arena Map haritasında normal basılan kırmızı mavi potlar ya da kırmızı mavi oto potlar hiçbirini kullanamıyorum. bunların hepsini bu mapte kullanılabilir yapmak için source kaynak dosyalarından hangilerini ve hangi satırları değiştirmem lazım yardımcı olabilir misiniz.
 

Ekli dosyalar

Merhaba Arkadaşlar, Arena Map haritasında normal basılan kırmızı mavi potlar ya da kırmızı mavi oto potlar hiçbirini kullanamıyorum. bunların hepsini bu mapte kullanılabilir yapmak için source kaynak dosyalarından hangilerini ve hangi satırları değiştirmem lazım yardımcı olabilir misiniz.



✅ Sorunun Kesin Kaynağı


Arena Map’te potların kullanılamamasının sebebi şu kontroller:


1. CArenaManager::IsLimitedItem

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


2. GetArena() kontrolü

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
return false;
}


3. ArenaMap kısıtlaması

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Bu 3 kontrol kırmızı–mavi pot, hızlı pot, auto pot hepsini engelliyor.




✅ Çözüm: Değiştirmeniz Gereken Satırlar


📌 1. IsLimitedItem Engellemesini Kaldır


char_item.cpp içinde (yaklaşık satır 37.000 civarı):


Bul:​

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena potion limit kaldırıldı
// if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
// return false;




📌 2. GetArena pot yasaklarını kaldır


Yaklaşık satır 39.100 civarı:


Bul:​

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında kullanamazsın."));
return false;
}
}


Değiştir:​

// Arena özel pot kısıtlaması kaldırıldı
// if (GetArena() != NULL)
// {
// if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
// return false;
// }




📌 3. ArenaMap pot engelini kaldır


Yaklaşık satır 44.600 civarı:


Bul:​

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena Map pot engeli kaldırıldı
// if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
// return false;




🎯 Bu işlemlerden sonra:


✔ Kırmızı Pot
✔ Mavi Pot
✔ Hızlı Pot
✔ Auto pot
✔ HP/MP yenileyen tüm potlar
✔ Buff/potion türleri


Arena Map içinde tamamen kullanılabilir hâle gelir.
 


✅ Sorunun Kesin Kaynağı


Arena Map’te potların kullanılamamasının sebebi şu kontroller:


1. CArenaManager::IsLimitedItem

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


2. GetArena() kontrolü

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
return false;
}


3. ArenaMap kısıtlaması

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Bu 3 kontrol kırmızı–mavi pot, hızlı pot, auto pot hepsini engelliyor.




✅ Çözüm: Değiştirmeniz Gereken Satırlar


📌 1. IsLimitedItem Engellemesini Kaldır


char_item.cpp içinde (yaklaşık satır 37.000 civarı):


Bul:​

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena potion limit kaldırıldı
// if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
// return false;




📌 2. GetArena pot yasaklarını kaldır


Yaklaşık satır 39.100 civarı:


Bul:​

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında kullanamazsın."));
return false;
}
}


Değiştir:​

// Arena özel pot kısıtlaması kaldırıldı
// if (GetArena() != NULL)
// {
// if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
// return false;
// }




📌 3. ArenaMap pot engelini kaldır


Yaklaşık satır 44.600 civarı:


Bul:​

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena Map pot engeli kaldırıldı
// if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
// return false;




🎯 Bu işlemlerden sonra:


✔ Kırmızı Pot
✔ Mavi Pot
✔ Hızlı Pot
✔ Auto pot
✔ HP/MP yenileyen tüm potlar
✔ Buff/potion türleri


Arena Map içinde tamamen kullanılabilir hâle gelir.
merhaba hocam 2. nin bir önemi yok 50051 50052 50053 zaten at kitapları o kısmı yorum satırı yapmazsam da olur ama benim anlamadığım 1. kısım aşağıda da verdiğim 1. kısmın geçtiği tek yer burası bunu kapatınca hangi itemlerin kısıtlaması kaldırılıyor. bide #ifdef ENABLE_NEWSTUFF ya#ifdefsımlarını da kapatayım mı ?

#define ENABLE_ADDSTONE_FAILURE
b#defineRACTER::UseItemEx(LPITEM item, TItemPos DestCell)
{
int iLimitRealtimeStartFirstUseFlagIndex = -1;
//int iLimitTimerBasedOnWearFlagIndex = -1;
WORD wDestCell = DestCell.cell;
BYTE bDestInven = DestCell.window_type;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
long limitValue = item->GetProto()->aLimits.lValue;
switch (item->GetProto()->aLimits.bType)
{
case LIMIT_LEVEL:
if (GetLevel() < limitValue)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("�������� ���� ���Ѻ��� ������ �����ϴ�."));
return false;
}
break;
case LIMIT_REAL_TIME_START_FIRST_USE:
iLimitRealtimeStartFirstUseFlagIndex = i;
break;
case LIMIT_TIMER_BASED_ON_WEAR:
//iLimitTimerBasedOnWearFlagIndex = i;
break;
}
}
if (test_server)
{
sys_log(0, "USE_ITEM %d %s, Inven %d, Cell %d, DestInven %d, DestCell %d, ItemType %d, SubType %d", item->GetVnum(), item->GetName(), item->GetWindow(), item->GetCell(), bDestInven, wDestCell, item->GetType(), item->GetSubType());
}
if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("��� �߿��� �̿��� �� ���� ��ǰ�Դϴ�."));
return false;
}
#ifdef ENABLE_NEWSTUFF
else if (g_NoPotionsOnPVP && CPVPManager::instance().IsFighting(GetPlayerID()) && IsLimitedPotionOnPVP(item->GetVnu#ifdef {
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("��� �߿��� �̿��� �� ���� ��ǰ�Դϴ�."));
return false;
}
#endif
#endif
 


✅ Sorunun Kesin Kaynağı


Arena Map’te potların kullanılamamasının sebebi şu kontroller:


1. CArenaManager::IsLimitedItem

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


2. GetArena() kontrolü

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
return false;
}


3. ArenaMap kısıtlaması

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Bu 3 kontrol kırmızı–mavi pot, hızlı pot, auto pot hepsini engelliyor.




✅ Çözüm: Değiştirmeniz Gereken Satırlar


📌 1. IsLimitedItem Engellemesini Kaldır


char_item.cpp içinde (yaklaşık satır 37.000 civarı):


Bul:​

if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena potion limit kaldırıldı
// if ( CArenaManager::instance().IsLimitedItem( GetMapIndex(), item->GetVnum() ) == true )
// return false;




📌 2. GetArena pot yasaklarını kaldır


Yaklaşık satır 39.100 civarı:


Bul:​

if (GetArena() != NULL)
{
if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena sırasında kullanamazsın."));
return false;
}
}


Değiştir:​

// Arena özel pot kısıtlaması kaldırıldı
// if (GetArena() != NULL)
// {
// if (item->GetVnum() == 50051 || item->GetVnum() == 50052 || item->GetVnum() == 50053)
// return false;
// }




📌 3. ArenaMap pot engelini kaldır


Yaklaşık satır 44.600 civarı:


Bul:​

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Arena içinde bu itemi kullanamazsın."));
return false;
}


Değiştir:​

// Arena Map pot engeli kaldırıldı
// if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
// return false;




🎯 Bu işlemlerden sonra:


✔ Kırmızı Pot
✔ Mavi Pot
✔ Hızlı Pot
✔ Auto pot
✔ HP/MP yenileyen tüm potlar
✔ Buff/potion türleri


Arena Map içinde tamamen kullanılabilir hâle gelir.
Ruling sen misin QWLAİSÖDAÖŞSDÖŞ
 

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

Geri
Üst