[SOURCE] AKCore

Ultima modifica:
@Zlays Io ho risolto il problema che mi bloccava all'entrata del gameserver, bastava aggiornare la struttura delle tabelle, sono andato a vedere tutte le modifiche effettuate sulla repository di github e mi sono schiaffeggiato per 2 minuti per non essermi accorto che il db era stato aggiornato.
Ad ogni modo, ieri ho estratto dal game la tabella delle skill e degli item, per gli item purtroppo non sono riuscito a prendere i nomi (mi esce un solo simbolo per item :\).
Se volete vi rilascio il codice che ho scritto per farlo, anzi ve lo lascio sotto. (devo ringraziare Daneos di ragezone per avermi dato l'idea, io stavo ancora tentando di decompilare i file rdf "dall'esterno")
Struttura items: https://mega.co.nz/#!G1pHWaAZ!Pkc9kiZmNIUO7ZNKtZxb-vTty6HU0J7p13fHo78GQjs
Struttura skills: https://mega.co.nz/#!apB3FSDb!Vbhas7eF_4gEFYrNPujhdXd144qdn4l-hrRssIOqkZc

Codice Skill:
Codice:
/* SKILL READING*/
     ofstream fout("skill", ios::binary);
    if(fout.is_open())
    {
        CSkillTable* pSkillTbl = g_pTableContainer->GetSkillTable();
        cout << "File Opened successfully!!!. Writing data from array to file" << endl;




        for ( CTable::TABLEIT itSKILLS = pSkillTbl->Begin(); itSKILLS != pSkillTbl->End(); ++itSKILLS )
        {
            sSKILL_TBLDAT* pSKILLTblData = (sSKILL_TBLDAT*) itSKILLS->second;




            fout << "ID: " << (int)pSKILLTblData->tblidx 
                 << " dwNextSkillTblidx: " << (int)pSKILLTblData->dwNextSkillTblidx
                 << " Root_Skill: " << (int)pSKILLTblData->Root_Skill
                 << " bDash_Able: " << (int)pSKILLTblData->bDash_Able
                 << " bDefaultDisplayOff: " << (int)pSKILLTblData->bDefaultDisplayOff
                 << " bKeep_Effect: " << (int)pSKILLTblData->bKeep_Effect
                 << " bDash_AbSelfTrainble: " << (int)pSKILLTblData->bSelfTrain
                 << " bValidity_Able: " << (int)pSKILLTblData->bValidity_Able
                 << " byApply_Area_Size_1: " << (int)pSKILLTblData->byApply_Area_Size_1
                 << " byApply_Area_Size_2: " << (int)pSKILLTblData->byApply_Area_Size_2
                 << " byApply_Range: " << (int)pSKILLTblData->byApply_Range
                 << " byApply_Target: " << (int)pSKILLTblData->byApply_Target
                 << " byApply_Target_Max: " << (int)pSKILLTblData->byApply_Target_Max
                 << " byAppoint_Target: " << (int)pSKILLTblData->byAppoint_Target
                 << " byBuff_Group: " << (int)pSKILLTblData->byBuff_Group
                 << " byPC_Class_Change: " << (int)pSKILLTblData->byPC_Class_Change
                 << " byRequire_Epuip_Slot_Type: " << (int)pSKILLTblData->byRequire_Epuip_Slot_Type
                 << " byRequire_Item_Type: " << (int)pSKILLTblData->byRequire_Item_Type
                 << " byRequire_RP_Ball: " << (int)pSKILLTblData->byRequire_RP_Ball
                 << " byRequire_Train_Level: " << (int)pSKILLTblData->byRequire_Train_Level
                 << " bySkill_Active_Type: " << (int)pSKILLTblData->bySkill_Active_Type
                 << " bySkill_Class: " << (int)pSKILLTblData->bySkill_Class
                 << " bySkill_Grade: " << (int)pSKILLTblData->bySkill_Grade
                 << " bySkill_Type: " << (int)pSKILLTblData->bySkill_Type
                 << " bySlot_Index: " << (int)pSKILLTblData->bySlot_Index
                 << " dwPC_Class_Bit_Flag: " << (int)pSKILLTblData->dwPC_Class_Bit_Flag
                 << " dwRequire_Zenny: " << (int)pSKILLTblData->dwRequire_Zenny
                 << " fSuccess_Rate: " << (float)pSKILLTblData->fSuccess_Rate
                 << " uiRequire_Skill_Tblidx_Max_1: " << (float)pSKILLTblData->uiRequire_Skill_Tblidx_Max_1
                 << " uiRequire_Skill_Tblidx_Max_2: " << (int)pSKILLTblData->uiRequire_Skill_Tblidx_Max_2
                 << " uiRequire_Skill_Tblidx_Min_1: " << (int)pSKILLTblData->uiRequire_Skill_Tblidx_Min_1
                 << " uiRequire_Skill_Tblidx_Min_2: " << (int)pSKILLTblData->uiRequire_Skill_Tblidx_Min_2
                 << " wAction_Animation_Index: " << (int)pSKILLTblData->wAction_Animation_Index
                 << " wAction_End_Animation_Index: " << (int)pSKILLTblData->wAction_End_Animation_Index
                 << " wAction_Loop_Animation_Index: " << (int)pSKILLTblData->wAction_Loop_Animation_Index
                 << " wAdditional_Aggro_Point: " << (int)pSKILLTblData->wAdditional_Aggro_Point
                 << " wCasting_Animation_Loop: " << (int)pSKILLTblData->wCasting_Animation_Loop
                 << " wCasting_Animation_Start: " << (int)pSKILLTblData->wCasting_Animation_Start
                 << " wCool_Time: " << (int)pSKILLTblData->wCool_Time
                 << " wFunction_Bit_Flag: " << (int)pSKILLTblData->wFunction_Bit_Flag
                 << " wKeep_Time: " << (int)pSKILLTblData->wKeep_Time
                 << " wNext_Skill_Train_Exp: " << (int)pSKILLTblData->wNext_Skill_Train_Exp
                 << " wRequireSP: " << (int)pSKILLTblData->wRequireSP
                 << " wRequire_EP: " << (int)pSKILLTblData->wRequire_EP
                 << " wRequire_LP: " << (int)pSKILLTblData->wRequire_LP




            <<endl;




        }




    }
    /*SKILL READING*/

Codice Item:
Codice:
/*Item Reading*/
    ofstream fout("items", ios::binary);
    if(fout.is_open())
    {
        CItemTable* itemTbl = g_pTableContainer->GetItemTable();
        cout << "File Opened successfully!!!. Writing data from array to file" << endl;




        for ( CTable::TABLEIT itITEMS = itemTbl->Begin(); itITEMS != itemTbl->End(); ++itITEMS )
        {
            sITEM_TBLDAT* pItemData = (sITEM_TBLDAT*) itITEMS->second;




            fout << "ID: " << (int)pItemData->tblidx
                 << " Rank: " << (int)pItemData->byRank
                 << " Item_Type: " << (int)pItemData->byItem_Type
                 << " Equip_Type: " << (int)pItemData->byEquip_Type
                 << " Equip_Slot_Type_Bit_Flag: " << (int)pItemData->wEquip_Slot_Type_Bit_Flag
                 << " Function_Bit_Flag: " << (int)pItemData->wFunction_Bit_Flag
                 << " Max_Stack: " << (int)pItemData->byMax_Stack
                 << " Cost: " << (int)pItemData->dwCost
                 << " Sell_Price: " << (int)pItemData->bySell_Price
                 << " Durability: " << (int)pItemData->byDurability
                 << " Durability_Count: " << (int)pItemData->byDurability_Count
                 << " Battle_Attribute: " << (int)pItemData->byBattle_Attribute
                 << " Physical_Offence: " << (int)pItemData->wPhysical_Offence
                 << " Energy_Offence: " << (int)pItemData->wEnergy_Offence
                 << " Physical_Defence: " << (int)pItemData->wPhysical_Defence
                 << " Energy_Defence: " << (int)pItemData->wEnergy_Defence
                 << " Physical_OffenceUpgrade: " << (int)pItemData->dwPhysical_OffenceUpgrade
                 << " Energy_OffenceUpgrade: " << (int)pItemData->dwEnergy_OffenceUpgrade
                 << " Physical_DefenceUpgrade: " << (int)pItemData->dwPhysical_DefenceUpgrade
                 << " Energy_DefenceUpgrade: " << (int)pItemData->dwEnergy_DefenceUpgrade
                 << " Attack_Range_Bonus: " << (float)pItemData->fAttack_Range_Bonus
                 << " Attack_Speed_Rate: " << (int)pItemData->wAttack_Speed_Rate
                 << " Need_Level: " << (int)pItemData->byNeed_Level
                 << " Need_Class_Bit_Flag: " << (int)pItemData->dwNeed_Class_Bit_Flag
                 << " Class_Special: " << (int)pItemData->byClass_Special
                 << " Race_Special: " << (int)pItemData->byRace_Special
                 << " Need_Str: " << (int)pItemData->byNeed_Str
                 << " Need_Con: " << (int)pItemData->byNeed_Con
                 << " Need_Foc: " << (int)pItemData->byNeed_Foc
                 << " Need_Dex: " << (int)pItemData->byNeed_Dex
                 << " Need_Sol: " << (int)pItemData->byNeed_Sol
                 << " Need_Eng: " << (int)pItemData->byNeed_Eng
                 << " set_Item_Tblidx: " << (int)pItemData->set_Item_Tblidx
                 << " Note: " << (int)pItemData->Note
                 << " Bag_Size: " << (int)pItemData->byBag_Size
                 << " Scouter_Watt: " << (int)pItemData->wScouter_Watt
                 << " Scouter_MaxPower: " << (int)pItemData->dwScouter_MaxPower
                 << " Scouter_Parts_Type: " << (int)pItemData->byScouter_Parts_Type
                 << " Scouter_Parts_Value: " << (int)pItemData->byScouter_Parts_Value
                 << " Use_Item_Tblidx: " << (int)pItemData->Use_Item_Tblidx
                 << " Item_Option_Tblidx: " << (int)pItemData->Item_Option_Tblidx
                 << " ItemGroup: " << (int)pItemData->byItemGroup
                 << " Charm_Tblidx: " << (int)pItemData->Charm_Tblidx
                 << " CostumeHideBitFlag: " << (int)pItemData->wCostumeHideBitFlag
                 << " NeedItemTblidx: " << (int)pItemData->NeedItemTblidx
                 << " CommonPoint: " << (int)pItemData->CommonPoint
                 << " CommonPointType: " << (int)pItemData->byCommonPointType
                 << " NeedFunction: " << (int)pItemData->byNeedFunction
                 << " UseDurationMax: " << (int)pItemData->dwUseDurationMax
                 << " DurationType: " << (int)pItemData->byDurationType
                 << " contentsTblidx: " << (int)pItemData->contentsTblidx
                 << " DurationGroup: " << (int)pItemData->dwDurationGroup




            <<endl;




        }




    }
    /*Item Reading*/

o.o ggwp xD comunque ti esce solo un simbolo perche molto probabilmente sono in coreano o qualche altra lingua della quale tu non disponi un font adatto per leggerlo allora dovrebbe apparire il classico quadratino

- - - Updated - - -

Ps:io se fossi in te aprirei un topic a parte con la lista di tutti gli item,skill,mob perche se a qualcuno dovesse servire...qui non la ritroverebbe nessuno xD
 
Ti riferisci alle skill?
Si, non ci sono i nomi.

P.S Penso che per ora siamo in pochi ad interessarci, poi aprire un thread solo per postare due file.... :\
 
Ultima modifica:
Ti riferisci alle skill?
Si, non ci sono i nomi.

P.S Penso che per ora siamo in pochi ad interessarci, poi aprire un thread solo per postare due file.... :\
Uno che vuole givvarsi un item non puo perche un cattivone come te non gli ha messo a disposizione l'id dell'item? :p
se ci fossero i nomi sarebbe ottimo cosi si potrebbero tradurre :\ dimmi dove hai preso le tabelle xD io so leggere i geroglifici xD
 
Ultima modifica:
Cosa andrebbe fixato?

ps:sono riuscito a risolvere tutti i bug precedentemente riportati.
Nel caso a qualcuno servisse una mano non esitate a inviare un PM
 
Ultima modifica:
Teoricamente ho risolto il bug dello shop(Quando compri piu oggetti contemporaneamente te ne da 1 solo...) il problema è che lo fixato sul client della AKCore...quando vado a compilarlo ho questo problema:
ddeyh4.png

@sevendragon
 
Ultima modifica:
Devi installare l'sdk di directx, come vedi nelle inclusioni usa la variabile di ambiente dxsdk_dir, per cui se installi l'sdk in maniera "personalizzata" dovrai inserire il percorso o crearti a mano la variabile associando il path dell'sdk.
 
Devi installare l'sdk di directx, come vedi nelle inclusioni usa la variabile di ambiente dxsdk_dir, per cui se installi l'sdk in maniera "personalizzata" dovrai inserire il percorso o crearti a mano la variabile associando il path dell'sdk.

Gia ho implementato directx sdk...pero come puoi vedere nonostante non va .-.
 
Sei sicuro che l'installazione si sia conclusa con successo?
Su windows 7 c'è un bug che fa fallire l'installazione.
Hai provato anche a mettere direttamente il percorso?
 
Sei sicuro che l'installazione si sia conclusa con successo?
Su windows 7 c'è un bug che fa fallire l'installazione.
Hai provato anche a mettere direttamente il percorso?
il percorso è stato inserito personalmente da me...anzi..conosci un metodo per far si che venga auto implementato automaticamente in tutti i progetti come succede per "boost"?
 
Allora, controlla una cosa, tasto destro su Computer-> Proprietà -> Impostazioni di sistema avanzate -> Tab Avanzate, in basso c'è variabili d'ambiente, vedi se esiste DXSDK_DIR nel riquadro "Variabili di sistema" e controlla che il valore sia associato al percorso dell'SDK installato.
 
Sono finalmente riuscito a compilare tutto tranne ChatServer mi da questo errore:

Error 2 error LNK2019: unresolved external symbol "public: void __thiscall ChatFunctionsClass::AddRemoveFriend(int,int,bool,bool)" (?AddRemoveFriend@ChatFunctionsClass@@QAEXHH_N0@Z) referenced in function "public: void __thiscall CClientSession::SendAddFriend(class CNtlPacket *,class CChatServer *)" (?SendAddFriend@CClientSession@@QAEXPAVCNtlPacket@@PAVCChatServer@@@Z) C:\Users\Samuel\Desktop\DBO\server\AKcore\AKCore-master\Server\ChatServer\PacketChatServer.obj


Consigli?