CurseForge and Overwolf are joining forces!
Awesome More Information
  • 0

    posted a message on Help me learn to [code]
    I found World of Warcraft Programming to be particularly useful.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Wysiwyg or notepad
    I've been hand coding all my html for years, and I feel the same way as Phanx... I've run into a lot of stuff that other people did in WYSIWYGs. DreamWeaver (under certain circumstances) has the possibility of generating fairly clean code, but that is quite variable. It's still way better than MS Word's idea of HTML.

    There are two places where I will often give in and use a WYSIWYG: MS Visual Studio (for Windows forms design) and NetBeans (when building Forms-based Java applications). In both those cases, I often find that I do the basic design with the WYSIWYG, but I still usually end up hand-tweaking a lot of little things before I'm done.

    So far, the only WOW GUI I've done at all has been using AceConfig-3.0 and the AddToBlizOptions stuff to build a really nice set of menus into the Blizzard default Addon Config section. (Oh, and I've used the UIErrorFrame a couple times for quick alerts.)

    If there was a decent visual tool for the XML frames, I might be tempted to play with it to generate some GUI, but I'd end up hand-coding more and more of it till I was only using the editor to view how my hand-coded stuff was looking outside of the WOW interface.

    Actually, that's the tool I'd really like: A WOW client simulator that would let me see how my GUI would look without having to load the game. I can often steal a few minutes around lunch time to poke at code, but with all the dry-coding I have to do, I'm always afraid to make too many changes when I'm not able to change/test/fix/test/fix/PROFIT :)
    Posted in: Lua Code Discussion
  • 0

    posted a message on AcceptTrade() ... protected?
    Quote from GuardMoony
    probaly also in protect. because if some1 build a few hidden functions in the addons. he could steal all of some1's gold that persone has by just asking a trade.


    True... it makes sense. Probably the same reason why it ALWAYS says "Do you REALLY Want to send AMOUNT_OF_GOLD_HERE to NAME_HERE Yes/NO" even if you try and mail money to another toon on your account... and I bet the confirming action is also protected.

    As I said in earlier posts... the big learning curve for me is to know what you CAN'T do, and sometimes knowing WHY is helpful as well. I know I can't do AcceptTrade() ... and probably also can't do whatever the function to confirmSendMoney() would be, and I know why, so I move on.
    Posted in: Lua Code Discussion
  • 0

    posted a message on AcceptTrade() ... protected?
    Quote from Tekkub
    Aye, signing implies approval, implies official, implies tech support. They'll never do that.


    Yeah, have to agree. While it might be nice for us developers to have a way to get official signing after Bliz Code review, but there are too many difficulties for them to think about doing it. As it is, their support answer to everything is to tell you to uninstall all addons and clear your WTF folder. ("yes, thank you, I really want to revert back to Blizz's totally lame original UI and have to reconfigure world + dog.")
    Posted in: Lua Code Discussion
  • 0

    posted a message on AceComm-3.0 Best Practices Examples
    Quote from Mikk
    A lot of addons think that their traffic is too high value.

    ALERT = This needs to get through pronto - should only ever be used for small infrequent messages. Example: something crucial to properly syncing bossmods for an encounter

    NORMAL = Probably a single message where a human is waiting to see a response

    BULK = Anything more than a single message, really


    Heh, it's like those annoying folks at the office who always ALWAYS set their email to "high importance"

    In MultiTool, I tend to send my quest gossip and taxi choices as ALERT on the grounds that I don't want there to be any artificial delay of the traffic... the whole point is to have all the toons in the party with the addon make the same choice as each other at the same time.

    Will try to send other info at lower levels though.
    Posted in: Ace3
  • 0

    posted a message on AcceptTrade() ... protected?
    Wintrow2:

    I agree that knowing why is a helpful thing.

    Funny though.. Strictly from a computer-science standpoint, bots are a fascinating subject full of promise and interesting challenges. From a game playing point of view, and from Blizzard's perspective they're really evil and must be destroyed.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Plugin for Baggins to Vendor Trash Items
    Auto vending all gray items is fairly trivial... as soon as you start getting into a whitelist/blacklist scenerio, or add in other specific items, the code gets a lot more complicated.

    There's a dead-simple addon called "CrapAway" that just dumps anything of poor quality when at a vendor. I added in profile flag to turn this on or off (the part with self.db.profile.vendJunkFlag)

    --
    -- Auto Sell Junk - Inspired by CrapAway
    --
    function MultiTool:autoSellJunk()
      if (self.db.profile.vendJunkFlag) then
    
        -- iterate through bags
        for bag = 0, 4 do
          -- need to know the number of slots we have to look in
      		local numSlots = GetContainerNumSlots(bag)
    
          -- we have slots
      		if (numSlots > 0) then
            -- go through items in bag
            for slot = 1, numSlots + 1 do
              local currentItem = GetContainerItemLink(bag,slot)
              if (currentItem ~= nil) then
                -- Gotta get the item info using the link
                
                -- local currentItemQuality = Select(3, GetItemInfo(currentItem))
                local currentItemQuality = nil
                 _,_,currentItemQuality,_,_,_,_,_,_,_ = GetItemInfo(currentItem)
                if (currentItemQuality ~= nil and currentItemQuality == 0) then
                  UseContainerItem(bag,slot)
                end
              end
            end
          end
        end -- end for loop
      end -- if vendJunkFlag
    end -- autoSellJunk()
    
    Posted in: Addon Ideas
  • 0

    posted a message on Tradeskill Window Attribute Search
    I tell you, I'm thinking that I may have to do something to the Inscription frame. I can't believe that blizzard didn't think that Major vs Minor wouldn't be USEFUL or anything :P

    Of course like most things, someone will probably just tell me "The Simpsons Did It". That's cool too though.
    Posted in: Addon Ideas
  • 0

    posted a message on Blizzard Config Panel Buttons
    RedDoom,

    My guess (and this IS a guess) is that since AceConfig autoupdates on value changed, you're going to have to be tricky and have the set store the original state somewhere so you can figure out what it was should you want to revert. What makes this tricky is taht the set method seems to get called EVERY TIME you make a change.

    This may be AceConfig's doing, and you might have some luck finding the ok/cancel events / hooks by looking for how to do the standard Bliz config (non-Ace).

    Wish I could be more helpful but I'm still learning too.
    Posted in: Ace3
  • 0

    posted a message on AceConfig-3.0 documentation
    Oh, speaking of "awesome sauce", whoever put in the auto profile config screen handling: I love you!


    I was dreading writing a profile config page, and started looking at how others did it. I noticed that Ace3 users all had the same one, so I looked for how they did it and stumbled on something I didn't see in any of the documentation: AutoMagicall Profile page.

    YEAH!
      LibStub("AceConfig-3.0"):RegisterOptionsTable("Profiles", LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db))
    	self.optionsFrame.Profiles = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Profiles", "Profiles", "MyAddon")
    Posted in: Ace3
  • 0

    posted a message on Proposal: AceConfig3 "list handling"
    I ended up making a config page that works for me. What I ended up doing was making explicit single-line input field for add, a select list for delete, and then totally abused the "description" type to display the contents of the current list. Basically I just iterate through the list table and add value.."\n" for each value found to it.

    It seems to work just fine for my needs, though it's a bit clunky.

    local whiteListOptions = {
      handler = MultiTool,
      name = L["WHITE_LIST_OPTIONS_NAME"],
      type = "group",
      childGroups = "tab",
      order = 8,
      args = {
        whiteListInstructions = {
          type = "description",
          name = L["WHITE_LIST_OPTIONS_DESC"],
          order = 1
        },
        whiteListViewContainer = {
          type = "group",
          inline = true,
          name = L["WHITE_LIST_VIEW_GROUP_NAME"],
          order = 2,
          args = {
            whiteListView = {
              type = "description",
              name = function(info) return MultiTool:displayWhiteList() end
            }
          }
        },
        whiteListAddContainer = {
          type = "group",
          name = L["WHITE_LIST_ADD_PLAYER_GROUP_NAME"],
          inline = true,
          order = 3,
          args = {
            whiteListAdd = {
              type = "input",
              name = L["WHITE_LIST_ADD_NAME"],
              desc = L["WHITE_LIST_ADD_DESC"],
              order = 1,
              set = "whiteListAddPlayer"
            }
          }
        },
        whiteListDeleteContainer = {
          type = "group",
          inline = true,
          name = L["WHITE_LIST_DELETE_GROUP_NAME"],
          order = 3,
          args = {
            whiteListDeleteSelect = {
              type = "select",
              name = L["WHITE_LIST_DELETE_SELECT_NAME"],
              desc=  L["WHITE_LIST_DELETE_SELECT_DESC"],
              order = 1,
              values = function(info) return MultiTool:getWhiteListTable() end,
              set = "setSelectWhiteListDeleteCandidate",
              get = function(info) return whiteListDeleteCandidate end
            },
            whiteListDeleteAction = {
              type = "execute",
              name = L["WHITE_LIST_DELETE_ACTION_NAME"],
              order = 2,
              func = "setDeleteWhiteListCandidate"
            }
          }
        }
      }
    }
    Posted in: Ace3
  • 0

    posted a message on AcceptTrade() ... protected?
    Very interesting info... I could see how Bliz might be a little annoyed with watervendors, but I TOTALLY see how they would want to disallow gambling addons.

    It would have been nice for me to add as a multi boxing feature. I was hoping that I could do something like open a trade with a "slave" toon, dump item in, and hit OK, having them accept it without me having to swtich over to them and click ok.

    Luckily the workaround is to bind a key to /script AcceptTrade() on each slave. Was just hoping to be all sophisticated about it.

    Still, I am finding that the big thing about learning LUA for WOW is in understanding what is NOT possible.

    Thanks for the explanations.
    Posted in: Lua Code Discussion
  • 0

    posted a message on AcceptTrade() ... protected?
    Tekkub,

    Thank you. At least I know I need to do something different now. I guess I will remove the feature from my "to do" list.

    I have never heard of "water vendor" addons but I assume it was some kind of social engineering or scam that let unscrupulous folks get others to accept a trade they didn't intend.

    While I'm sad I can't make my own addon do what I want it to, I can totally see why they made it that way.

    Thanks again for the reply.
    Posted in: Lua Code Discussion
  • 0

    posted a message on AcceptTrade() ... protected?
    I've been adding features to my addon, and have worked out a nice little whiteList so that I can allow for certain security-sensitive things to be automated. Like auto accepting a group request from someone who is in the whiteList.

    Accepting summonses works, accepting group invites works, but AcceptTrade() silently fails.

    In researching things, wowwiki seems to say it's protected. I was wondering if anyone else had heard this?

    I'm trying to make a feature that will auto accept trade when the TRACE_ACCEPT_UPDATE event fires, but only if the other person is listed in the white list. I can work out a way to be sure it's them, but if AcceptTrade() isn't valid, I'm wasting my time.

    Anyone able to confirm/deny this?
    Posted in: Lua Code Discussion
  • 0

    posted a message on AceConfig-3.0 documentation
    Orion Shock, once again, you are made of awesome... with a generous helping of Awesome Sauce
    Posted in: Ace3
  • To post a comment, please or register a new account.