Register for your free account! | Forgot your password?

Go Back   elitepvpers › The Black Market › MMORPG Trading › Metin2 Trading
You last visited: Today at 20:39

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

Advertisement



hBot2 - Advanced (Clientless) Metin2 Botting System

Discussion on hBot2 - Advanced (Clientless) Metin2 Botting System within the Metin2 Trading forum part of the MMORPG Trading category.

Closed Thread
 
Old   #106 Trade Status: Unverified(?)
 
.Meep's Avatar
 
elite*gold: 169
Join Date: Dec 2012
Posts: 2,577
Received Thanks: 369
wenn der bot auf euren servern läuft wie kann man dann darauf zugreifen oder ist es wie im video das in der console nur die befehle aufgelistet werden?
Denke mal nicht also wie greift man drauf zu^^
.Meep is offline  
Old   #107 Trade Status: Unverified(?)


 
[uLow]TheCraftingMan's Avatar
 
elite*gold: 215
Join Date: Sep 2010
Posts: 6,338
Received Thanks: 2,636
Quote:
Originally Posted by UnkrautLP View Post
Hey, könnt ihr mir vill. erklären wie dieses "Angelscript" Funktioniert? Ich würde gerne selber ein Bot machen und das auf ein Server bringen aber ich bin da eher ein "Noobi"


Leute... noch etwas bitte beleidigt nicht oderso jeder hat Klein angefangen seit nicht so streng zu mir will ja auch Nett sein.

PS: Danke :P
Angelscript ist lediglich eine Art zusatzsprache für C++. Damit lässt sich alleine wenig anfangen.

BTW: Es wäre mal ganz cool zu sehen wie das Interface vom bot so aussieht.
[uLow]TheCraftingMan is offline  
Old   #108 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: May 2013
Posts: 65
Received Thanks: 3
Kann mir das jemand erklären dieses angelscirpt und dafür brauch ich doch visual basic 2012 oder ich habe das jetzt auch
UnkrautLP is offline  
Old   #109 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Mar 2013
Posts: 64
Received Thanks: 62
Quote:
Originally Posted by UnkrautLP View Post
Kann mir das jemand erklären dieses angelscirpt und dafür brauch ich doch visual basic 2012 oder ich habe das jetzt auch
Zu Angelscript gibts ne recht gute Dokumentation, für die wichtigen Bot Funktionen gibt es dann später noch was!

Kleiner Statusupdate: Wir sind am arbeiten!
TyFox is offline  
Thanks
3 Users
Old   #110 Trade Status: Unverified(?)
 
Ðεadhαwk™'s Avatar
 
elite*gold: 50
Join Date: May 2011
Posts: 478
Received Thanks: 719
Wie lange nehmt ihr eigentlich noch Vorbestellungen an, damit ich weiß, bis wann ich mich entscheiden muss, oder ist schon abgelaufen ?
Ðεadhαwk™ is offline  
Old   #111

 
nico_w's Avatar
 
elite*gold: 0
Join Date: Aug 2008
Posts: 5,150
Received Thanks: 10,487
Quote:
Originally Posted by TyFox View Post


Wir versuchen jetzt auf jeden Fall, den Bot zu Anfang des nächsten Monats lauffähig zu bekommen.
Was soweit problemlos funktioniert:
  • Login
  • Charakter-Auswahl
  • Scriptinterface (Bot-Scripts)
  • Multithreading (mehrere Instanzen in einem Prozess)
  • Laden von Map-Infos
  • Einträge aus der Item/Mob-Proto lesen

Was in Arbeit ist:
  • User-CP
  • Webseite
  • HackShield Emulator
  • Standard-Botscripts (Levelbot, Angelbot, Farmbot)

Der HackShield Emulator ist derzeit in Arbeit, dürfte nicht mehr allzulange dauern (ist halt ne Menge Reversing-Arbeit).
Alles andere ist recht trivial und schnell erledigt

Mal eine kleine Übersicht an (momentanen) Funktionen für die Bot-Scripts:
Code:
// BASISFUNKTIONEN
void DEVLOG(string t); // DEVLOG-Message (Ausgabe in Log-Datei erfolgt nur, wenn der Devmode auf true ist)
void SYSLOG(string t); // SYSLOG-Message
void SYSERR(string t); // SYSERR-Message
string addr_to_string(uint addr); // Konvertiert eine uint IP-Adresse zu einem String
uint string_to_addr(string addr); // Konvertiert eine als String vorliegende IP-Adresse zu einer vom Bot verwertbaren IP-Adresse
uint rand(); // Generiert eine Zufallszahl
uint (uint min, uint max); // Generiert eine Zufallszahl zwischen min und max

// OBJEKTE

simple_player; // Eine Spieler-Instanz
// Funktionen für simple_player:
string get_name(); // Returned den Spielernamen als String
// Properties für simple_player
uint id; // VID des Spielers
uint8 race; // Klasse des Spielers (Krieger, Ninja etc.)
uint8 level; // Selbsterklärend..
uint gametime; // Spielzeit
uint8 strength; // STR-Wert des Spielers
uint8 vitality; // VIT-Wert des Spielers
uint8 dexterity; // DEX-Wert des Spielers
uint8 intelligence; // INT-Wert des Spielers
uint armor; // VNum der getragenen Rüstung
uint hair; // VNum der Haare
int x; // X-Position (global)
int y; // Y-Position (global)
uint addr; // IP-Adresse, auf welcher der Spieler connected ist
uint16 port; // Port
uint8 skillgroup; // Skillgroup (Körper-/Mentalkrieger; Magie-/Waffensura etc.)

// ----------------

// Klasse: config
config;

// Methoden für config
string get_string(string key, string def = ""); // Holt einen String-Wert aus der Config
uint get_int(string key, uint def = 0); // Holt einen Integer-Wert aus der Config
float get_float(string key, float def = 0.0f); // Holt einen Float-Wert aus der Config
bool get_bool(string key, bool def = false); // Holt einen Boolean-Wert aus der Config

// ----------------

// ENum: entity_type
entity_type;

// Werte
entity_none;
entity_player;
entity_mob;
entity_npc;
entity_building;
entity_object;
// (noch nicht vollständig!)

// ----------------

// Klasse: entity
entity;

// Methoden
entity_type get_type(); // Returned den Objekttyp
uint get_vid(); // Returned die VID des Objekts
int get_x(); // Returned die X-Koordinaten des Objekts
int get_y(); // Returned die Y-Koordinaten des Objekts
int get_z(); // Returned die Z-Koordinaten des Objekts
float get_angle(); // Returned den Blickwinkel des Objekts
uint16 get_race(); // Returned die Klasse des Objekts (idr. VNum)
uint get_moving_speed(); // Returned die Bewegungsgeschwindigkeit
uint get_attack_speed(); // Returned die Angriffsgeschwindigkeit
uint64 get_affect_flag(); // Returned die Affect-Flag für dieses Objekt (Effekte)
string get_name(); // Returned den Namen des Objekts als String
uint16 get_part(uint8 index); // Returned die VNum eines Ausrüstungsteils
uint8 get_empire(); // Returned die ID des Reiches
uint get_guild_id(); // Returned die Gilden-ID
uint get_level(); // Returned das Level
int16 get_alignment(); // Returned das Karma
uint8 get_pk_mode(); // Returned den PvP-Modus
uint get_mount_vnum(); // Returned das Mount, auf welchem sich das Objekt befindet

// ----------------

// Klasse: item
item;

// Methoden
uint get_vid(); // Returned die VID des Items
uint get_vnum(); // Returned die VNum des Items
int get_x(); // Returned die X-Koordinate des Items
int get_y(); // Returned die Y-Koordinate des Items
int get_z(); // Returned die Z-Koordinate des Items
uint get_owner(); // Returned die VID des Item-Besitzers

// ----------------

// Klasse: network_stream
network_stream;

// Methoden
bool is_connected(); // True wenn verbunden
void disconnect(); // Disconnected vom Server
bool connect(string ip, uint16 port); // Connected zu einem Server
void flush(); // Flushed den Networkstream
string get_ip(); // Returned die IP als String
uint16 get_port(); // Returned den Port

void send_select_character(uint8 idx); // Charakter-Auswahl Packet senden
void send_version(string filename, string timestamp); // Version-Packet senden
void send_chat(uint8 chat_type, string msg); // Chatnachricht senden
void send_create_character(uint8 idx, string name, uint16 job, uint8 shape, uint8 con, uint8 intr, uint8 str, uint8 dex); // Character-Create Packet senden
void send_delete_character(uint8 idx, string code); // Character-Delete Packet senden
void send_select_empire(uint8 empire); // Reich für neu erstellte Charaktere wählen
void send_move(int x, int y, uint8 rot, uint8 func, uint8 arg); // Zu x, y bewegen
void send_pick_up(uint vid); // Hebt ein Item auf
void send_attack(uint8 type, uint vid); // Sendet ein Attack-Packet
void send_on_click(uint vid); // "Klickt" einen NPC an
void send_hack(string text); // Hack-Packet senden (sinnlos :p)
void send_fishing(); // Angeln
void send_answer_make_guild(string name); // Gilde erstellen
void send_item_use(uint8 pos); // Verwendet Item

// Globale Funktionen
entity& find_entity(uint vid); // Erstellt ein Entity-Objekt von vid
entity& get_entity(uint index); // Erstellt ein Entity-Objekt von index
uint get_entity_count(); // Returned die Anzahl der Entities
item& find_item(uint vid); // Erstellt ein Item-Objekt von vid
item& get_item(uint index); // Erstellt ein Item-Objekt von index
uint get_item_count(); // Returned die Anzahl der Items
string item_proto_get(uint vnum, string field); // Holt einen Wert aus der Item-Proto
string mob_proto_get(uint vnum, string field); // Holt einen Wert aus der Mob-Proto
Die Liste ist noch nicht vollständig, aber wie ihr seht werden wir eine Menge Funktionen haben. Zu den Callbacks gibt's später auch noch mehr Infos.
Hier findet ihr eine Dokumentation zu AngelScript:

Ich hoffe ich konnte mal ein bisschen Licht ins Dunkle bringen :3

Quote:
Originally Posted by Ðεadhαwk™ View Post
Wie lange nehmt ihr eigentlich noch Vorbestellungen an, damit ich weiß, bis wann ich mich entscheiden muss, oder ist schon abgelaufen ?
Ca. bis Anfang nächsten Monats
nico_w is offline  
Old   #112 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Sieht schonmal ziehmlich nice aus!
Die Pizza von nico_w kommt mir irgendwie sehr bekannt vor, vielleicht liegts aber auch nur daran, dass es eine Pizza ist...
Benutzt ihr eigentlich für die C++ Funktionen die Python Funktionen aus dem Client? Oder wie macht ihr das mit den ganzen Funktionen, weil der Bot ja Clientlos ist?
Zwawo is offline  
Old   #113

 
nico_w's Avatar
 
elite*gold: 0
Join Date: Aug 2008
Posts: 5,150
Received Thanks: 10,487
Quote:
Originally Posted by Zwawo View Post
Benutzt ihr eigentlich für die C++ Funktionen die Python Funktionen aus dem Client? Oder wie macht ihr das mit den ganzen Funktionen, weil der Bot ja Clientlos ist?
Wir haben die ganzen Funktionen des Clients komplett selbst nachgebaut, Python nutzen wir allerdings nirgendwo
nico_w is offline  
Thanks
1 User
Old   #114 Trade Status: Verified(?)

 
Parace's Avatar
 
elite*gold: 1199
The Black Market: 549/0/0
Join Date: Sep 2012
Posts: 2,507
Received Thanks: 397
key vorbestellt, wieder einmal alles ohne probleme verlaufen

man sieht sich
Parace is offline  
Old   #115 Trade Status: Unverified(?)
 
elite*gold: 103
Join Date: May 2013
Posts: 379
Received Thanks: 44
Krass. Ich überlege mir es zu holen bei wem kann ich mich melden ?
Seenzu is offline  
Old   #116 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Mar 2013
Posts: 64
Received Thanks: 62
Das mit den Keys regelt alles nico_w! Also eine PN an ihn
TyFox is offline  
Old   #117 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: May 2013
Posts: 65
Received Thanks: 3
Quote:
Originally Posted by nico_w View Post


Wir versuchen jetzt auf jeden Fall, den Bot zu Anfang des nächsten Monats lauffähig zu bekommen.
Was soweit problemlos funktioniert:
  • Login
  • Charakter-Auswahl
  • Scriptinterface (Bot-Scripts)
  • Multithreading (mehrere Instanzen in einem Prozess)
  • Laden von Map-Infos
  • Einträge aus der Item/Mob-Proto lesen

Was in Arbeit ist:
  • User-CP
  • Webseite
  • HackShield Emulator
  • Standard-Botscripts (Levelbot, Angelbot, Farmbot)

Der HackShield Emulator ist derzeit in Arbeit, dürfte nicht mehr allzulange dauern (ist halt ne Menge Reversing-Arbeit).
Alles andere ist recht trivial und schnell erledigt

Mal eine kleine Übersicht an (momentanen) Funktionen für die Bot-Scripts:
Code:
// BASISFUNKTIONEN
void DEVLOG(string t); // DEVLOG-Message (Ausgabe in Log-Datei erfolgt nur, wenn der Devmode auf true ist)
void SYSLOG(string t); // SYSLOG-Message
void SYSERR(string t); // SYSERR-Message
string addr_to_string(uint addr); // Konvertiert eine uint IP-Adresse zu einem String
uint string_to_addr(string addr); // Konvertiert eine als String vorliegende IP-Adresse zu einer vom Bot verwertbaren IP-Adresse
uint rand(); // Generiert eine Zufallszahl
uint (uint min, uint max); // Generiert eine Zufallszahl zwischen min und max

// OBJEKTE

simple_player; // Eine Spieler-Instanz
// Funktionen für simple_player:
string get_name(); // Returned den Spielernamen als String
// Properties für simple_player
uint id; // VID des Spielers
uint8 race; // Klasse des Spielers (Krieger, Ninja etc.)
uint8 level; // Selbsterklärend..
uint gametime; // Spielzeit
uint8 strength; // STR-Wert des Spielers
uint8 vitality; // VIT-Wert des Spielers
uint8 dexterity; // DEX-Wert des Spielers
uint8 intelligence; // INT-Wert des Spielers
uint armor; // VNum der getragenen Rüstung
uint hair; // VNum der Haare
int x; // X-Position (global)
int y; // Y-Position (global)
uint addr; // IP-Adresse, auf welcher der Spieler connected ist
uint16 port; // Port
uint8 skillgroup; // Skillgroup (Körper-/Mentalkrieger; Magie-/Waffensura etc.)

// ----------------

// Klasse: config
config;

// Methoden für config
string get_string(string key, string def = ""); // Holt einen String-Wert aus der Config
uint get_int(string key, uint def = 0); // Holt einen Integer-Wert aus der Config
float get_float(string key, float def = 0.0f); // Holt einen Float-Wert aus der Config
bool get_bool(string key, bool def = false); // Holt einen Boolean-Wert aus der Config

// ----------------

// ENum: entity_type
entity_type;

// Werte
entity_none;
entity_player;
entity_mob;
entity_npc;
entity_building;
entity_object;
// (noch nicht vollständig!)

// ----------------

// Klasse: entity
entity;

// Methoden
entity_type get_type(); // Returned den Objekttyp
uint get_vid(); // Returned die VID des Objekts
int get_x(); // Returned die X-Koordinaten des Objekts
int get_y(); // Returned die Y-Koordinaten des Objekts
int get_z(); // Returned die Z-Koordinaten des Objekts
float get_angle(); // Returned den Blickwinkel des Objekts
uint16 get_race(); // Returned die Klasse des Objekts (idr. VNum)
uint get_moving_speed(); // Returned die Bewegungsgeschwindigkeit
uint get_attack_speed(); // Returned die Angriffsgeschwindigkeit
uint64 get_affect_flag(); // Returned die Affect-Flag für dieses Objekt (Effekte)
string get_name(); // Returned den Namen des Objekts als String
uint16 get_part(uint8 index); // Returned die VNum eines Ausrüstungsteils
uint8 get_empire(); // Returned die ID des Reiches
uint get_guild_id(); // Returned die Gilden-ID
uint get_level(); // Returned das Level
int16 get_alignment(); // Returned das Karma
uint8 get_pk_mode(); // Returned den PvP-Modus
uint get_mount_vnum(); // Returned das Mount, auf welchem sich das Objekt befindet

// ----------------

// Klasse: item
item;

// Methoden
uint get_vid(); // Returned die VID des Items
uint get_vnum(); // Returned die VNum des Items
int get_x(); // Returned die X-Koordinate des Items
int get_y(); // Returned die Y-Koordinate des Items
int get_z(); // Returned die Z-Koordinate des Items
uint get_owner(); // Returned die VID des Item-Besitzers

// ----------------

// Klasse: network_stream
network_stream;

// Methoden
bool is_connected(); // True wenn verbunden
void disconnect(); // Disconnected vom Server
bool connect(string ip, uint16 port); // Connected zu einem Server
void flush(); // Flushed den Networkstream
string get_ip(); // Returned die IP als String
uint16 get_port(); // Returned den Port

void send_select_character(uint8 idx); // Charakter-Auswahl Packet senden
void send_version(string filename, string timestamp); // Version-Packet senden
void send_chat(uint8 chat_type, string msg); // Chatnachricht senden
void send_create_character(uint8 idx, string name, uint16 job, uint8 shape, uint8 con, uint8 intr, uint8 str, uint8 dex); // Character-Create Packet senden
void send_delete_character(uint8 idx, string code); // Character-Delete Packet senden
void send_select_empire(uint8 empire); // Reich für neu erstellte Charaktere wählen
void send_move(int x, int y, uint8 rot, uint8 func, uint8 arg); // Zu x, y bewegen
void send_pick_up(uint vid); // Hebt ein Item auf
void send_attack(uint8 type, uint vid); // Sendet ein Attack-Packet
void send_on_click(uint vid); // "Klickt" einen NPC an
void send_hack(string text); // Hack-Packet senden (sinnlos :p)
void send_fishing(); // Angeln
void send_answer_make_guild(string name); // Gilde erstellen
void send_item_use(uint8 pos); // Verwendet Item

// Globale Funktionen
entity& find_entity(uint vid); // Erstellt ein Entity-Objekt von vid
entity& get_entity(uint index); // Erstellt ein Entity-Objekt von index
uint get_entity_count(); // Returned die Anzahl der Entities
item& find_item(uint vid); // Erstellt ein Item-Objekt von vid
item& get_item(uint index); // Erstellt ein Item-Objekt von index
uint get_item_count(); // Returned die Anzahl der Items
string item_proto_get(uint vnum, string field); // Holt einen Wert aus der Item-Proto
string mob_proto_get(uint vnum, string field); // Holt einen Wert aus der Mob-Proto
Die Liste ist noch nicht vollständig, aber wie ihr seht werden wir eine Menge Funktionen haben. Zu den Callbacks gibt's später auch noch mehr Infos.
Hier findet ihr eine Dokumentation zu AngelScript:

Ich hoffe ich konnte mal ein bisschen Licht ins Dunkle bringen :3



Ca. bis Anfang nächsten Monats
Aber das erklärt nicht wie man sowas macht würde auch gerne sowas können sogar das er nur mobs angreift oderso aber ich weiß nichtma wie man ein bot erstellt der potts oderso benutzt
UnkrautLP is offline  
Old   #118

 
nico_w's Avatar
 
elite*gold: 0
Join Date: Aug 2008
Posts: 5,150
Received Thanks: 10,487
- Liberty Reserve als Zahlungsmöglichkeit entfernt
- Amazon-Gutscheine als Zahlungsmöglichkeit hinzugefügt

Ab dem Wochenende gehen die Arbeiten am User-CP los, wahrscheinlich wird es sogar eine Android-Version geben mit welcher ihr auch euer Handy als Proxy verwenden könnt!
nico_w is offline  
Old   #119 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Mar 2013
Posts: 64
Received Thanks: 62
Quote:
Originally Posted by UnkrautLP View Post
Aber das erklärt nicht wie man sowas macht würde auch gerne sowas können sogar das er nur mobs angreift oderso aber ich weiß nichtma wie man ein bot erstellt der potts oderso benutzt
Du kannst dir später die Scripte die dabei sind anschauen und ändern wie du willst! Zusammen mit der AS Dokumentation und unserer auch noch dazu, sollte das dann gehen.
Ich werde auch, wenn es soweit ist einen extra Thread dafür öffnen!
TyFox is offline  
Old   #120 Trade Status: Unverified(?)
 
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
Habt ihr schon ein ungefähren Plan wann es rauskommt?
#Saiirex is offline  
Closed Thread


Similar Threads Similar Threads
<CoMediator & JCoAgent> Clientless botting is possible.
10/02/2010 - Conquer Online 2 - 128 Replies
Me & ash (Warlax) have been busy behind the scenes, not focused much on sirhooks :p Heres what we can do: http://www.youtube.com/watch?v=HODrLyf7Zb8 We still require the conquer client to log-in the char, but we do not require the conquer client to keep a connection and to keep the bot running. After we have the log-in password encryption all worked out, no conquer client shall be required at all.



All times are GMT +1. The time now is 20:39.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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