Jump to content

Pudge

WRobot user
  • Posts

    348
  • Joined

  • Last visited

Posts posted by Pudge

  1. Yes, disconnecting because they require to install their patches, which they update daily.

     

    2 hours ago, Matenia said:

    You can probably add a custom MPQ that's loaded at the very beginning that just loads FrameXML or something that copies CastSpellByName

     

    
    originalCastSpellByName = CastSpellByName
    
    -- later in wrobot use this code:
    originalCastSpellByName("Frostbolt")

    Maybe that will work. Otherwise - weird. THey definitely heavily modify the UI with their MPQs

    Interesting, will have to try, if I understand how to do that :)

  2. This is bug, it appears when you have bad internet connection/using poor proxy.  Ask @Droidz for fix it.

    As soon as this happens, the bot starts a pause-unpause cycle. The only solution is a full restarting the wrobot process. I made this function in my plugin, so when the entry "Pathfinder server seem down, pause bot for 20 secondes" appears in the log - wrobot process will be killed and restarted by relaunch in relogger.

  3. Hello!


    Is it possible to detect this state? When character is in game but UI is currently reloading.

    Boolean Usefuls.IsLoadingOrConnecting doesn't detect the loading screen from reload UI when character already entered the world and it returns false, it returns true only on the loading screen when character enters the world from selection menu.


    image.thumb.png.f5ac257427d190246ca20fe87ad4211e.png


    Also Usefuls.InGame and Conditions.InGameAndConnected returns false when UI is reloading, this is weird.

     

    Maybe some elements from interface can be catched by method IsVisible/IsShown ?

  4.  

    Hi, I want to know about the function wManager.wManagerSetting.CurrentSetting.SpellRotationSpeed

    image.png.f4e1ded7b3c6a17ea55a93bbc9fac7e0.png

    I would like to know how it works, how it determines which spells can be skipped and which ones should be used. Turning it on I really noticed some acceleration of the battle.

     

    I would like to know in which situations it can be included and in which to refrain from it. Thank's

  5. 21 minutes ago, Droidz said:

    try

    
    using System.Windows.Forms;
    using robotManager.Helpful;
    using wManager.Wow.Helpers;
    using wManager.Wow.ObjectManager;
    
    public class Main : wManager.Plugin.IPlugin
    {
    
        public void Initialize()
        {
            var badCorpsePos = new Vector3(-3362.286f, 4665.728f, -22.70619f);
            var enterDungeonPos = new Vector3(-3362.163f, 4636.226f, -101.049f);
    
            Logging.Write("[EnterCorpse] Started.");
            wManager.Events.OthersEvents.OnPathFinderFindPathResult += (from, to, path, mpq, success) =>
            {
                if (ObjectManager.Me.IsDead && to.DistanceTo(badCorpsePos) < 10)
                {
                    path.Clear();
                    path.AddRange(PathFinder.FindPath(enterDungeonPos));
                }
            };
        }
    
        public void Dispose()
        {
            Logging.Write("[EnterCorpse] Disposed.");
        }
    
        public void Settings()
        {
            MessageBox.Show("??");
        }
    }

     

    Ð Ñем Ð¼Ð¾Ð¶ÐµÑ ÑаÑÑказаÑÑ Ð±Ð¾Ð»ÑÑой Ð¿Ð°Ð»ÐµÑ | РÑÑÑÐºÐ°Ñ ÑемеÑка

  6.  

    The fact is that the coordinate of the body is Z = 22.7034, and the entrance to the dungeon is at a height of Z = -101.049f and the bot goes and stands above the cave at the entrance

    image.thumb.png.1ffed0f555bb09c40ff8780a68a5a95e.png

    image.png.168528b1a0b7f4ca1e9ef9269e48f7ae.png

    50 minutes ago, Droidz said:

    Hello,

    if you can walk from detected corpse position to dungeon enter without obstacle try:

    
    using System.Windows.Forms;
    using robotManager.Helpful;
    
    public class Main : wManager.Plugin.IPlugin
    {
    
        public void Initialize()
        {
            Logging.Write("[EnterCorpse] Started.");
            wManager.Events.OthersEvents.OnPathFinderFindPathResult += (from, to, path, mpq, success) =>
            {
                if (to.DistanceTo2D(new Vector3(-3362.286f, 4665.728f, -22.70619f)) < 30)
                {
                    path.Add(new Vector3(new Vector3(-3362.163f, 4636.226f, -101.049f)));
                }
            };
        }
    
        public void Dispose()
        {
            Logging.Write("[EnterCorpse] Disposed.");
        }
    
        public void Settings()
        {
            MessageBox.Show("??");
        }
    }

     

     

    when reaching the position of the body goes to the bottom, it is necessary that the path is generated from the respawn to the portal, it is possible

     

    image.thumb.png.594267501eea4ca951478d70f024d982.png

    11 Jun 2020 17H32.log.html

  7.  

     

     

    Hi everyone, I'm trying to do my best after dying in a dungeon. I found little information about this on the forum. That's all. I made a plugin using your @Droidz code. But it doesn’t want to work, although the condition for executing the code works.

    using System.ComponentModel;
    using System.Windows.Forms;
    using robotManager.Helpful;
    using wManager.Wow.Helpers;
    using wManager.Wow.ObjectManager;
    
    public class Main : wManager.Plugin.IPlugin
    {
    
        public void Initialize()
        {
            Logging.Write("[EnterCorpse] Started.");
            wManager.Events.OthersEvents.OnPathFinderFindPath += delegate (Vector3 from, Vector3 to, string mpq, CancelEventArgs cancelable)
            {
                try
                {
                    if (to != null && (ObjectManager.Me.PositionCorpse.Z == to.Z) && to.DistanceTo2D(new Vector3(-3362.286f, 4665.728f, -22.70619f)) < 30)
                    {
                        to = new Vector3(-3362.163f, 4636.226f, -101.049f, "None"); // dungeon entrance point
                        Logging.Write("Path changed to " + to.ToString() + "");
                        //cancelable.Cancel = true;
                        //Thread.Sleep(10000);
                        //MovementManager.StopMove();
                        //PathFinder.FindPath(to);
                        //MovementManager.Go(PathFinder.FindPath(to));
                        //cancelable.Cancel = true;
                    }
                }
                catch { }
    
            };
            
            
    
        }
    
        public void Dispose()
        {
            Logging.Write("[EnterCorpse] Disposed.");
        }
    
        public void Settings()
        {
            MessageBox.Show("??");
        }
    
    
    }

     

    The log shows that the code works, but the path changes instantly and the bot runs to the corpse position:

     

    11 Jun 2020 16H00.log.htmlimage.png.c631667b90ea8b8d15624cefd00b9ea9.png

     

    Any ideas why this does not work as it should?

  8. I used the code from his plugin, it works awesome, I redid it for myself and set up the display of the necessary information, but Logging.Status is not what I need, need the name of the currently running step.

  9. Code like this should help

    // train skills by name //
    if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(new robotManager.Helpful.Vector3(5813.14f, 475.205f, 658.7826f), 31238))
    {
      
    	wManager.Wow.Helpers.Usefuls.SelectGossipOption(wManager.Wow.Enums.GossipOptionsType.trainer);
    	Thread.Sleep(1000);
      
    	// spell 1 //
    	if (!Lua.LuaDoString<bool>("if IsSpellKnown(54197) then return true end") && Lua.LuaDoString<bool>("for i=1,GetNumTrainerServices() do serviceName,_,serviceType,_=GetTrainerServiceInfo(i) if serviceName == 'Cold Weather Flying' and serviceType == 'available' then return true end end"))
    	{
            	Lua.LuaDoString("for i=1,GetNumTrainerServices() do serviceName,_,_,_=GetTrainerServiceInfo(i) if serviceName == 'Cold Weather Flying' then BuyTrainerService(i) end end");
    		Thread.Sleep(1000);
    	}
      
    	// spell 2 //
    	if (!Lua.LuaDoString<bool>("if IsSpellKnown(33391) then return true end") && Lua.LuaDoString<bool>("for i=1,GetNumTrainerServices() do serviceName,_,serviceType,_=GetTrainerServiceInfo(i) if serviceName == 'Journeyman Riding' and serviceType == 'available' then return true end end"))
    	{
    		Lua.LuaDoString("for i=1,GetNumTrainerServices() do serviceName,_,_,_=GetTrainerServiceInfo(i) if serviceName == 'Journeyman Riding' then BuyTrainerService(i) end end");
    		Thread.Sleep(1000);
    	}
      	
    }

     

  10.  

    Hi, I need help, I tried to get the minimum value from Auction Page

    List<AuctionHelpers.AuctionItem> auklist = new List<AuctionHelpers.AuctionItem>();
                          foreach (var item in AuctionHelpers.GetBrowsePageItems())
                        {
                            if(item.IsValid())
                            auklist.Add(item);                       
                        }
      var ChepestItemauklist = auklist.Where(x => x.Name == "Frostweave Bag").OrderBy(x => x.BuyoutPricePerUnit).Min();//error code

    but I get an error if I try to use such code

    image.png.fbdfd22edd10eee1aa74cffd311889f0.png

     

    I need to know the minimum price on the page to use it for comparison.

     

    Does anyone know which method to use to get the minimum buyout price from the AuctionItem array?

     

    I know what you can extract into a separate BuyoutPrice list<int> and then everything seems to work as it should, but I would like to know if you can get the minimum value from multidimensional arrays of the wrobot?

    5 Jun 2020 05H15.log.html

  11. Hi!


    I know that there is a GetText() API but I don’t know how to find the name of the text element I need, framestack shows only the names of the buttons, not the text itself.

    Is there a way to “extract” text from text elements of the wow interface, like a StaticPopup frame image.png.b94bd09924fefe915eead865b38b9394.png or error frame image.png.2f6fb06b3d708209fafcd8aea6e27811.png  ? 


    Thanks in advance to everyone who answers

  12.  

    Hi.

    I create this topic in the quaiter assist, because I don’t know what the problem is, but I see it only when used on this quest profile. The video shows that after each kill of the mob, the bot, instead of fighting with others, loots the killed mob, despite the fact that LootInCombat = false. This is very bad, because if the bot is in a battle with 4-5 mobs, they quickly kill it.

    I don’t use any plugins when recording. What is noteworthy, the bug appears only after repeated farming of the dungeon, after rebooting the bot the bug disappears briefly.

     

    Who has faced anything like this?

     

    It may be a function of the wrobot that I don’t know about?

     

    I do not post the profile of the farm itself, I can send it in PM if someone want help and thinks that the matter is in the profile.

     

     

     

    27 May 2020 20H49 - uWmQNfQ.log.html Quester-Galilei.WoW Circle 3.3.5a x5.xml General-Galilei.WoW Circle 3.3.5a x5.xml

  13. 1 hour ago, Matenia said:

    double escape \n as \\n


    thanks for the help, this solved the problem

    1 hour ago, Marsbar said:

    One can also use Environment.NewLine in C# if that's easier.

    var text = ""+System.Environment.NewLine+"1"+System.Environment.NewLine+"2"+System.Environment.NewLine+"3"+System.Environment.NewLine+"4"+ System.Environment.NewLine+"5"+System.Environment.NewLine+"6";

    In dev tools:

    image.png.7bf629a85f4b07429081568bd3b00b1e.png

     

    in game

    image.png.54cccfa0730a670fa6bf2a00c9df9439.png

     

  14. 1 hour ago, Sye | SMoKie said:

    Paste your code

     

    var name = "qq";
    var subject = 123;
    var text = "1\n2\n3\n4\n5\n6";
    //Lua.LuaDoString(@"SendMail('qq', '123', '1\n2\n3\n4\n5\n6')"); //without
    Lua.LuaDoString(@"SendMail('"+name+"', '"+subject+"', '"+text+"')");
    //Lua.LuaDoString(@"SendMail('"+name+"', '"+subject+"', '1\2\3\4\5\6')"); // with the introduction of variables

     

×
×
  • Create New...