Çalışıyor Metin2 | Get Player Position - Teleport Hack

crackAddict

Silver Üye
Katılım
29 Ocak 2023
Mesajlar
86
Beğeniler
18
uk ~ backcode alıntı
NOT: Aynı sonucu ters çevirerek ve fonksiyonları doğrudan kancalayarak da alabilirsiniz, bu çok daha kolaydır.
1. Öncelikle koordinatlarımızı tutacak bir yapı tanımlamamız gerekiyor.
struct vec3 {
double x, y, z;
};

2. Şimdi yerel oyuncu pozisyonunu Python fonksiyonundan almak için fonksiyonumuzu oluşturalım.
vec3 GetMainCharacterPosition( PyObject* function ) {
PyObject* callObject = PyObject_CallObject( function, nullptr );

/* here we hold the position */
vec3 position;

/* check if the result is a tuple with at least 3 items */
if ( PyTuple_Check( callObject ) && PyTuple_GET_SIZE( callObject ) >= 3 ) {
/* then we extract them from the tuple */
PyObject* xObj = PyTuple_GetItem( callObject, 0 );
PyObject* yObj = PyTuple_GetItem( callObject, 1 );
PyObject* zObj = PyTuple_GetItem( callObject, 2 );

/* convert the objects to doubles and assign them to the struct */
position.x = PyFloat_AsDouble( xObj );
position.y = PyFloat_AsDouble( zObj );
position.z = PyFloat_AsDouble( yObj );

/* then we release the references to the objects */
Py_DECREF( xObj );
Py_DECREF( yObj );
Py_DECREF( zObj );
}

Py_DECREF( callObject );

return position;
}

3. Fonksiyonumuzu oluşturduktan sonra onu çağıralım.
void init( ) {

sdk::utilities::setup_console( "test output" );

/* import the python module */
const auto& py_module = PyImport_ImportModule( "playerm2g2" );

/* get the function for retrieving the local player position */
const auto& py_func = PyObject_GetAttrString( py_module, "GetMainCharacterPosition" );

/* here we will store our temp coords */
double x, y, z;
bool ok = true;

while ( ok ) {
if ( GetAsyncKeyState( VK_HOME ) & 1 )
ok = false;

vec3 local_pos = GetMainCharacterPosition( py_func );
x = local_pos.x;
y = local_pos.y;
z = local_pos.z;

/* beautiful, innit? */
if ( x != 0 && y != 0 && z != 0 )
std::cout << "x: " << x << " | y: " << y << " | z: " << z << std::endl;

/* avoid excessive cpu usage */
std::this_thread::sleep_for( std::chrono::milliseconds( 200 ) );
}

/* release the references to the objects after the loop */
Py_DECREF( py_func );
Py_DECREF( py_module );

/* cleanup */
FreeConsole( );
FreeLibraryAndExitThread( h_module, 0 );

}


BOOLEAN WINAPI DllMain( HINSTANCE hDllHandle, DWORD nReason, LPVOID Reserved )
{
switch ( nReason ) {

case DLL_PROCESS_ATTACH:
sdk::utilities::h_module = ( HMODULE )hDllHandle;
init( );
break;
}
return true;
}
j21RGwT.png
 
Moderatör tarafında düzenlendi:
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
Eline sağlık.
 
vallaha çok anlayamadım cümleleri hep yarıda bırakmışsın
 
2 yorum üstte orjinalini görsemde yine de türkçeleştirmişsin onun için eline sağlık diyim
 
uk ~ backcode alıntı
NOT: Aynı sonucu ters çevirerek ve fonksiyonları doğrudan kancalayarak da alabilirsiniz, bu çok daha kolaydır.
1. Öncelikle koordinatlarımızı tutacak bir yapı tanımlamamız gerekiyor.



2. Şimdi yerel oyuncu pozisyonunu Python fonksiyonundan almak için fonksiyonumuzu oluşturalım.


3. Fonksiyonumuzu oluşturduktan sonra onu çağıralım.

j21RGwT.png

Hi, I'm BackCode from UC, thanks for the credits and nice translation :)
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt