Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Cześć.

Mam problem z dodaniem Kart Okey na serwer. Znalazłem w internecie poradnik, do którego się stosowałem. Skompilowałem clienta, nadszedł czas na serwer. Robiłem zgodnie z poradnikiem, mimo to pojawił się błąd.

 

 

In file included from char.cpp:4:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_battle.cpp:27:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char.cpp:25:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char.cpp:62:
PetSystem.h:163:31: warning: no newline at end of file
char.cpp:7219: warning: this decimal constant is unsigned only in ISO C90
In file included from char_horse.cpp:14:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_item.cpp:44:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_item.cpp:47:
belt_inventory_helper.h:108:42: warning: no newline at end of file
In file included from char_state.cpp:25:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from PetSystem.cpp:8:
PetSystem.h:163:31: warning: no newline at end of file
In file included from PetSystem.cpp:9:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
PetSystem.cpp:637:2: warning: no newline at end of file
char.cpp: In member function 'void CHARACTER::PointChange(BYTE, int, bool, bool)':
char.cpp:3090: warning: comparison between signed and unsigned integer expressions
In file included from char_item.cpp:47:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:640: warning: comparison is always false due to limited range of data type
char_item.cpp:666: warning: comparison is always false due to limited range of data type
char_item.cpp: In member function 'bool CHARACTER::UseItemEx(CItem*, TItemPos)':
char_item.cpp:2387: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2391: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2403: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2407: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2434: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2442: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:5087: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::UseItem(TItemPos, TItemPos)':
char_item.cpp:5159: warning: unused variable 'wDestCell'
char_item.cpp:5160: warning: unused variable 'bDestInven'
char_item.cpp: In member function 'bool CHARACTER::EquipItem(CItem*, int)':
char_item.cpp:6160: warning: array subscript has type 'char'
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_AddBuffsFromItem(CItem*)':
char_item.cpp:6224: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_RemoveBuffsFromItem(CItem*)':
char_item.cpp:6236: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(CItem*, const TItemPos&, const TItemPos&)':
char_item.cpp:7422: warning: unused variable 'itemType'
char_item.cpp:7423: warning: unused variable 'itemSubType'
PetSystem.cpp: In member function 'virtual bool CPetActor::_UpdateFollowAI()':
PetSystem.cpp:246: warning: unused variable 'bDoMoveAlone'
PetSystem.cpp: In member function 'CPetActor* CPetSystem::Summon(DWORD, CItem*, const char*, bool, DWORD)':
PetSystem.cpp:552: warning: unused variable 'petVID'
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:679: warning: control reaches end of non-void function
char_state.cpp: In member function 'virtual void CHARACTER::StateMove()':
char_state.cpp:901: warning: unused variable 'rider'
In file included from cmd_general.cpp:36:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
constants.cpp:291: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:292: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:293: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:294: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:295: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:296: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:297: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:298: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:299: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:300: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:301: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:302: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:303: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:304: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:305: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:306: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:307: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:308: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:309: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:310: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:311: warning: this decimal constant is unsigned only in ISO C90
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_ValueChange(BYTE, BYTE, BYTE)':
char_item.cpp:6271: warning: 'pBuff' may be used uninitialized in this function
In file included from config.cpp:22:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
config.cpp: In function 'void config_init(const std::string&)':
config.cpp:435: warning: NULL used in arithmetic
config.cpp:459: warning: NULL used in arithmetic
config.cpp:483: warning: NULL used in arithmetic
config.cpp:505: warning: unused variable 'line'
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3935: warning: NULL used in arithmetic
cube.cpp: In function 'bool Cube_make(CHARACTER*)':
cube.cpp:544: warning: comparison between signed and unsigned integer expressions
cube.cpp: In function 'void Cube_MakeCubeInformationText()':
cube.cpp:716: warning: unused variable 'npcVNUM'
cube.cpp: In function 'bool Cube_InformationInitialize()':
cube.cpp:783: warning: comparison between signed and unsigned integer expressions
In file included from desc_manager.cpp:15:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
desc_client.cpp: In member function 'void CLIENT_DESC::UpdateChannelStatus(DWORD, bool)':
desc_client.cpp:299: warning: comparison between signed and unsigned integer expressions
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function
In file included from input_db.cpp:13:
shop_manager.h:40:7: warning: no newline at end of file
input_db.cpp:2722:2: warning: no newline at end of file
In file included from input_main.cpp:16:
shop_manager.h:40:7: warning: no newline at end of file
input_auth.cpp: In member function 'int CInputAuth::auth_OpenID(const char*, const char*, char*)':
input_auth.cpp:467: warning: unused variable 'last'
In file included from item.cpp:22:
belt_inventory_helper.h:108:42: warning: no newline at end of file
In file included from item.cpp:23:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
item.cpp:2084:2: warning: no newline at end of file
In file included from item_manager.cpp:21:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from item.cpp:22:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
item.h: In constructor 'CItem::CItem(DWORD)':
item.h:286: warning: 'CItem::m_pkRealTimeExpireEvent' will be initialized after
item.h:283: warning:   'LPEVENT CItem::m_pkExpireEvent'
item.cpp:25: warning:   when initialized here
item.cpp: In function 'const bool CanPutIntoRing(CItem*, CItem*)':
item.cpp:1725: warning: unused variable 'vnum'
item.cpp: In member function 'bool CItem::CanPutInto(CItem*)':
item.cpp:1758: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Per(float)':
item.cpp:2014: warning: comparison between signed and unsigned integer expressions
item.cpp:2016: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Fix(DWORD)':
item.cpp:2038: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GetDuration()':
item.cpp:2069: warning: array subscript has type 'char'
item_manager.cpp: In member function 'TItemTable* ITEM_MANAGER::GetTable(DWORD)':
item_manager.cpp:604: warning: comparison between signed and unsigned integer expressions
monarch.cpp:276:2: warning: no newline at end of file
questlua.cpp: In member function 'bool quest::FPartyCheckFlagLt::operator()(CHARACTER*)':
questlua.cpp:78: warning: 'returnBool' may be used uninitialized in this function
In file included from questlua_pet.cpp:11:
PetSystem.h:163:31: warning: no newline at end of file
questlua_pet.cpp:157:2: warning: no newline at end of file
In file included from questlua_npc.cpp:9:
shop_manager.h:40:7: warning: no newline at end of file
questlua_npc.cpp: In function 'int quest::npc_get_vid_attack_mul(lua_State*)':
questlua_npc.cpp:293: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_attack_mul(lua_State*)':
questlua_npc.cpp:309: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_get_vid_damage_mul(lua_State*)':
questlua_npc.cpp:324: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_damage_mul(lua_State*)':
questlua_npc.cpp:340: warning: unused variable 'q'
questnpc.cpp: In member function 'bool quest::NPC::HandleEvent(quest::PC&, int)':
questnpc.cpp:500: warning: unused variable 'pPC'
In file included from trigger.cpp:8:
shop_manager.h:40:7: warning: no newline at end of file
shop.cpp: In member function 'virtual bool CShop::IsSellingItem(DWORD)':
shop.cpp:576: warning: comparison between signed and unsigned integer expressions
utils.cpp: In function 'bool WildCaseCmp(const char*, const char*)':
utils.cpp:243: warning: NULL used in arithmetic
utils.cpp:255: warning: NULL used in arithmetic
utils.cpp:269: warning: NULL used in arithmetic
FileMonitor_FreeBSD.cpp:136:2: warning: no newline at end of file
In file included from ClientPackageCryptInfo.cpp:2:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
In file included from dragon_soul_table.cpp:4:
dragon_soul_table.h:74:7: warning: no newline at end of file
ClientPackageCryptInfo.h: In constructor 'CClientPackageCryptInfo::CClientPackageCryptInfo()':
ClientPackageCryptInfo.h:50: warning: 'CClientPackageCryptInfo::m_pSerializedCryptKeyStream' will be initialized after
ClientPackageCryptInfo.h:48: warning:   'int CClientPackageCryptInfo::m_nCryptKeyPackageCnt'
ClientPackageCryptInfo.cpp:9: warning:   when initialized here
buff_on_attributes.cpp: In member function 'void CBuffOnAttributes::ChangeBuffValue(BYTE)':
buff_on_attributes.cpp:113: warning: unused variable 'old_value'
buff_on_attributes.cpp:114: warning: unused variable 'new_value'
In file included from check_server.cpp:1:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
../../../Extern/include/cryptopp/algparam.h: In constructor 'CryptoPP::ConstByteArrayParameter::ConstByteArrayParameter(const T&, bool) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
../../../Extern/include/cryptopp/filters.h:793:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:26: warning: unused variable 'cryptopp_assert_26'
../../../Extern/include/cryptopp/algparam.h: In member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void*) const [with T = CryptoPP::RandomNumberGenerator*]':
cipher.cpp:397:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:322: warning: unused variable 'p'
In file included from DragonSoul.cpp:9:
dragon_soul_table.h:74:7: warning: no newline at end of file
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::ReadAdditionalApplys()':
dragon_soul_table.cpp:223: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckApplyNumSettings()':
dragon_soul_table.cpp:283: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckWeightTables()':
dragon_soul_table.cpp:311: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineGradeTables()':
dragon_soul_table.cpp:343: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:372: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStepTables()':
dragon_soul_table.cpp:397: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:427: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStrengthTables()':
dragon_soul_table.cpp:453: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonHeartExtTables()':
dragon_soul_table.cpp:494: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:513: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:522: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonSoulExtTables()':
dragon_soul_table.cpp:545: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = std::string]':
dragon_soul_table.cpp:129:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = BYTE]':
dragon_soul_table.cpp:134:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = int]':
dragon_soul_table.cpp:201:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = float]':
dragon_soul_table.cpp:260:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = float]':
dragon_soul_table.cpp:828:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = int]'
dragon_soul_table.cpp:612:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = unsigned int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = unsigned int]'
dragon_soul_table.cpp:884:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In constructor 'CGroupTextParseTreeLoader::CGroupTextParseTreeLoader()':
group_text_parse_tree.h:93: warning: 'CGroupTextParseTreeLoader::m_dwcurLineIndex' will be initialized after
group_text_parse_tree.h:91: warning:   'CGroupNode* CGroupTextParseTreeLoader::m_pRootGroupNode'
group_text_parse_tree.cpp:5: warning:   when initialized here
group_text_parse_tree.cpp: In member function 'bool CGroupTextParseTreeLoader::LoadGroup(CGroupNode*)':
group_text_parse_tree.cpp:99: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.cpp: In member function 'bool CGroupNode::GetRow(int, const CGroupNode::CGroupNodeRow**) const':
group_text_parse_tree.cpp:206: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In function 'int Gamble(std::vector<float, std::allocator<float> >&)':
DragonSoul.cpp:19: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp:25: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::RefreshItemAttributes(CItem*)':
DragonSoul.cpp:203: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::PutAttributes(CItem*)':
DragonSoul.cpp:273: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::ExtractDragonHeart(CHARACTER*, CItem*, CItem*)':
DragonSoul.cpp:350: warning: unused variable 'sum'
DragonSoul.cpp: In member function 'bool DSManager::PullOut(CHARACTER*, TItemPos, CItem*&, CItem*)':
DragonSoul.cpp:435: warning: unused variable 'dwVnum'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 3 has type 'double'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 4 has type 'double'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineGrade(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:555: warning: unused variable 'prob_sum'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineStep(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:763: warning: unused variable 'sum'
char_dragonsoul.cpp:143:2: warning: no newline at end of file
In file included from shop_manager.cpp:22:
shop_manager.h:40:7: warning: no newline at end of file
char_dragonsoul.cpp: In member function 'bool CHARACTER::DragonSoul_ActivateDeck(int)':
char_dragonsoul.cpp:91: warning: control reaches end of non-void function
shopEx.cpp: In member function 'virtual int CShopEx::Buy(CHARACTER*, BYTE)':
shopEx.cpp:159: warning: comparison between signed and unsigned integer expressions
item_manager_read_tables.cpp: In member function 'bool ITEM_MANAGER::ReadMonsterDropItemGroup(const char*)':
item_manager_read_tables.cpp:637: warning: unused variable 'pkGroup'
shop_manager.cpp: In function 'bool ConvertToShopItemTable(CGroupNode*, TShopTableEx&)':
shop_manager.cpp:473: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = DWORD]'
shop_manager.cpp:381:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = std::string]'
shop_manager.cpp:387:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned char]':
group_text_parse_tree.h:136:   instantiated from 'bool CGroupNode::GetValue(size_t, const std::string&, T&) const [with T = BYTE]'
shop_manager.cpp:442:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
item_manager_read_tables.cpp:627: warning: 'pkGroup' may be used uninitialized in this function
../../../Extern/include/cryptopp/misc.h: At global scope:
../../../Extern/include/cryptopp/misc.h:548: warning: 'std::string CryptoPP::StringNarrow(const wchar_t*, bool)' defined but not used
OBJDIR/cmd.o:(.data+0xec8): undefined reference to `do_cards(CHARACTER*, char const*, int, int)'
OBJDIR/cmd.o:(.data+0xec8): undefined reference to `do_cards(CHARACTER*, char const*, int, int)'
OBJDIR/questlua_pc.o: In function `quest::pc_get_okay_rund_rank(lua_State*)':
/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/questlua_pc.cpp:78: undefined reference to `CHARACTER::GetRundRank(char*, unsigned int)'
OBJDIR/questlua_pc.o: In function `quest::pc_get_okay_global_rank(lua_State*)':
/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/questlua_pc.cpp:65: undefined reference to `CHARACTER::GetGlobalRank(char*, unsigned int)'
OBJDIR/questlua_pc.o: In function `quest::pc_get_okay_rund_rank(lua_State*)':
/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/questlua_pc.cpp:78: undefined reference to `CHARACTER::GetRundRank(char*, unsigned int)'
OBJDIR/questlua_pc.o: In function `quest::pc_get_okay_global_rank(lua_State*)':
/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/questlua_pc.cpp:65: undefined reference to `CHARACTER::GetGlobalRank(char*, unsigned int)'
gmake: *** [../test] Bł±d 1
gmake: *** Oczekiwanie na niezakończone zadania....
gmake: *** [../game_r50410_32] Bł±d 1
 

 

Widać, że problem leży w pliku questlua_pc.cpp.

 

http://wklej.org/hash/a0d7ecf8de9/

Tutaj questlua_pc.cpp.

 

Jeśli ktoś chce znać linka do poradnika, proszę wpisać w Google metin2 okay event char_cards.cpp lub proszę napisać na PW. To ułatwi sprawę.

wqdz690429546a.GIF Piszę poprawnie po polsku.

Opublikowano

Rozwiązanie leży tutaj:

......questlua_pc.cpp:78: undefined reference to `CHARACTER::GetRundRank(char*, unsigned int)'
..... In function `quest::pc_get_okay_global_rank(lua_State*)':

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista


"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer


 


Potrzebujesz czegoś? Oznacz mnie @Salur

Opublikowano

Rozwiązanie leży tutaj:

......questlua_pc.cpp:78: undefined reference to `CHARACTER::GetRundRank(char*, unsigned int)'
..... In function `quest::pc_get_okay_global_rank(lua_State*)':

 

A mogę wiedzieć, co źle zrobiłem?

@Salur

 

Analizując błąd można wywnioskować, że niezdefiniowane odniesienie do funkcji. No dobrze, ale w instrukcji dodawania nakazano stworzyć plik o nazwie char_cards.cpp i wkleić tę zawartość. Tam jest wzmianka o CHARACTER:GetRundRank. No ale zastanawia mnie, dlaczego kompilator nie odnosi się do tego pliku.

 

 

#include "stdafx.h"
#include "char.h"
#include "utils.h"
#include "log.h"
#include "db.h"
#include "dev_log.h"
#include "locale_service.h"
#include <stdlib.h>
#include <sstream>
#include "config.h"
#include "desc.h"
#include "desc_manager.h"
#include "char_manager.h"
#include "item.h"
#include "item_manager.h"
#include "buffer_manager.h"
#include "packet.h"
#include "questmanager.h"
#include "monarch.h"
#include "mob_manager.h"
#include "desc_client.h"
#include "group_text_parse_tree.h"
#include <boost/algorithm/string/predicate.hpp>
#include <cctype>
#include "p2p.h"
#include "entity.h"
#include "sectree_manager.h"

void CHARACTER::Cards_open(DWORD safemode)
{
    if (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox() || IsAcceOpen())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("다른 거래중(창고,교환,상점)에는 사용할 수 없습니다."));
        return;
    }
    if (character_cards.cards_left <= 0)
    {
        if (GetGold() < 30000)
        {
            ChatPacket(CHAT_TYPE_INFO, "You dont have enough money.");
            return;
        }
        if (CountSpecifyItem(79506) < 1)
        {
            ChatPacket(CHAT_TYPE_INFO, "You dont have any cardsets.");
            return;
        }
        PointChange(POINT_GOLD, -30000, true);
        RemoveSpecifyItem(79506, 1);
        Cards_clean_list();
        character_cards.cards_left = 24;
    }
    ChatPacket(CHAT_TYPE_COMMAND, "cards open %d", safemode);
    SendUpdatedInformations();
}

void CHARACTER::Cards_clean_list()
{
    memset(&character_cards, 0, sizeof(character_cards));
    memset(&randomized_cards, 0, sizeof(randomized_cards));
}

DWORD CHARACTER::GetEmptySpaceInHand()
{
    for (int i=0; i<MAX_CARDS_IN_HAND; ++i)
    {
        if (character_cards.cards_in_hand.type == 0)
            return i;
    }
    return -1;
}

void CHARACTER::Cards_pullout()
{
    DWORD empty_space = GetEmptySpaceInHand();
    if (empty_space == -1)
    {
        ChatPacket(CHAT_TYPE_INFO, "You dont have space in hands.");
        return;
    }
    if (character_cards.cards_left < 1)
    {
        ChatPacket(CHAT_TYPE_INFO, "You dont have cards.");
        return;
    }
    if (GetAllCardsCount() >= 5)
    {
        ChatPacket(CHAT_TYPE_INFO, "You dont have space on table.");
        return;
    }
    RandomizeCards();
    SendUpdatedInformations();
}

void CHARACTER::RandomizeCards()
{
    DWORD card_type = number(1, 3);
    DWORD card_value = number(1, 8);
    if (CardWasRandomized(card_type, card_value) != false)
    {
        RandomizeCards();
    }
    else
    {
        DWORD empty_space = GetEmptySpaceInHand();
        character_cards.cards_in_hand[empty_space].type = card_type;
        character_cards.cards_in_hand[empty_space].value = card_value;
        character_cards.cards_left -= 1;
    }
}

bool CHARACTER::CardWasRandomized(DWORD type, DWORD value)
{
    for (int i=0; i<24; ++i)
    {
        if (randomized_cards.type == type && randomized_cards.value == value)
        {
            return true;
        }
    }
    for (int i=0; i<24; ++i)
    {
        if (randomized_cards.type == 0)
        {
            randomized_cards.type = type;
            randomized_cards.value = value;
            return false;
        }
    }
    return false;
}

void CHARACTER::SendUpdatedInformations()
{
    ChatPacket(CHAT_TYPE_COMMAND, "cards info %d %d %d %d %d %d %d %d %d %d %d %d", character_cards.cards_in_hand[0].type, character_cards.cards_in_hand[0].value,
                                                                        character_cards.cards_in_hand[1].type, character_cards.cards_in_hand[1].value, character_cards.cards_in_hand[2].type,
                                                                        character_cards.cards_in_hand[2].value, character_cards.cards_in_hand[3].type, character_cards.cards_in_hand[3].value,
                                                                        character_cards.cards_in_hand[4].type, character_cards.cards_in_hand[4].value,
                                                                        character_cards.cards_left, character_cards.points);
                                                                    
    ChatPacket(CHAT_TYPE_COMMAND, "cards finfo %d %d %d %d %d %d %d", character_cards.cards_in_field[0].type, character_cards.cards_in_field[0].value, character_cards.cards_in_field[1].type,
                                                                        character_cards.cards_in_field[1].value, character_cards.cards_in_field[2].type, character_cards.cards_in_field[2].value,
                                                                        character_cards.field_points);
}

void CHARACTER::SendReward()
{
    ChatPacket(CHAT_TYPE_COMMAND, "cards reward %d %d %d %d %d %d %d", character_cards.cards_in_field[0].type, character_cards.cards_in_field[0].value, character_cards.cards_in_field[1].type,
                                                                        character_cards.cards_in_field[1].value, character_cards.cards_in_field[2].type, character_cards.cards_in_field[2].value,
                                                                        character_cards.field_points);
}

void CHARACTER::CardsDestroy(DWORD reject_index)
{
    if (reject_index + 1 > MAX_CARDS_IN_HAND)
        return;
    if (character_cards.cards_in_hand[reject_index].type == 0)
        return;
    character_cards.cards_in_hand[reject_index].type = 0;
    character_cards.cards_in_hand[reject_index].value = 0;
    SendUpdatedInformations();
}

void CHARACTER::CardsAccept(DWORD accept_index)
{
    if (accept_index + 1 > MAX_CARDS_IN_HAND)
        return;
    if (character_cards.cards_in_hand[accept_index].type == 0)
        return;
    DWORD empty_space = GetEmptySpaceInField();
    if (empty_space != -1)
    {
        character_cards.cards_in_field[empty_space].type = character_cards.cards_in_hand[accept_index].type;
        character_cards.cards_in_field[empty_space].value = character_cards.cards_in_hand[accept_index].value;
        character_cards.cards_in_hand[accept_index].type = 0;
        character_cards.cards_in_hand[accept_index].value = 0;
    }
    if (GetEmptySpaceInField() == -1)
    {
        if (CheckReward())
        {
            SendReward();
            ResetField();
        }
        else
        {
            RestoreField();
        }
    }
    SendUpdatedInformations();
}

void CHARACTER::CardsRestore(DWORD restore_index)
{
    if (restore_index + 1 > MAX_CARDS_IN_FIELD)
        return;
    if (character_cards.cards_in_field[restore_index].type == 0)
        return;
    DWORD empty_space = GetEmptySpaceInHand();
    character_cards.cards_in_hand[empty_space].type = character_cards.cards_in_field[restore_index].type;
    character_cards.cards_in_hand[empty_space].value = character_cards.cards_in_field[restore_index].value;
    character_cards.cards_in_field[restore_index].type = 0;
    character_cards.cards_in_field[restore_index].value = 0;
    SendUpdatedInformations();
}

DWORD CHARACTER::GetEmptySpaceInField()
{
    for (int i=0; i<MAX_CARDS_IN_FIELD; ++i)
    {
        if (character_cards.cards_in_field.type == 0)
            return i;
    }
    return -1;
}

DWORD CHARACTER::GetAllCardsCount()
{
    DWORD count = 0;
    for (int i=0; i<MAX_CARDS_IN_HAND; ++i)
    {
        if (character_cards.cards_in_hand.type != 0)
            count += 1;
    }
    for (int i=0; i<MAX_CARDS_IN_FIELD; ++i)
    {
        if (character_cards.cards_in_field.type != 0)
            count += 1;
    }
    return count;
}
bool CHARACTER::TypesAreSame()
{
    if (character_cards.cards_in_field[0].type == character_cards.cards_in_field[1].type && character_cards.cards_in_field[1].type == character_cards.cards_in_field[2].type)
        return true;
    return false;
}

bool CHARACTER::ValuesAreSame()
{
    if (character_cards.cards_in_field[0].value == character_cards.cards_in_field[1].value && character_cards.cards_in_field[1].value == character_cards.cards_in_field[2].value)
        return true;
    return false;
}

bool CHARACTER::CardsMatch()
{
    if (character_cards.cards_in_field[0].value == character_cards.cards_in_field[1].value - 1 && character_cards.cards_in_field[1].value == character_cards.cards_in_field[2].value -1)
        return true;
    else if (character_cards.cards_in_field[0].value == character_cards.cards_in_field[2].value - 1 && character_cards.cards_in_field[2].value == character_cards.cards_in_field[1].value -1)
        return true;
    else if (character_cards.cards_in_field[1].value == character_cards.cards_in_field[0].value - 1 && character_cards.cards_in_field[0].value == character_cards.cards_in_field[2].value -1)
        return true;
    else if (character_cards.cards_in_field[0].value == character_cards.cards_in_field[1].value - 1 && character_cards.cards_in_field[2].value == character_cards.cards_in_field[0].value -1)
        return true;
    else if (character_cards.cards_in_field[1].value == character_cards.cards_in_field[0].value - 1 && character_cards.cards_in_field[2].value == character_cards.cards_in_field[1].value -1)
        return true;
    else if (character_cards.cards_in_field[1].value == character_cards.cards_in_field[2].value - 1 && character_cards.cards_in_field[2].value == character_cards.cards_in_field[0].value -1)
        return true;
    else
        return false;
}

DWORD CHARACTER::GetLowestCard()
{
    return MIN(character_cards.cards_in_field[0].value, MIN(character_cards.cards_in_field[1].value, character_cards.cards_in_field[2].value));
}
bool CHARACTER::CheckReward()
{
    if (TypesAreSame() && ValuesAreSame())
    {
        character_cards.field_points = 150;
        character_cards.points += 150;
        return true;
    }
    else if (TypesAreSame() && CardsMatch())
    {
        character_cards.field_points = 100;
        character_cards.points += 100;
        return true;
    }
    else if (ValuesAreSame())
    {
        character_cards.field_points = GetLowestCard()*10+10;
        character_cards.points += GetLowestCard()*10+10;
        return true;
    }
    else if (CardsMatch())
    {
        character_cards.field_points = GetLowestCard()*10;
        character_cards.points += GetLowestCard()*10;
        return true;
    }
    else
    {
        RestoreField();
        return false;
    }
}

void CHARACTER::RestoreField()
{
    for (int i=0; i<MAX_CARDS_IN_FIELD; ++i)
    {
        DWORD empty_space = GetEmptySpaceInHand();
        character_cards.cards_in_hand[empty_space].type = character_cards.cards_in_field.type;
        character_cards.cards_in_hand[empty_space].value = character_cards.cards_in_field.value;
        character_cards.cards_in_field.type = 0;
        character_cards.cards_in_field.value = 0;
        SendUpdatedInformations();
    }
}

void CHARACTER::ResetField()
{
    for (int i=0; i<MAX_CARDS_IN_FIELD; ++i)
    {
        character_cards.cards_in_field.type = 0;
        character_cards.cards_in_field.value = 0;
    }
}

void CHARACTER::CardsEnd()
{
    if (character_cards.points >= 400)
        AutoGiveItem(71194); //Golden box
    else if (character_cards.points < 400 && character_cards.points >= 250)
        AutoGiveItem(71195); //Silver box
    else if (character_cards.points > 0)
        AutoGiveItem(71196); //Bronze box
    LogManager::instance().OkayEventLog(GetPlayerID(), GetName(), character_cards.points);
    Cards_clean_list();
    SendUpdatedInformations();
}

void CHARACTER::GetGlobalRank(char * buffer, size_t buflen)
{
    std::auto_ptr<SQLMsg> pMsg(DBManager::Instance().DirectQuery("SELECT name, SUM(points) as spoints FROM log.okay_event GROUP BY pid ORDER BY spoints DESC LIMIT 10"));
    if (pMsg->Get()->uiNumRows == 0)
    {
        return;
    }

    MYSQL_ROW row;
    int pos = 1;
    int len = 0, len2;
    *buffer = '\0';
    while (NULL != (row = mysql_fetch_row(pMsg->Get()->pSQLResult)))
    {
        int points = 0;
        str_to_number(points, row[1]);
        len2 = snprintf(buffer + len, buflen - len, "[ENTER]");

        if (len2 < 0 || len2 >= (int) buflen - len)
            len += (buflen - len) - 1;
        else
            len += len2;

        len2 = snprintf(buffer + len, buflen - len, "%d. Place - %s - %d points.",
                pos,
                row[0],
                points);
        ++pos;
        if (len2 < 0 || len2 >= (int) buflen - len)
            len += (buflen - len) - 1;
        else
            len += len2;
    }
}

void CHARACTER::GetRundRank(char * buffer, size_t buflen)
{
    std::auto_ptr<SQLMsg> pMsg(DBManager::Instance().DirectQuery("SELECT name, points FROM log.okay_event ORDER BY points DESC LIMIT 10"));
    if (pMsg->Get()->uiNumRows == 0)
    {
        return;
    }

    MYSQL_ROW row;
    int pos = 1;
    int len = 0, len2;
    *buffer = '\0';
    while (NULL != (row = mysql_fetch_row(pMsg->Get()->pSQLResult)))
    {
        int points = 0;
        str_to_number(points, row[1]);
        len2 = snprintf(buffer + len, buflen - len, "[ENTER]");

        if (len2 < 0 || len2 >= (int) buflen - len)
            len += (buflen - len) - 1;
        else
            len += len2;

        len2 = snprintf(buffer + len, buflen - len, "%d. Place - %s - %d points.",
                pos,
                row[0],
                points);
        ++pos;
        if (len2 < 0 || len2 >= (int) buflen - len)
            len += (buflen - len) - 1;
        else
            len += len2;
    }
}
Tu jeszcze wystąpiła ta funkcja. Plik char.h.

  public:
        struct S_CARD
        {
            DWORD    type;
            DWORD    value;
        };

        struct CARDS_INFO
        {
            S_CARD cards_in_hand[MAX_CARDS_IN_HAND];
            S_CARD cards_in_field[MAX_CARDS_IN_FIELD];
            DWORD    cards_left;
            DWORD    field_points;
            DWORD    points;
        };
    
        void            Cards_open(DWORD safemode);
        void            Cards_clean_list();
        DWORD            GetEmptySpaceInHand();
        void            Cards_pullout();
        void            RandomizeCards();
        bool            CardWasRandomized(DWORD type, DWORD value);
        void            SendUpdatedInformations();
        void            SendReward();
        void            CardsDestroy(DWORD reject_index);
        void            CardsAccept(DWORD accept_index);
        void            CardsRestore(DWORD restore_index);
        DWORD            GetEmptySpaceInField();
        DWORD            GetAllCardsCount();
        bool            TypesAreSame();
        bool            ValuesAreSame();
        bool            CardsMatch();
        DWORD            GetLowestCard();
        bool            CheckReward();
        void            CheckCards();
        void            RestoreField();
        void            ResetField();
        void            CardsEnd();
        void            GetGlobalRank(char * buffer, size_t buflen);
        void            GetRundRank(char * buffer, size_t buflen);
    protected:
        CARDS_INFO    character_cards;
        S_CARD    randomized_cards[24];

wqdz690429546a.GIF Piszę poprawnie po polsku.

Opublikowano

Dodałeś char_cards.cpp do makefile?

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista


"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer


 


Potrzebujesz czegoś? Oznacz mnie @Salur

Opublikowano

@Salur, faktycznie, jako, że jestem amatorem w C++, a szczególnie w Metinowym, nie dodałem do Makefile.

PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)

GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
SVN_VERSION = 50410

CC = g++

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = OBJDIR
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

# Standard Setting
LIBS = -pthread -lm -lmd
# Removed -fno-rtti 
CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_

ifeq ($(GCC_VERSION), 4)
CFLAGS += -mtune=i686 -fstack-protector-all
else
CFLAGS += -mcpu=i686
endif

# boost
INCDIR += -I../../../Extern/include/boost

# DevIL
INCDIR += -I../../libdevil
LIBDIR += -L../../libdevil
LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg

# MySQL
ifeq ($(BSD_VERSION), 7)
INCDIR += -I../../libmysql/7.x-5.1.35
LIBDIR += -L../../libmysql/7.x-5.1.35
else
INCDIR += -I../../libmysql/5.x-5.1.35
LIBDIR += -L../../libmysql/5.x-5.1.35
endif
LIBDIR += -L/usr/local/lib/mysql
LIBS += -lmysqlclient -lz

# Miscellaneous external libraries
INCDIR += -I../../../Extern/include
LIBDIR += -L../../../Extern/lib
LIBS += -lcryptopp -lgtest

# HackShield
INCDIR += -I../../libhackshield/include
LIBDIR += -L../../libhackshield/lib
LIBS += -lanticpxsvr

# XTrap
INCDIR += -I../../libxtrap/include

# openssl
#INCDIR += -I/usr/include
#LIBS += -lssl
#LIBS += /usr/lib/libssl.a

# Project Library
INCDIR += -I../../liblua/include
INCDIR += -I/usr/local/include
INCDIR += -I../../libserverkey
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib -L../../libserverkey
LIBDIR += -L/usr/local/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lserverkey
USE_STACKTRACE = 0
ifeq ($(USE_STACKTRACE), 1)
LIBS += /usr/local/lib/libexecinfo.a
endif

TARGET  = $(BINDIR)/game_r$(SVN_VERSION)_$(PLATFORM)

CFILE	= minilzo.c

CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
		  arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
		  char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
		  char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
		  cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
		  desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
		  entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
		  guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
		  input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
		  item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
		  locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
		  messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
		  party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
		  questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
		  questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
		  questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
		  questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
		  questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
		  refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
		  skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
		  wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
		  BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp\
		  HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp\
		  SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp\
		  auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp\
		  buff_on_attributes.cpp check_server.cpp dragon_soul_table.cpp DragonSoul.cpp\
		  group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp\
		  shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp char_cards.cpp\


COBJS	= $(CFILE:%.c=$(OBJDIR)/%.o)
CPPOBJS	= $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

MAINOBJ = $(OBJDIR)/main.o
MAINCPP = main.cpp

TESTOBJ = $(OBJDIR)/test.o
TESTCPP = test.cpp
TEST_TARGET = $(BINDIR)/test

default: $(TARGET) $(TEST_TARGET)

$(OBJDIR)/minilzo.o: minilzo.c
	@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
	@echo compile $<

$(OBJDIR)/version.o: version.cpp
	@$(CC) $(CFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
	@echo compile $<

$(OBJDIR)/%.o: %.cpp
	@echo compile $<
	@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@

limit_time:
	@echo update limit time
	@ update_limit_time.py

$(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
	@echo linking $(TARGET)....
	@$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

$(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
	@echo linking $(TEST_TARGET)
	@$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test

clean:
	@rm -f $(COBJS) $(CPPOBJS)
	@rm -f $(BINDIR)/game_r* $(BINDIR)/conv
	@rm -f $(BINDIR)/test
tag:
	ctags *.cpp *.h *.c

dep:
	makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) $(TESTCPP) 2> /dev/null > Depend

sinclude Depend
Mimo to, kompilacja nie powiodła się.

In file included from char.cpp:4:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char.cpp:25:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char.cpp:62:
PetSystem.h:163:31: warning: no newline at end of file
char.cpp:7219: warning: this decimal constant is unsigned only in ISO C90
In file included from char_battle.cpp:27:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char_horse.cpp:14:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_item.cpp:44:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_item.cpp:47:
belt_inventory_helper.h:108:42: warning: no newline at end of file
char.cpp: In member function 'void CHARACTER::PointChange(BYTE, int, bool, bool)':
char.cpp:3090: warning: comparison between signed and unsigned integer expressions
In file included from char_item.cpp:47:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:640: warning: comparison is always false due to limited range of data type
char_item.cpp:666: warning: comparison is always false due to limited range of data type
char_item.cpp: In member function 'bool CHARACTER::UseItemEx(CItem*, TItemPos)':
char_item.cpp:2387: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2391: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2403: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2407: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2434: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2442: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:5087: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::UseItem(TItemPos, TItemPos)':
char_item.cpp:5159: warning: unused variable 'wDestCell'
char_item.cpp:5160: warning: unused variable 'bDestInven'
char_item.cpp: In member function 'bool CHARACTER::EquipItem(CItem*, int)':
char_item.cpp:6160: warning: array subscript has type 'char'
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_AddBuffsFromItem(CItem*)':
char_item.cpp:6224: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_RemoveBuffsFromItem(CItem*)':
char_item.cpp:6236: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(CItem*, const TItemPos&, const TItemPos&)':
char_item.cpp:7422: warning: unused variable 'itemType'
char_item.cpp:7423: warning: unused variable 'itemSubType'
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:679: warning: control reaches end of non-void function
In file included from char_state.cpp:25:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from PetSystem.cpp:8:
PetSystem.h:163:31: warning: no newline at end of file
In file included from PetSystem.cpp:9:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
PetSystem.cpp:637:2: warning: no newline at end of file
char_state.cpp: In member function 'virtual void CHARACTER::StateMove()':
char_state.cpp:901: warning: unused variable 'rider'
In file included from cmd_general.cpp:36:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
PetSystem.cpp: In member function 'virtual bool CPetActor::_UpdateFollowAI()':
PetSystem.cpp:246: warning: unused variable 'bDoMoveAlone'
PetSystem.cpp: In member function 'CPetActor* CPetSystem::Summon(DWORD, CItem*, const char*, bool, DWORD)':
PetSystem.cpp:552: warning: unused variable 'petVID'
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_ValueChange(BYTE, BYTE, BYTE)':
char_item.cpp:6271: warning: 'pBuff' may be used uninitialized in this function
constants.cpp:291: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:292: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:293: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:294: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:295: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:296: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:297: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:298: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:299: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:300: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:301: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:302: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:303: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:304: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:305: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:306: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:307: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:308: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:309: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:310: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:311: warning: this decimal constant is unsigned only in ISO C90
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3935: warning: NULL used in arithmetic
In file included from config.cpp:22:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
config.cpp: In function 'void config_init(const std::string&)':
config.cpp:435: warning: NULL used in arithmetic
config.cpp:459: warning: NULL used in arithmetic
config.cpp:483: warning: NULL used in arithmetic
config.cpp:505: warning: unused variable 'line'
cube.cpp: In function 'bool Cube_make(CHARACTER*)':
cube.cpp:544: warning: comparison between signed and unsigned integer expressions
cube.cpp: In function 'void Cube_MakeCubeInformationText()':
cube.cpp:716: warning: unused variable 'npcVNUM'
cube.cpp: In function 'bool Cube_InformationInitialize()':
cube.cpp:783: warning: comparison between signed and unsigned integer expressions
In file included from desc_manager.cpp:15:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function
desc_client.cpp: In member function 'void CLIENT_DESC::UpdateChannelStatus(DWORD, bool)':
desc_client.cpp:299: warning: comparison between signed and unsigned integer expressions
In file included from input_db.cpp:13:
shop_manager.h:40:7: warning: no newline at end of file
input_db.cpp:2722:2: warning: no newline at end of file
input_auth.cpp: In member function 'int CInputAuth::auth_OpenID(const char*, const char*, char*)':
input_auth.cpp:467: warning: unused variable 'last'
In file included from input_main.cpp:16:
shop_manager.h:40:7: warning: no newline at end of file
In file included from item.cpp:22:
belt_inventory_helper.h:108:42: warning: no newline at end of file
In file included from item.cpp:23:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
item.cpp:2084:2: warning: no newline at end of file
In file included from item.cpp:22:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
item.h: In constructor 'CItem::CItem(DWORD)':
item.h:286: warning: 'CItem::m_pkRealTimeExpireEvent' will be initialized after
item.h:283: warning:   'LPEVENT CItem::m_pkExpireEvent'
item.cpp:25: warning:   when initialized here
item.cpp: In function 'const bool CanPutIntoRing(CItem*, CItem*)':
item.cpp:1725: warning: unused variable 'vnum'
item.cpp: In member function 'bool CItem::CanPutInto(CItem*)':
item.cpp:1758: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Per(float)':
item.cpp:2014: warning: comparison between signed and unsigned integer expressions
item.cpp:2016: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Fix(DWORD)':
item.cpp:2038: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GetDuration()':
item.cpp:2069: warning: array subscript has type 'char'
In file included from item_manager.cpp:21:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
item_manager.cpp: In member function 'TItemTable* ITEM_MANAGER::GetTable(DWORD)':
item_manager.cpp:604: warning: comparison between signed and unsigned integer expressions
monarch.cpp:276:2: warning: no newline at end of file
questlua.cpp: In member function 'bool quest::FPartyCheckFlagLt::operator()(CHARACTER*)':
questlua.cpp:78: warning: 'returnBool' may be used uninitialized in this function
In file included from questlua_pet.cpp:11:
PetSystem.h:163:31: warning: no newline at end of file
questlua_pet.cpp:157:2: warning: no newline at end of file
In file included from questlua_npc.cpp:9:
shop_manager.h:40:7: warning: no newline at end of file
questlua_npc.cpp: In function 'int quest::npc_get_vid_attack_mul(lua_State*)':
questlua_npc.cpp:293: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_attack_mul(lua_State*)':
questlua_npc.cpp:309: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_get_vid_damage_mul(lua_State*)':
questlua_npc.cpp:324: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_damage_mul(lua_State*)':
questlua_npc.cpp:340: warning: unused variable 'q'
questnpc.cpp: In member function 'bool quest::NPC::HandleEvent(quest::PC&, int)':
questnpc.cpp:500: warning: unused variable 'pPC'
shop.cpp: In member function 'virtual bool CShop::IsSellingItem(DWORD)':
shop.cpp:576: warning: comparison between signed and unsigned integer expressions
In file included from trigger.cpp:8:
shop_manager.h:40:7: warning: no newline at end of file
utils.cpp: In function 'bool WildCaseCmp(const char*, const char*)':
utils.cpp:243: warning: NULL used in arithmetic
utils.cpp:255: warning: NULL used in arithmetic
utils.cpp:269: warning: NULL used in arithmetic
FileMonitor_FreeBSD.cpp:136:2: warning: no newline at end of file
In file included from ClientPackageCryptInfo.cpp:2:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
ClientPackageCryptInfo.h: In constructor 'CClientPackageCryptInfo::CClientPackageCryptInfo()':
ClientPackageCryptInfo.h:50: warning: 'CClientPackageCryptInfo::m_pSerializedCryptKeyStream' will be initialized after
ClientPackageCryptInfo.h:48: warning:   'int CClientPackageCryptInfo::m_nCryptKeyPackageCnt'
ClientPackageCryptInfo.cpp:9: warning:   when initialized here
In file included from dragon_soul_table.cpp:4:
dragon_soul_table.h:74:7: warning: no newline at end of file
../../../Extern/include/cryptopp/algparam.h: In constructor 'CryptoPP::ConstByteArrayParameter::ConstByteArrayParameter(const T&, bool) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
../../../Extern/include/cryptopp/filters.h:793:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:26: warning: unused variable 'cryptopp_assert_26'
In file included from check_server.cpp:1:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
../../../Extern/include/cryptopp/algparam.h: In member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void*) const [with T = CryptoPP::RandomNumberGenerator*]':
cipher.cpp:397:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:322: warning: unused variable 'p'
buff_on_attributes.cpp: In member function 'void CBuffOnAttributes::ChangeBuffValue(BYTE)':
buff_on_attributes.cpp:113: warning: unused variable 'old_value'
buff_on_attributes.cpp:114: warning: unused variable 'new_value'
In file included from DragonSoul.cpp:9:
dragon_soul_table.h:74:7: warning: no newline at end of file
char_dragonsoul.cpp:143:2: warning: no newline at end of file
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::ReadAdditionalApplys()':
dragon_soul_table.cpp:223: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckApplyNumSettings()':
dragon_soul_table.cpp:283: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckWeightTables()':
dragon_soul_table.cpp:311: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineGradeTables()':
dragon_soul_table.cpp:343: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:372: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStepTables()':
dragon_soul_table.cpp:397: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:427: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStrengthTables()':
dragon_soul_table.cpp:453: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonHeartExtTables()':
dragon_soul_table.cpp:494: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:513: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:522: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonSoulExtTables()':
dragon_soul_table.cpp:545: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = std::string]':
dragon_soul_table.cpp:129:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = BYTE]':
dragon_soul_table.cpp:134:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = int]':
dragon_soul_table.cpp:201:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = float]':
dragon_soul_table.cpp:260:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = float]':
dragon_soul_table.cpp:828:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
char_dragonsoul.cpp: In member function 'bool CHARACTER::DragonSoul_ActivateDeck(int)':
char_dragonsoul.cpp:91: warning: control reaches end of non-void function
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = int]'
dragon_soul_table.cpp:612:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = unsigned int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = unsigned int]'
dragon_soul_table.cpp:884:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In constructor 'CGroupTextParseTreeLoader::CGroupTextParseTreeLoader()':
group_text_parse_tree.h:93: warning: 'CGroupTextParseTreeLoader::m_dwcurLineIndex' will be initialized after
group_text_parse_tree.h:91: warning:   'CGroupNode* CGroupTextParseTreeLoader::m_pRootGroupNode'
group_text_parse_tree.cpp:5: warning:   when initialized here
group_text_parse_tree.cpp: In member function 'bool CGroupTextParseTreeLoader::LoadGroup(CGroupNode*)':
group_text_parse_tree.cpp:99: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.cpp: In member function 'bool CGroupNode::GetRow(int, const CGroupNode::CGroupNodeRow**) const':
group_text_parse_tree.cpp:206: warning: comparison between signed and unsigned integer expressions
In file included from shop_manager.cpp:22:
shop_manager.h:40:7: warning: no newline at end of file
DragonSoul.cpp: In function 'int Gamble(std::vector<float, std::allocator<float> >&)':
DragonSoul.cpp:19: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp:25: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::RefreshItemAttributes(CItem*)':
DragonSoul.cpp:203: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::PutAttributes(CItem*)':
DragonSoul.cpp:273: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::ExtractDragonHeart(CHARACTER*, CItem*, CItem*)':
DragonSoul.cpp:350: warning: unused variable 'sum'
DragonSoul.cpp: In member function 'bool DSManager::PullOut(CHARACTER*, TItemPos, CItem*&, CItem*)':
DragonSoul.cpp:435: warning: unused variable 'dwVnum'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 3 has type 'double'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 4 has type 'double'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineGrade(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:555: warning: unused variable 'prob_sum'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineStep(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:763: warning: unused variable 'sum'
shopEx.cpp: In member function 'virtual int CShopEx::Buy(CHARACTER*, BYTE)':
shopEx.cpp:159: warning: comparison between signed and unsigned integer expressions
shop_manager.cpp: In function 'bool ConvertToShopItemTable(CGroupNode*, TShopTableEx&)':
shop_manager.cpp:473: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = DWORD]'
shop_manager.cpp:381:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = std::string]'
shop_manager.cpp:387:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned char]':
group_text_parse_tree.h:136:   instantiated from 'bool CGroupNode::GetValue(size_t, const std::string&, T&) const [with T = BYTE]'
shop_manager.cpp:442:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
item_manager_read_tables.cpp: In member function 'bool ITEM_MANAGER::ReadMonsterDropItemGroup(const char*)':
item_manager_read_tables.cpp:637: warning: unused variable 'pkGroup'
char_cards.cpp: In member function 'void CHARACTER::Cards_open(DWORD)':
char_cards.cpp:31: error: 'IsAcceOpen' was not declared in this scope
char_cards.cpp: In member function 'void CHARACTER::Cards_pullout()':
char_cards.cpp:76: warning: comparison between signed and unsigned integer expressions
char_cards.cpp: In member function 'void CHARACTER::CardsAccept(DWORD)':
char_cards.cpp:171: warning: comparison between signed and unsigned integer expressions
char_cards.cpp:178: warning: comparison between signed and unsigned integer expressions
gmake: *** [OBJDIR/char_cards.o] Bł±d 1
gmake: *** Oczekiwanie na niezakończone zadania....
item_manager_read_tables.cpp:627: warning: 'pkGroup' may be used uninitialized in this function
../../../Extern/include/cryptopp/misc.h: At global scope:
../../../Extern/include/cryptopp/misc.h:548: warning: 'std::string CryptoPP::StringNarrow(const wchar_t*, bool)' defined but not used

Jest tu jeden błąd mówiący o braku deklaracji pliku. Spoglądając na rumuńskim forum ten poradnik, IsAcceOpen() wystąpił tylko raz w pliku char_cmd.cpp. Jak mogę go "stworzyć"?

 

Aby dodać Karty Okey, musiałem edytować pliki poniżej.

char.cpp

char.h

char_cards.cpp (utworzony i wpisany w Makefile)

cmd.cpp

cmd_general.cpp

log.cpp

log.h

questlua_pc.cpp

 

@RysieQ™, a możesz poprawić ten kod? Byłbym wdzięczny. Znalazłem na rumuńskim forum poprawioną wersję, ale ma jednego errora wyżej.

wqdz690429546a.GIF Piszę poprawnie po polsku.

Opublikowano

char_cards.cpp:31: error: 'IsAcceOpen' was not declared in this scope

 

 

@MultiGTAMISSION w char_cards.cpp zmień

if (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox() || IsAcceOpen())

na:

if (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox())

5206314859733321403620.gif

Opublikowano

@RysieQ™, usunęło to błąd, ale pojawił się inny.

 

In file included from char.cpp:4:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char.cpp:25:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char_horse.cpp:14:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_battle.cpp:27:
shop_manager.h:40:7: warning: no newline at end of file
In file included from char.cpp:62:
PetSystem.h:163:31: warning: no newline at end of file
char.cpp:7219: warning: this decimal constant is unsigned only in ISO C90
In file included from char_item.cpp:44:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from char_item.cpp:47:
belt_inventory_helper.h:108:42: warning: no newline at end of file
char.cpp: In member function 'void CHARACTER::PointChange(BYTE, int, bool, bool)':
char.cpp:3090: warning: comparison between signed and unsigned integer expressions
In file included from char_state.cpp:25:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
In file included from PetSystem.cpp:8:
PetSystem.h:163:31: warning: no newline at end of file
In file included from PetSystem.cpp:9:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
PetSystem.cpp:637:2: warning: no newline at end of file
char_state.cpp: In member function 'virtual void CHARACTER::StateMove()':
char_state.cpp:901: warning: unused variable 'rider'
In file included from char_item.cpp:47:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:640: warning: comparison is always false due to limited range of data type
char_item.cpp:666: warning: comparison is always false due to limited range of data type
char_item.cpp: In member function 'bool CHARACTER::UseItemEx(CItem*, TItemPos)':
char_item.cpp:2387: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2391: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2403: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2407: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:2434: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
char_item.cpp:2442: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
char_item.cpp:5087: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::UseItem(TItemPos, TItemPos)':
char_item.cpp:5159: warning: unused variable 'wDestCell'
char_item.cpp:5160: warning: unused variable 'bDestInven'
char_item.cpp: In member function 'bool CHARACTER::EquipItem(CItem*, int)':
char_item.cpp:6160: warning: array subscript has type 'char'
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_AddBuffsFromItem(CItem*)':
char_item.cpp:6224: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_RemoveBuffsFromItem(CItem*)':
char_item.cpp:6236: warning: comparison between signed and unsigned integer expressions
char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(CItem*, const TItemPos&, const TItemPos&)':
char_item.cpp:7422: warning: unused variable 'itemType'
char_item.cpp:7423: warning: unused variable 'itemSubType'
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:679: warning: control reaches end of non-void function
PetSystem.cpp: In member function 'virtual bool CPetActor::_UpdateFollowAI()':
PetSystem.cpp:246: warning: unused variable 'bDoMoveAlone'
PetSystem.cpp: In member function 'CPetActor* CPetSystem::Summon(DWORD, CItem*, const char*, bool, DWORD)':
PetSystem.cpp:552: warning: unused variable 'petVID'
In file included from cmd_general.cpp:36:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
constants.cpp:291: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:292: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:293: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:294: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:295: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:296: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:297: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:298: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:299: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:300: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:301: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:302: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:303: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:304: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:305: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:306: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:307: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:308: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:309: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:310: warning: this decimal constant is unsigned only in ISO C90
constants.cpp:311: warning: this decimal constant is unsigned only in ISO C90
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_ValueChange(BYTE, BYTE, BYTE)':
char_item.cpp:6271: warning: 'pBuff' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3935: warning: NULL used in arithmetic
In file included from desc_manager.cpp:15:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
In file included from config.cpp:22:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
config.cpp: In function 'void config_init(const std::string&)':
config.cpp:435: warning: NULL used in arithmetic
config.cpp:459: warning: NULL used in arithmetic
config.cpp:483: warning: NULL used in arithmetic
config.cpp:505: warning: unused variable 'line'
cube.cpp: In function 'bool Cube_make(CHARACTER*)':
cube.cpp:544: warning: comparison between signed and unsigned integer expressions
cube.cpp: In function 'void Cube_MakeCubeInformationText()':
cube.cpp:716: warning: unused variable 'npcVNUM'
cube.cpp: In function 'bool Cube_InformationInitialize()':
cube.cpp:783: warning: comparison between signed and unsigned integer expressions
desc_client.cpp: In member function 'void CLIENT_DESC::UpdateChannelStatus(DWORD, bool)':
desc_client.cpp:299: warning: comparison between signed and unsigned integer expressions
cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function
In file included from input_db.cpp:13:
shop_manager.h:40:7: warning: no newline at end of file
input_db.cpp:2722:2: warning: no newline at end of file
In file included from input_main.cpp:16:
shop_manager.h:40:7: warning: no newline at end of file
input_auth.cpp: In member function 'int CInputAuth::auth_OpenID(const char*, const char*, char*)':
input_auth.cpp:467: warning: unused variable 'last'
In file included from item.cpp:22:
belt_inventory_helper.h:108:42: warning: no newline at end of file
In file included from item.cpp:23:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
item.cpp:2084:2: warning: no newline at end of file
In file included from item.cpp:22:
belt_inventory_helper.h: In static member function 'static BYTE CBeltInventoryHelper::GetBeltGradeByRefineLevel(int)':
belt_inventory_helper.h:28: warning: comparison between signed and unsigned integer expressions
item.h: In constructor 'CItem::CItem(DWORD)':
item.h:286: warning: 'CItem::m_pkRealTimeExpireEvent' will be initialized after
item.h:283: warning:   'LPEVENT CItem::m_pkExpireEvent'
item.cpp:25: warning:   when initialized here
item.cpp: In function 'const bool CanPutIntoRing(CItem*, CItem*)':
item.cpp:1725: warning: unused variable 'vnum'
item.cpp: In member function 'bool CItem::CanPutInto(CItem*)':
item.cpp:1758: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Per(float)':
item.cpp:2014: warning: comparison between signed and unsigned integer expressions
item.cpp:2016: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GiveMoreTime_Fix(DWORD)':
item.cpp:2038: warning: comparison between signed and unsigned integer expressions
item.cpp: In member function 'int CItem::GetDuration()':
item.cpp:2069: warning: array subscript has type 'char'
In file included from item_manager.cpp:21:
../../common/VnumHelper.h:59:32: warning: no newline at end of file
item_manager.cpp: In member function 'TItemTable* ITEM_MANAGER::GetTable(DWORD)':
item_manager.cpp:604: warning: comparison between signed and unsigned integer expressions
monarch.cpp:276:2: warning: no newline at end of file
questlua.cpp: In member function 'bool quest::FPartyCheckFlagLt::operator()(CHARACTER*)':
questlua.cpp:78: warning: 'returnBool' may be used uninitialized in this function
In file included from questlua_pet.cpp:11:
PetSystem.h:163:31: warning: no newline at end of file
questlua_pet.cpp:157:2: warning: no newline at end of file
In file included from questlua_npc.cpp:9:
shop_manager.h:40:7: warning: no newline at end of file
questlua_npc.cpp: In function 'int quest::npc_get_vid_attack_mul(lua_State*)':
questlua_npc.cpp:293: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_attack_mul(lua_State*)':
questlua_npc.cpp:309: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_get_vid_damage_mul(lua_State*)':
questlua_npc.cpp:324: warning: unused variable 'q'
questlua_npc.cpp: In function 'int quest::npc_set_vid_damage_mul(lua_State*)':
questlua_npc.cpp:340: warning: unused variable 'q'
questnpc.cpp: In member function 'bool quest::NPC::HandleEvent(quest::PC&, int)':
questnpc.cpp:500: warning: unused variable 'pPC'
In file included from trigger.cpp:8:
shop_manager.h:40:7: warning: no newline at end of file
shop.cpp: In member function 'virtual bool CShop::IsSellingItem(DWORD)':
shop.cpp:576: warning: comparison between signed and unsigned integer expressions
utils.cpp: In function 'bool WildCaseCmp(const char*, const char*)':
utils.cpp:243: warning: NULL used in arithmetic
utils.cpp:255: warning: NULL used in arithmetic
utils.cpp:269: warning: NULL used in arithmetic
FileMonitor_FreeBSD.cpp:136:2: warning: no newline at end of file
In file included from ClientPackageCryptInfo.cpp:2:
ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
ClientPackageCryptInfo.h: In constructor 'CClientPackageCryptInfo::CClientPackageCryptInfo()':
ClientPackageCryptInfo.h:50: warning: 'CClientPackageCryptInfo::m_pSerializedCryptKeyStream' will be initialized after
ClientPackageCryptInfo.h:48: warning:   'int CClientPackageCryptInfo::m_nCryptKeyPackageCnt'
ClientPackageCryptInfo.cpp:9: warning:   when initialized here
In file included from DragonSoul.cpp:9:
dragon_soul_table.h:74:7: warning: no newline at end of file
In file included from dragon_soul_table.cpp:4:
dragon_soul_table.h:74:7: warning: no newline at end of file
In file included from check_server.cpp:1:
check_server.h: In static member function 'static bool CheckServer::CheckIp(const char*)':
check_server.h:24: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In constructor 'CGroupTextParseTreeLoader::CGroupTextParseTreeLoader()':
group_text_parse_tree.h:93: warning: 'CGroupTextParseTreeLoader::m_dwcurLineIndex' will be initialized after
group_text_parse_tree.h:91: warning:   'CGroupNode* CGroupTextParseTreeLoader::m_pRootGroupNode'
group_text_parse_tree.cpp:5: warning:   when initialized here
group_text_parse_tree.cpp: In member function 'bool CGroupTextParseTreeLoader::LoadGroup(CGroupNode*)':
group_text_parse_tree.cpp:99: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.cpp: In member function 'bool CGroupNode::GetRow(int, const CGroupNode::CGroupNodeRow**) const':
group_text_parse_tree.cpp:206: warning: comparison between signed and unsigned integer expressions
char_dragonsoul.cpp:143:2: warning: no newline at end of file
buff_on_attributes.cpp: In member function 'void CBuffOnAttributes::ChangeBuffValue(BYTE)':
buff_on_attributes.cpp:113: warning: unused variable 'old_value'
buff_on_attributes.cpp:114: warning: unused variable 'new_value'
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::ReadAdditionalApplys()':
dragon_soul_table.cpp:223: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckApplyNumSettings()':
dragon_soul_table.cpp:283: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckWeightTables()':
dragon_soul_table.cpp:311: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineGradeTables()':
dragon_soul_table.cpp:343: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:372: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStepTables()':
dragon_soul_table.cpp:397: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:427: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckRefineStrengthTables()':
dragon_soul_table.cpp:453: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonHeartExtTables()':
dragon_soul_table.cpp:494: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:513: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp:522: warning: comparison between signed and unsigned integer expressions
dragon_soul_table.cpp: In member function 'bool DragonSoulTable::CheckDragonSoulExtTables()':
dragon_soul_table.cpp:545: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = std::string]':
dragon_soul_table.cpp:129:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = BYTE]':
dragon_soul_table.cpp:134:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = int]':
dragon_soul_table.cpp:201:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(const std::string&, T&) const [with T = float]':
dragon_soul_table.cpp:260:   instantiated from here
group_text_parse_tree.h:220: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = float]':
dragon_soul_table.cpp:828:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = int]'
dragon_soul_table.cpp:612:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:159:   instantiated from 'bool CGroupNode::GetValue(const std::string&, const std::string&, T&) const [with T = unsigned int]'
group_text_parse_tree.h:203:   instantiated from 'bool CGroupNode::GetGroupValue(const std::string&, const std::string&, const std::string&, T&) const [with T = unsigned int]'
dragon_soul_table.cpp:884:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In function 'int Gamble(std::vector<float, std::allocator<float> >&)':
DragonSoul.cpp:19: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp:25: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::RefreshItemAttributes(CItem*)':
DragonSoul.cpp:203: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::PutAttributes(CItem*)':
DragonSoul.cpp:273: warning: comparison between signed and unsigned integer expressions
DragonSoul.cpp: In member function 'bool DSManager::ExtractDragonHeart(CHARACTER*, CItem*, CItem*)':
DragonSoul.cpp:350: warning: unused variable 'sum'
DragonSoul.cpp: In member function 'bool DSManager::PullOut(CHARACTER*, TItemPos, CItem*&, CItem*)':
DragonSoul.cpp:435: warning: unused variable 'dwVnum'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 3 has type 'double'
DragonSoul.cpp:469: warning: format '%d' expects type 'int', but argument 4 has type 'double'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineGrade(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:555: warning: unused variable 'prob_sum'
DragonSoul.cpp: In member function 'bool DSManager::DoRefineStep(CHARACTER*, TItemPos (&)[15])':
DragonSoul.cpp:763: warning: unused variable 'sum'
char_dragonsoul.cpp: In member function 'bool CHARACTER::DragonSoul_ActivateDeck(int)':
char_dragonsoul.cpp:91: warning: control reaches end of non-void function
In file included from shop_manager.cpp:22:
shop_manager.h:40:7: warning: no newline at end of file
../../../Extern/include/cryptopp/algparam.h: In constructor 'CryptoPP::ConstByteArrayParameter::ConstByteArrayParameter(const T&, bool) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
../../../Extern/include/cryptopp/filters.h:793:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:26: warning: unused variable 'cryptopp_assert_26'
../../../Extern/include/cryptopp/algparam.h: In member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void*) const [with T = CryptoPP::RandomNumberGenerator*]':
cipher.cpp:397:   instantiated from here
../../../Extern/include/cryptopp/algparam.h:322: warning: unused variable 'p'
shopEx.cpp: In member function 'virtual int CShopEx::Buy(CHARACTER*, BYTE)':
shopEx.cpp:159: warning: comparison between signed and unsigned integer expressions
item_manager_read_tables.cpp: In member function 'bool ITEM_MANAGER::ReadMonsterDropItemGroup(const char*)':
item_manager_read_tables.cpp:637: warning: unused variable 'pkGroup'
item_manager_read_tables.cpp:627: warning: 'pkGroup' may be used uninitialized in this function
char_cards.cpp: In member function 'void CHARACTER::Cards_pullout()':
char_cards.cpp:76: warning: comparison between signed and unsigned integer expressions
char_cards.cpp: In member function 'void CHARACTER::CardsAccept(DWORD)':
char_cards.cpp:171: warning: comparison between signed and unsigned integer expressions
char_cards.cpp:178: warning: comparison between signed and unsigned integer expressions
shop_manager.cpp: In function 'bool ConvertToShopItemTable(CGroupNode*, TShopTableEx&)':
shop_manager.cpp:473: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned int]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = DWORD]'
shop_manager.cpp:381:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
group_text_parse_tree.h:175:   instantiated from 'bool CGroupNode::GetValue(const std::string&, int, T&) const [with T = std::string]'
shop_manager.cpp:387:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
group_text_parse_tree.h: In member function 'bool CGroupNode::CGroupNodeRow::GetValue(int, T&) const [with T = unsigned char]':
group_text_parse_tree.h:136:   instantiated from 'bool CGroupNode::GetValue(size_t, const std::string&, T&) const [with T = BYTE]'
shop_manager.cpp:442:   instantiated from here
group_text_parse_tree.h:228: warning: comparison between signed and unsigned integer expressions
../../../Extern/include/cryptopp/misc.h: At global scope:
../../../Extern/include/cryptopp/misc.h:548: warning: 'std::string CryptoPP::StringNarrow(const wchar_t*, bool)' defined but not used
OBJDIR/cmd.o:(.data+0xOBJDIR/cmd.o:(.data+0xec8): undefined refereec8): undefined reference to `do_cards(CHARACTER*, char const*, int, int)'
nce to `do_cards(CHARACTER*, char const*, int, int)'
gmake: *** [../test] Bł±d 1
gmake: *** Oczekiwanie na niezakończone zadania....
gmake: *** [../game_r50410_32] Bł±d 1
Błąd z do_cards, prawdopodobnie w cmd.cpp. Teraz podam fragmenty kodu, gdzie występuje do_cards w cmd.cpp

 

// 큐브관련
ACMD(do_inventory);
ACMD(do_cube);
ACMD(do_cards);
// 공성전
{ "inventory",			do_inventory,			0,	POS_DEAD,	GM_LOW_WIZARD	},
	{ "cube",				do_cube,				0,	POS_DEAD,	GM_PLAYER	},
	{ "cards",				do_cards,				0,	POS_DEAD,	GM_PLAYER	},

ACMD(do_cards)
{
    const char *line;

    char arg1[256], arg2[256];

    line = two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
    switch (LOWER(arg1[0]))
    {
        case 'o':    // open
            if (isdigit(*arg2))
            {
                DWORD safemode;
                str_to_number(safemode, arg2);
                ch->Cards_open(safemode);
            }
            break;
        case 'p':    // open
            ch->Cards_pullout();
            break;
        case 'e':    // open
            ch->CardsEnd();
            break;
        case 'd':    // open
            if (isdigit(*arg2))
            {
                DWORD destroy_index;
                str_to_number(destroy_index, arg2);
                ch->CardsDestroy(destroy_index);
            }
            break;
        case 'a':    // open
            if (isdigit(*arg2))
            {
                DWORD accpet_index;
                str_to_number(accpet_index, arg2);
                ch->CardsAccept(accpet_index);
            }
            break;
        case 'r':    // open
            if (isdigit(*arg2))
            {
                DWORD restore_index;
                str_to_number(restore_index, arg2);
                ch->CardsRestore(restore_index);
            }
            break;
        default:
            return;
    }
}
To dodałem cmd_general.cpp na końcu pliku przed #endif.

Błąd za błędem...

wqdz690429546a.GIF Piszę poprawnie po polsku.

Opublikowano

do_card zdefiniuj poza #endif

 

W makefile zmień na to, bo tylko syfisz warningami.

CFLAGS = -g -w -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista


"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer


 


Potrzebujesz czegoś? Oznacz mnie @Salur

Opublikowano

 

do_card zdefiniuj poza #endif

 

W makefile zmień na to, bo tylko syfisz warningami.

CFLAGS = -g -w -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_

świetnie, ale zapomniałeś o -static ...

5206314859733321403620.gif

Opublikowano

@RysieQ™ Rzeczywiście, masz racje, dzięki za poprawienie :)

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista


"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer


 


Potrzebujesz czegoś? Oznacz mnie @Salur

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...