- Katılım
- 8 Şub 2022
- Konular
- 110
- Mesajlar
- 675
- Online süresi
- 2mo 19d
- Reaksiyon Skoru
- 767
- Altın Konu
- 5
- Başarım Puanı
- 175
- Yaş
- 29
- MmoLira
- 16,253
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
kullanım video'su
visual studio boş proje olustur (Source Files - kısmına .cpp ekle adı farketmez)
icine yapıstır o kadar
[CODE lang="cpp" title="pythhon27"]class Exception : public std::runtime_error {
public:
explicit Exception(const std::string& msg) : std::runtime_error(msg) {}
};
class python27 {
public:
explicit python27(HMODULE pythonModule) {
loader(pythonModule);
if (p_PyEval_InitThreads) p_PyEval_InitThreads();
}
void* Function(const char* Module, const char* funnction) {
void* g = AcquireGIL();
void* mod = p_PyImport_ImportModule(Module);
if (!mod) { ReleaseGIL(g); throw Exception(std::string("Failed to import module ") + Module); }
void* func = p_PyObject_GetAttrString(mod, funnction);
if (!func) { p_Py_DecRef(mod); ReleaseGIL(g); throw Exception(std::string("Failed to get func ") + funnction); }
void* result = p_PyObject_CallObject(func, nullptr);
p_Py_DecRef(func);
p_Py_DecRef(mod);
ReleaseGIL(g);
if (!result) throw Exception(std::string("Call failed ") + funnction);
return result;
}
void* WithTuple(void* Obj, void* Argument) {
if (!Obj || !Argument) throw Exception("WithTuple: Obj or args is null");
void* g = AcquireGIL();
void* result = p_PyObject_CallObject(Obj, Argument);
ReleaseGIL(g);
if (!result) throw Exception("WithTuple failed");
return result;
}
void* AcquireGIL() {
if (p_PyGILState_Ensure) return p_PyGILState_Ensure();
return nullptr;
}
void ReleaseGIL(void* state) {
if (p_PyGILState_Release && state) p_PyGILState_Release(state);
}
int TupleSize(void* obj) { return p_PyTuple_Size ? (int)p_PyTuple_Size(obj) : 0; }
void* TupleGetItem(void* obj, int idx) { return p_PyTuple_GetItem ? p_PyTuple_GetItem(obj, idx) : nullptr; }
double FloatAsDouble(void* obj) { return p_PyFloat_AsDouble ? p_PyFloat_AsDouble(obj) : 0.0; }
void DecRef(void* obj) { if (p_Py_DecRef && obj) p_Py_DecRef(obj); }
void* Tuple_New(long size) { if (!p_PyTuple_New) throw Exception("PyTuple_New not loaded"); return p_PyTuple_New(size); }
int Tuple_SetItem(void* tuple, long idx, void* item) { if (!p_PyTuple_SetItem) throw Exception("PyTuple_SetItem not loaded"); return p_PyTuple_SetItem(tuple, idx, item); }
void* Long_FromLong(long value) { if (!p_PyLong_FromLong) throw Exception("PyLong_FromLong not loaded"); return p_PyLong_FromLong(value); }
void* (*p_PyImport_ImportModule)(const char*) = nullptr;
void* (*p_PyObject_GetAttrString)(void*, const char*) = nullptr;
private:
int (*p_PyRun_SimpleStringFlags)(const char*, void*) = nullptr;
void* (*p_PyGILState_Ensure)() = nullptr;
void (*p_PyGILState_Release)(void*) = nullptr;
void (*p_PyEval_InitThreads)() = nullptr;
void* (*p_PyObject_CallObject)(void*, void*) = nullptr;
long (*p_PyLong_AsLong)(void*) = nullptr;
void (*p_Py_DecRef)(void*) = nullptr;
long (*p_PyTuple_Size)(void*) = nullptr;
void* (*p_PyTuple_GetItem)(void*, int) = nullptr;
double (*p_PyFloat_AsDouble)(void*) = nullptr;
void* (*p_PyTuple_New)(long) = nullptr;
int (*p_PyTuple_SetItem)(void*, long, void*) = nullptr;
void* (*p_PyLong_FromLong)(long) = nullptr;
void loader(HMODULE pythonModule) {
if (!pythonModule) throw Exception("module is null");
p_PyRun_SimpleStringFlags = reinterpret_cast<decltype(p_PyRun_SimpleStringFlags)>(GetProcAddress(pythonModule, "PyRun_SimpleStringFlags"));
p_PyGILState_Ensure = reinterpret_cast<decltype(p_PyGILState_Ensure)>(GetProcAddress(pythonModule, "PyGILState_Ensure"));
p_PyGILState_Release = reinterpret_cast<decltype(p_PyGILState_Release)>(GetProcAddress(pythonModule, "PyGILState_Release"));
p_PyEval_InitThreads = reinterpret_cast<decltype(p_PyEval_InitThreads)>(GetProcAddress(pythonModule, "PyEval_InitThreads"));
p_PyImport_ImportModule = reinterpret_cast<decltype(p_PyImport_ImportModule)>(GetProcAddress(pythonModule, "PyImport_ImportModule"));
p_PyObject_GetAttrString = reinterpret_cast<decltype(p_PyObject_GetAttrString)>(GetProcAddress(pythonModule, "PyObject_GetAttrString"));
p_PyObject_CallObject = reinterpret_cast<decltype(p_PyObject_CallObject)>(GetProcAddress(pythonModule, "PyObject_CallObject"));
p_PyLong_AsLong = reinterpret_cast<decltype(p_PyLong_AsLong)>(GetProcAddress(pythonModule, "PyLong_AsLong"));
p_Py_DecRef = reinterpret_cast<decltype(p_Py_DecRef)>(GetProcAddress(pythonModule, "Py_DecRef"));
p_PyTuple_Size = reinterpret_cast<decltype(p_PyTuple_Size)>(GetProcAddress(pythonModule, "PyTuple_Size"));
p_PyTuple_GetItem = reinterpret_cast<decltype(p_PyTuple_GetItem)>(GetProcAddress(pythonModule, "PyTuple_GetItem"));
p_PyFloat_AsDouble = reinterpret_cast<decltype(p_PyFloat_AsDouble)>(GetProcAddress(pythonModule, "PyFloat_AsDouble"));
p_PyTuple_New = reinterpret_cast<decltype(p_PyTuple_New)>(GetProcAddress(pythonModule, "PyTuple_New"));
p_PyTuple_SetItem = reinterpret_cast<decltype(p_PyTuple_SetItem)>(GetProcAddress(pythonModule, "PyTuple_SetItem"));
p_PyLong_FromLong = reinterpret_cast<decltype(p_PyLong_FromLong)>(GetProcAddress(pythonModule, "PyLong_FromLong"));
if (!p_PyGILState_Ensure || !p_PyGILState_Release || !p_PyImport_ImportModule ||
!p_PyObject_GetAttrString || !p_PyObject_CallObject || !p_Py_DecRef || !p_PyTuple_Size ||
!p_PyTuple_GetItem || !p_PyFloat_AsDouble || !p_PyTuple_New || !p_PyTuple_SetItem || !p_PyLong_FromLong)
{
throw Exception("export gg!");
}
}
};[/CODE]
kullanımı
[CODE lang="cpp" title="Kullanım"]namespace engsdk
{
double PythonPlayerPickCloseItem(python27& py, double eh, const char* Module, const char* Name) {
void* result = nullptr;
try {
result = py.Function(Module, Name);
}
catch (const Exception& e) {
return eh;
}
if (!result) return eh;
void* GIL = py.AcquireGIL();
eh = py.FloatAsDouble(result);
py.ReleaseGIL(GIL);
py.DecRef(result);
return eh;
}
}
DWORD WINAPI engine_packet(LPVOID lpParam) {
HMODULE py27 = LoadLibraryA("python27.dll");
if (!py27) {
DWORD Error = GetLastError();
char buf[256] = { 0 };
return 1;
}
try {
python27 py(py27);
while (true)
{
engsdk:
ythonPlayerPickCloseItem(py,10.10, "player", "PickCloseItem");
}
}
catch (const Exception& ex) {
std::cout << "gg!: " << ex.what() << std::endl;
}
FreeLibrary(py27);
FreeConsole();
return 0;
}[/CODE]
visual studio boş proje olustur (Source Files - kısmına .cpp ekle adı farketmez)
icine yapıstır o kadar
[CODE lang="cpp" title="pythhon27"]class Exception : public std::runtime_error {
public:
explicit Exception(const std::string& msg) : std::runtime_error(msg) {}
};
class python27 {
public:
explicit python27(HMODULE pythonModule) {
loader(pythonModule);
if (p_PyEval_InitThreads) p_PyEval_InitThreads();
}
void* Function(const char* Module, const char* funnction) {
void* g = AcquireGIL();
void* mod = p_PyImport_ImportModule(Module);
if (!mod) { ReleaseGIL(g); throw Exception(std::string("Failed to import module ") + Module); }
void* func = p_PyObject_GetAttrString(mod, funnction);
if (!func) { p_Py_DecRef(mod); ReleaseGIL(g); throw Exception(std::string("Failed to get func ") + funnction); }
void* result = p_PyObject_CallObject(func, nullptr);
p_Py_DecRef(func);
p_Py_DecRef(mod);
ReleaseGIL(g);
if (!result) throw Exception(std::string("Call failed ") + funnction);
return result;
}
void* WithTuple(void* Obj, void* Argument) {
if (!Obj || !Argument) throw Exception("WithTuple: Obj or args is null");
void* g = AcquireGIL();
void* result = p_PyObject_CallObject(Obj, Argument);
ReleaseGIL(g);
if (!result) throw Exception("WithTuple failed");
return result;
}
void* AcquireGIL() {
if (p_PyGILState_Ensure) return p_PyGILState_Ensure();
return nullptr;
}
void ReleaseGIL(void* state) {
if (p_PyGILState_Release && state) p_PyGILState_Release(state);
}
int TupleSize(void* obj) { return p_PyTuple_Size ? (int)p_PyTuple_Size(obj) : 0; }
void* TupleGetItem(void* obj, int idx) { return p_PyTuple_GetItem ? p_PyTuple_GetItem(obj, idx) : nullptr; }
double FloatAsDouble(void* obj) { return p_PyFloat_AsDouble ? p_PyFloat_AsDouble(obj) : 0.0; }
void DecRef(void* obj) { if (p_Py_DecRef && obj) p_Py_DecRef(obj); }
void* Tuple_New(long size) { if (!p_PyTuple_New) throw Exception("PyTuple_New not loaded"); return p_PyTuple_New(size); }
int Tuple_SetItem(void* tuple, long idx, void* item) { if (!p_PyTuple_SetItem) throw Exception("PyTuple_SetItem not loaded"); return p_PyTuple_SetItem(tuple, idx, item); }
void* Long_FromLong(long value) { if (!p_PyLong_FromLong) throw Exception("PyLong_FromLong not loaded"); return p_PyLong_FromLong(value); }
void* (*p_PyImport_ImportModule)(const char*) = nullptr;
void* (*p_PyObject_GetAttrString)(void*, const char*) = nullptr;
private:
int (*p_PyRun_SimpleStringFlags)(const char*, void*) = nullptr;
void* (*p_PyGILState_Ensure)() = nullptr;
void (*p_PyGILState_Release)(void*) = nullptr;
void (*p_PyEval_InitThreads)() = nullptr;
void* (*p_PyObject_CallObject)(void*, void*) = nullptr;
long (*p_PyLong_AsLong)(void*) = nullptr;
void (*p_Py_DecRef)(void*) = nullptr;
long (*p_PyTuple_Size)(void*) = nullptr;
void* (*p_PyTuple_GetItem)(void*, int) = nullptr;
double (*p_PyFloat_AsDouble)(void*) = nullptr;
void* (*p_PyTuple_New)(long) = nullptr;
int (*p_PyTuple_SetItem)(void*, long, void*) = nullptr;
void* (*p_PyLong_FromLong)(long) = nullptr;
void loader(HMODULE pythonModule) {
if (!pythonModule) throw Exception("module is null");
p_PyRun_SimpleStringFlags = reinterpret_cast<decltype(p_PyRun_SimpleStringFlags)>(GetProcAddress(pythonModule, "PyRun_SimpleStringFlags"));
p_PyGILState_Ensure = reinterpret_cast<decltype(p_PyGILState_Ensure)>(GetProcAddress(pythonModule, "PyGILState_Ensure"));
p_PyGILState_Release = reinterpret_cast<decltype(p_PyGILState_Release)>(GetProcAddress(pythonModule, "PyGILState_Release"));
p_PyEval_InitThreads = reinterpret_cast<decltype(p_PyEval_InitThreads)>(GetProcAddress(pythonModule, "PyEval_InitThreads"));
p_PyImport_ImportModule = reinterpret_cast<decltype(p_PyImport_ImportModule)>(GetProcAddress(pythonModule, "PyImport_ImportModule"));
p_PyObject_GetAttrString = reinterpret_cast<decltype(p_PyObject_GetAttrString)>(GetProcAddress(pythonModule, "PyObject_GetAttrString"));
p_PyObject_CallObject = reinterpret_cast<decltype(p_PyObject_CallObject)>(GetProcAddress(pythonModule, "PyObject_CallObject"));
p_PyLong_AsLong = reinterpret_cast<decltype(p_PyLong_AsLong)>(GetProcAddress(pythonModule, "PyLong_AsLong"));
p_Py_DecRef = reinterpret_cast<decltype(p_Py_DecRef)>(GetProcAddress(pythonModule, "Py_DecRef"));
p_PyTuple_Size = reinterpret_cast<decltype(p_PyTuple_Size)>(GetProcAddress(pythonModule, "PyTuple_Size"));
p_PyTuple_GetItem = reinterpret_cast<decltype(p_PyTuple_GetItem)>(GetProcAddress(pythonModule, "PyTuple_GetItem"));
p_PyFloat_AsDouble = reinterpret_cast<decltype(p_PyFloat_AsDouble)>(GetProcAddress(pythonModule, "PyFloat_AsDouble"));
p_PyTuple_New = reinterpret_cast<decltype(p_PyTuple_New)>(GetProcAddress(pythonModule, "PyTuple_New"));
p_PyTuple_SetItem = reinterpret_cast<decltype(p_PyTuple_SetItem)>(GetProcAddress(pythonModule, "PyTuple_SetItem"));
p_PyLong_FromLong = reinterpret_cast<decltype(p_PyLong_FromLong)>(GetProcAddress(pythonModule, "PyLong_FromLong"));
if (!p_PyGILState_Ensure || !p_PyGILState_Release || !p_PyImport_ImportModule ||
!p_PyObject_GetAttrString || !p_PyObject_CallObject || !p_Py_DecRef || !p_PyTuple_Size ||
!p_PyTuple_GetItem || !p_PyFloat_AsDouble || !p_PyTuple_New || !p_PyTuple_SetItem || !p_PyLong_FromLong)
{
throw Exception("export gg!");
}
}
};[/CODE]
kullanımı
[CODE lang="cpp" title="Kullanım"]namespace engsdk
{
double PythonPlayerPickCloseItem(python27& py, double eh, const char* Module, const char* Name) {
void* result = nullptr;
try {
result = py.Function(Module, Name);
}
catch (const Exception& e) {
return eh;
}
if (!result) return eh;
void* GIL = py.AcquireGIL();
eh = py.FloatAsDouble(result);
py.ReleaseGIL(GIL);
py.DecRef(result);
return eh;
}
}
DWORD WINAPI engine_packet(LPVOID lpParam) {
HMODULE py27 = LoadLibraryA("python27.dll");
if (!py27) {
DWORD Error = GetLastError();
char buf[256] = { 0 };
return 1;
}
try {
python27 py(py27);
while (true)
{
engsdk:
ythonPlayerPickCloseItem(py,10.10, "player", "PickCloseItem");}
}
catch (const Exception& ex) {
std::cout << "gg!: " << ex.what() << std::endl;
}
FreeLibrary(py27);
FreeConsole();
return 0;
}[/CODE]
Son düzenleme:
- Katılım
- 19 Eyl 2012
- Konular
- 660
- Mesajlar
- 2,759
- Çözüm
- 35
- Online süresi
- 5mo 1d
- Reaksiyon Skoru
- 1,683
- Altın Konu
- 80
- Başarım Puanı
- 311
- MmoLira
- 15,018
- DevLira
- 0
Teşekkürler
- Katılım
- 8 Şub 2022
- Konular
- 110
- Mesajlar
- 675
- Online süresi
- 2mo 19d
- Reaksiyon Skoru
- 767
- Altın Konu
- 5
- Başarım Puanı
- 175
- Yaş
- 29
- MmoLira
- 16,253
- DevLira
- 0
sen yaşıyormussun ya tekrardan hoşgeldinTeşekkürler
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 2K
- 5.00 yıldız(lar) 1 Değerlendirme
- Cevaplar
- 4
- Görüntüleme
- 327
- Cevaplar
- 3
- Görüntüleme
- 334
- Cevaplar
- 13
- Görüntüleme
- 1K












