-
Posts
12442 -
Joined
-
Last visited
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Posts posted by Droidz
-
-
I have moved your topic because I have changed permissions of beta tester forum.This shortcut is created for users that launching wrobot directly in the wrobot folder, it is for this reason than this shortcut is created in wrobot folder.You can make this shortcut where you want, if he have no key or no launched wow process the program stop on login window (as if you launch wrobot without argument).
-
great news, and yes, i can launch update with arguments at that time, it would be during preload for the uninstaller however, because update.exe is deleted during uninstallation.
Ok, I'll add option to uninstall in the update.exe
could anyone tell me if im checking the correct key for the install path of world of warcraft, specifically if you are on a 32bit system.HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Blizzard Entertainment\World of Warcraft
in there is a string "InstallPath" with a value (in my case) of C:\Program Files\World of Warcraft\
so theoritically If I can make a variable of InstallPath and get its value from that registry key, I can then work with it as a directory and move on with creating the shortcuts.
Me I have also (probably old path, I have not update this path) "SOFTWARE\Blizzard Entertainment\World of Warcraft" > "InstallPath" (get wow folder path).
-
I'll see if I found solution for uninstall properly wrobot. During uninstallation you can launch update.exe with arguments?
You can found privacy and terms of use here: http://wrobot.eu/privacypolicy/
I have tested alpha 3 and np (windows 8 x64)
Thanks
-
Droidz, I have somewhat of an idea on how to do this, I need to check if i can add arguments or switches from within the installer, Im not finding a way to do that right now, but what I can do is create a simple bat, using
And running it as installsilent.cmd. The /b will run it without a window
I have 1 question and 1 possible issue with doing this,
1st question is after running that screen I have no way of knowing when the 'update' or 'download' that update.exe is doing finishes. so I dont know when to move to the next screen. because the cmd im making finishes executing after it runs update.exe, what I need to figure out is how to tell when update.exe finishes before I continue to the update success screen in my installer.
This may or may not work out. I guess I just need to test it. Otherwise I just need a graphic for the vertical banner, and for the most part my installer is done :)
Installation is finish when Update.exe process is closed, If he are one error, message box shown error by Update.exe.
-
I have added silent install, use argument silent=true (Update.exe silent=true)
ps: redownload updater
-
hey,
fantastic, just let me know which switches to use, Ill get some more work done on this today. And by option to the folder, do you mean the directory itself, or just the option to add desktop shortcuts.Option to add desktop shortcuts
This is causing me some problems with uninstall options because the uninstaller built from my compiler only deletes the files included within it, so any files added by running update.exe remain along with the folder tree. I tried addressing this by using a folder.deletetree(%ProgramFilesFolder%/%AppFolder%) type command, but it doest seem to work. I then thought about creating a basic batch file that would delete the directory, manually and call the batch file from the uninstaller, then delete the batch when the uninstaller closes or on reboot, but there must be a cleaner way to get this done.If a silent switch is added to update.exe install/update, I can easily add a page that checks for internet connectivity, then runs the file on a "checking for updates" page depending on the return of the internet connectivity check.
I think I got the directory shortcut added correctly, but giving the user the option whether to add these shortcuts or not is causing some issues, but Im working on ti.
You can check if the download server is online if you can load this page: http://download.wrobot.eu/wrobot/bin/updateinfo.php or if you can download this file: http://download.wrobot.eu/wrobot/bin/WRobot.exe or this (xml, list all wrobot download files) : http://download.wrobot.eu/wrobot/bin/update.phpFor uninstall I haven't solution (I don't know what software do you use for make installer), but an batch can be good -
Happy New Year 2013
-
No problem with avast normaly.
I have try (on windows 8) if you launch update.exe on desktop no problem, but if you launch update.exe on program file you need to use admin mode.
-
Very Good,
My suggestion: Add possibility to choose install path and and add option for make a shortcut to wrobot folder on the desktop
I'll add Silent Installation in "Updater", for auto install wrobot if it is launched with your installer.
-
Merry Christmas Everyone!
-
If you want share an key with your friend I think the key license is best than you username and password (or for use multi license).If you don't have save your password it is indicated to write your license key in the textbox, but in the next version I'll add more information for helping new users.
-
Pretty basic for now, but I will edit and elaborate as I find bugs and see fit.
After launching WRobot,
1. Select the Archaeologist plugin from the drop down.
2. In general settings, and put a mount in both ground and flight, I used the same mount to simplify, in my case Armored Blue Wind Rider, please also take note this is case sensitive, and spelling is extremely important. Save and exit the settings tab.
3. Ingame, make sure to check show digsites on your map
4. Click Start on bot
5. Profit.
By twizt3dkitty -
Ok, Update available
-
You can launch lua script:
string money = Lua.LuaDoString("money = GetMoney()", "money");
And you can use others structs: (sample of tnb customclass: http://pastebin.com/vqjFFJEE )For create product (grinder, gatherer, ...) I use api of robotManager.dll and wManager.dll (like for fights class), you have acces at a lot of informations for create fights class. -
Hello,
With "Hostile Unit Near"
(in the next update I'll add "Hostile Unit Near Target")
-
Price fixed
in News
Hello,
I have fixed prices of WRobot and CRobot.
WRobot:
15 € = 6 months
24 € = 1 year
CRobot:
15 € = 1 year
I have also advanced on the new website, I'll release the new bot client compatible with the new website in the week (I want add fixes and options on wrobot before release).
-
Before all, "Packages Manager" is used for auto installing/updating or uninstalling an profile, product or others bot files. The objectif is to install additional files in the bot easy for user.
How to make link:
"Packages Manager" works only with zip file.
"Packages Manager" extract zip at the bot root folder, if you want adding an gatherer profile you need to add in your zip the folders "\Profiles\Gatherer\" and put your profile in the folder.
Url type:
wrobot:<UrlToMyFile.zip> <Packet Name> <My Name> <Active Auto Update>
Sample with forum bbcode (without auto update):[WRP="Fisher bot profile sample"]wrobot.eu/index.php?app=core&module=attach§ion=attach&attach_id=3[/WRP] (url whitout http://)
Sample with forum bbcode (with auto update):[WRPA="Fisher bot profile sample with auto update"]wrobot.eu/index.php?app=core&module=attach§ion=attach&attach_id=3[/WRPA] (url whitout http://)
Try:" target="_blank" title="Fisher bot profile sample">Fisher bot profile sample -
How to download, install and launch WRobot
The how to is here: -
How to activate Pet Battle
The Pet battle option is integrated at Grinder bot, the bot travel your grinder profile and if he have an wild pet near the bot launch the combat. The bot will use the best ability of your pet automatically (depending of your target), if all pets are deads wrobot use resurect spell.
For activated this option, select Grinder product, click on "Start" button. On the new window checked option "Wild Pets Battle", select an profile and click on the button "Load Profile". -
How to create an Fight Class (developer only)
Fight class using bot API. He is recommanded to use visual studio 12 with framework 4.5 for create an Fight class (add in reference robotManager.dll and wManager.dll).
WRobot supporting C#, Vb.net code, and dll.
Sample C# Fight Class for Hunter: (Finite State Machine (Engine)) ( http://pastebin.com/ywQ2VPGr )using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.IO; using System.Linq; using System.Threading; using robotManager; using robotManager.FiniteStateMachine; using robotManager.Helpful; using wManager.Wow.Class; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; using Timer = robotManager.Helpful.Timer; public class Main : ICustomClass { public float Range { get { return 36; } } private Engine _engine; public void Initialize() { HunterSettings.Load(); _engine = new Engine(false) { States = new List<State> { // Pet new PetManager { Priority = 20 }, // Defensive new SpellState("Freezing Trap", 13, context => (ObjectManager.GetUnitAttackPlayer().Count(u => u.GetDistance <= 8) >= 1 && ObjectManager.GetUnitAttackPlayer().Count > 1)), new SpellState("Disengage", 21, context => (ObjectManager.GetUnitAttackPlayer().Count(u => u.GetDistance <= 8) >= 1)), // Attac multi new SpellState("Multi-Shot", 14, context => (ObjectManager.GetUnitAttackPlayer().Count() > 1)), new SpellState("Explosive Trap", 14, context => (ObjectManager.GetUnitAttackPlayer().Count(u => u.GetDistance <= 8) > 1)), // Attac new SpellState("Hunter's Mark", 15, context => (!ObjectManager.Target.HaveBuff("Hunter's Mark"))), new SpellState("Stampede", 13, context => HunterSettings.CurrentSetting.Stampede), new SpellState("Rapid Fire", 12, context => HunterSettings.CurrentSetting.RapidFire), new SpellState("Kill Shot", 11, context => true), new SpellState("Blink Strike", 10, context => HunterSettings.CurrentSetting.BlinkStrike), new SpellState("Serpent Sting", 9, context => ObjectManager.Me.Focus > 30 && !ObjectManager.Target.HaveBuff("Serpent Sting")), new SpellState("Kill Command", 8, context => ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.Position.DistanceTo2D(ObjectManager.Target.Position) < 25), new SpellState("Bestial Wrath", 7, context => true), new SpellState("Dire Beast", 6, context => HunterSettings.CurrentSetting.DireBeast), new SpellState("Arcane Shot", 5, context => ObjectManager.Me.Focus > 30), new SpellState("Cobra Shot", 4, context => ObjectManager.Me.Focus < 25), new SpellState("Readiness", 3, context => HunterSettings.CurrentSetting.Readiness), } }; _engine.StartEngine(5); } public void Dispose() { if (_engine != null) { _engine.StopEngine(); _engine.States.Clear(); } } public void ShowConfiguration() { HunterSettings.Load(); HunterSettings.CurrentSetting.ToForm(); HunterSettings.CurrentSetting.Save(); } class PetManager : State { public override int Priority { get; set; } public override string DisplayName { get { return "Pet Manager"; } } Timer _petTimer = new Timer(-1); public override bool NeedToRun { get { if (!_petTimer.IsReady) return false; if (ObjectManager.Me.IsDeadMe || ObjectManager.Me.IsMounted) { _petTimer = new Timer(1000 * 2); return false; } if (!ObjectManager.Pet.IsValid || ObjectManager.Pet.IsDead) return true; return false; } } public override List<State> NextStates { get { return new List<State>(); } } public override List<State> BeforeStates { get { return new List<State>(); } } private readonly Spell _revivePet = new Spell("Revive Pet"); private readonly Spell _callPet = new Spell("Call Pet 1"); public override void Run() { if (!ObjectManager.Pet.IsValid) { _callPet.Launch(true); Thread.Sleep(Usefuls.Latency + 1000); } if (!ObjectManager.Pet.IsValid || ObjectManager.Pet.IsDead) _revivePet.Launch(true); _petTimer = new Timer(1000 * 2); } } } [Serializable] public class HunterSettings : Settings { [Setting] [DefaultValue(false)] [Category("Beast Mastery")] [DisplayName("Rapid Fire")] [Description("Use Rapid Fire")] public bool RapidFire { get; set; } [Setting] [DefaultValue(false)] [Category("Beast Mastery")] [DisplayName("Stampede")] [Description("Use Stampede")] public bool Stampede { get; set; } [Setting] [DefaultValue(false)] [Category("Beast Mastery")] [DisplayName("Dire Beast")] [Description("Use Dire Beast")] public bool DireBeast { get; set; } [Setting] [DefaultValue(false)] [Category("Beast Mastery")] [DisplayName("Readiness")] [Description("Use Readiness")] public bool Readiness { get; set; } [Setting] [DefaultValue(false)] [Category("Beast Mastery")] [DisplayName("Blink Strike")] [Description("Use Blink Strike")] public bool BlinkStrike { get; set; } private HunterSettings() { ConfigWinForm(new System.Drawing.Point(400, 400), "Hunter " + Translate.Get("Settings")); } public static HunterSettings CurrentSetting { get; set; } public bool Save() { try { return Save(AdviserFilePathAndName("CustomClass-Hunter", ObjectManager.Me.Name + "." + Usefuls.RealmName)); } catch (Exception e) { Logging.WriteError("HunterSettings > Save(): " + e); return false; } } public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("CustomClass-Hunter", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load<HunterSettings>(AdviserFilePathAndName("CustomClass-Hunter", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return true; } CurrentSetting = new HunterSettings(); } catch (Exception e) { Logging.WriteError("HunterSettings > Load(): " + e); } return false; } }
Another C# Fight Class structure: ( http://pastebin.com/krBv3QCD )using System; using System.Threading; using System.Windows.Forms; using robotManager.Helpful; using robotManager.Products; using wManager.Wow.Class; using wManager.Wow.Enums; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; using Timer = robotManager.Helpful.Timer; public class Main : ICustomClass { public float Range { get { return 4.5f; } } private bool _isLaunched; private ulong _lastTarget; public void Initialize() // When product started, initialize and launch Fightclass { _isLaunched = true; Logging.Write("[My fightclass] Is initialized."); Rotation(); } public void Dispose() // When product stopped { _isLaunched = false; Logging.Write("[My fightclass] Stop in progress."); } public void ShowConfiguration() // When use click on Fight class settings { MessageBox.Show("[My fightclass] No setting for this Fight Class."); } // SPELLS: // Buff: public Spell DeadlyPoison = new Spell("Deadly Poison"); public Spell Sprint = new Spell("Sprint"); // Pull: public Spell Stealth = new Spell("Stealth"); // Combat: public Spell Garrote = new Spell("Garrote"); public Spell SliceandDice = new Spell("Slice and Dice"); public Spell Eviscerate = new Spell("Eviscerate"); public Timer SliceandDiceTimer = new Timer(); // Timer internal void Rotation() { Logging.Write("[My fightclass] Is started."); while (_isLaunched) { try { if (!Products.InPause) { if (!ObjectManager.Me.IsDeadMe) { BuffRotation(); if (Fight.InFight && ObjectManager.Me.Target > 0) { Pull(); CombatRotation(); } } } } catch (Exception e) { Logging.WriteError("[My fightclass] ERROR: " + e); } Thread.Sleep(10); // Pause 10 ms to reduce the CPU usage. } Logging.Write("[My fightclass] Is now stopped."); } internal void BuffRotation() { if (ObjectManager.Me.IsMounted) return; // Deadly Poison: if (DeadlyPoison.KnownSpell && !DeadlyPoison.HaveBuff && DeadlyPoison.IsSpellUsable && !ObjectManager.Me.GetMove) { DeadlyPoison.Launch(); return; } // Sprint if (Sprint.KnownSpell && !ObjectManager.Me.InCombat && ObjectManager.Me.GetMove && Sprint.IsSpellUsable) { Sprint.Launch(); return; } } internal void Pull() { if (ObjectManager.Me.Target == _lastTarget) return; // Stealth: if (Stealth.KnownSpell && Stealth.IsSpellUsable && !Stealth.HaveBuff && ObjectManager.Target.Target != ObjectManager.Me.Guid) { Stealth.Launch(); _lastTarget = ObjectManager.Me.Target; } } internal void CombatRotation() { // Garrote: if (Garrote.IsSpellUsable && Garrote.IsDistanceGood && Garrote.KnownSpell && ObjectManager.Me.HaveBuff(115192)) { Garrote.Launch(); return; } // Eviscerate: if (Eviscerate.KnownSpell && Eviscerate.IsSpellUsable && Eviscerate.IsDistanceGood && (ObjectManager.Me.ComboPoint > 4 || (SliceandDice.HaveBuff && SliceandDiceTimer.IsReady))) { Eviscerate.Launch(); if (SliceandDice.HaveBuff) SliceandDiceTimer = new Timer(1000 * 36); return; } } }
Sample Vb.net Fight Class base: ( http://pastebin.com/EETxYYi3 )
Imports System.Collections.Generic Imports System.Linq Imports System.Threading Imports robotManager.FiniteStateMachine Imports robotManager.Helpful Imports wManager.Wow.Class Imports wManager.Wow.Helpers Imports wManager.Wow.ObjectManager Public Class Main Implements ICustomClass Public ReadOnly Property Range As Single Implements ICustomClass.Range Get Return 5 End Get End Property Public Sub Initialize() Implements ICustomClass.Initialize End Sub Public Sub Dispose() Implements ICustomClass.Dispose End Sub Public Sub ShowConfiguration() Implements ICustomClass.ShowConfiguration End Sub End Class
Sample DLL:
Only create class Main (implement ICustomClass) without namespace in your dll. -
How to install Fight Class
Install => It is very easy, just download on the forum an fight class and put it in the folder "WRobot/FightClass/".
Use => In the main WRobot window, click on the button "General Settings", in the new window select your Fight class with the first option (you can edit option of your fight class if you click on the button "Settings"). -
I wait that all threads and datas are transferred to the new forum and I close all old websites.
The new website has an best store and you need only one account and he have an good download system (Now I use invisionpower board, the price is higher but it is best than vbulletin + wordpress)
-
Hello again
-
New website
in News
Party Bot
in General discussion
Posted
Hi,
Thanks for the review.