Sziasztok! Ma megpróbáltam betenni az indító forrásba a Gf-es pet systemet többzöri próbálkozás után ezeket az errorokat kaptam.Error 5 error LNK2001: unresolved external symbol "void __cdecl initskillpet(void)" (?initskillpet@@YAXXZ) D:\vizualstudio\vs 2013 kliens\ VS\vs_files\UserInterface\UserInterface.obj UserInterface
Error 3 error LNK2001: unresolved external symbol "public: void __thiscall CPythonSkillPet::Destroy(void)" (?Destroy@CPythonSkillPet@@QAEXXZ) D:\vizualstudio\vs 2013 kliens\ VS\vs_files\UserInterface\PythonApplication.obj UserInterface
Error 2 error LNK2001: unresolved external symbol "public: virtual __thiscall CPythonSkillPet::~CPythonSkillPet(void)" (??1CPythonSkillPet@@UAE@XZ) D:\vizualstudio\vs 2013 kliens\ VS\vs_files\UserInterface\PythonApplication.obj UserInterface
Error 4 error LNK2001: unresolved external symbol "public: bool __thiscall CPythonSkillPet::RegisterSkillPet(char const *)" (?RegisterSkillPet@CPythonSkillPet@@QAE_NPBD@Z) D:\vizualstudio\vs 2013 kliens\ VS\vs_files\UserInterface\PythonApplication.obj UserInterface
Error 1 error LNK2001: unresolved external symbol "public: __thiscall CPythonSkillPet::CPythonSkillPet(void)" (??0CPythonSkillPet@@QAE@XZ) D:\vizualstudio\vs 2013 kliens\ VS\vs_files\UserInterface\PythonApplication.obj UserInterface
Error 6 error LNK1120: 5 unresolved externals D:\vizualstudio\vs 2013 kliens\ VS\binary\Metin2Distribute.exe UserInterface
(Mellékeltem a változtatott fájlokat.)
Ha valakinek van elég ideje idegzete rávethetne egy pillantást mit rontok el. :D
Hozzáadtad vs-ben a PythonSkillPet fájlokat?
Igen tényleg ez volt a hiba köszönöm most már lefordult az indító.
kérhetnék erről 1 linket?
Idéz
https://mega.nz/#!FI8UBCya!s-xULulEwZ4j8vTXeG3xis_OETdlMqVq9zvSNO5HJxY
köszi
Hm erre valaki tud megoldást ? (kép) questlua.cpp így néz ki #ifdef __PET_SYSTEM__
RegisterPetFunctionTable();
#endif
#ifdef NEW_PET_SYSTEM
RegisterNewPetFunctionTable();
#endif
questlua_petnew.cpp-t hozzáadta a makefile-hez?
Igen azt hozzáadtam (utolsó) CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp char_cards.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 New_PetSystem.cpp questlua_petnew.cpp
Szerintem nyomj egy clean-t és fordítsd újra.
A questlua.h-ba is beírtad azt a funkciót?
Igen beírtam.
extern void RegisterHorseFunctionTable();
extern void RegisterPetFunctionTable();
extern void RegisterNewPetFunctionTable();
Azért mondta, hogy tolj egy clean-t mert, ott van a questlua_petnew.cpp a makefile végén de, nem láttam, hogy fordítaná a fájlt a képen amit küldtél.
Mindíg cleannel kezdek esetleg lehetne ez a ludas ? (questlua_item) int item_pet_death(lua_State* L)
{
CQuestManager& q = CQuestManager::instance();
DWORD itemid = 0;
if (q.GetCurrentItem())
{
itemid = q.GetCurrentItem()->GetID();
char szQuery1[1024];
snprintf(szQuery1, sizeof(szQuery1), "SELECT duration FROM new_petsystem WHERE id = %lu LIMIT 1", itemid);
std::auto_ptr<SQLMsg> pmsg2(DBManager::instance().DirectQuery(szQuery1));
if (pmsg2->Get()->uiNumRows > 0) {
MYSQL_ROW row = mysql_fetch_row(pmsg2->Get()->pSQLResult);
lua_pushboolean(L, atoi(row[0]) <= 0);
return 0;
}
else{
lua_pushboolean(L, false);
sys_err("[NewPetSystem]Error no item founded!On item.pet.death");
return 0;
}
}
return 0;
}
int item_pet_revive(lua_State* L)
{
CQuestManager& q = CQuestManager::instance();
DWORD itemid = 0;
if (q.GetCurrentItem())
{
itemid = q.GetCurrentItem()->GetID();
DBManager::instance().DirectQuery("UPDATE new_petsystem SET duration =(tduration/2) WHERE id = %d", itemid);
}
return 0;
}
De akkor meg ezt kapom hibaként
Nálam a pet systemnek nincs questlua_item része. Lehet az enyém valami régebbi verzió mert, már elég régen raktam be. Próbáld meg kivenni mit csinál.
questlua_item.cpp elejére
#include "db.h"
Most a quest_item jó de visszakaptam az első questlua.o-s hibát (ha kiveszem quest_itemet akkor is ez a hiba.)
Töltsd fel ezeket a pet fájlokat hátha találunk benne valamit.
Ez lenne az.(közbe próbálgatom az általad linkeltel is.)
És ha, a questlua.cpp-ből kiveszed ezt?
#include "questlua_petnew.h"
Az eredetileg nemvolt benne csak kipróbáltam,hogy ez csinál-e valamit de azzal is fennáll az első hiba. (miután elkezdtem buildelni rájöttem hogy cpp és kb semmi haszna csak elfelejtettem kivenni)
questlua.cpp-bent vedd le a makrót.
Ezt:
#ifdef NEW_PET_SYSTEM
RegisterNewPetFunctionTable();
#endif
Erre:
RegisterNewPetFunctionTable();
A probléma továbbra is fennáll.
service.h fájlod, hogy nézz ki?
Így : #ifndef __INC_SERVICE_H__
#define __INC_SERVICE_H__
#define _IMPROVED_PACKET_ENCRYPTION_ // ĆĐŶ ľĎČŁČ °łĽ±
//#define __AUCTION__
#define __PET_SYSTEM__
#define NEW_PET_SYSTEM
#define __UDP_BLOCK__
#endif
Hm lehet ez a hiba ? questlua_petnew.cpp--->#ifdef __NEWPET_SYSTEM__ csere ? #ifdef NEW_PET_SYSTEM
ahogy látom, a makrók hibásak
írd felül __NEW_PET_SYSTEM__
NEW_PET_SYSTEM-re
https://www.turkmmo.com/c-c-python/3451971-offical-pet-sistemi.html
107 oldal csupa igazság !
Itt minden szóba eső hiba megtörtént és javítás van rá ( mármint a komment szekcióban )
Igen azóta én is rájöttem de azért köszönöm mindenkinek aki segített most már sikerült lefordítani a game-t.