Register for your free account! | Forgot your password?

Go Back   elitepvpers > World of Warcraft > WoW Bots
You last visited: Today at 20:34

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

 

WoW Spellcooldown auslesen (AutoIT)

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
WoW Spellcooldown auslesen (AutoIT)

Hallo

Ich würde gern meine Spell Cooldowns auslesen, hab dazu hab ich schon einiges gefunden, aber nur mit den alten Offsets, daher meine Frage:

Hat hier jemand die aktuellen SpellCooldown Offsets oder weiß einer ob die stimmen die ich haben?

spellsOnCooldown = 0x00D3F5A4

thx



mickol is offline  
Old   #2
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
Du kannst auch lua_dostring benutzen und die Funktion benutzen.

Für welche Version ist denn dein Offset? Dann besorg ich dir das für die neue, oder reverse es eben fix, je nachdem wie schnell du antwortest.

Edit:
Dein Pointer ist richtig.

oCooldownPointer = 0x00D3F5A4

Code:
private float GetSpellCD(unsigned int aSpellID) {

   // First Object
   unsigned int currentObj = readUInt(proc(), (oCooldownPointer + 0x8);

   // Liste durchgehen
  while (.....)
  {
     unsigned int currentSpell = readUint(proc(), currentObj + 0x8);
     if (currentSpell == aSpell) {
     // wir haben den spell gefunden
     int nStart = readInt(proc(), (currentObj + 0x10)

     // ....
         

     }
  }


}
Das sollte dir einen kleinen Denkanstoß geben.

NextObject = 0x8
StartTime = 0x10
CD1 = 0x14,
CD2 = 0x20

Berechnen kannst du den Kram, genau wie auch auf der API Seite beschrieben. Ich zitiere:

Quote:
local start, duration, enabled = GetSpellCooldown("Presence of Mind");
if enabled == 0 then
DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is currently active, use it and wait " .. duration .. " seconds for the next one.");
elseif ( start > 0 and duration > 0) then
DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is cooling down, wait " .. (start + duration - GetTime()) .. " seconds for the next one.");
else
DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is ready.");
end


Bl@ze! is offline  
Thanks
1 User
Old   #3
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
ich bräuchte den offset für version 3.3.5a, wäre super wenn du helfen könntest, thx
mickol is offline  
Old   #4
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
super, danke dir, ich werde mal schauen was ich damit machen kann!!!


mickol is offline  
Old   #5
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
hmm, irgendwie will das nicht, hier die funktion (hab die auf AutoIt umgebaut), manches ist noch auskommentiert, da ich am testen bin, mein derzeitiges Problem ist, dass ich schon nach dem ersten _BMReadMemory nur ein "0" zurückbekomme, ist das richtig? Soll ich da einfach auf das nächste Object switchen? In einem anderen Forum wird geschrieben das man mit 0x4 das nächset Object erreicht nicht mit 0x8, bin jetzt bisserl verwirrt

Code:
func IsSpellReady($spellid)

$spellsOnCooldown = 0x00D3F5A4 

$currentListObject = _BMReadMemory($hProcess, $spellsOnCooldown + 0x8, "uint")

;while (($currentListObject <> 0) AND (($currentListObject & 1) = 0))
  while 1
  $currentSpellId = _BMReadMemory($hProcess, $currentListObject + 0x8, "uint");
      if ($currentSpellId == $spellid) then
           
        $start = _BMReadMemory($hProcess, $currentListObject + 0x10, "uint");

        $cd1 = _BMReadMemory($hProcess, $currentListObject + 0x14, "uint");
        $cd2 = _BMReadMemory($hProcess, $currentListObject + 0x20, "uint");

        $length = $cd1 + $cd2;
        $globalLength = _BMReadMemory($hProcess, $currentListObject + 0x2C, "uint");

        ;$cdleft = Math.Max(Math.Max(length, globalLength) - (Environment.TickCount - start), 0);
                    

        ;if ($cdleft <> 0) then
        ;return 0;
        ;endif

      endif

  $currentListObject = _BMReadMemory($hProcess, $currentListObject + 4, "uint");
  wend
  return 1;
EndFunc
mickol is offline  
Old   #6
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
kann mir sonst noch wer helfen? bekomme hier einfach keinen Wert zurückgeliefert?

$currentListObject = _BMReadMemory($hProcess, $spellsOnCooldown + 0x8, "uint")

thx
mickol is offline  
Old   #7
 
elite*gold: 20
Join Date: Dec 2005
Posts: 811
Received Thanks: 351
Nice work in AutoIt there. I am an AutoItter myself, and got to say that's impressive.
swords is offline  
Old   #8

 
elite*gold: 140
Join Date: Aug 2007
Posts: 335
Received Thanks: 148
Quote:
Originally Posted by mickol View Post
kann mir sonst noch wer helfen? bekomme hier einfach keinen Wert zurückgeliefert?

$currentListObject = _BMReadMemory($hProcess, $spellsOnCooldown + 0x8, "uint")

thx
NextObject = 0x3C, // 3.3.5
FirstObject = 0xAC,
telcy is offline  
Old   #9
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
Quote:
Originally Posted by telcy View Post
NextObject = 0x3C, // 3.3.5
FirstObject = 0xAC,
Das ist falsch, das sind die für die Objektliste der Objects und nicht der Spell liste.

Ich schau nach der Arbeit nochmal nach, kann momentan nicht.
Bl@ze! is offline  
Old   #10
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
scheinbar ist der Offset doch falsch, verwende nun folgenden und bekommen endlich die spellid zurückgeliefert

oCooldownPointer = 0x00D3F5A8

bin mal am testen, ob es nun endlich klappt!

Edit:

gut der war auch noch falsch, hab weiter probiert, der scheint jetzt richtig zu sein, gibt jetzt die cooldowns der reihenach zurück!

oCooldownPointer = 0x00D3F5AC
mickol is offline  
Old   #11
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
derzeit funktioniert es, ich hoff das bleibt auch so
mickol is offline  
Old   #12
 
elite*gold: 0
Join Date: May 2009
Posts: 2,227
Received Thanks: 2,291
Quote:
Originally Posted by mickol View Post
derzeit funktioniert es, ich hoff das bleibt auch so
Bis zum nächsten wow update sollte es funktionieren.


Endecs is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
WoW Bot AutoIT HP auslesen
Hey,ich hab damit angefangen mit nen kleinen Bot fürn PrivatServer zu basteln,der auf der Version 3.3.3a läuft. Gibt es für PrivatServer andere...
13 Replies - AutoIt
AutoIt Code auslesen
Hey, sagen wir ich lade mir im Internet einen Bot runter , der mit AutoIt geschrieben ist. Gibt es ein Pogramm oder sonstwas mti dem ich den Code...
3 Replies - AutoIt
Exp in Autoit oder C++ auslesen???
Wie ließt man die Ep in Autoit oder C++ aus? Bitte um hilfe
2 Replies - Metin2 Main - Discussions / Questions
[Frage]AutoIt auslesen
moin moin, ich bin momentan dabei n AutoIt script zu erstellen. In diesem Script muss etwas aus einer txt datei ausgelesen werden. (kann auch...
7 Replies - AutoIt
(Autoit) Wie Pointer auslesen ?
Hiho... Ich progge gerade an einem bot und habe nur ein problem... Ich hab mit CE nen pointer für die HP gefunden... In diesem fall:...
6 Replies - General Coding



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


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

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.