Results 1 to 3 of 3
  1. #1
    TemTriss
    TemTriss is offline
    Senior Member TemTriss's Avatar
    Join Date
    2010 May
    Location
    Saint-Pitersburg
    Posts
    204
    Thanks Thanks Given 
    47
    Thanks Thanks Received 
    82
    Thanked in
    3 Posts
    Rep Power
    0

    ММ Лаунчер Х)

    Тем кто юзает, Макроманки и был счастливчиком, и тестил CSVPatcher.
    Скрипт для иньекции библиотеки. Сам лаунчер можно использовать для добавление/удаления настроек.
    Вод собственно скрипт.
    Добавляем:
    Code:
    local szCSVloaderDLL = "CSVPatcher.dll"
    local szCSVDLLPath    = string.gsub(arg[1], "LoadClient.mms", szCSVloaderDLL)
    printfc(console.BRIGHTGREEN, console.BLACK, "CSVLoaderP: "%s"n", szCSVDLLPath)
    и заменяем
    Code:
    if not process.Create(szClientPath, szGameArgs, szGamePath, szDLLPath) then
       ErrorBox("Failed to create client process! nnProbably couldn't find the service DLL.    nSee ReqBot "ReadMe.txt"")
    end
    на
    Code:
    local Handle = process.Create(szClientPath, szGameArgs, szGamePath, szDLLPath)
    if not Handle then
       ErrorBox("Failed to create client process! nnProbably couldn't find the service DLL.    nSee ReqBot "ReadMe.txt"")
       os.exit(1)
    end
    print("Inject CSVPatcher.dll...")
    -- Иньектим ещё 1 библиотеу.
    if (process.InjectDLL(Handle, szCSVDLLPath ) == false) then
       ErrorBox("Failed to inject DLL!")
       os.exit(1)
    end
    -- 2010-06-13, 18:15 --

    Что то я забросил эту тему =)
    Опять, для щастливых пользователей CSVLoadr'a и пользователей MM ReqBOT'а скрипт на запуск библиотек(иньъекции) в прцесс река =)
    Выкладываю целиковый скрипт =) От начала и до конца.
    Code:
    --=============================================================================
    -- Requiem game ReqBot service loader script
    -- Edit by TemTriss for CSVLoader .dlls
    --=============================================================================
    
    --[[
          Loads the Requiem game client "Requiem.exe" with the ReqBot service DLL
          loaded.
    
          This script needs to be passed the game's directory as an argument.
          I.E. "C:GamesRequiem"
          Normally setup in a shortcut to call this script from MM with the path
          from the Windows desktop.
    
          An optional 2nd argument "-RU" to indicate the Russian version, or "-GB"
          to indicate Global Sea server version.
          By default assumes USA server version.
    --]]
    
    -------------------------------------------------------------------------------
    
    --  C function printf with fore and background colors
    local function printfc(foreground, background, ...)
       local szText = nil
       local function wrapper(...)
          console.SetColor(foreground, background)
          io.write(string.format(...))
          console.SetColor(console.WHITE, console.BLACK)
       end
    
       local status, err = pcall(wrapper, ...)
       if not status then
          error(err, 2)
       end
    end
    
    -- Get MD5 hash for file, nil on open failure
    local function GetFileHash(szFile)
       local bufsize = (64 * 1024)
       local hFile = io.open(szFile, "rb")
       if hFile then
          local MyMD5 = hash.MD5()
    
          local szFileData = hFile:read(bufsize)
          while szFileData do
             MyMD5:Add(szFileData)
             szFileData = hFile:read(bufsize)
          end
    
          hFile:close()
          MyMD5:Finalize()
          return(tostring(MyMD5))
       else
          return nil, "failed to open file"
       end
    end
    
    -- Show an error box and exit
    local function ErrorBox(szError)
       printfc(console.BRIGHTYELLOW, console.RED, "nn ====== Error ======n"..szError)
       gui.MessageBox("Game loader Error!", szError, bit.bor(gui.MB_OK, gui.MB_ICONHAND))
       os.exit(1)
    end
    
    -------------------------------------------------------------------------------
    
    print()
    printfc(console.BRIGHTYELLOW, console.BLACK, " ====================== Game Loader ======================")
    
    
    -- #1
    -- First argument needs to be the game directory
    -- Requiem doesn't have a path location in the windows registry so the user must
    -- supply it.
    -- Argument #1 is the full script path, #2 is the game path
    if ((#arg < 2) or (type(arg[2]) ~= "string")) then
       ErrorBox("Need to pass the game directory as an argument!nnI.E. "MacroMonkey.exe LoadGame.mms C:GamesRequiem"    nNormally setup as a desktop shortcut or batch file.nSee ReqBot "ReadMe.txt"")
    end
    
    -- #2 2nd argument optional server version
    -- USA version by default
    local VersionIndex = 1
    if arg[3] then
       if (string.upper(arg[3]) == "-RU")     then
          VersionIndex = 2
       elseif (string.upper(arg[3]) == "-GB") then
          VersionIndex = 3
       end
       print()
       printfc(console.BRIGHTMAGENTA, console.BLACK, "<%s server version>n", ({"USA", "Russian", "Global Sea"})[VersionIndex])
    end
    
    local szServiceDLL = ({"RequiemSrvc.dll", "RequiemSrvcRU.dll", "RequiemSrvcGB.dll"})[VersionIndex]
    local szDLLPath    = string.gsub(arg[1], "LoadClient.mms", szServiceDLL)
    local szGamePath   = arg[2]
    local szClientPath = szGamePath.."systemRequiem.exe"
    local szCSVloaderDLL = "CSVPatcher.dll"
    local szCSVDLLPath    = string.gsub(arg[1], "LoadClient.mms", szCSVloaderDLL)
    local szCSVHackPack = "requiemHackPack.dll"
    local szCSVDLLPath1    = string.gsub(arg[1], "LoadClient.mms", szCSVHackPack)
    print()
    printfc(console.BRIGHTGREEN, console.BLACK, "GP: "%s"n", szGamePath)
    printfc(console.BRIGHTGREEN, console.BLACK, "CP: "%s"n", szClientPath)
    printfc(console.BRIGHTGREEN, console.BLACK, "DP: "%s"n", szDLLPath)
    printfc(console.BRIGHTGREEN, console.BLACK, "CSVLoaderP: "%s"n", szCSVDLLPath)
    printfc(console.BRIGHTGREEN, console.BLACK, "CSVLoaderP: "%s"n", szCSVHackPack)
    -- #3
    -- The ReqBot service DLL is specific to client version
    -- The DLL version must match the relative current client.
    
    -- Get client hash
    dofile("ClientVersion.inc")
    local szClientMD5 = aClientHash[VersionIndex]
    assert(szClientMD5)
    -- Compare with actual
    local szReadHash = GetFileHash(szClientPath)
    if szReadHash then
       if (szReadHash ~= szClientMD5) then
          ErrorBox("Client version check failed!  You probably need a ReqBot update. nnDownload the latest service DLL version.nSee ReqBot "ReadMe.txt"")
       end
    else
       ErrorBox("Can't find game client with path: ""..szClientPath..""!nnGame path argument is incorrect, or client EXE is missing..nSee ReqBot "ReadMe.txt"")
    end
    
    -- #4
    -- Create game process with service DLL injected..
    local szGameArgs =
    ({
       " 128.241.93.161 -FromLauncher 0/0 0 0 1 3 0",  -- USA
       " 109.105.144.2 -FromLauncher 0/0 0 0 7 2 0",    -- Russia
       " 112.175.139.3 -FromLauncher 0/0 0 0 1 4 0",   -- Global Sea
    })[VersionIndex]
    print("Loading..")
    local Handle = process.Create(szClientPath, szGameArgs, szGamePath, szDLLPath)
    if not Handle then
       ErrorBox("Failed to create client process! nnProbably couldn't find the service DLL.    nSee ReqBot "ReadMe.txt"")
       os.exit(1)
    end
    print("Inject CSVPatcher.dll...")
    -- Иньектим ещё 1 библиотеу.
    if (process.InjectDLL(Handle, szCSVDLLPath ) == false) then
       ErrorBox("Failed to inject DLL!")
       os.exit(1)
    end
    print("Inject requiemHackPack.dll...")
    -- Иньектим ещё 1 библиотеу.
    if (process.InjectDLL(Handle, szCSVDLLPath1 ) == false) then
       ErrorBox("Failed to inject DLL!")
       os.exit(1)
    end
    
    -- Success, bail out
    print("nnnnnSuccess")
    time.Sleep(0.25)
    --print("n- Press a key to exit -")
    --console.KeyPause()
    ADACH, Sirmabus, DWAR the BESSSSSSSSSST
    <3 MM REQBOT [Please, register to view links]
    love is in the air, blinding me with smoke, you are the air i breathe, when i choke.
    butterflies in the jar
    captured my heart, goodies in the basket, stuttering the ways, i love you honey.
    insect in your kiss.
    You are my sunshine.
    Get out of my rowboat, Get out of my rowboat, © Coal Chamber

  2. The Following 4 Users Say Thank You to TemTriss For This Useful Post:


  3. #2
    Петрович
    Петрович is offline
    Member-in-training Петрович's Avatar
    Join Date
    2010 May
    Posts
    89
    Thanks Thanks Given 
    42
    Thanks Thanks Received 
    9
    Thanked in
    7 Posts
    Rep Power
    0
    Да здравствует некропостинг!

    Мне вот интересно, кто-нибудь еще заходит в этот раздел?

  4. #3
    avril
    avril is offline
    Guest
    Join Date
    2012 Oct
    Posts
    3
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    Корейский проект закрыли, два сервера на америке и один на руофе прикрыли, популярность игры видимо падает, поэтому больше никто не строчит читы и прочее ...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •