- Mesaj
- 23
- Beğeni
- 1
- Puan
- 40
- Ticaret Puanı
- 0
anladım hocam teşekkürler düzeltiyorum tekrar build almama gerek var mı ?Tab ve boşluk karakterlerinin karışık kullanılmasından kaynaklı sorununuz. Daima tab kullanın.
20848 eklentisini görüntüle
anladım hocam teşekkürler düzeltiyorum tekrar build almama gerek var mı ?Tab ve boşluk karakterlerinin karışık kullanılmasından kaynaklı sorununuz. Daima tab kullanın.
20848 eklentisini görüntüle
Pack tarafındaki değişiklikler için değiştirdiğiniz packı epack32 veya PML gibi bir araçla kapatmanız yeterli.anladım hocam teşekkürler düzeltiyorum tekrar build almama gerek var mı ?
Tamamdır hocam çok teşekkürler sorun çözüldüPack tarafındaki değişiklikler için değiştirdiğiniz packı epack32 veya PML gibi bir araçla kapatmanız yeterli.

bool CExchange::CheckSpace()
{
#ifdef ENABLE_EXTEND_INVEN_SYSTEM
static CGrid s_grid1(5, INVENTORY_MAX_NUM / 5 / INVENTORY_PAGE_COUNT); // inven page 1
static CGrid s_grid2(5, INVENTORY_MAX_NUM / 5 / INVENTORY_PAGE_COUNT); // inven page 2
static CGrid s_grid3(5, INVENTORY_MAX_NUM / 5 / INVENTORY_PAGE_COUNT); // inven page 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM / 5 / INVENTORY_PAGE_COUNT); // inven page 4
#else
static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2
#endif
s_grid1.Clear();
s_grid2.Clear();
#ifdef ENABLE_EXTEND_INVEN_SYSTEM
s_grid3.Clear();
s_grid4.Clear();
#endif
LPCHARACTER victim = GetCompany()->GetOwner();
LPITEM item;
int i;
#ifdef ENABLE_EXTEND_INVEN_SYSTEM
for (i = 0; i < INVENTORY_PAGE_SLOT_COUNT; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid1.Put(i, 1, item->GetSize());
}
for (i = INVENTORY_PAGE_SLOT_COUNT; i < INVENTORY_PAGE_SLOT_COUNT * 2; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid2.Put(i - INVENTORY_PAGE_SLOT_COUNT, 1, item->GetSize());
}
for (i = INVENTORY_PAGE_SLOT_COUNT * 2; i < INVENTORY_PAGE_SLOT_COUNT * 3; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid3.Put(i - INVENTORY_PAGE_SLOT_COUNT * 2, 1, item->GetSize());
}
for (i = INVENTORY_PAGE_SLOT_COUNT * 3; i < INVENTORY_PAGE_SLOT_COUNT * 4; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid4.Put(i - INVENTORY_PAGE_SLOT_COUNT * 3, 1, item->GetSize());
}
#else
for (i = 0; i < INVENTORY_MAX_NUM / 2; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid1.Put(i, 1, item->GetSize());
}
for (i = INVENTORY_MAX_NUM / 2; i < INVENTORY_MAX_NUM; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid2.Put(i - INVENTORY_MAX_NUM / 2, 1, item->GetSize());
}
#endif
// ¾Æ... ¹º°¡ °³º´½Å °°Áö¸¸... ¿ëÈ¥¼® Àκ¥À» ³ë¸Ö Àκ¥ º¸°í µû¶ó ¸¸µç ³» À߸øÀÌ´Ù ¤Ğ¤Ğ
static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM);
// ÀÏ´Ü ¿ëÈ¥¼®À» ±³È¯ÇÏÁö ¾ÊÀ» °¡´É¼ºÀÌ Å©¹Ç·Î, ¿ëÈ¥¼® Àκ¥ º¹»ç´Â ¿ëÈ¥¼®ÀÌ ÀÖÀ» ¶§ Çϵµ·Ï ÇÑ´Ù.
bool bDSInitialized = false;
for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
{
if (!(item = m_apItems[i]))
continue;
if (item->IsDragonSoul())
{
if (!victim->DragonSoul_IsQualified())
{
return false;
}
if (!bDSInitialized)
{
bDSInitialized = true;
victim->CopyDragonSoulItemGrid(s_vDSGrid);
}
bool bExistEmptySpace = false;
WORD wBasePos = DSManager::instance().GetBasePosition(item);
if (wBasePos >= DRAGON_SOUL_INVENTORY_MAX_NUM)
return false;
for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++)
{
WORD wPos = wBasePos + i;
#ifdef ENABLE_MARTY_FIX_159
if (0 == s_vDSGrid[wPos]) // @fixme159 (wBasePos to wPos)
#else
if (0 == s_vDSGrid[wBasePos])
#endif
{
bool bEmpty = true;
for (int j = 1; j < item->GetSize(); j++)
{
if (s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM])
{
bEmpty = false;
break;
}
}
if (bEmpty)
{
for (int j = 0; j < item->GetSize(); j++)
{
s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM] = wPos + 1;
}
bExistEmptySpace = true;
break;
}
}
if (bExistEmptySpace)
break;
}
if (!bExistEmptySpace)
return false;
}
else
{
int iPos = s_grid1.FindBlank(1, item->GetSize());
#ifdef ENABLE_EXTEND_INVEN_SYSTEM
if (iPos >= 0)
{
s_grid1.Put(iPos, 1, item->GetSize());
}
else
{
iPos = s_grid2.FindBlank(1, item->GetSize());
if (iPos >= 0)
{
s_grid2.Put(iPos, 1, item->GetSize());
}
else
{
iPos = s_grid3.FindBlank(1, item->GetSize());
if (iPos >= 0)
{
s_grid3.Put(iPos, 1, item->GetSize());
}
else
{
iPos = s_grid4.FindBlank(1, item->GetSize());
if (iPos >= 0)
{
s_grid4.Put(iPos, 1, item->GetSize());
}
else
{
return false;
}
}
}
}
#else
if (iPos >= 0)
{
s_grid1.Put(iPos, 1, item->GetSize());
}
else
{
iPos = s_grid2.FindBlank(1, item->GetSize());
if (iPos >= 0)
{
s_grid2.Put(iPos, 1, item->GetSize());
}
else
{
return false;
}
}
#endif
}
}
return true;
}
merhaba @Whistle hocam ellerine sağlık 4 envanter yaptım sorun yok çalıştı. fakat 5 yaptıgımda
compile char_manager.cpp
compile char_quickslot.cpp
In file included from char_item.cpp:41:
In static member function 'static bool CBeltInventoryHelper::IsAvailableCell(WORD, int)',
inlined from 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const' at char_item.cpp:583:56:
belt_inventory_helper.h:70:46: warning: array subscript [65280, 65295] is outside array bounds of 'CBeltInventoryHelper::TGradeUnit [16]' {aka 'unsigned char [16]'} [-Warray-bounds=]
70 | return ruleTable[cell] <= beltGrade;
| ~~~~~~~~~~~~~~^
belt_inventory_helper.h: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
belt_inventory_helper.h:53:43: note: at offset [65280, 65295] into object 'availableRuleByGrade' of size 16
53 | static TGradeUnit availableRuleByGrade[BELT_INVENTORY_SLOT_COUNT] =
| ^~~~~~~~~~~~~~~~~~~~
compile char_resist.cpp
compile char_skill.cpp
compile char_state.cpp
game build alırken sorun yasıyorum
INVENTORY_MAX_NUM = 225,
INVENTORY_PAGE_COUNT = INVENTORY_MAX_NUM / 45,
INVENTORY_PAGE_SLOT_COUNT = INVENTORY_MAX_NUM / INVENTORY_PAGE_COUNT,
INVENTORY_MAX_NUM 180 de sorun yok 225 yapınca hata veriyor. mainline files kullanıyorum.
, ilk denememde her şeyi yapmıştım ancak puTTY ile build de etmem gerektiğini bilmediğimden dolayı 3 ve 4. envantere itemler giyiliyordu kullanamıyordum build ettikten sonra düzeldi , bu değerli paylaşımınız için teşekkürler Belt ve diğer envanterlerin Başlama nolarını güncellemen gerekir Her envantere 45 düşünürsen Giyme envanteri 45x6 Yapıp üzerine bir de Belt inventor’e sayısını ekleyip yazmalısın6 envanter sayfası yaptığımda envanter kullanılabiliyor ama bu sefer sağ tık ile item giymeme sorunu ortaya çıkıyor neyden dolayı olabilir
tam olarak anlamadım hocamBelt ve diğer envanterlerin Başlama nolarını güncellememen gerekir Her envantere 45 düşünürsen Giyme envanteri 45x6 Yapıp üzerine bir de Belt inventor’e sayısını ekleyip yazmalısın
Bence beş envanter yap 6 envanter uygun değil buglarla savasman gerekirtam olarak anlamadım hocam
İlk sorduğun locale_interface.txt içine ekleyeceksin. Eklemeleri yaptıktan sonrada source dosyalarını derleyip pack dosyalarını paketleyip oyuna gireceksin hepsi bu.merhaba 1. burayı nereye ekleyeceğimi anlamadım.
Bu kodları eklemezseniz oyuna giremezsiniz ve syserr şöyle bir hata verir;
Kod:
<type 'exceptions.AttributeError'>:'module' object has no attribute 'INVENTORY_PAGE_BUTTON_TOOLTIP_3'
2. ise tüm kodlamaları düzgünce yaptım şimdi ne yapacağım?
1208 00:08:23961 ::
uiInventory.py(line:313) __LoadWindow
ui.py(line:2709) GetChild
InventoryWindow.LoadWindow.BindObject - <type 'exceptions.KeyError'>:'Inventory_Tab_03'
1208 00:08:23961 :: ============================================================================================================
1208 00:08:23961 :: Abort!!!!
0123 12:16:07453 ::
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:30) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:12) <module>
system.py(line:130) __pack_import
networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unindent does not match any outer indentation level (uiInventory.py, line 311)
0123 12:16:07453 :: ============================================================================================================
0123 12:16:07453 :: Abort!!!!
0123 12:16:07453 :: filename=exception.py, name=Abort, line=33
0123 12:16:07453 :: filename=networkModule.py, name=SetSelectCharacterPhase, line=213
0123 12:16:07453 :: filename=prototype.py, name=RunApp, line=57
0123 12:16:07453 :: filename=prototype.py, name=<module>, line=61
0123 12:16:07453 :: filename=system.py, name=Run, line=163
0123 12:16:07453 :: filename=system.py, name=execfile, line=192
0123 12:16:07453 :: filename=system.py, name=RunMainScript, line=273
0123 12:16:07453 :: filename=system.py, name=<module>, line=295
0123 12:16:07453 :: filename=<string>, name=<module>, line=297
tab ile atma sıkıntısı varmış notepadd ile atamadım phytondan girip atınca düzeldi eğer notepadden atmak isteyen olursa yukarıda görünüm var oraya tıklayıp simge göster diyip boşluğu ve sekmeyi göster seçeneğini açarsanız boşlukları düzgün atıp atmadığını görmüş olursunuzHocam Server Kısmı çözüldü client buildi de çözdüm ama oyuna giriş yaparken atıyor syserr de de böyle birşey var
Syserr:0123 12:16:07453 :: networkModule.py(line:208) SetSelectCharacterPhase system.py(line:130) __pack_import system.py(line:110) _process_result introSelect.py(line:30) <module> system.py(line:130) __pack_import system.py(line:110) _process_result interfaceModule.py(line:12) <module> system.py(line:130) __pack_import networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unindent does not match any outer indentation level (uiInventory.py, line 311) 0123 12:16:07453 :: ============================================================================================================ 0123 12:16:07453 :: Abort!!!! 0123 12:16:07453 :: filename=exception.py, name=Abort, line=33 0123 12:16:07453 :: filename=networkModule.py, name=SetSelectCharacterPhase, line=213 0123 12:16:07453 :: filename=prototype.py, name=RunApp, line=57 0123 12:16:07453 :: filename=prototype.py, name=<module>, line=61 0123 12:16:07453 :: filename=system.py, name=Run, line=163 0123 12:16:07453 :: filename=system.py, name=execfile, line=192 0123 12:16:07453 :: filename=system.py, name=RunMainScript, line=273 0123 12:16:07453 :: filename=system.py, name=<module>, line=295 0123 12:16:07453 :: filename=<string>, name=<module>, line=297