FLHook Plugin Version

no description available
69 Topics 557 Posts
  • Function export request

    Locked
    4
    0 Votes
    4 Posts
    5k Views

    Got another export request here - the iDmgTo variable used in the HkCb_AddDmgEntry function. That way you can get the client-id without adding 3 more hooks and doing the same processing FLHook is already doing. 🙂

  • Latest SDK Files Download

    Locked
    5
    0 Votes
    5 Posts
    10k Views

    I forgot to include the updated RIGHTS enumeration in the FLHook.h header file:

    enum CCMDS_RIGHTS { RIGHT_NOTHING = 0, RIGHT_SUPERADMIN = 0xFFFFFFFF, RIGHT_MSG = (1 << 0), RIGHT_KICKBAN = (1 << 1), RIGHT_EVENTMODE = (1 << 2), RIGHT_CASH = (1 << 3), RIGHT_BEAMKILL = (1 << 4), RIGHT_REPUTATION = (1 << 5), RIGHT_CARGO = (1 << 6), RIGHT_CHARACTERS = (1 << 7), RIGHT_SETTINGS = (1 << 8), RIGHT_PLUGINS = (1 << 9), RIGHT_OTHER = (1 << 10), };

    Please update your plugin(s) to use the accurate rights.

  • 0 Votes
    1 Posts
    4k Views
    No one has replied
  • Problems, or false negatives?

    Locked
    4
    0 Votes
    4 Posts
    5k Views

    Oh, I had a previous version of CRC Tool that’s why I did not get along well so far… Thanks loads!

  • FLHook Plugin Main Project Page

    Locked
    3
    0 Votes
    3 Posts
    9k Views

    Thank Worfeh for putting up the forge site 😉

  • Building in visual studio 2005

    Locked
    3
    0 Votes
    3 Posts
    6k Views

    Glad you got it to work 🙂

  • 0 Votes
    8 Posts
    7k Views

    I have add some code to my flhook to save playerlog to a file.

    It worked but im not sure it will works fine.

    here it is:

    void HkWriteEventToFile(uint iClientID, wstring wscCharAction…)
    {
    if (set_bPlayerActionLog){
    wchar_t wszBuf[1024*8] = L"";
    va_list marker;
    va_start(marker, wscCharAction);

    _vsnwprintf(wszBuf, (sizeof(wszBuf) / 2) - 1, wscCharAction.c_str(), marker);

    const wchar_t *wszCharname = Players.GetActiveCharacterName(iClientID);
    if(!wszCharname)
    wszCharname = L"";

    CAccount *acc = Players.FindAccountFromClientID(iClientID);
    wstring wscAccountDir;
    HkGetAccountDirName(acc, wscAccountDir);

    HKPLAYERINFO pi;
    HkGetPlayerInfo(ARG_CLIENTID(iClientID), pi, false);

    string sfilname = “FLHookPlayerLog\” + wstos(HkGetAccountID(acc)) + “_PlayerLog.Log”;

    FILE *f = fopen(sfilname.c_str(), “at”);

    time_t tNow = time(0);
    struct tm *stNow = localtime(&tNow);
    fprintf(f, “\r\n%.4d/%.2d/%.2d [%.2d:%.2d:%.2d] Player: %s (%s:%s)::%s”, stNow->tm_year + 1900, stNow->tm_mon + 1, stNow->tm_mday, stNow->tm_hour, stNow->tm_min, stNow->tm_sec, wstos(wszCharname).c_str(), wstos(HkGetAccountID(acc)).c_str(), wstos(wscAccountDir).c_str(), wstos(wszBuf).c_str());
    fclose(f);
    }
    }

    call exp. :

    void __stdcall InitiateTrade(unsigned int iClientID1, unsigned int iClientID2)
    {
    ……
    try {
    HkWriteEventToFile(iClientID1, L"TradeRequest From: %s", wszCharname.c_str());
    } catch (…) { AddLog(“Exception in %s (HkWriteEventToFile)”, FUNCTION); }
    …
    }

    w0dk4, i want to log more things, like what player buy/sell and what item player have to exchange… how can i do that?

  • Problems with HkRename

    Locked
    11
    0 Votes
    11 Posts
    8k Views

    Ok, I got an emulation working, I will include it in the next version.

    The emulation actually calls the CreateNewChar functions just like the flserver does, so any remaining problems should be fixed then.

  • FL Hook Plugin SDK

    Locked
    2
    0 Votes
    2 Posts
    7k Views

    Good idea indeed!
    With an SDK we could also always keep everyone updated on the latest progress in reversing FL, like figuring out unknown structs, etc.