Исходник [ASI] Custom "GTA SA USER FILES" folder

Статус
В этой теме нельзя размещать новые ответы.

D3.Pheonix

🎹
Автор темы
Модератор
2,816
1,597
Задался этим вопросом, нашёл где-то код от DK22pac. Плагин позволяет хранить папку User Files в любом месте
Может кому-то понадобится
C++:
#include "plugin.h"
#include <experimental\filesystem>
class MyDocumentsDir {
public:
static void SetDocumentsDir() {
const char *documentsDir = "D:\\My Documents\\Hello World - My GTA SA Documents";
std::experimental::filesystem::create_directories(documentsDir);
strcpy(reinterpret_cast<char *>(0xC92368), documentsDir);
}
MyDocumentsDir() {
// skip registry checks
plugin::patch::SetUInt(0x744FD1, 0x9014C483);
plugin::patch::Nop(0x744FD5, 10);
plugin::patch::SetUInt(0x745001, 0x9018C483);
plugin::patch::Nop(0x745005, 10);
plugin::patch::SetUInt(0x745018, 0x9004C483);
plugin::patch::Nop(0x74501C, 16);
// set documents path
plugin::patch::RedirectCall(0x74503E, SetDocumentsDir);
plugin::patch::Nop(0x745048, 2);
}
} myDocumentsDir;
 

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
Как компилировать плагин?
Я же пишу lua скрипты, а не ASI
 

iAmerican

Известный
Друг
615
257
Как этот участок кода кому то поможет? Докладывай остальные файлы(проект).
 

D3.Pheonix

🎹
Автор темы
Модератор
2,816
1,597
Как этот участок кода кому то поможет? Докладывай остальные файлы(проект).
Мне ж помог ? Выше написал, что просто скомпилировал код с помощью Plugin SDK. Там даже мозги не нужны

Вот полный код
C++:
#include "plugin.h"
#include <experimental\filesystem>
using namespace plugin;

class PluginSdkProject3 {
public:
    PluginSdkProject3() {
#include "plugin.h"
        class MyDocumentsDir {
        public:
            static void SetDocumentsDir() {
                const char *documentsDir = "D:\\My Documents\\Hello World - My GTA SA Documents";
                std::experimental::filesystem::create_directories(documentsDir);
                strcpy(reinterpret_cast<char *>(0xC92368), documentsDir);
            }
            MyDocumentsDir() {
                // skip registry checks
                plugin::patch::SetUInt(0x744FD1, 0x9014C483);
                plugin::patch::Nop(0x744FD5, 10);
                plugin::patch::SetUInt(0x745001, 0x9018C483);
                plugin::patch::Nop(0x745005, 10);
                plugin::patch::SetUInt(0x745018, 0x9004C483);
                plugin::patch::Nop(0x74501C, 16);
                // set documents path
                plugin::patch::RedirectCall(0x74503E, SetDocumentsDir);
                plugin::patch::Nop(0x745048, 2);
            }
        } myDocumentsDir;
       
    }
} pluginSdkProject3;
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.