Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Guild Wars > GW Bots
You last visited: Today at 09:03

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

Advertisement



Ständiger Deathcheck | Start-Button

Discussion on Ständiger Deathcheck | Start-Button within the GW Bots forum part of the Guild Wars category.

Reply
 
Old 05/09/2010, 16:59   #16
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
ja die frage ist ja was du damit genau bezwecken willst, $cbVar[0] > 34 ergibt keinen sinn, da es wohl keine tasche mit diesem index gibt.

ich denke
Quote:
Parameter = bag index to start searching from. Returns integer with bag index and integer with item slot. This function also searches the storage. If any of the returns = 0, then no empty slots were found.
erklärt eigentlich alles, oder ich habe dein problen nicht so recht verstanden^^
kknb is offline  
Thanks
2 Users
Old 05/09/2010, 20:27   #17
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Ja, is ok. Wenn man nur lange genug über eine Sache nachdenkt, kann man sich nunmal beliebig weit selbst verwirren. Hat sich erledigt, hatte nen "kleinen" Denkfehler in der Parametergebung. ^^

Nun weiß ich garnicht, ob man mir hierbei auch helfen kann ...

Hab grad eben den Teil meines Skripts geschrieben, in dem es um das Identifizieren geht. Läuft auch soweit wunderbar. Der Kleine kauft IdKits nach, sofern dieses futsch ist und identifiziert reium. Doch leider tut er das Kaufen und Verkaufen explizit nur bei den Kaufmännern und -frauen, die sich in einem Außenposten befinden. Ich verstehe nicht, was an den Kaufswittern, die man per Herbeirufstein zu sich holt so anders sein soll, dass das ganze Konzept nicht mehr funktioniert ... Für die Idee meines Bots ist aber grad der Umstand, dass er Kaufmann-Herbeirufsteine nutzt und bei den Herbeigerufenen Wesen verkauft, unglaublich wichtig. Kann ich diesem Umstand irgendwie abhilfe verschaffen oder bin ich nun entgültig vor eine Wand gefahren ... ?

Achso der Quellcode, falls der irgendwie nötig ist ...

Code:
#include "GWCAConstants.au3"

$cbType = "int"

Cmd($CA_TargetNearestAlly)
Sleep(100)
CmdCB($CA_GetCurrentTarget)

Sleep(100)

Cmd($CA_GoNpc, $cbVar[0])

Sleep(5000)

For $BagNumber = 1 To 2
	For $SlotNumber = 1 To 20

		CmdCB($CA_GetIdKit)
		$IdKit = $cbVar[0]

		If $IdKit = 0 Then
			Cmd($CA_BuyIdKit)
			CmdCB($CA_GetIdKit)
			$IdKit = $cbVar[0]

			MoveItemById($IdKit, 4, 6)
		EndIf

		If $BagNumber = 2 And $SlotNumber = 6 Then
			ExitLoop
		EndIf
	Cmd($CA_IdentifyItem, $BagNumber, $SlotNumber)
	Next
Next

$BagNumber = 3
	For $SlotNumber = 1 To 10

		CmdCB($CA_GetIdKit)
		$IdKit = $cbVar[0]

		If $IdKit = 0 Then
			Cmd($CA_BuyIdKit)
			CmdCB($CA_GetIdKit)
			$IdKit = $cbVar[0]

			MoveItemById($IdKit, 4, 6)
		EndIf

	Cmd($CA_IdentifyItem, $BagNumber, $SlotNumber)
	Next
Kruemelmonsterchen is offline  
Old 05/10/2010, 18:54   #18
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Lamgsam glaub ich, den Übeltäter gefunden zu haben ... Wirklich niedlich, dass ich bei einem Kaufmann in nem Außenposten identen kann, ohne ein Kit zu besitzen.

Code:
#include "GWCAConstants.au3"

Cmd($CA_TargetNearestAlly)
Sleep(100)
CmdCb($CA_GetCurrentTarget)
Sleep(100)
Cmd($CA_GoNpc, $cbVar[0])
$cbType = "int"
CmdCb($CA_GetIdKit)
Sleep(100)

		If $cbVar[0] = 0 Then
			Cmd($CA_BuyIdKit)
			Sleep(100)
		EndIf

Exit
Mit diesem kleinen Script versuche ich, ein IdKit zu kaufen. Das klappt aber nicht ... Mitlerweile kenn ichs schon auswendig und hab immernochnicht gesehen, warum das nicht klappt. Die Sleepzeiten sind völlig zu ignorieren, die habe ich nur aus Verzweiflung reingedonnert ... Wär nich das erste mal, dass es daran liegt.
Kruemelmonsterchen is offline  
Old 05/10/2010, 20:04   #19
 
Killerzwerg829's Avatar
 
elite*gold: 30
Join Date: Feb 2009
Posts: 1,296
Received Thanks: 451
Ich weiß nicht genau, wie das bei CA_GoNpc ist, aber möglicherweise macht der mit dem Script weiter, ehe er beim NPC angekommen ist.
Killerzwerg829 is offline  
Old 05/10/2010, 20:19   #20
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Hatte ich auch schon angedacht und eine angemessene Sleepzeit eingebaut ... Aber geändert hat das nichts.
Kruemelmonsterchen is offline  
Old 05/10/2010, 21:09   #21
 
Killerzwerg829's Avatar
 
elite*gold: 30
Join Date: Feb 2009
Posts: 1,296
Received Thanks: 451
Hast du die neuste dll + GWCAConstants.au3?
Und... ist das Kaufmannsfenster auch geöffnet oder steht der Character nur beim NPC?
Killerzwerg829 is offline  
Old 05/10/2010, 21:50   #22
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Naja hätte ich keine dll oder die falsche injected, oder die Constants nicht eingebunden, würde es ja garnicht laufen bzw. mir nen Fehler ausgeben. Mein Charakter läuft zum Kaufmann, das zugehörige Fenster öffnet sich und genügend Gold ist auch vorhanden. Auch ein Itemslot ist natürlich frei. Nur kaufen, das tut er nicht ...

/e: Und wie zum Henker kann es sein, dass meine Items identifiziert werden ohne dass ich so ein verdammtes Identifikationswerkzeug habe?
Kruemelmonsterchen is offline  
Old 05/11/2010, 21:51   #23
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Da mir ja anscheinend niemand helfen kann, habe ich das jetzt so gelöst, indem ich einfach auf Verdacht zwei ID Kits kaufe und die reste dann im Zuge des Verkaufens wieder abgebe. Ist zwar irgendwie nicht so ellegant die Lösung, aber immerhin ist es erstmal eine, mit der ich mich einigermaßen anfreunden kann. Wurmen tut mich nur, dass ichs nicht verstehe ...

Aber gut, auf die Gefahr hin, mich hier nun entgültig zum Affen zu machen, mal die nächste Frage: Im Koda Form Designer gibt es die Funktion, Tabs zu kreiren. Soweit klappt das auch wunderbar. Aber wie bitte ändere ich die Größe der Reiter der verschiedenen Tabs?



Damit ihr versteht, was ich meine, habe ich einfach mal ein Bild aus Google eingefügt. Meine Frage ist, wie ich die Größe der Reiter, die dort Birinci Tab und ikinci Tab heißen, verändere ...

Das kann doch so schwer wirklich nicht sein ...
Kruemelmonsterchen is offline  
Old 05/11/2010, 22:04   #24
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
die breite passt sich dem text an

kknb is offline  
Thanks
2 Users
Old 05/12/2010, 08:38   #25
 
Killerzwerg829's Avatar
 
elite*gold: 30
Join Date: Feb 2009
Posts: 1,296
Received Thanks: 451
Quote:
Originally Posted by Kruemelmonsterchen View Post
Naja hätte ich keine dll oder die falsche injected, oder die Constants nicht eingebunden, würde es ja garnicht laufen bzw. mir nen Fehler ausgeben.
Ich meinte nicht, dass du garkeine hast, sondern ob du die aktuellste hast?
Bei mir lösen sich die Probleme oftmals von alleine, wenn ich die neuste Version diesen beiden Dateien runterlade.
Killerzwerg829 is offline  
Thanks
1 User
Old 05/12/2010, 20:05   #26
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Manuell verändern kann ich die Größe dieser Reiter also nicht, nehme ich an. Nunja ist natürlich auch nicht unbedingt wichtig. Sieht nur gerad etwas doof aus, die zwei kleinen Reiterchen in einem übergroßen Fenster. Aber gut, ist wohl das letzte, was mich stören sollte.

killerzwerk, dich hab ich dann wohl etwas missverstanden. Sollte die neueste Dll und Constants sein. Vorgestern kam da ja ein kleines Update, hab die Dateien direkt gesaugt und eingebunden. Gestern übrigens habe ich es tatsächlich hinbekommen, ein ID-Kit von nem Außenposten-Kaufmann zu ergattern. Wieso, versteh ich aber immernochnicht. Neue Dll und Constants, überflüssige Sleepzeiten, CA_BuyIdKit durch CA_BuyItem getauscht, Kauffunktion vom Rest entbunden und seperat laufen lassen, Inventar leergeräumt und übermäßig viel Gold auf den Char geschaufelt, ... . Was man nicht aus Verzweiflung alles versucht ... Aber irgendwas davon muss es wohl gewesen sein. An nem summoned Kaufmann allerdings hab ich das jetzt noch nicht probiert. Ich bin jetzt erstmal stolz, dass es einmal geklappt hat. Ich glaub, sollte das bei nem erneuten Test nicht mehr funktionieren, fliegt der Rechner aus dem Fenster und ich rühr das Script nie mehr an.

Übrigens hat mein Charakter seit den neuesten Files aufgehört, ständig zurück in den Außenposten zu reisen, ohne Gegnerkontakt gehabt zu haben. Ob das jetzt wirklich an der Dll oder den Constants liegt, kann ich natürlich nicht sagen. Vielleicht hat auch irgendwas in meinem Programm die Sache instabil gemacht. Jedenfalls reist er nun nurnoch dann zurück, wenn er auch gestorben ist. Also so, wie er es soll.

Das Script steht jetzt auch soweit. Läuft grad im Hintergrund. Ein paar kleine Dinge müssen noch verbessert werden, aber darum kümmer ich mich dann später. Mich interessiert grad viel mehr mein GUI. Daran nämlich knaps ich grad ein wenig rum ...

Es geht um folgendes: Wenn ich mir Scripte anderer Menschen ansehe, haben die unter ihrem GUI immer etwas wie folgendes stehen:

Code:
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Start
			x()
                                        y()
                                        z()
	EndSwitch
WEnd
Mein Problem ist, dass ich mein Script einfach nicht in diese Form pressen kann. Es gibt zuviele Funktionen, die aufgerufen werden müssen. Stirbt der Charakter beispielsweise, reist er zurück und fährt an einer anderen Stelle fort, als der, an der er weitermachen würde, wäre er nicht gestorben. Ich habe versucht, das mit jeder Menge If ... Then und Do ... Until oder While beziehungen zu machen. Aber das ist schlicht unmöglich ... Ich handhabe das momentan so, dass ich beispielsweise im Falle des sterbens die Funktion aufrufen lasse, die das weitere vorgehen beinhaltet und aus dieser Funktion heraus die nächste aufrufen lasse. Ganz abgesehn davon, dass das übersichtlicher ist, die Fehlersuche und nachvollziehbarkeit vereinfacht, habe ich jetzt beinah einen Tag mit dem Versucht zugebracht, das Programm umzuschreiben, um es wie oben dargestellt, abzubilden. Wie ich schon sagte, ohne Erfolg.

Jetzt kann man sich fragen, wieso ichs denn umschreiben will, wenn es doch soweit funktioniert. Die Sache ist, dass ich in meinem GUI unter anderem einen Close-Button und die Funktion Disable Graphic Rendering verwenden. Nun ist es aber so, dass der GUI nichtmehr reagiert, sobald er sich in Unterprogrammen befindet, die nich tin dem GUI eingebunden sind. Wenn mein GUI also so aussieht:

Code:
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Start
			Start()
	EndSwitch
WEnd
und ich aus der Funktion (Start) die nächste und nächste und nächste Funktion abrufen lasse. Wenn ich dann im GUI folgendes einpflanze:

Code:
Case $Close
                    Exit
dann kann ich den Close Button noch so misshandeln, und der GUI wird sich trotzdem nicht schließen. Höchstens, indem ich das Script in der Systemtrayleiste beende ... Das ist aber so nicht gewünscht. Ich würde das Program gern zu jeder Zeit, oder doch zumindest in Etappen schließen können. Auch soll das Graphic Rendering frei aktivier und deaktivierbar bleiben. Und nicht nur solang, bis ich den Start-Button gedrückt habe ...

Ist es also irgendwie möglich, eine andere Verbindung zu beispielsweise meinem Close Button herzustellen, sodass das Programm beendet wird, während es läuft? Zum Beispiel könnte ich den Button als Variable auffassen und in von mir definierten Abständen abfragen, ob diese Variable grad True oder False ist und dementsprechend weiter agieren. Aber wie mein Programm dazu bringen, dass es auch registriert, dass ich den Close Button gedrückt habe?

Eine andere Möglichkeit wäre es ja, am Ende einer Funktion zu einer anderen zurückspringen zu können. Und zwar an eine bestimmte Stelle im GUI. Denn wenn ich zum Beispiel im Todesfall sage, starte die Funktion, herauszurennen, so läuft das Script zwar weiter, aber der GUI bleibt "blind" für meine Eingaben. Ist es also möglich, flags zu setzen an bestimmte, definierte Stellen im Programmcode?

Schwer zu erklären das Ganze, ich hoffe, man kann mir einigermaßen folgen ... Im Grunde steckt hinter allem nur die Frage, wie ich meinen GUI offen halte, sodass er aktivitäten des Close-Buttons und aderer registriert ...
Kruemelmonsterchen is offline  
Old 05/12/2010, 21:31   #27
 
Killerzwerg829's Avatar
 
elite*gold: 30
Join Date: Feb 2009
Posts: 1,296
Received Thanks: 451
Quote:
Originally Posted by Kruemelmonsterchen View Post
Lamgsam glaub ich, den Übeltäter gefunden zu haben ... Wirklich niedlich, dass ich bei einem Kaufmann in nem Außenposten identen kann, ohne ein Kit zu besitzen.

Code:
#include "GWCAConstants.au3"

Cmd($CA_TargetNearestAlly)
Sleep(100)
CmdCb($CA_GetCurrentTarget)
Sleep(100)
Cmd($CA_GoNpc, $cbVar[0])
$cbType = "int"
CmdCb($CA_GetIdKit)
Sleep(100)

		If $cbVar[0] = 0 Then
			Cmd($CA_BuyIdKit)
			Sleep(100)
		EndIf

Exit
Mit diesem kleinen Script versuche ich, ein IdKit zu kaufen. Das klappt aber nicht ... Mitlerweile kenn ichs schon auswendig und hab immernochnicht gesehen, warum das nicht klappt. Die Sleepzeiten sind völlig zu ignorieren, die habe ich nur aus Verzweiflung reingedonnert ... Wär nich das erste mal, dass es daran liegt.

Da ich gerade selber solch eine Funktion erfolgreich in meinem Bot eingebaut habe, hab ich mir dies nochmal angeschaut (Es geht nur um das IdKit kaufen).
Das du plötzlich Sachen identen konntest, ohne ein IdKit zu besitzen liegt daran, dass du bestimmt noch eines in der Truhe liegen hattest Die bei dem CB das IdKit wird auch die Truhe mitgezählt. Deshalb hat er auch kein neues gekauft.
Killerzwerg829 is offline  
Old 05/13/2010, 09:05   #28
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
aaaalso erstmal zum reiter deines tabcontrols. leerzeichen?

so nun zu deinem gui, du kannst

a)deine gui funktionen, wie exit, rendering und was weiß ich per adlibregister abfragen
b)deine funktionionen, so wie du bereits geschrieben hattest an bestimmten stellen deines scriptes abfragen (ich mache sowas zum beispiel gerne in schleifen, da du ja nahezu überall auf irgendwelche events warten musst)
oder c)
den guioneventmode nutzen und für jedes control eine eigene funktion anlegen. sieht ziemlich praktisch aus, ich nutze es jedoch nicht, weil ichs einfach anders gewohnt bin
kknb is offline  
Thanks
1 User
Old 05/13/2010, 12:32   #29
 
elite*gold: 0
Join Date: Oct 2008
Posts: 27
Received Thanks: 1
Ich hab nun den Hilfe-Artikel über GuiOnEventMode praktisch auswendig gelernt ... Folgendes findet sich nun also in meinem Skript:

In der obersten Zeile des GUI's:
Code:
Opt("GUIOnEventMode", 1)
In der entsprechenden Zeile, wo mein Close-Button aufgeführt wird:
Code:
$Close = GUICtrlCreateButton("Close", 200, 303, 73, 41, 0)
GUICtrlSetOnEvent($Close, "CloseButton")
Und weiter unten folgende Funktion:
Code:
Func CloseButton()
	Exit
EndFunc
Meiner Meinung nach ist das exakt so, wie das in der Hilfe erklärt wird. Auch habe ich mir ein Script eines anderen Menschen angesehen, der es genauso gemacht hat. Doch es funktioniert einfach nicht ... Solange nich noch nichtauf den Start-Button gedrückt habe, kann ich den GUI ganz einfach schließen, aber sobald das Script dann startet, der Charakter also los läuft klappt garnichts mehr. Der GUI reagiert nicht mehr, auf keine Eingabe.

Genauso verhält es sich auch bei dem Versuch, die Variablen in Abständen abzufragen ...

Mit Registern würde ich das eigentlich eher ungern machen ... Das würde ja ein heilloses durcheinander bedeuten.
Kruemelmonsterchen is offline  
Reply


Similar Threads Similar Threads
SRO Start Button
06/07/2009 - Silkroad Online - 4 Replies
So my friend got problem with start button...(he's too stupid to post own thread lol...)When he runs sro start button won't appear.He tried everything.He went to silkroad official site and then tried and it didn't worked.He tried on ecsro and same problem.Problem may be in his connection?idk. Don't post run sro and wait few minutes couz he tried it already.
Start Button
05/18/2009 - Silkroad Online - 13 Replies
mabye it has allredy been asked.. but i cant see the start button.. i tryed to reinstall with the anti virus closed, the firewall desactivated.. still cant get it right. someone can help?
Help Start Button
04/14/2009 - Silkroad Online - 3 Replies
Everytime i start up SRO the start button doesnt appear and i checkd joymax website for a fix and they said it was a firewall but i dont have a firewall and my client version is v1.180 and i saw somewhere that the client version was 1.184 so im guessin the my so called firewall is blocking it from updating and i need some help
Kein Start Button?
12/05/2008 - SRO Private Server - 6 Replies
Ich hab ein Problem und zwar: Wenn ich den Launcher Starte erscheint bei mir kein Start Button. Wisst ihr woran es liegt? mfg Gammler232
start button
04/14/2008 - Silkroad Online - 4 Replies
hi all from the latest 10 hours, wen i open the game. every time the start button dont appeard. end sometimes is says, the server is upgradein or somting like this. i dont know waht to do, plizz somone help mi (wen this hapend before wen i was log in to silkroad site its fix this problem) but now nothing help, even reinstall of the game not fix it. i hev a primium, end i loss this time im sory if my english is not good.



All times are GMT +2. The time now is 09:03.


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.