Register for your free account! | Forgot your password?

Go Back   elitepvpers > General Gaming > General Gaming Discussion
You last visited: Today at 05:39

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

Advertisement



Mausklick zum Looten simulieren für Bot

Discussion on Mausklick zum Looten simulieren für Bot within the General Gaming Discussion forum part of the General Gaming category.

Reply
 
Old   #1
 
run32.dll's Avatar
 
elite*gold: 0
Join Date: Jan 2007
Posts: 126
Received Thanks: 83
Mausklick zum Looten simulieren für Bot

ACHTUNG WALL OF TEXT
nur zu empfehlen wenn man lesen kann...

Ich möchte das mein kleiner Konsolenbot das Looten *lernt*. Dabei habe ich leider ein Problem damit die Mausklicks zu simulieren. Egal was ich mache, Runes of Magic ignoriert die Mausklicks einfach.

SendInput() oder mouse_event() will ich nicht verwenden, weil ich möchte das mein Bot auch funktioniert wenn ein anderes Fenster ontop ist oder den Fokus hat. Es bleibt also nur SendMessage() und PostMessage().

SendMessage() verwende ich bereits (wie man im Code auch sieht) um den Charakter zu bewegen. Nachdem das Bewegen des Charakters mit der Taste 'W' wunderbar funktioniert hat wollte ich SendMessage() dazu verwenden Mausklicks fürs Looten zu simulieren.

Ich habe mir mit Spy++ angeschaut welche Nachrichten bei einem *echten* Mausklick versendet werden:


Soweit ich weiß bedeutet das P oder S vor der Message:
S -> Nachricht wurde mit SendMessage() verschickt
P -> Nachricht wurde mit PostMessage() verschickt
R -> systeminterne Message

Als dritten Paramter habe ich MK_LMUTTON und 0 getestet -> keine Reaktion.
Dann habe ich es mit einem Sleep zwischen dem *Drücken* und *Loslassen* der Maustaste probiert ... obwohl das eigentlich mit SendMessage komplett Sinnlos sein dürfte weil die Fkt. synchron zu MsgProzedur abläuft ...-> keine Reaktion auf den simulierten Klick.

Ich habe mit Spy++ auch überprüft ob die Messages bei RoM ankommen, sie tun es ... das Spiel sollte also darauf reagiern ...

*ratlos*

Kann es sein das es nicht funktionert weil DirectX verwendet wird? ... das umgeht meines wissens die WinAPI um die Latenz klein zu halten. Nur ich habe keine Ahnung wie man für Direct Input (oder wie das API von Direct X auch immer heißt...) simuliert...

PS: Das handle ist 100% richtig, weil simulierte Tasteneingaben problemlos funktionieren.

kleines Codesnippet zum Looten von Monstern:
Code:
else if (target.health<=0)					// Wenn Ziel Health <= 0 looten!
{
	SetAngle(player.x, player.z, target.x, target.z);	// Spieler zum Ziel ausrichten
	while (GetDistance(player.x, player.z, target.x, target.z) > 4.0f)// Solange die Entfernung zwischen Spieler...
	{													// ...und Ziel > 4 ist bewege Spieler in Richtung Ziel
		memory.Read(playerbase, player);				// update playerdata
		if (player.targetptr==0)						// do we still have a target?
			break;
		memory.Read(player.targetptr, target);			// update targetdata
		SetAngle(player.x, player.z, target.x, target.z);// Spieler zum Ziel ausrichten
		SendMessage(memory.hwnd, WM_KEYDOWN, 'W', 0);	// start moving
	}
	// Der Spieler steht nun direkt im Ziel
	SendMessage(memory.hwnd, WM_KEYUP, 'W', 0);			// stop moving

	/*
	SetCursorPos(960,750);
	SendMessage(memory.hwnd, WM_LBUTTONDOWN, MK_LBUTTON, (LPARAM)MAKELPARAM(960, 750));
	Sleep(400);
	SendMessage(memory.hwnd, WM_LBUTTONUP, (WPARAM)0, (LPARAM)MAKELPARAM(960, 750));
	*/
	cout << "loot ..." << endl;
}
run32.dll is offline  
Old 04/21/2009, 12:35   #2
 
elite*gold: 271
Join Date: Mar 2008
Posts: 9,461
Received Thanks: 2,082
es gibt n addon womit man automatisch looten kann verbinde doch die benutzung deines bots mit diesem addon das addon findeste im offi forum "QuickLoot" oder "UberFlex Combat System" eins von den beiden wars
Mark- is offline  
Old 04/21/2009, 12:54   #3
 
run32.dll's Avatar
 
elite*gold: 0
Join Date: Jan 2007
Posts: 126
Received Thanks: 83
Ich werde es mir anschauen, danke.

edit:
Also Quickloot schiebt nur den Lootframe zum Cursor und andere Spielereien. Looten muss man immer noch selber.

Das "UberFlex AutoCombat System" (behinderter Name... *doh*) habe ich getestet sowohl mit dt. und englischem Client - bei mir lootet er nicht. Das Addon sieht für mich so aus als wäre es nur zum Kämpfen/Buffen gemacht. Ich kann auch keine Optionen fürs Looten finden. Trotzdem steht bei Curse in der todo-list:
*add: An option to switch-off the loot action at the end.
... also müsste es doch eine Möglichkeit geben dem zu sagen er soll looten.

Aber mal ganz abgesehen von den Addons wollte ich eigentlich eine Lösung für C++. Selbst wenn das mit so einem Addon funktionert - Addons die zur Automatisierung dienen sind immer ein enormes zusätzliches Sicherheitsrisiko für den Account. Ich erinnere nur mal an Pirox AutoIT Battleground-Bot für WoW. Der Bot hatte auch ein Addon benutzt und ganz plötzlich waren eines Tages ziemlich viele Accounts gebannt...

Also irgendwelche anderen Vorschläge wie ich das Looten hinbekommen - mal abgesehen von Addons ...?
run32.dll is offline  
Old 04/21/2009, 14:30   #4
 
elite*gold: 0
Join Date: Nov 2005
Posts: 292
Received Thanks: 2
sourcecode zwegs autoloot

könntest du deinen sourcecode uppen und mir die url zur verfügung stellen,,, code jetz 5 jahre c ,,, meist beruflich,,, ich würde mal reinschauen in deinen code und dir das einbauen
KoyTheOne is offline  
Old 04/21/2009, 16:42   #5
 
run32.dll's Avatar
 
elite*gold: 0
Join Date: Jan 2007
Posts: 126
Received Thanks: 83
Müsstest eine PM von mir haben mit URL und Passwort.

Ich habe immer mehr die Vermutung das DirectX dahinter steckt, weil laut Spy++ massig WM_INPUT Messages versendet werden mit irgendwelches kryptischen Rohdaten.
run32.dll is offline  
Old 04/21/2009, 17:50   #6
 
elite*gold: 0
Join Date: Apr 2007
Posts: 73
Received Thanks: 14


versuch das mal, benutze das zusammen mit dem bot, den ich laufen lasse.
madadayo is offline  
Reply


Similar Threads Similar Threads
64 bit simulieren?
05/01/2010 - S4 League - 12 Replies
gibt es eine möglichkeit auf 32bit 64bit zu simulieren? oder gibt es einen Virtuellen PC der ein 64bit system hat? ;) (von microsoft das 64bit ding kann ich nicht installieren =( ) und würde ich dann mit einen undetected CE (fals es eins gibt ^-^) Values suchen können? oder wäre das immernoch wie bei 32bit? Values suchen nicht möglich^^
mit c# tastendruck simulieren
02/02/2010 - .NET Languages - 9 Replies
hallo leute, hab ein kleines programm geschrieben welches einen tasendruck simuliert. ich wollte das für metin2 benutzen, umso die fertigkeiten automatisch anzustellen. alle 100 sekunden drückt es zum beispiel die 1. das problem is das die fertigkeit jedoch nicht anspringt, wenn ich jedoch den chat anhabe, schreibt er alle 100 sekunden die 1, weiss jmd warum die fertigkeit nicht anspringt?
Raid simulieren ?
03/11/2007 - World of Warcraft - 7 Replies
Hallo kennt jemand ein Addon das einen Raid simuliert um alle Frames einzustellen ?
Tastatur simulieren
07/09/2006 - Ragnarok Online - 2 Replies
Hallo, ich suche ein kleine Programm was mir ermöglicht meine Tastatur zu simulieren. Also ich benötige nur Return und pfeiltasten ^^. Wenn ich z.B die F3 Taste drücke dann sollte das Programm eine bestimmte Tastenkombi machen. Ich hoffe jemand hat sowas rumfliegen. Gruß
DVD laufwerk simulieren?
12/31/2005 - Technical Support - 3 Replies
Hallo, kennt wer zufällig nen programm womit man ein DVD laufwerk simulieren kann?



All times are GMT +2. The time now is 05:39.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.