Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 13:10

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

Advertisement



C++ AnsiString->Char* ChatPacket..

Discussion on C++ AnsiString->Char* ChatPacket.. within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
SandMann016's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
C++ AnsiString->Char* ChatPacket..

Hi,
ich benutze den Embarcadero C++ Builder XE und möchte für das Spiel Metin2 einen Chat-Spambot erstellen...
das ganze Packet läuft so ab:

Code:
int modus = 0;//normale Chat
char* msg = "halllo";
__asm
{
        MOV ECX, ChatInputAddresse
        PUSH msg
        PUSH modus
       CALL ChatCallAddresse
}

so sieht man im chat "halllo" ...das klappt also und nun will ich das man den Text durch eine EditBox festlegen kann.
Die editbox ist ja im AnsiString Format aber asm unterstützt nur char ...
Nun meine frage wie soll ich den text umwandeln, sodass ich den text von der Edit11->Text im chat sehe...

Eigentlich wandelt man einen AnsiString in Char* so um:
Code:
AnsiString strText = AnsiString(Edit11->Text.c_str());
char *ch = new char[strText.Length()+1];
strcpy(ch, strText.c_str());
aber leider wenn ich
Chat(ch, 0);
ausführe passiert nichts... das packet wird nicht gesendet! ;(
Aber wie kann ich es machen das es geht...


Mfg.SandMann016
SandMann016 is offline  
Old 09/07/2011, 19:31   #2
 
.ErpeL's Avatar
 
elite*gold: 2
Join Date: Apr 2010
Posts: 252
Received Thanks: 4,688
Es tut mir leid Ihnen mitteilen zu müssen, dass Ihre Chat Funtion falsch ist, bzw. die Parameter falsch angeordnet wurden. Anbei ein Beispiel wie es Funktionieren könnte.

PHP Code:
void SendChatPacket(String Messageint Code)
{
    
DWORD ClassAddy= *(DWORD*)0x61C028;
    
DWORD Address1 0x41A810;
    
DWORD Address2 0x5204C0;
    
char  *msg AnsiString(Message).c_str();

    
__asm
    
{
        
MOV ECX,ClassAddy
        PUSH Code
        PUSH msg
        CALL Address1
        CALL Address2
    
}
}

//Aufruf:
SendChatPacket(Edit1->Text,0); 
.ErpeL is offline  
Thanks
3 Users
Old 09/07/2011, 19:33   #3
 
SandMann016's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
Da hast du dir aber echt ein THX verdient :O
SandMann016 is offline  
Old 09/07/2011, 19:43   #4
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Quote:
Originally Posted by .ErpeL View Post
Es tut mir leid Ihnen mitteilen zu müssen, dass Ihre Chat Funtion falsch ist, bzw. die Parameter falsch angeordnet wurden. Anbei ein Beispiel wie es Funktionieren könnte.
Nö, wenn der Aufruf der Chat-Funktion erfolgreich ist, dann stimmt offensichtlich auch der Stack Frame. Man muss nur die 2. Zeile umändern.

Code:
char* msg = Edit11->Text.c_str();
ms​ is offline  
Old 09/07/2011, 20:00   #5
 
.ErpeL's Avatar
 
elite*gold: 2
Join Date: Apr 2010
Posts: 252
Received Thanks: 4,688
Quote:
Originally Posted by Metin2Spieler97 View Post
Nö, wenn der Aufruf der Chat-Funktion erfolgreich ist, dann stimmt offensichtlich auch der Stack Frame. Man muss nur die 2. Zeile umändern.

Code:
char* msg = Edit11->Text.c_str();
Man kann einen wide character string (wchar_t*), welcher Daten im Unicode Zeichensatz beinhaltet nicht ohne weiteres einem AnsiString (char*) zuweisen. Deshalb erfolgt zuvor eine Umwandlung in letzeren.
.ErpeL is offline  
Old 09/07/2011, 20:03   #6
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Quote:
Originally Posted by .ErpeL View Post
Man kann einen wide character string (wchar_t*), welcher Daten im Unicode Zeichensatz beinhaltet nicht ohne weiteres einem AnsiString (char*) zuweisen. Deshalb erfolgt zuvor eine Umwandlung in letzeren.
c_str() returnt für gewöhnlich auch den Typ char*.
ms​ is offline  
Old 09/07/2011, 20:13   #7
 
.ErpeL's Avatar
 
elite*gold: 2
Join Date: Apr 2010
Posts: 252
Received Thanks: 4,688
Quote:
Originally Posted by Metin2Spieler97 View Post
c_str() returnt für gewöhnlich auch den Typ char*.
Jo das war bei den alten C++ Buildern so aber ab C++ Builder XE gibt .c_str() bei einem UnicodeString wchar_t* zurück, warum auch immer.
.ErpeL is offline  
Reply


Similar Threads Similar Threads
ChatPacket!!!
08/02/2011 - CO2 Programming - 5 Replies
is it me or this damn packet does not contain the fkin lookface (mesh) it was working and now am keep getting that mesh of that Chinese Picture!!=0 3D 00 EC 03 FF FF FF FF D1 07 00 00 9C 08 00 00 00 00 00 00 00 00 00 00 06 0A 4D 72 5F 50 6F 50 5B 50 4D 5D 0D 50 72 6F 66 65 73 73 6F 72 5B 50 4D 5D 00 04 66 7 5 63 6B 00 00 00 00 00 is not should be the Mesh on location 20 :mad:
WTB pure int china char 1mil+ sp farm char azteca, maya or mena
04/03/2011 - Silkroad Online Trading - 0 Replies
WTB a low level (1-30 probably) pure int nuker china farm char with sp 1mil+ on azteca, maya or mena for ingame gold or $. Thanks
Chatpacket
09/07/2010 - Metin2 Private Server - 6 Replies
Abend, ich bin auf der suche nach einem chat befehl der einen verwandelt ich hoffe das ihr verstehen könnt was ich meine :D Gruß.
WTT iSRO Char for SwSro2 char or ZSZC char
07/05/2010 - Silkroad Online Trading - 1 Replies
Im trading my Wizard/Cleric on Titan for an SwSRO 1 or 2, or ZSZC Info: Name:StarKiller Level:72 Class:Wizard (70) Cleric (30) Gear: NPC garm set 8D, +5 72 Staff Good Party Character. Great Plvl char. Notes: has 8 silk, and a couple of SOS weapons, and an SOM 24 Staff. Pic:



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


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.