[RELEASE][PSERVER][SOURCE] Rubinum 2 farmbot (inmemory)

12/22/2020 15:36 kruppuk1587#1
Hello,

I released the source code of my Metin 2 farmbot for the Rubinum 2 server.
Use the link below for the source or the dll.
Features:

1. Freeze when players present (active by default)
2. Wallhack (can be enabled to use without the bot)
3. Whisper alert (plays ringtone if someone whispers the bot)
4. Auto-sell stones on first stone inventory page
5. Blacklist metin stones that are not reachable (bot ignores stones after 20 seconds of not reaching it)


[Only registered and activated users can see links. Click Here To Register...]

DLL HERE: [Only registered and activated users can see links. Click Here To Register...]

Greetz,
Kruppuk
12/30/2020 15:41 kruppuk1587#2
Heyho,

der Bot wurde heute aktualisiert. Wenn ihr vorher Probleme hattet mit dem Bauen des Projektes könnt ihr es nochmal versuchen. Sollte jetzt einfacher sein und besser funktionierten!

Greetz
12/30/2020 19:37 ones-and-zer0es.mpeg#3
Quote:
Originally Posted by kruppuk1587 View Post
Heyho,

der Bot wurde heute aktualisiert. Wenn ihr vorher Probleme hattet mit dem Bauen des Projektes könnt ihr es nochmal versuchen. Sollte jetzt einfacher sein und besser funktionierten!

Greetz
wird an der repo noch weiter gearbeitet oder wars das erstmal damit? würde noch ida-styled pattern scanning, ggf. ne imgui/winapi ui, function calls für sachen wie hidden etc. einfügen falls du ideen brauchst
12/31/2020 11:02 kruppuk1587#4
Quote:
Originally Posted by ones-and-zer0es.mpeg View Post
wird an der repo noch weiter gearbeitet oder wars das erstmal damit? würde noch ida-styled pattern scanning, ggf. ne imgui/winapi ui, function calls für sachen wie hidden etc. einfügen falls du ideen brauchst
Dachte eigentlich ich schmeiße das in die Welt und gut ist. Aber nachdem ich das Projekt von Blackbone getrennt habe und wieder eine Weile dran gearbeitet habe, habe ich schon Lust bekommen mehr draus zu machen.

Werde Heute und die nächsten Tage die statischen Adressen durch Patternscans ersetzen und die statische Entitylist durch ein ASM hook ersetzen der die Entitylist ausliest. Wenn du bock hast zu helfen schreib mir ne pn oder mach einfach pull requests auf dem git :)
12/31/2020 11:21 ones-and-zer0es.mpeg#5
Quote:
Originally Posted by kruppuk1587 View Post
Dachte eigentlich ich schmeiße das in die Welt und gut ist. Aber nachdem ich das Projekt von Blackbone getrennt habe und wieder eine Weile dran gearbeitet habe, habe ich schon Lust bekommen mehr draus zu machen.

Werde Heute und die nächsten Tage die statischen Adressen durch Patternscans ersetzen und die statische Entitylist durch ein ASM hook ersetzen der die Entitylist ausliest. Wenn du bock hast zu helfen schreib mir ne pn oder mach einfach pull requests auf dem git :)
würde dir für die entitylist eher empfehlen CPythonCharacterManager::m_kAliveInstMap auszulesen, gibt dir std::map<DWORD, CInstanceBase *> von allen aktuell lebenden entities zurück, dabei ist DWORD die vid. kannst dann vom pointer die rasse/stufe etc. auslesen und die vid benutzten wo dus halt brauchst (ggf. sendattackpacket)

Code:
void *chrMgrInstance = GetInstance(*addr*);
void *mainInstance = GetMainInstancePtr(chrMgrInstance);
std::map<DWORD, void *> m_kAliveInstMap = *(std::map<DWORD, void *>*)(((DWORD)chrMgrInstance) + m_kAliveInstMapOffset);
for (std::map<DWORD, void *>::iterator itor = m_kAliveInstMap.begin(); itor != m_kAliveInstMap.end(); itor++) {
	if (IsAttackbleInstance(mainInstance, itor->second)) {
unschön aber funktioniert :D
12/31/2020 13:17 kruppuk1587#6
Heyho,

für alle den das Builden zu kompliziert ist gibt es ab sofort gibt es eine fertige DLL zum Download hier:

[Only registered and activated users can see links. Click Here To Register...]

Die releases werde ich regelmäßig updaten, allerdings nicht so oft wie den code selber, also wenn ihr das bleeding edge build wollt, oder sachen ändern wollt müsst ihr selber builden.

Greetz

Quote:
Originally Posted by ones-and-zer0es.mpeg View Post
würde dir für die entitylist eher empfehlen CPythonCharacterManager::m_kAliveInstMap auszulesen, gibt dir std::map<DWORD, CInstanceBase *> von allen aktuell lebenden entities zurück, dabei ist DWORD die vid. kannst dann vom pointer die rasse/stufe etc. auslesen und die vid benutzten wo dus halt brauchst (ggf. sendattackpacket)

Code:
void *chrMgrInstance = GetInstance(*addr*);
void *mainInstance = GetMainInstancePtr(chrMgrInstance);
std::map<DWORD, void *> m_kAliveInstMap = *(std::map<DWORD, void *>*)(((DWORD)chrMgrInstance) + m_kAliveInstMapOffset);
for (std::map<DWORD, void *>::iterator itor = m_kAliveInstMap.begin(); itor != m_kAliveInstMap.end(); itor++) {
	if (IsAttackbleInstance(mainInstance, itor->second)) {
unschön aber funktioniert :D
Dafür muss ich aber erst die offsets finden ^^
Habe ja aktuell keinen Zugriff auf die ganzen Python Funktionen, ich weiß dass man den Bot auch in python coden kann und dass dann mit nem pyloader im spiel zur Ausführung bringen kann, aber kein Plan wie das alles gehen soll. Daher mache ich es so wie ich es kann.
12/31/2020 13:47 ones-and-zer0es.mpeg#7
Quote:
Originally Posted by kruppuk1587 View Post
Dafür muss ich aber erst die offsets finden ^^
Habe ja aktuell keinen Zugriff auf die ganzen Python Funktionen, ich weiß dass man den Bot auch in python coden kann und dass dann mit nem pyloader im spiel zur Ausführung bringen kann, aber kein Plan wie das alles gehen soll. Daher mache ich es so wie ich es kann.

Wie suchst du momentan die Offsets? Das war C++ Code, hat nichts mit Python zu tun ^^'
Falls dich generell interessiert wie ein Python Loader funktioniert, hier wurde der Source von einem veröffentlicht: [Only registered and activated users can see links. Click Here To Register...]
01/01/2021 22:18 kruppuk1587#8
Es gab wieder ein Update, neu hinzu gekommen ist das Freeze-Feature.
Heißt der Bot hört automatisch auf zu farmen wenn andere Spieler in der nähe sind.
Das Feature ist standardmäßig aktiviert, kann aber über F2 deaktiviert werden.

Übrigens: ich kann Leute gebrauchen die den Bot testen, ich selber teste nur kurz ob alles funktioniert, daher weiß ich nicht wenn der Bot Probleme hat nachdem er länger gelaufen ist.
Schickt einfach ne PN wenn ihr Probleme mit dem Bot gefunden habt oder öffnet eine Issue auf Github.

Cheers and happy new year!
01/01/2021 23:20 trashepvp#9
Thanks to help Metin2 cheating scene to be full of skids. Cancer
01/01/2021 23:23 kruppuk1587#10
Quote:
Originally Posted by trashepvp View Post
Thanks to help Metin2 cheating scene to be full of skids. Cancer
You're welcome :)
01/02/2021 13:30 ones-and-zer0es.mpeg#11
Quote:
Originally Posted by trashepvp View Post
Thanks to help Metin2 cheating scene to be full of skids. Cancer
y so mad tho
01/03/2021 18:13 Benemrecantunca#12
i like, can you help me ?
01/03/2021 21:41 kruppuk1587#13
Important update out now!
Grab 1.5.3 asap, it fixes the problem that the bot would sometimes just stop attacking and freeze forever.
01/05/2021 19:25 kruppuk1587#14
This version has a new feature: whisper alert!
The bot plays a short tune whenever you get a whisper message, so you can take a look at your bot if you are around.

---------
Version 1.7.2 released!

This feature includes blacklisting of unreachable metin stones.
The timer is 60 seconds. If your bot character is too shit to kill a stone in 60 seconds then edit the source or git gud.

Make sure to grab the latest version, the versions before had a bug that crashed the game.
01/06/2021 23:41 kruppuk1587#15
Hey there,
grab the latest release 1.8 and automatically sell all the stones on the first stone page by pressing F12.
Take out all the +4 stones before and don't cry if you sold them on accident.