GWCA Frage(n)

12/22/2009 18:52 ddl#16
das is ein NPC kein signpost
signpost = schild vor der stadt mit dem stadt namen

Code:
		$iBounty = GetNearestNPCToCoords(NähsterXWertDesNPC, NähsterYWertDesNPC)
		RndSleep(50)
		Cmd($CA_GONPC, $iBounty)
		RndSleep(1250)
		Cmd($CA_DIALOG, 0x83)
		RndSleep(1250)
12/22/2009 18:57 NANAAA#17
*Aha-Effekt* xDDDD

/edit

schaffe es Trotzdem nicht -.-
12/31/2009 14:01 Moppel123#18
So, ich poste einfach mal hierein:

Ich will eine Goldfunc einbauen, allerdings bekomme ich als Rückgabewert immer nur 0
PHP Code:
GetItemInfo($BAG_BackPack1)
If 
$cbvar[0] = 64 Then
Tooltip
("bla",0,0)
EndIf 

Über den Commander funktioniert alles Prima. Irgendwie mache ich etwas bei den Rückgabewerten (cbvar) falsch :-(
cbtype ist "int"
12/31/2009 20:03 buFFy!#19
zeig mal die funktion GetItemInfo
01/01/2010 16:09 Moppel123#20
PHP Code:
Func GetItemInfo($iBag$iSlot)
    
$oldCbType $cbType

    $cbType 
"int"

    
CmdCB($CA_SetBag$iBag)
    
CmdCB($CA_GetItemInfo$iSlot)

    
$cbType $oldCbType

    
Return $cbVar
EndFunc 
01/02/2010 18:58 Moppel123#21
Ich hab nochmal eine andere Frage: hat jemand auch das Problem, dass keine Rückgabewerte $cbvar[0] oder ähnliches gegeben werden?
Ich habe schon zig Funktionen erstellt und ausprobiert, allerdings erhalte ich nie einen Rückgabewert.
Die aktuelle dll ist injected und ich weiß so langsam nicht mehr weiter und bin schon am durchdrehen^^
Das soll der Anfang einer Goldfunc werden. Einfach mal zum ausprobieren:
PHP Code:
CMDCB($CA_FindGoldItem
MoveItemById($cbvar[0], $BAG_Storage117
Wenn ich die FindgoldItem mit dem Commander auslese und die ID eintrage, wird das Item auch in die Truhe gepackt.
Aber wenn ich es über den RÜckgabewert laufen lasse, geht es nicht.
Auch CmdCBEx nützt nichts.

Danke für eure Hilfe
01/03/2010 17:10 Xereon#22
Quote:
Originally Posted by Moppel123 View Post
Ich hab nochmal eine andere Frage: hat jemand auch das Problem, dass keine Rückgabewerte $cbvar[0] oder ähnliches gegeben werden?
Ich habe schon zig Funktionen erstellt und ausprobiert, allerdings erhalte ich nie einen Rückgabewert.
Die aktuelle dll ist injected und ich weiß so langsam nicht mehr weiter und bin schon am durchdrehen^^
Das soll der Anfang einer Goldfunc werden. Einfach mal zum ausprobieren:
PHP Code:
CMDCB($CA_FindGoldItem
MoveItemById($cbvar[0], $BAG_Storage117
Wenn ich die FindgoldItem mit dem Commander auslese und die ID eintrage, wird das Item auch in die Truhe gepackt.
Aber wenn ich es über den RÜckgabewert laufen lasse, geht es nicht.
Auch CmdCBEx nützt nichts.

Danke für eure Hilfe
PHP Code:
CMDCB($CA_FindGoldItem
ConsolWrite($CbVar[0]) 
Wenn du was in deiner Konsole ausgebenen bekommts, funktioniert alles wie es soll und du hast einen logischen Fehler in deinem Script.
01/03/2010 17:49 Moppel123#23
Okay, das hat leider auch nicht geklappt. Ich hab es immer mit gemacht
PHP Code:
If cbvar[0] = 0 Then
tooltip 
("0000",0,0)
endif 
Aber wie gesagt, es geht einfach nicht. Auch die Raptor Bot Verkaufen Func von Jonas geht nicht. Ich glaube ich installiere Windows mal neu.. bin schon am verzweifeln :confused:

Überall wo Rückgabewerte zum einsatz kommen, geht es nicht. Liegt das vielleicht an GW? Weil DLL und Constants sind aktuell und auch included.

Hier nochmal ein Ansatz von mir um zu schauen, ob es geht:
PHP Code:
$cbtype "int"

$info CmdCB($CA_getloggedin)
If 
$info[0] = 1 Then
    Tooltip 
("111",0,0)
Endif
        
If 
$info[0] = 0 Then
    Tooltip 
("000",0,0)
Endif 
Fenstername ist zu 100% richtig und ich bin auch eingeloggt (über den Commander ausgelsen)

Es wäre nett, wenn jemand ein kleines Script erstellt um was auszulesen und ich dann schaue, ob es bei mir geht. Denn wenn nicht ist mit meinem Sys was nicht in Ordnung
01/03/2010 18:03 Syc0n#24
$cGUI?

GUIREGISTER?
01/05/2010 02:02 Garry goes Sheep#25
Hab da auch mal ne Frage...

Ich möchte, dass der Charakter zu einem bestimmten NPC (einem Händler rennt).

Ich habe zuerst seine ID rausgesucht wie folgt: (Natürlich hab ich dabei den Händler anvisiert.)

Code:
#include "GWCAConstants.au3"
$cGUI = GUICreate("GWCA")
GUIRegisterMsg(0x500, "WndCallback")

$cbType = "int"
CmdCB($CA_GetCurrentTarget, -1)
ConsoleWrite("Händler ID: "&$cbVar[0]&@CRLF)
Dabei kommt auch ein schöner Wert raus und zwar: 22

Jetzt will ich natürlich zu dem Typn hinrennen:

Code:
$merchant = CmdCBEx($CA_GetFirstAgentByPlayerNumber, 22)
Sleep(150)
Cmd($CA_GONPC, $merchant)
Er rennt auch hin und spricht den Kollegen an.
Allerdings sehe ich nicht, dass sich mein Charakter bewegt. Erst wenn ich dort stehe, sehe ich das. ->Warum?

Wenn ich die Truhe anvisiere. Nur anvisiere...sonst rein gar nichts mach und dann wieder den Charakter zum "Händler" laufen lasse, dann rennt er zur Truhe, obwohl die ID (22) sich ja eigentlich nicht geändert hat. Dafür gibt's doch sicher ne Erklärung, oder? :confused:
01/05/2010 10:58 Moppel123#26
das hängt nur bisschen nach... (die engine)
wenn du mit einem anderen account schaust, sieht es ganz normal aus.
01/05/2010 11:12 Garry goes Sheep#27
Quote:
Originally Posted by Moppel123 View Post
das hängt nur bisschen nach... (die engine)
wenn du mit einem anderen account schaust, sieht es ganz normal aus.
Ja, ich weiß, aber bei anderen Bots funktionierts ja auch. Beim Schneeballdominanzbot hab ich auch gesehen, dass der Charakter brav zum Questgeber läuft;)

Die Frage ist vielmehr: Kann man das ändern?
01/06/2010 19:32 NANAAA#28
Ja denn "$CA_GetFirstAgentByPlayerNumber, 22" sucht dir den nähesten NPC von der ID 22 d.h nicht Nummer 22 sondern der nächste NPC von ihm ^^

mach das so

Quote:
$merchant = 22
Cmd($CA_GONPC, $merchant)
weil ich grad Lust hab veröffentliche ich meine Npc Funktion

Quote:
func walknpc($npc) ; läuft zu einem Npc und öffnet den Dialog
$cbType = "float"
CmdCB($CA_GetCoords,$npc)
MoveTo($cbVar[0],$cbVar[1])
Sleep(300)
Cmd($CA_GoNpc,$npc)
sleep(1000)
EndFunc
Also einfach das bei dir einfügen und dann

Quote:
walknpc(22)
im script eingeben , dies bewirkt dass der Bot "wartet" und das Script erst weitergeht wenn er beim NPC ist. =)
ps. die MoveTO und UntilDistance müssen auch noch dabei sein(findest hier irgendwo noch)
01/07/2010 18:01 Garry goes Sheep#29
Danke dir;)

Ok, nächste Frage:

Kann mir jemand die ID (oder wie auch immer man das nennt) von Dietrichen geben?
Oder noch besser eine ganz kurze Erklärung, wie man die ID rausbekommt :)
Was ist eigentlich der Unterschied zwischen ID und Model?

$cbType = "int"
CMDCB($CA_GetItemId, 20)
ConsoleWrite("[Check 1] X: "&$cbVar[0])
[Wobei hier das gesuchte Item in der letzten Tasche des Rucksacks ist]

So vielleicht?

Das "Problem" bei der GetItemId ist (für mich), dass man nur 1 Parameter angeben kann. Wie werden die Items hier jetzt durchnummeriert?
Von 1 bis 45? also ohne Unterbrechung durch alle Taschen durch?
Beim Verkaufen und Identifizieren muss man ja Tasche und Slot angeben, das ist eindeutig.

Sicherlich ist es bei GetItemId auch eindeutig, ich weiß nur nicht ganz wie:P
01/07/2010 18:18 Gabba2#30
Du musst über SetBag die Tasche festlegen, auf die du dich beziehst.
Die Item ID ist die ID die das Item gerade hat, die ändert sich häufiger (bei jedem rezonen?). Die Model ID ist die ID des Grafik Models, das das Item hat. Das ist fix und ändert sich nur, wenn ein neues Model dazwischen geschoben wird, was in einigen wenigen Updates der Fall ist.