romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı Mob Target Info Sistemi Game Build Hatası

  • Konuyu başlatan Konuyu başlatan ramazan1181
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 13
  • Görüntüleme Görüntüleme 747

ramazan1181

Level 28
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Banlı
TM Üye
Katılım
9 Şub 2012
Konular
125
Mesajlar
1,010
Çözüm
15
Online süresi
18d 23h
Reaksiyon Skoru
206
Altın Konu
1
Başarım Puanı
209
MmoLira
1,076
DevLira
15
Ticaret - 100%
1   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhabalar,

Forumdaki Mob Target Info sistemini kurdum fakat packta hata alıyorum sorunun çözümü için desteğinizi rica ederim,

Packı dosyada bahsedildiği gibi editledim fakat sysser aşağıdaki gibi error veriyor ve oyun içinde mob target sistemi görünmüyor

[CODE title="Bash"]
0110 20:24:15995 :: File "ui.py", line 309, in OnMouseLeftButtonDown

0110 20:24:15995 :: AttributeError
0110 20:24:15995 :: :
0110 20:24:15995 :: 'TargetBoard' object has no attribute 'clickEvent'
0110 20:24:15995 ::

0110 20:24:16243 :: Traceback (most recent call last):

[/CODE]
 
Son düzenleme:
Çözüm
Ticaret - 100%
1   0   0
sorun çözüldü sürüm uyuşmazlığı yüzünden hata veriyordu, kodlarda decltype kullanılıyor ve decltype da
resim_2025-01-11_113143405.webp



C++:

// Drop Item Group
{
itertype(m_map_pkDropItemGroup) it;
it = m_map_pkDropItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkDropItemGroup.end())
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); ++i)
{
item = CreateItem(v.dwVnum, v.iCount, 0, true);

if (item)
{
if (item->GetType() == ITEM_POLYMORPH)
{
if (item->GetVnum() == pkChr->GetPolymorphItemVnum())
{
item->SetSocket(0, pkChr->GetRaceNum());
}
}

vec_item.push_back(item);
}
}
}
}

kodlar bu şekildeydi ancak item_manager'ı...
Merhabalar gcc sürümünüz decltype desteklemiyor ya gcc sürümünüzü yükseltin.
Eğer decltype kullanımı zorunlu değilse ve daha eski bir C++ standardı kullanıyorsanız, aşağıdaki gibi alternatif bir çözüm uygulayabilirsiniz.
[CODE title="decltype"]// Eski C++ kodu için 'decltype' yerine türü açıkça belirtin
std::vector<CItem*> v;[/CODE]
 
Merhabalar,

Forumdaki Mob Target Info sistemini kurdum fakat game build alırken hata alıyorum sorunun çözümü için desteğinizi rica ederim,

Hatanın sebebi sürüm uyuşmazlığı GCC11 kurulu değil sunucuda fakat kurulu olan bilişim sunucusunda da çok daha farklı hatalar veriyor mob target sistemini kaldırınca localde bsd 9.2 gcc49 ile derleyebiliyorum ama bu sistemi eklediğimde build alamıyorum filesın sürümünü mü yükseltmem gerekiyor.

Sunucuda build alırken aldığım hata:

[CODE title="Bash"]
item_manager.cpp: In member function 'bool ITEM_MANAGER::CreateDropItemVector(CHARACTER*, CHARACTER*, std::vector<CItem*, std::allocator<CItem*> >&)':
item_manager.cpp:785: error: 'decltype' was not declared in this scope
item_manager.cpp:785: error: expected `;' before 'v'
item_manager.cpp:787: error: 'v' was not declared in this scope
item_manager.cpp:837: error: 'decltype' was not declared in this scope
item_manager.cpp:837: error: expected `;' before 'v'
item_manager.cpp:839: error: 'v' was not declared in this scope
item_manager.cpp:859: error: 'decltype' was not declared in this scope
item_manager.cpp:859: error: expected `;' before 'v'
item_manager.cpp:861: error: 'v' was not declared in this scope
compiling log.cpp
gmake: *** [.obj/item_manager.o] Error 1
gmake: *** Waiting for unfinished jobs....
[/CODE]

Hazır vdi ile çalışıyorum localde metin2-GRININJA.ova dosyasını içe aktarıp build alıyordum öncesinde, mainline game source kullanıyorum.
Bu hata gcc ile alakası yok... c++ sürümlerinizi eklediginiz kodlara göre uyarlayın std yerine unique,decltype gibi tiplere kullamanız gerekebilir c++ sürümünüze neyse .
 
Eklemeye çalıştığım ve hata aldığım kod parçacığı bu desteğinizi rica ederim:

[CODE title="item_manager.cpp"]#ifdef ENABLE_TARGET_INFORMATION_SYSTEM
bool ITEM_MANAGER::CreateDropItemVector(LPCHARACTER pkChr, LPCHARACTER pkKiller, std::vector<LPITEM>& vec_item)
{
if (pkChr->IsPolymorphed() || pkChr->IsPC())
return false;

int iLevel = pkKiller->GetLevel();
LPITEM item = NULL;

// Drop Item Group
{
itertype(m_map_pkDropItemGroup) it;
it = m_map_pkDropItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkDropItemGroup.end())
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); ++i)
{
item = CreateItem(v.dwVnum, v.iCount, 0, true);

if (item)
{
if (item->GetType() == ITEM_POLYMORPH)
{
if (item->GetVnum() == pkChr->GetPolymorphItemVnum())
{
item->SetSocket(0, pkChr->GetRaceNum());
}
}

vec_item.push_back(item);
}
}
}
}

// MobDropItem Group
{
itertype(m_map_pkMobItemGroup) it;
it = m_map_pkMobItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkMobItemGroup.end())
{
CMobItemGroup* pGroup = it->second;

// MOB_DROP_ITEM_BUG_FIX
if (pGroup && !pGroup->IsEmpty())
{
const CMobItemGroup::SMobItemGroupInfo& info = pGroup->GetOne();
item = CreateItem(info.dwItemVnum, info.iCount, 0, true, info.iRarePct);

if (item) vec_item.push_back(item);
}
// END_OF_MOB_DROP_ITEM_BUG_FIX
}
}

// Level Item Group
{
itertype(m_map_pkLevelItemGroup) it;
it = m_map_pkLevelItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkLevelItemGroup.end())
{
if (it->second->GetLevelLimit() <= (DWORD)iLevel)
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); i++)
{
DWORD dwVnum = v.dwVNum;
item = CreateItem(dwVnum, v.iCount, 0, true);
if (item) vec_item.push_back(item);
}
}
}
}

// BuyerTheitGloves Item Group
{
if (pkKiller->GetPremiumRemainSeconds(PREMIUM_ITEM) > 0 ||
pkKiller->IsEquipUniqueGroup(UNIQUE_GROUP_DOUBLE_ITEM))
{
itertype(m_map_pkGloveItemGroup) it;
it = m_map_pkGloveItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkGloveItemGroup.end())
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); ++i)
{
DWORD dwVnum = v.dwVnum;
item = CreateItem(dwVnum, v.iCount, 0, true);
if (item) vec_item.push_back(item);
}
}
}
}
if (pkChr->GetMobDropItemVnum())
{
itertype(m_map_dwEtcItemDropProb) it = m_map_dwEtcItemDropProb.find(pkChr->GetMobDropItemVnum());

if (it != m_map_dwEtcItemDropProb.end())
{
item = CreateItem(pkChr->GetMobDropItemVnum(), 1, 0, true);
if (item) vec_item.push_back(item);
}
}

if (pkChr->IsStone())
{
for (int i = 0; i < 14; ++i)
{
item = CreateItem(28030 + i, 1, 0, true);
if (item) vec_item.push_back(item);
}
}

return vec_item.size();
}
#endif[/CODE]#endif
 
Eklemeye çalıştığım ve hata aldığım kod parçacığı bu desteğinizi rica ederim:

[CODE title="item_manager.cpp"]#ifdef ENABLE_TARGET_INFORMATION_SYSTEM
bool ITEM_MANAGER::CreateDropItemVector(LPCHARACTER pkChr, LPCHARACTER pkKiller, std::vector<LPITEM>& vec_item)
{
if (pkChr->IsPolymorphed() || pkChr->IsPC())
return false;

int iLevel = pkKiller->GetLevel();
LPITEM item = NULL;

// Drop Item Group
{
itertype(m_map_pkDropItemGroup) it;
it = m_map_pkDropItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkDropItemGroup.end())
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); ++i)
{
item = CreateItem(v.dwVnum, v.iCount, 0, true);

if (item)
{
if (item->GetType() == ITEM_POLYMORPH)
{
if (item->GetVnum() == pkChr->GetPolymorphItemVnum())
{
item->SetSocket(0, pkChr->GetRaceNum());
}
}

vec_item.push_back(item);
}
}
}
}

// MobDropItem Group
{
itertype(m_map_pkMobItemGroup) it;
it = m_map_pkMobItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkMobItemGroup.end())
{
CMobItemGroup* pGroup = it->second;

// MOB_DROP_ITEM_BUG_FIX
if (pGroup && !pGroup->IsEmpty())
{
const CMobItemGroup::SMobItemGroupInfo& info = pGroup->GetOne();
item = CreateItem(info.dwItemVnum, info.iCount, 0, true, info.iRarePct);

if (item) vec_item.push_back(item);
}
// END_OF_MOB_DROP_ITEM_BUG_FIX
}
}

// Level Item Group
{
itertype(m_map_pkLevelItemGroup) it;
it = m_map_pkLevelItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkLevelItemGroup.end())
{
if (it->second->GetLevelLimit() <= (DWORD)iLevel)
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); i++)
{
DWORD dwVnum = v.dwVNum;
item = CreateItem(dwVnum, v.iCount, 0, true);
if (item) vec_item.push_back(item);
}
}
}
}

// BuyerTheitGloves Item Group
{
if (pkKiller->GetPremiumRemainSeconds(PREMIUM_ITEM) > 0 ||
pkKiller->IsEquipUniqueGroup(UNIQUE_GROUP_DOUBLE_ITEM))
{
itertype(m_map_pkGloveItemGroup) it;
it = m_map_pkGloveItemGroup.find(pkChr->GetRaceNum());

if (it != m_map_pkGloveItemGroup.end())
{
decltype(it->second->GetVector()) v = it->second->GetVector();

for (DWORD i = 0; i < v.size(); ++i)
{
DWORD dwVnum = v.dwVnum;
item = CreateItem(dwVnum, v.iCount, 0, true);
if (item) vec_item.push_back(item);
}
}
}
}
if (pkChr->GetMobDropItemVnum())
{
itertype(m_map_dwEtcItemDropProb) it = m_map_dwEtcItemDropProb.find(pkChr->GetMobDropItemVnum());

if (it != m_map_dwEtcItemDropProb.end())
{
item = CreateItem(pkChr->GetMobDropItemVnum(), 1, 0, true);
if (item) vec_item.push_back(item);
}
}

if (pkChr->IsStone())
{
for (int i = 0; i < 14; ++i)
{
item = CreateItem(28030 + i, 1, 0, true);
if (item) vec_item.push_back(item);
}
}

return vec_item.size();
}
#endif[/CODE]#endif

Temiz "İtem_manager.cpp" iletir misin
ve eklenmesi gereken item_manager.cpp iletir misin özelden hataları ileterek devam edelim. dm attım
 

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

Geri
Üst