

# "versiyonb.h" içerir
void * myadress = NULL
İmzalanmamış uzun uzun myoffset = 0;
bool InitializeOffsets ()
{
Bu işlevi çıktığımızda boşaltılacak şekilde yığında tahsis edin.
//Tüm veritabanının yüklenmesine ve belleğin nedensiz kullanılmasına gerek yok.
Sürüm db db
//Veritabanını geçerli yürütülebilir sürümle yükleyin.
if (! db.Load ())
{
_FATALERROR ("geçerli yürütülebilir veritabanı için sürüm veritabanı yüklenemedi!");
}
Başka bir şey
{
//"SkyrimSE.exe", "1.5.97.0"
_MESSAGE("% s versiyonun% s. yüklenmiş veritabanı ", db.GetModuleName (). c_str (), db.GetLoadedVersionString (). c_str ());
}
//Bu adres zaten modülün temel adresini içerir, böylece adresi doğrudan kullanabiliriz.
Myadress=db.findadressbyid(123);
if (myadress== NULL)
{
_FATALERROR ("adres bulunmadı!");
Yanlış iade et;
}
//Bu ofset temel adresi içermez. Gerçek adres modül tabanı + mioffset olacak.
if (! db.FindOffsetById(123, MyOffset))
{
_FATALERROR ("benim şeyimin ofseti bulunmadı!");
}
//Her şey başarılı oldu.
Gerçeği geri dönün;
}
# "versiyonb.h" içerir
Boole döküm SpecificVersion ()
{
Sürüm db db
//Yürütülebilir sürümü çalıştığına bakılmaksızın 1.5.62.0 sürümünün veritabanını yüklemeye çalışın.
if (! db.Load(1,5,62,0))
{
_FATALERROR ("1.5.62.0 için veritabanı yüklemedim!");
Yanlış iade et;
}
//offsets-1.5.62.0.txt adlı bir dosya yazın, burada her satır kimlik ve ofsettir.
db.Dump ("ofsets-1.5.62.0.txt");
_MESSAGE("1.5.62.0 için boşaltılmış ofset ");
Gerçeği geri dönün;
}
void*adressof142f4def8=db.findadressbyid(517014);
bool Dump (const std:: string & path); //Şu anda yüklenen veritabanını dosyaya dökün
Bool yükleri (int major, int minor, int revize, int build); //db-major-minor-revision-build.bin data/SKSE/plugins dizininde varsa, belirli bir sürüm yükleyin
Bool yük (); //Geçerli uygulamanın sürümünü yükleyin
void Clear (); //Şu anda yüklenen veritabanını temizleyin
void GetLoadedVersion (int & major, int & minor, int & revision, int & build) const; //Şu anda yüklediğimiz veritabanı dosyasının sürümünü alın
bool GetExecutableVersion (int & major, int & minor, int & revision, int & build) const; //Şu anda yürütülen uygulamanın sürümünü alın
const std:: string & GetModuleName () const; //Şu anda yüklenen veritabanı modülünün adını alın, bu "SkyrimSE.exe" gösterilmelidir
const std:: string & GetLoadedVersionString () const; //Şu anda yüklenen sürümü dize olarak alın, örneğin "1.5.62.0"
const std:: harita& GetOffsetMap () const; //Manuel olarak yinelemeniz gerekiyorsa, ofset edilecek kimlik haritasını alın
void* FindAddressById (imzasız uzun uzun id) const; //adresi kimliğe göre bulun, bu zaten temel ve doğru adresi içerecektir. Bulunmazsa boş dönür!
bool FindOffsetById (imzalandırılmamış uzun uzun kimlik, imzalandırılmamış uzun uzun & sonuç) const; //kimliğe göre ofset bulun, bu sadece tabanı içermeden ofset edilir.
Bool findidbyadress (void*ptr, imzalandırılmamış uzun uzun & sonuç) const; //adrese göre kimliği bulun, bu adresi kimliğe dönüştürmek için ters arama deneyecektir
bool FindIdByOffset (imzalandırılmamış uzun uzun ofset, imzalandırılmamış uzun uzun & sonuç) const; //ofsetle kimliği bulun, bu ofseti kimliğe dönüştürmek için ters arama deneyecektir
Bool yük (std:: vektör& Tüm)
{
Statik int versiyonları [] = {3, 16, 23, 39, 50, 53, 62, 73, 80, 97, -1};
Için (int i=0; sürüm[i] > = 0; i ++)
{
VersionDb * db = new VersionDb ();
if (! db-> yük (1, 5, versiyonlar [i], 0))
{
Db sil;
Yanlış iade et;
}
all.push_back (db);
}
Gerçeği geri dönün;
}
Bool existensinall (std:: vektör& Tüm, İmzasız Uzun Uzun Kimlik)
{
İmzalanmamış uzun uzun sonuç = 0;
{
if (! db-> FindOffsetById(id, result))
}
Gerçeği geri dönün;
}
void FreeAll (std:: vektör& Tüm)
{
for (otomatic db: all)
Db sil;
all.clear ();
}
Boolean IsOk ()
{
std:: vektörHepsi;
if (! LoadAll (tüm))
{
_FATALERROR ("Geçerli yürütülür için bir veya daha fazla sürüm veritabanı yüklenemedi!");
Özgür (tüm);
Yanlış iade et;
}
if (! Existensinall (all, 517014))
{
_FATALERROR ("517014 veritabanının tüm sürümlerinde yok!");
}
Özgür (tüm);
//Tamam!
Gerçeği geri dönün;
}
int major = 0, minor = 0, revize = 0, build = 0;
if (! db.GetExecutableVersion(major, minor, revize, build))
{
_FATALERROR ("bir şey yanlış gitti!");
Yanlış iade et;
}
//Çalışan oyun 1.5.x ve en az 1.5.39.0 sürümü
if (büyük == 1 & & küçük == 5 & & revize > = 39)
{
Şeyler...?
}
İndirme veya kurulumda sorun mu yaşıyorsunuz? Destek almak için Discord topluluğumuza katılın!
Oyun Çözümleri
Kaynaklar
Ortaklar
Bizi takip edin
Larvas Limited
Room 1201, 12/F Tai Sang Bank Building 130-132 Des Voeux Road Central HK