Hikayeler

Reklam vermek için turkmmo@gmail.com

Arena Pot Basmama Sorunu

Murphy0

Level 2
Üye
Katılım
18 Ağu 2025
Konular
24
Mesajlar
80
Online süresi
16g 26408s
Reaksiyon Skoru
15
Altın Konu
0
Başarım Puanı
35
TM Yaşı
8 Ay 3 Gün
MmoLira
2,605
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. 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

  • arena.zip
    45.2 KB · Görüntüleme: 0
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 : 1, Üye: 0, Misafir: 1)

Geri
Üst