Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2
You last visited: Today at 13:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



How to use GetNameByVID function in C++

Discussion on How to use GetNameByVID function in C++ within the Metin2 forum part of the Popular Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
Exclamation How to use GetNameByVID function in C++

Hi everyone,

I'm testing in Metin2 private server. I want to GetNameByVID function in C++.

My program giving this output : ¼ê]

This is my assembly code:

char* GetNameByVID(int vId)
{
char* my_name;

__asm
{
mov ecx, PlayerPtr
push vId
add ecx,0x4
mov eax,[ecx]
call dword ptr [eax+0x8]
call GetNameByVIDCall
mov my_name, eax
}
return my_name;
}

Can anyone help me please
xChoi is offline  
Old 01/04/2021, 13:25   #2
 
elite*gold: 0
Join Date: Dec 2020
Posts: 47
Received Thanks: 25
Quote:
Originally Posted by xChoi View Post
Hi everyone,

I'm testing in Metin2 private server. I want to GetNameByVID function in C++.

My program giving this output : ¼ê]

This is my assembly code:

char* GetNameByVID(int vId)
{
char* my_name;

__asm
{
mov ecx, PlayerPtr
push vId
add ecx,0x4
mov eax,[ecx]
call dword ptr [eax+0x8]
call GetNameByVIDCall
mov my_name, eax
}
return my_name;
}

Can anyone help me please
1. get the CPythonCharacterManager instance
2. call the CInstanceBase* CPythonCharacterManager::GetInstancePtr (DWORD VirtualID) function with the CPythonCharacterManager instance
3. call const char* CInstanceBase::GetNameString() with the returned CInstanceBase instance


Code:
void* GetInstancePtr(void* CPythonCharacterManager, DWORD vid, DWORD addr) {
    __asm {
        mov ecx, [CPythonCharacterManager];
        push [vid];
        call[addr]
    }
}

char* GetNameString(void* CInstanceBase, DWORD addr) {
    __asm {
        mov ecx, [CInstanceBase];
        call[addr];
    }
}


DWORD vid = GetTargetVID(); //replace with how you're getting the vid
void* CPythonCharacterManagerInstance = GetInstance(0xdeadbeef);//replace with your function and the actual address
void* CInstanceBaseInstance = GetInstancePtr(CPythonCharacterManagerInstance, vid, 0xdeadbeef); //replace with the actual address
std::cout << GetNameString(CInstanceBaseInstance, 0xdeadbeef) << std::endl; //replace with the actual address
ones-and-zer0es.mpeg is offline  
Old 01/04/2021, 20:04   #3
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
Quote:
Originally Posted by ones-and-zer0es.mpeg View Post
1. get the CPythonCharacterManager instance
2. call the CInstanceBase* CPythonCharacterManager::GetInstancePtr (DWORD VirtualID) function with the CPythonCharacterManager instance
3. call const char* CInstanceBase::GetNameString() with the returned CInstanceBase instance


Code:
void* GetInstancePtr(void* CPythonCharacterManager, DWORD vid, DWORD addr) {
    __asm {
        mov ecx, [CPythonCharacterManager];
        push [vid];
        call[addr]
    }
}

char* GetNameString(void* CInstanceBase, DWORD addr) {
    __asm {
        mov ecx, [CInstanceBase];
        call[addr];
    }
}


DWORD vid = GetTargetVID(); //replace with how you're getting the vid
void* CPythonCharacterManagerInstance = GetInstance(0xdeadbeef);//replace with your function and the actual address
void* CInstanceBaseInstance = GetInstancePtr(CPythonCharacterManagerInstance, vid, 0xdeadbeef); //replace with the actual address
std::cout << GetNameString(CInstanceBaseInstance, 0xdeadbeef) << std::endl; //replace with the actual address
thanks for your answer but I have some questions. Etc. I couldn't find the GetNameString function.
xChoi is offline  
Old 01/04/2021, 23:42   #4



 
cypher's Avatar
 
elite*gold: 600
The Black Market: 1061/0/0
Join Date: Sep 2008
Posts: 10,541
Received Thanks: 3,083
Arrow Metin2 Hacks, Bots, Cheats, Exploits & Macros -> Metin2

#moved
cypher is offline  
Old 01/06/2021, 03:42   #5
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
help++
xChoi is offline  
Old 01/07/2021, 12:03   #6
 
elite*gold: 0
Join Date: Sep 2020
Posts: 30
Received Thanks: 10
How you handle getting entity ? What is your method
sad666 is offline  
Old 01/07/2021, 17:53   #7
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
Quote:
Originally Posted by sad666 View Post
How you handle getting entity ? What is your method
I don't understand you
xChoi is offline  
Old 01/10/2021, 03:20   #8
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
up++
xChoi is offline  
Old 01/12/2021, 17:27   #9
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
can anyone help me?
xChoi is offline  
Old 02/16/2021, 23:13   #10
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
++
xChoi is offline  
Old 02/18/2021, 19:33   #11
 
elite*gold: 0
Join Date: Nov 2020
Posts: 26
Received Thanks: 0
Quote:
Originally Posted by Cyphernomic View Post
#moved
Please move to Metin2 Hacks, Bots, Cheats, Exploits & Macros category. Because nobody here sees the issue.
xChoi is offline  
Old 02/19/2021, 15:14   #12
 
elite*gold: 0
Join Date: Jun 2009
Posts: 70
Received Thanks: 149
First of all, you have to make sure you are calling the right function, you are probably using the one which gets 2 python objects as arguments, if that's the case, you either need to recreate those python objects and then passing them as arguments or as mentioned above use the GetNameString, if you disassemble the python function you should get the GetNameString inside
martinx1 is offline  
Old 04/28/2021, 20:12   #13
 
elite*gold: 0
Join Date: Apr 2021
Posts: 74
Received Thanks: 5
@, @
Cen u Help me ?
macnn50 is offline  
Reply


Similar Threads Similar Threads
[Phyton] GetNameByTarget oder GetNameByVID
12/05/2015 - Metin2 Private Server - 4 Replies
Ich werde wahrscheinlich 10000000 Fragen stellen, weil ich Idiot zu inkompetent dazu bin, die richtigen Threads zu finden. Ich suche HILFE, HILFFFFEEEE, ich suche niemanden, der mir sagt, das es falsch ist, das weiß ich nämlich schon. def GetVIDbyTarget(self): global VID VID = player.GetTargetVID() self.GetVIDText.SetText(str(VID))
std::function of a function returning an std::function
11/11/2013 - C/C++ - 19 Replies
Nun muss ich nach langer Zeit auch mal wieder einen Thread erstellen, weil mir Google nicht mehr weiterhelfen kann. Ich verzweifle an Folgendem Vorhaben: #include <Windows.h> #include <string> #include <iostream> using namespace std;
Running Function 2 after Function 1 finished
09/15/2013 - AutoIt - 3 Replies
Hey, its me again. Im stuck on a problem since yesterday and as much as i hate to ask for help, i really dont know what else to try. I want Function 2 to run after Function 1 has finished. I tried GuiCtrlSetOnEvent and MsgLoop, but i dont really understand it. I tried to read tutorials but they didnt help at all. The line that are underline is what im talking about. I want gamestart() to run first and when its finished, i want iniviteteam() to run. #AutoIt3Wrapper_UseX64=n...
[VIP-function] ToxicSYS [VIP-function]
08/14/2010 - WarRock Hacks, Bots, Cheats & Exploits - 1 Replies
heeeey E-pvpers :pimp: this is a new hack by TSYS Status : UNDETECTED Functions (VIDEO) : YouTube - WarRock - Bikini event VIP hack
Please use the search function....
01/02/2007 - Lineage 2 - 1 Replies
Mostly questions in this Forum is: I need Freeshard addresses, can you post all u got???...Oo..wtf For all which are not in the mood to use the SEARCH Function: LINEAGE2 Freeshard List Have a nice stay...



All times are GMT +1. The time now is 13:51.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.