[C++][Python] EXP im Charakterfenster anzeigen.

  • Hallo Freunde,


    aufgrund eines jüngsten Anlasses, bei der ein Kunde dieses "System" wollte und am Ende nicht bezahlen wollte und ich es nun ungerne wegschmeißen will..
    Hier - Gönnt euch Bitte melden Sie sich an, um dieses Bild zu sehen. Zunächst sei aber noch gesagt: In diesem Beispiel habe ich die exp mitgegeben, ihr könnt natürlich allerlei Daten mitgeben, um dann z.B: "Itemshop-Coins" anzuzeigen.
    Das Anpassen müsstet ihr dann selber schaffen Bitte melden Sie sich an, um dieses Bild zu sehen.


    P.S: Ich komme immernoch Null mit der Threaderstellung klar, irgendwie ist das hier sehr merkwürdig.
    Wenn ich z.B: einen "Code" einfüge, springt mein Text ganz nach oben in den Thread und erstellt eine Leerzeile. Wieso?


    ________________________________________________


    Client:


    ~root/introselect.py:


    1.Suche

    Code
    1. hair=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_HAIR)


    2. Füge darunter ein

    Code
    1. if app.SHOW_EXP_IN_LOGIN:
    2. exp=net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_EXP)


    Achtung: Dieser Code speichert nur den aktuellen Wert der 4 Charaktere in der Variable "exp".
    Ihr könntet nun die EXP z.B: nutzen, um die EXP Leiste des aktuell ausgewählten Users im Login anzuzeigen oder Ähnliches, da ist eure Kreativität gefragt!
    Wenn sowas gewünscht wird, einfach den entsprechenden Teil aus der Taskbar quasi kopieren oder hier mal nett fragen und warten, bis ich Zeit hab mir da was zu überlegen haha. ;)







    Client-Source:


    ~/UserInterface/Locale_inc.h:


    1. Füge am Ende folgendes Define hinzu:

    Code
    1. #define SHOW_EXP_IN_LOGIN // Get the chosen user's exp from database in the user selectwindow.


    ~/UserInterface/PythonApplicationModule.cpp:


    2. Füge am Ende der Datei vor dem "}" ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. PyModule_AddIntConstant(poModule, "SHOW_EXP_IN_LOGIN", 1);
    3. #else
    4. PyModule_AddIntConstant(poModule, "SHOW_EXP_IN_LOGIN", 0);
    5. #endif




    ~/UserInterface/PythonNetworkStream.h:


    1. Suche

    Code
    1. ACCOUNT_CHARACTER_SLOT_HAIR,


    2. Füge danach ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. ACCOUNT_CHARACTER_SLOT_EXP,
    3. #endif



    ~/UserInterface/PythonNetworkStream.cpp:


    1. Suche

    Code
    1. case ACCOUNT_CHARACTER_SLOT_HAIR:
    2. return rkSimplePlayerInfo.wHairPart;
    3. break;



    2. Füge danach ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. case ACCOUNT_CHARACTER_SLOT_EXP:
    3. return rkSimplePlayerInfo.exp;
    4. break;
    5. #endif



    ~/UserInterface/PythonNetworkStreamModule.cpp:


    1. Suche

    Code
    1. PyModule_AddIntConstant(poModule, "ACCOUNT_CHARACTER_SLOT_HAIR", CPythonNetworkStream::ACCOUNT_CHARACTER_SLOT_HAIR);



    2. Füge darunter ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. PyModule_AddIntConstant(poModule, "ACCOUNT_CHARACTER_SLOT_EXP", CPythonNetworkStream::ACCOUNT_CHARACTER_SLOT_EXP);
    3. #endif



    ~/UserInterface/Packet.h:


    1. Suche

    Code
    1. } TSimplePlayerInformation;


    2. Füge dadrüber ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. int exp;
    3. #endif









    Server-Source:


    ~/common/tables.h:


    1. Füge am Ende folgendes Define hinzu[/font]

    Code
    1. #define SHOW_EXP_IN_LOGIN // Get the chosen user's exp from database in the user selectwindow.


    ~/common/tables.h:


    1. Suche

    Code
    1. } TSimplePlayer;


    2. Füge dadrüber ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. int exp;
    3. #endif


    ~/db/ClientManagerLogin.cpp:


    1. Suche in folgender Funktion "void CClientManager::RESULT_LOGIN_BY_KEY(CPeer * peer, SQLMsg * msg)":


    2. Bearbeite es folgendermaßen:


    Achtung: Ich sage bewusst "bearbeite es folgendermaßen", weil ich deinen / euren Code nicht kenne und demnach in diesem Beispiel nicht unbedingt etwas 1:1 ersetzen lassen möchte. Könnte ja sein, dass du dann deinen vorherig angepassten Code mit meinem überschreibst. Folgend ist unter "Bearbeite" immer solches Vorgehen gefordert.


    1. Suche

    Code
    1. pkTab->players[j].wHairPart = pt->parts[PART_HAIR];


    2. Füge darunter ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. pkTab->players[j].exp = pt->exp;
    3. #endif


    1. Suche

    Code
    1. pkTab->players[j].wHairPart = 0;


    2. Füge darunter ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. pkTab->players[j].exp = 0;
    3. #endif


    1. Suche

    Code
    1. str_to_number(pkTab->players[j].wHairPart, row[col++]);


    2. Füge darunter ein

    Code
    1. #ifdef SHOW_EXP_IN_LOGIN
    2. str_to_number(pkTab->players[j].exp, row[col++]);
    3. #endif


    1. Suche



    2. Bearbeite es folgendermaßen:


    2 Mal editiert, zuletzt von ProudTerm213 ()

  • Dieses Thema enthält 5 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.