Gf new pet system

Indította OneCharakter, 2017-02-20, 18:25:41

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?



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"