Bot Causing LUA Errors menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    undrgrnd59's Avatar Active Member
    Reputation
    16
    Join Date
    May 2008
    Posts
    140
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Bot Causing LUA Errors

    Hello. I just got DoString and GetLocalizedText working, but I noticed DoString occasionally causes these in-game LUA errors. It isn't really imperative to get rid of them but its kinda annoying. It says the error is coming from Carbonite but it is definitely my bot that was doing
    DoString("CastSpellByName(\"Fishing\")");

    Code:
    Date: 2009-06-14 13:12:33
    ID: 1
    Error occured in: AddOn: Carbonite
    Count: 1
    Message: Error: AddOn Carbonite attempted to call a forbidden function (CastSpellByName()) from a tainted execution path.
    Debug:
       [C]: CastSpellByName()
       [string "CastSpellByName("Fishing")"]:1: in main chunk
       Carbonite\Carbonite.lua:6527: UpI()
       Carbonite\Carbonite.lua:4298: Upd()
       Carbonite\Carbonite.lua:19683:
          Carbonite\Carbonite.lua:19642
    U59

    Bot Causing LUA Errors
  2. #2
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Let me guess. You're doing it in .NET and using BlackMagic or the likes?

    The problem is likely that you're calling engine functions from a seperate thread, when said functions are strictly single-threaded. Obviously when two threads are calling the same function and that functions is assumed to be single threaded only (and hence using static data) some taint is likely to occur.

    If you're NOT though then that's very strange, because I've never seen that issue when calling engine functions from the correct thread,

    If you ARE, then you'll have to find someone here who uses .NET. Freezing the primary thread will probably work MOST of the time, but due to the inherent randomness of thread context switches you could still call in at a time when the environment is "tainted" (very likely in fact, especially as you start using the game engine functions more and more).

  3. #3
    undrgrnd59's Avatar Active Member
    Reputation
    16
    Join Date
    May 2008
    Posts
    140
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yea thats my situation lol. Oh boy I guess I can deal with it, not like it causes catastophic errors for now at least.
    U59

  4. #4
    Shynd's Avatar Contributor
    Reputation
    97
    Join Date
    May 2008
    Posts
    393
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    http://www.mmowned.com/forums/wow-me...ml#post1564189

    Like I say in that post, it's an inelegant solution, but it does solve threading issues.

  5. #5
    vulcanaoc's Avatar Member
    Reputation
    31
    Join Date
    Jul 2008
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    Let me guess. You're doing it in .NET and using BlackMagic or the likes?

    The problem is likely that you're calling engine functions from a seperate thread, when said functions are strictly single-threaded. Obviously when two threads are calling the same function and that functions is assumed to be single threaded only (and hence using static data) some taint is likely to occur.

    If you're NOT though then that's very strange, because I've never seen that issue when calling engine functions from the correct thread,

    If you ARE, then you'll have to find someone here who uses .NET. Freezing the primary thread will probably work MOST of the time, but due to the inherent randomness of thread context switches you could still call in at a time when the environment is "tainted" (very likely in fact, especially as you start using the game engine functions more and more).
    First off, apologies for the necro bump.

    I am doing the following:

    -Suspend WoW's main thread
    -Get the thread context
    -Inject some code
    -Set the thread context such that it will run my code on resume
    -Resume WoW's main thread
    -Wait for return and cleanup.


    However, I am experiencing the same problems that undrgrnd59 had (AND graphical artifacts, screwy mouse behavior, etc) and show-stopping crashes.

    Is there any way around this?

  6. #6
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You can actually run into taint issues even in the main UI thread in some cases, but this issue doesn't sound like the issue I ran into (posted in the elite forum under "watch your taint.")
    Don't believe everything you think.

  7. #7
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by vulcanaoc View Post
    First off, apologies for the necro bump.

    I am doing the following:

    -Suspend WoW's main thread
    -Get the thread context
    -Inject some code
    -Set the thread context such that it will run my code on resume
    -Resume WoW's main thread
    -Wait for return and cleanup.


    However, I am experiencing the same problems that undrgrnd59 had (AND graphical artifacts, screwy mouse behavior, etc) and show-stopping crashes.

    Is there any way around this?
    Inject and run off of an EndScene hook? Realistically, you're already injecting, so why not just stay injected and avoid all of the timing/threading weirdness that you get trying to sync with an OOP solution?
    Don't believe everything you think.

  8. #8
    vulcanaoc's Avatar Member
    Reputation
    31
    Join Date
    Jul 2008
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by amadmonk View Post
    Inject and run off of an EndScene hook? Realistically, you're already injecting, so why not just stay injected and avoid all of the timing/threading weirdness that you get trying to sync with an OOP solution?
    Sure, that would be nice, but I don't want to stay injected..

  9. #9
    undrgrnd59's Avatar Active Member
    Reputation
    16
    Join Date
    May 2008
    Posts
    140
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Injection is very messy I don't like it. There isn't a good forum post (maybe theres more information on other websites but...) about how to do injection properly. It caused more problems than just UI errors for me, WoW kept randomly crashing. I'm guessing its because of thread synchronization or something but I don't know how to fix it.
    U59

  10. #10
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by undrgrnd59 View Post
    Injection is very messy I don't like it. There isn't a good forum post (maybe theres more information on other websites but...) about how to do injection properly. It caused more problems than just UI errors for me, WoW kept randomly crashing. I'm guessing its because of thread synchronization or something but I don't know how to fix it.
    Guess I'll have to disagree there. Injection cleaned up my code by orders of magnitude.

    If you're running code in the WoW process you are injecting, but now you have to deal with thread synch issues, out-of-process issues, and so on.

    IMO, either stay completely passive (memory reads/packet scanning) or inject. The "in between" options (like running OOP but constantly injecting and executing little disposable code caves) just don't make sense. Again, in my opinion. I know some people are making it work, but I certainly wouldn't choose it.
    Don't believe everything you think.

  11. #11
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Amadmonk, do you ever plan on releasing any of your code from when you were running off of packets?

  12. #12
    ramey's Avatar Member
    Reputation
    45
    Join Date
    Jan 2008
    Posts
    320
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by lanman92 View Post
    Amadmonk, do you ever plan on releasing any of your code from when you were running off of packets?
    What a lovely question, comparable to HI CAN I HAVE YOUR CODEZ

  13. #13
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Jesus christ ramey. Quit ****ing trolling. Seriously. It's annoying.

  14. #14
    BoogieManTM's Avatar Active Member
    Reputation
    52
    Join Date
    May 2008
    Posts
    193
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by lanman92 View Post
    Amadmonk, do you ever plan on releasing any of your code from when you were running off of packets?

    what do you want to do with packets? It's probably best to avoid them like the plague. It's easier to do pretty much everything via other methods.

  15. #15
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just to use them for simple things like casting spells and recording damage being taken. Would be easier than being in-process and hooking BCastCombatLog/BCastEvent imo. I like the idea of the OOP-ness.

Page 1 of 2 12 LastLast

Similar Threads

  1. Call Lua callback in DLL cause some Error
    By rafaelcn in forum WoW Memory Editing
    Replies: 3
    Last Post: 08-04-2010, 03:32 AM
  2. LUA error
    By mager1794 in forum World of Warcraft Emulator Servers
    Replies: 4
    Last Post: 05-23-2008, 07:17 PM
  3. LUA Error.
    By controlsx2 in forum World of Warcraft Emulator Servers
    Replies: 2
    Last Post: 05-07-2008, 04:31 PM
  4. [Lua] Error
    By ~ViVo~ in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 03-15-2008, 11:15 AM
  5. [Errorz] A Lua Error I Havent seen before
    By Snailz in forum World of Warcraft Emulator Servers
    Replies: 2
    Last Post: 02-14-2008, 10:12 AM
All times are GMT -5. The time now is 12:05 PM. 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