Jump to content

iMod

Elite user
  • Posts

    581
  • Joined

  • Last visited

Posts posted by iMod

  1. 1 hour ago, suss1 said:

    Hi,

    I keep getting "Game version incorrect" error when using WRobot for TBC 2.4.3 8606.

    I have tried everything, included at link HERE

    - I have also:

    * Reformatted windows numberous times.

    * Reinstalled WoW from both enGB and enUS versions of vanilla and patched up from Stock WoW.'

    * Deleted WRobot files and gotten fresh / Used the preinstalled client.

    Ideas?

    12 Jul 2017 21H50.log.html

    Just ask in the forum where you got the crack from. We don't support such stuff here.

  2. 2 hours ago, Drekal said:

    Hey hab jetzt mit hilfe vom bot mein BB relativ gut hochbekommen auf warmane... aber jetzt wollt ich fragen ob irgendjemand fuer mich ein profil hat fuer Hellfire/sonst wo dass ich paar erze farmen lassen kann.. is wirklich aetzend von hand das zu erledigen... 

    mir wuerd schon reichen wenn ich nur den skill hoch bekomm den rest kauf ich dann im ah bzw geh selber farmen aber so 300-350 waer schon korrekt!

    Farm Profile sind in ca 5 min + Laufzeit gemacht, einfach mal die Tutorials anschauen.

  3. Just now, Seminko said:

    Omg, you're right, I accidentaly deleted return true.

    Back to Csharp, I'm quite familiar with AutoIt and when you declare a variable it can be reached from anywhere in the whole script, that's why i'm so confused. :)

     

    Now i tried finding out the issue but it seems even though I have the item and the item is usable it returns false:

    
    			string s = wManager.Wow.Helpers.ItemsManager.GetItemSpell(5514);
    			bool isUsable = false;
    			if (!string.IsNullOrWhiteSpace(s))
    			{
    				isUsable = wManager.Wow.Helpers.SpellManager.SpellUsableLUA(s);
    			}
    			else
    			{
    				Logging.WriteDebug("Error1");
    			}
    			if (isUsable) //(ObjectManager.Me.ManaPercentage < 10 && ItemsManager.HasItemById(5514) && isUsable)
    			{
    				ItemsManager.UseItem(5514);
    				Logging.WriteDebug("Using Mana Agate");
    				Thread.Sleep(Usefuls.Latency + 1500);
    			}
    			else
    			{
    				Logging.WriteDebug("Error2");
    			}

     

    C# is a object oriented programming language and not a script language.
    Just use the developer tool in the bot and test your c# conditions with it and you will find out what returns false.

  4. 28 minutes ago, Seminko said:

    Is this how Csharp works? Wow, that's strange...

    Nevertheless, still no go --> not all code paths return a value

    Yes thats how csharp works :D can't find some strange stuff. If you are walking in the left room you are not able to see what happens in the right one.

    Well if you need a return value

    string s = wManager.Wow.Helpers.ItemsManager.GetItemSpell(5514);
    bool isUsable = false;
    if (!string.IsNullOrWhiteSpace(s))
    {
        // Set
    	isUsable = wManager.Wow.Helpers.SpellManager.SpellUsableLUA(s);
    }
    if (ObjectManager.Me.ManaPercentage < 10 && ItemsManager.HasItemById(5514) && isUsable)
    {
    	ItemsManager.UseItem(5514);
    	Logging.WriteDebug("Using Mana Agate");
    	Thread.Sleep(Usefuls.Latency + 1500);
    }
    
    // Return
    return isUsable;

     

    29 minutes ago, Seminko said:

    BTW, why are we using SpellUsable when we want to check if an ITEM is usable? --- Mana Agate has a CD

    Maybe because its a spell at the end and handled like this way. I'm not that familar with items so i can't say that much.

  5. 32 minutes ago, Seminko said:

    I'm a C# virgin, please bear with me.

    It says that isUsable doesn't exist in the current context. Does that mean that 'string.IsNullOrWhiteSpace(s)' returned true?

    Here's my code:

    
    string s = wManager.Wow.Helpers.ItemsManager.GetItemSpell(5514);
    if (!string.IsNullOrWhiteSpace(s))
    {
    	bool isUsable = wManager.Wow.Helpers.SpellManager.SpellUsableLUA(s);
    }
    if (ObjectManager.Me.ManaPercentage < 10 && ItemsManager.HasItemById(5514) && isUsable)
    {
    	ItemsManager.UseItem(5514);
    	Logging.WriteDebug("Using Mana Agate");
    	Thread.Sleep(Usefuls.Latency + 1500);
    }

     

    EDIT: it seems that GetItemSpell did not exist in vanilla? Sorry for not mentioning it.

    isUsable is declared in the "if" so everything outside the "if" can't see the variable

    string s = wManager.Wow.Helpers.ItemsManager.GetItemSpell(5514);
    bool isUsable = false;
    if (!string.IsNullOrWhiteSpace(s))
    {
        // Set
    	isUsable = wManager.Wow.Helpers.SpellManager.SpellUsableLUA(s);
    }
    if (ObjectManager.Me.ManaPercentage < 10 && ItemsManager.HasItemById(5514) && isUsable)
    {
    	ItemsManager.UseItem(5514);
    	Logging.WriteDebug("Using Mana Agate");
    	Thread.Sleep(Usefuls.Latency + 1500);
    }

    Give it a try.

  6. 47 minutes ago, Triodor said:

    i know but i dont know why :-)

     

    Du hast 2 Möglichkeiten
    1. Du schaust dir dein Profil noch mal genau an oder vergleichst die Struktur mit funktionierenden.
    2. Du postest dein Profile und lässt andere drüber schauen.

  7. If you are really interrested in creating a nice quest editor in WPF i could offer my help with it. I still started one but lost the focus since it was damn boring alone. I also could offer some SQL knowledge to parse the informations out of a DB. To get all positions of creatures or npc's is kinda easy and i wrote a c# adapter for it which also can parse the openwow page. This is all stuff i made for fun or to learn some new stuff.

    Sample:
    Capture.thumb.PNG.1951a950299d85c0b71ba6029610de37.PNG

  8. On 5.6.2017 at 10:25 PM, Ginger said:

    Hi mal eine frage zum Bot der bricht immer nach ca. 5 minuten ab mit einer fehlermeldung und beendet dann alles. ist seit gestern bei mir so. Komisch ist nur das ich nichts an den einstellungen verändert habe und auch das plugin server hop ist deaktiviert.

    weiß einer rat zufällig

    Das ist wie als würde ich dich fragen ob du das Wetter bei mir auch toll findest. Ohne Fehlermeldung wird dir da keiner helfen koennen.

  9. On 25.6.2017 at 9:52 AM, testex1987 said:

    laut seite soll es doch eine geben wie starte ich das

    Nur fuer privat server und wenn du die version hast, einfach als key TRAIL eingeben.

  10.   if ( wManager.Wow.Bot.Tasks.GoToTask.ToPosition(pos, distance)  && o.IsValid)  
      {
      	if (!MovementManager.InMovement)
        {
        	wManager.Wow.Helpers.Interact.InteractGameObject(o.GetBaseAddress);
        }
      } 

    or if you want to stop the movement since you reached the target
     

                // Still moving?
                if (MovementManager.InMovement)
                {
                    // Stop
                    MovementManager.StopMove();
                }

     

  11. 3 hours ago, Lord said:

    I tried both, but i always got a compilation error .. Even if i just add the _lightOfTuure = new Spell("Light of T'uure");  or _lightOfTuure = new Spell(208065); in the spell list, without any configuration

    (The compilation error is pointing a line wich i didnt even modify to add the spell .. x) & ofc the fightclass work when i get off the line i just added )

    Painful ...( but that make it more interesting :D )

    Could you post the exception error, please?

    Edit:
    Line 193 if (Light of Tuure()) return;
    Line 589 _Light of Tuure.Launch();

    Think about it ;) i could give you the answer but i think its better you really take a look at it to learn it :)
    A hint: "The compilation error is pointing a line wich i didnt even modify to add the spell"

  12. 1 hour ago, Lord said:

    I post the all fightclass, so you can have an idea of the mess i'am doing in it x) (its based on a fightclass from a member wich i'am trying to updated)

    Lord Priest Heal V0.cs

    Spell(ID) not Spell("ID")
    You need to read the type the constructor of the class wants.

    And spaces are not allowed in variable names
     

    _lightOfTuure = new Spell("Light of T'uure");
    OR
    _lightOfTuure = new Spell(208065);
    
    Btw please don't mix the variable style ;) if you start with _justStartWithASmallLetter; 
  13.         public List<WoWGameObject> WoWGameObjects(int mobID)
            {
                return ObjectManager.GetObjectWoWGameObject().Where(i => i != null
                                                && i.Entry == mobID
                                                //&& i.GetDistance <= RealmHopSettings.CurrentSetting.DistanceBeforeHopping
                ).OrderBy(i => ObjectManager.Me.Position.DistanceTo(i.Position)).ToList();
            }
    
    
    
    
            public List<WoWUnit> GetNearestUnits(int mobID)
            {
                return ObjectManager.GetObjectWoWUnit().Where(i => i != null
                                                && !i.IsDead
                                                && i.Entry == mobID
                                                && i.GetDistance <= RealmHopSettings.CurrentSetting.DistanceBeforeHopping
                                                ).OrderBy(i => ObjectManager.Me.Position.DistanceTo(i.Position)).ToList();
            }

    May for your understanding:

    .Where({condition for every single object})
    In this sample "i" represents a single object from the list, thats why you have access to its properties like Name or the Entry(ID)

    The result will be a list of all items that are equals your condition.

  14. Allright it is working now :angry: had some issues in my spell logic. Oh and btw I don't need to add the base. I noticed one issue... sometimes the game switches the target to the mouseover mob.

    Update: Yey it seems that if the target you have is not attaking you it will target the "mouseover" mob.
                  First post updated.

  15. 13 minutes ago, forerun said:

    Ok don't wanna be rude but

    
    0x00BD0798

    Is static ? If so you need add wow base memory adress to that to work. On panda you need to do that because the base is different each time wow is executed so the final adress will be different. In the code above that thing is not present.

    Thats not rude ;) i'm kinda new to that stuff so i'm glad if i get some infos. I'll try that out later.

  16. 1 hour ago, forerun said:

    Ok I get it working 5.4.8 18414 offset.

    MouseGuid  = Wow.exe+D65B28

    After that all is ok and you can cast havoc on not current target without changing the current target and spam shadowburn without changing current target - useful thing. And I don't get strange behaviour nothing is blocked etc. I can run around cast shadwoburn and nuke main target in the same time.

     

    Sounds good i think i have to test the other pointer that @reapler posted. Hopefully its the solution.

  17. 6 hours ago, Droidz said:

    Hello, to use descriptor you can use WRobto API like:

    
    uint address = wManager.Wow.ObjectManager.ObjectManager.Me.GetDescriptorAddress(wManager.Wow.Patchables.Descriptors.PlayerFields.NextLevelXP);
    int result = wManager.Wow.Memory.WowMemory.Memory.ReadInt32(address);

    If you don't want to use focus, you can try to use "mouseover":

    
                        WoWUnit target; // ... your target
                        uint s_MouseOver = 0x00BD0798; // 3.3.5 http://www.ownedcore.com/forums/world-of-warcraft/world-of-warcraft-bots-programs/wow-memory-editing/298310-3-3-5-offsets.html#post1902575
                        wManager.Wow.Memory.WowMemory.Memory.WriteUInt64(s_MouseOver, target.Guid);
                        SpellManager.CastSpellByNameOn("Spell Name", "mouseover");

     

    Disables my right click and i can't turn my camera anymore for some reasons o.O kinda strange

  18. 2 hours ago, forerun said:

    Oh well something new but I don't dig in asm ( :( ) Can you write here how to do it for 5.4.8 pandaria ? Plz ;) I can manage c# but not how to use the internal function from wrobot level.

    Never tried it with wrobot but i will give it a try later.

    Take a look at "Marshal.GetDelegateForFunctionPointer"

    [5.4.8 18414]
    CastSpell = 0x4F9983

    Update:
    Some problems with rebase the pointer.

  19. 7 minutes ago, reapler said:

    I've used a more or less modified lua engine from a guy that had wriiten it for 4.3.4 but i got tired with cataclysm and couldn't use the stuff for other Wow expansions(so i came here and learned abit C#) and with objectmanager/hook i'm not sure but i don't think you need to write much or? i mean you can get the base address, pointers and as well other objects and lookup/add descriptors or offsets from the already existing manager. For e.g. i needed something to check a descriptorfield wheter item is soulbound or not(i don't know anymore where exactly i've found it) but i figured out later that the function already exist haha

    Anyway here is how it looked like:

    
        public class Descriptor
        {
            private static uint Descriptor_Offset = 0x8;
    
            //not in api Can be added later
            /*public static uint Read(WoWDynamicObject obj, Descriptors.DynamicObjectFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }*/
    
            public static uint Read(WoWItem obj, Descriptors.ItemFields field)
            {
                return Read(obj.GetBaseAddress, (uint) field);
            }
    
            public static uint Read(WoWObject obj, Descriptors.ObjectFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
    
            public static uint Read(WoWContainer obj, Descriptors.ContainerFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
    
            public static uint Read(WoWCorpse obj, Descriptors.CorpseFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
            
            public static uint Read(WoWGameObject obj, Descriptors.GameObjectFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
    
            public static uint Read(WoWPlayer obj, Descriptors.PlayerFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
    
            public static uint Read(WoWUnit obj, Descriptors.UnitFields field)
            {
                return Read(obj.GetBaseAddress, (uint)field);
            }
    
            public static uint Read(uint obj, uint field )
            {
                try
                {
                    if (obj != null)
                    {
                        uint address = Memory.WowMemory.Memory.ReadUInt32(obj + Descriptor_Offset);
                        return Memory.WowMemory.Memory.ReadUInt32(address + field);
                    }
    
                }
                catch (Exception ex)
                {
                    Logging.WriteError("Error: " + ex);
                    return 0;
                }
                return 0;
            }
            //Add Write
        }

    Maybe you also don't need to write for yourself for your goal

    Thanks dude, i still have all descriptor and offsets i think but my problem atm is that i have some trouble with the asm stuff ^.^ I think i just need to invest some more time in it to get everything nice and clean :) Yeah this bot was way cleaner few years ago =/ now it feels kinda overloaded and slow and this lua memory issue is horrible =/

×
×
  • Create New...