OOP - Casting AOE Spells (Protected LUA) menu

Shout-Out

User Tag List

Results 1 to 9 of 9
  1. #1
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    OOP - Casting AOE Spells (Protected LUA)

    So I'm able to enable protected lua, like most are. And I now want to experiment with casting AOE spells.

    I realize I can execute a macro such as:
    /run if IsUsableSpell("Blizzard") and GetSpellCooldown("Blizzard")==0 then CastSpellByName("Blizzard") CameraOrSelectOrMoveStart() CameraOrSelectOrMoveStop() end;

    And this will cast Blizzard based on where my mouse pointer is. I was wondering if anyone knew what function WoW uses to find the mouse coordinates? I was hoping I could maybe change this function in a manner so I don't need to actually move the mouse + do the 2D/3D conversions.

    And, is there a function that essentially does 3D to 2D? (I know there are threads on doing the implementation, I'm just curious if there is a wow function that does it too)

    Thanks!
    https://tanaris4.com

    OOP - Casting AOE Spells (Protected LUA)
  2. #2
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Tanaris4 View Post
    And, is there a function that essentially does 3D to 2D? (I know there are threads on doing the implementation, I'm just curious if there is a wow function that does it too)
    Strange that you state you're OOP but yet you want to call an engine function to do the calculation... Still, if you want to go down that road it would be easiest (imo) to send the 'CMSG_CAST_SPELL' packet yourself by either formatting it manually or have WoW do it for you.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  3. #3
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I can't send a packet, I am out of process... the /run is a macro that you just execute

    I'm looking for a function to reverse in IDA
    https://tanaris4.com

  4. #4
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Tanaris4 View Post
    I can't send a packet, I am out of process... the /run is a macro that you just execute

    I'm looking for a function to reverse in IDA
    I see, then your best bet would be CGGameUI::Handle/OnTerrainClick as a starting point, I vaguely remember grabbing the world coordinates of a mouseclick from those functions, so one of the xrefs probably calculates/sets them.
    If you want to project the world coordinates yourself, the math's @ 3D projection - Wikipedia, the free encyclopedia

    Using a mouseclick for this is very error prone and just plane ugly
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  5. #5
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, that's what i was looking for :-) What function should I search for that actually sends the CMSG_CAST_SPELL packet?
    https://tanaris4.com

  6. #6
    caytchen's Avatar Contributor
    Reputation
    138
    Join Date
    Apr 2007
    Posts
    162
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Look into LUA CastSpell, they don't defer sending the packet.

  7. #7
    RivaLfr's Avatar Contributor CoreCoins Purchaser Authenticator enabled
    Reputation
    221
    Join Date
    Sep 2010
    Posts
    258
    Thanks G/R
    2/25
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

  8. #8
    Neffarian's Avatar Member
    Reputation
    -5
    Join Date
    Sep 2006
    Posts
    53
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Ida

    Ive used find pattern + asm to do this.
    works pretty clean, however you've got to find addresses properly and know what to look for
    Last edited by Neffarian; 04-04-2011 at 02:19 PM. Reason: grahmmaz

  9. #9
    Tanaris4's Avatar Contributor Authenticator enabled
    Reputation
    148
    Join Date
    Oct 2008
    Posts
    646
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You did it OOP? Or you wrote assembly code (basically, easier injection) that changed certain things? If so, care to share what function you did your digging in?
    https://tanaris4.com

Similar Threads

  1. How to Cast AOE Spell like Blizzard?
    By phthegreat in forum WoW Memory Editing
    Replies: 9
    Last Post: 07-14-2011, 04:44 PM
  2. Does it possible cast aoe spell click with CTM?
    By NewNerr in forum WoW Memory Editing
    Replies: 6
    Last Post: 07-03-2011, 11:22 PM
  3. How to Cast AOE Spell like Blizzard by memorywrite?
    By j_clairol in forum WoW Memory Editing
    Replies: 0
    Last Post: 02-16-2011, 10:27 PM
  4. Help! Cast aoe Spells
    By starfish99 in forum WoW Memory Editing
    Replies: 1
    Last Post: 11-21-2008, 04:36 AM
  5. LUA help, how to make npc cast a spell at a certain HP???
    By pioneer1337 in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 03-30-2008, 06:27 PM
All times are GMT -5. The time now is 05:19 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search