[How to] Pscript LE menu

User Tag List

Results 1 to 9 of 9
  1. #1
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [How to] Pscript LE

    What Is PPather?
    PPather is an advanced custom class, well that might be a stretch.
    It's more like a new program/language to make better classes and things along those lines. It opens up WoW MPQ files to see objects and things in the way, what does this mean? NO MORE STUPID PATHS AND LOWER BANHAMMER CHANCE, when used right!!! Now I could go into depth, but that will be later.

    The semi-colon:
    The semi colon, is one of the most important parts of Pscript*. If you have ever coded in another coding language then it may be familiar to you that some lines end with a “;” (semi-colon(looks like this ; there are no “s)). In Pscript though all commands end with a ; it is to clarify “end of command” a missing ; is the most common bug in a hand written Pscript.
    Example: nonworking- $Prio = 2
    working- $Prio = 2;

    The Friendly Neighborhood //:
    As is in most scripts, you can put a // to put notes, it wont flag it as a command, but ignore it (in other languages it is a #)

    EX:
    Code:
    //this is mydurability checker
    $MyDurability //this is it!
    You and Variables:
    Varaiables are simple things. They always have a $ infront of them so you know.
    Ex:
    Code:
    	$IsInCombat
    	$MyZone
    	$MySubZone
    	$MyHealth
    	$MyMana
    	$MyEnergy
    	$MyDurability
    	$MyGearType
    	$MyX
    	$MyY
    	$MyZ
    	$FreeBagSlots
    	$MyMoney
    	$IsStealthed
    	$BGQueued
    	$AlreadyTrained
    	$ItemCount
    What else is there to say about Variables... Hmm they control what is going to happen.
    Code:
    $IsStealthed = True //This is a great example
    IsStealthed, tells the bot weather you should be stealthed or not, this is a great example of, what I call, “Non-English Pscript”. Most Variables are self-explanatory, like MyMana, but IsStealthed not so much.

    The = True tells it it should be stealthed, If it said = False, means that you shouldn't during this event. Some Varaibles don't use True and false some use 1 and 0.


    A Function:
    Great example of this is the “HaveBuff” Function. As many know glider is bad at buffing. But Ppather checks to see if you have a buff by using this function.

    Code:
    HaveBuff(Inner Fire) //This can be anyother buff.
    The Operator:
    Not to much detail on this I don't like them much.

    A simple example is

    $var1 +2

    That makes it $var3

    Messy coding, to confuse the user maybe, but yeah as I said I hate it.

    Okay you get more than that. They modify Variables, simply put +2 adds two to the variable.

    The Mother Goose:
    So lets move on the the mother goose and her hens (thats right for a goose right?)
    Par, its the mother of your commands. Now since I am a strong believer in learn by seeing here it is:

    Code:
    Par
       {
            Defend { $Prio = 0;}
            Loot { Prio = 2;}
            Danger { $Prio = 1;}
        }
    Wait! To most coders that unnatural having a command outside of the {}s, but its Pscripts, not theotherscript!

    Don't forget Seq, it defines the Sequence in witch things happen.

    Code:
    Seq
    {
      Harvest { $Types = [Herb]; } // Doesn't have to be Herb, it can be Ore, or other gathering.
      Walk { $Locations = [[ X, Y, Z]]; } //Put your XYZ find that via hotspots*.
    }
    If:
    A statement that Is like the “Mother Geese” is If.

    Code:
    If
     {
    
       $cond = ($MyLevel >= 12);
          Par
          {
                 Pull {  $Prio = 2;}
          }
      }
    Simply and humanly put it says if my level is Less than or Equal to 12 then pull is priority 2.
    Until:
    This is a lot like If so a little less explanation

    Code:
    Until
     {
         $cond = ($ItemCount{“Light Leather”} = 10) ;
         Par
         {
    
    
                 Hotspots [[Hotspots]] //read later
         }
         Loot
         {        
                 $Skin = True
         }
     }
    This means: Until The item Light Leather is 10 go to this spot and skin kills.

    This is some messy scripting on my part I know.

    Hotspots:
    Hotspots tells the bot were to go. It doesn't mean stay confined to this area. It says anything with in a 500 yard vicinity is fare game, run around in this area.

    Hotspots are more than the killing zone though, they are also were some vendors are, that detail will come in later at the example script.


    Script:
    Here it is the long awaited example script. Here I will touch up on Variables not talked about.

    Code:
    Par 
      {
          $MinLevel = $MyLevel-6; 
          $MaxLevel = $MyLevel + 2; 
      
          Defend 
          {  
            $Prio = 0;
          }
        
          Danger
          {  
            $Prio = 1;
            $Distance = 20;
          }
    	
           Loot
          {
            $Prio = 2;
          }
    	Par
           {
              $Prio =2;
              $MinDurability = .1; 
              $MinFreeBagSlots = 4;
              $SellGrey  = true;
              $SellWhite = true; 
              $SellGreen = false;
              $Protected = ["bandage", "leather", "hearth", "copper rod", "shot", "arrow", "potion", "ore", "mining pick", "ribs", "poison", "shell", "thieves", "injector", "flash powder", "mote", "primal", "text", "fertile", "candle", "grainbread", "water", "skinning", "sargeras", "conjured", "brie", "banana", "strange dust"];
    
              Vendor
              {
                    $RepairNPC = "Nargal Deatheye"; 
                    $SellNPC   = "Nargal Deatheye"; 
              }
    
          }
          Pull { $Prio = 3; $Factions = [16, 189, 48, 130, 15, 38]; } 
     
          Hotspots
          {
              $Prio = 4;
              $Order = "Random";
              $Locations = [[ -811.1, -2695.9, 93.3], [ -947.0, -2777.2, 93.2], [ -1110.2, -2960.8, 92.7], [ -1083.0, -3189.3, 91.7]]; /
           }
          
         
      }
    $MinLevel = $MyLevel-6;
    $MaxLevel = $MyLevel + 2;
    This says kill things 6 levels below me and 2 levels above me

    Defend
    {
    $Prio = 0;
    }

    Danger
    {
    $Prio = 1;
    $Distance = 20;
    }

    Loot
    {
    $Prio = 2;
    This tells glider that Defend yourself at all costs, then if in danger attack inexample if a person is to close, and loot after you are safe.

    Par
    {
    $Prio =2;
    $MinDurability = .1;
    $MinFreeBagSlots = 4;
    $SellGrey = true;
    $SellWhite = true;
    $SellGreen = false;
    $Protected = ["bandage", "leather", "hearth", "copper rod", "shot", "arrow", "potion", "ore", "mining pick", "ribs", "poison", "shell", "thieves", "injector", "flash powder", "mote", "primal", "text", "fertile", "candle", "grainbread", "water", "skinning", "sargeras", "conjured", "brie", "banana", "strange dust"];
    This says when resting its your second priority to to:
    repair if below 90%
    Have atleast 4 bag slots
    Sell all greys
    sell all whites
    Keep all greens
    Don't sell anything with a word(s) that follows: bandage, leather, hearth, copper rod, shot, arrow, potion, ore, mining pick, ribs, poison, shell, thieves, injector, flash poweder, mote, primal, text, fertile, cnadle, grainbread, water, skinning, sargeras, conjured, brie, banana, and strange dust.

    Vendor
    {
    $RepairNPC = "Nargal Deatheye";
    $SellNPC = "Nargal Deatheye";
    }

    }
    This tells it when Vendoring to go to Nargal Deatheye for repairs and go to Nargal deatheye to sell.

    Pull { $Prio = 3; $Factions = [16, 189, 48, 130, 15, 38]; }

    Hotspots
    {
    $Prio = 4;
    $Order = "Random";
    $Locations = [[ -811.1, -2695.9, 93.3], [ -947.0, -2777.2, 93.2], [ -1110.2, -2960.8, 92.7], [ -1083.0, -3189.3, 91.7]]; /
    }


    }
    This tells glider to pull as priority 3 (when priority 0, 1, and 2 have been covered,) only attack those with the faction of 16, 183, 48, 130, 15, and 38
    Go to (that is the hotspot) do this after making sure creature is dead, and do this randomly, to (the hotspots) Notice how the hotspots are not a few feet away from eachother.

    Lets Work on our own Script:
    Now that we have learned the build of Pscript we can make our own!
    Start by familiarizing yourself with the controls.


    These sections house all the data you need: I.E stats like health and mana, but also it tells you your location and current task.

    We want to click on hotspots to get your current location.

    as for me it says cannot get current location because I am not on WoW, sorry the servers are down were I am.

    But lets say they were up I would get my hotspot by clicking the button, it would be like:
    [ -811.1, -2695.9, 93.3] you will use several more in a task at least two hotspots, in my case it will be 4.
    It would go under the hotspot location, yes you need both sets of parentheses []
    Code:
    Hotspots
          {
              $Prio = 4;
              $Order = "Random";
              $Locations = [[ -811.1, -2695.9, 93.3], [ -947.0, -2777.2, 93.2], [ -1110.2, -2960.8, 92.7], [ -1083.0, -3189.3, 91.7]]; /
           }
    Lets take apart a full script to learn a bit more on the hotspot and functioning bit of Pscript.


    Task download: release.rar
    scan http://www.virustotal.com/analisis/6...b711ae9f982289
    Last edited by ~Jagris; 10-26-2008 at 10:06 PM.


    [How to] Pscript LE
  2. #2
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
     Credits to MMOGlider for the script and saving me 30 minutes of coding a well written script: // Author: Sorya, anden12 // Zone: Tanaris & Un'Goro // Levels: 40 - 56 // Version: V0.50 // Update: http://vforums.mmoglider.com/showthread.php?t=154438 Par { // Start Main Par $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Ignore = ["Plated Stegodon","Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; //Trust me, you want these as soon as you enter Un'Goro //****************************************************************************************** // Fill the following out to your preferences *********************************************** //****************************************************************************************** // If some don't apply to you, don't worry about it. // Make sure semicolons stay after everything. //****************************************************************************************** //Ranged*********************************************************************************** //**************************************************************** $VarRanged = "Accurate Slugs"; // If you are a hunter: Put what ranged ammo you use. Keep quotes around it. $VarMinRanged = 0; // If you are a Hunter: How many arrows/bullets will be left before we go back to buy more. $VarBuyRanged = 0; // If you are a Hunter: How many arrows/bullets do you want to buy? // ********************************************************************* // Food/Water ******************************************************************************* // ****************************************************************************************** $VarMinFood = 10; // How much food will be left before we go back to buy more. $VarMinWater = 0; // How Much water will be left before we go back to buy more. $VarBuyFood = 140; // How much food will be bought? $VarBuyWater = 0; // How much water will be bought? $VarFood = "Cured Ham Steak"; // Which food will be bought? Keep quotes around it. $VarWater = "Moonberry Juice"; // Which water will be bought? Keep quotes around it. //****************************************************************************************** //Repair/Sell****************************************************************************** //****************************************************************************************** $VarVendProtected = ["Hearthstone", "Skinning","potion", "thieves", "Cured Ham Steak", "Moonberry Juice","poison","flash powder", "Wastewander Water Pouch", "Cloth", "Leather", "Delicious Cave mold", "Mulgore Spice Bread"]; // What items will not be sold? Put your protected list here. Keep brackets. Make sure to put quotes around the name of every item and a comma between items (outside of quotes.) $VarMinDurability = 0.2; // At what durability will we go back to repair? .2 = 20%, etc. $VarMinFreeBagSlots = 2; // With how many free bag slots will we go back to repair? $VarSellGray = True; // Sell all grays not on the protected list. True or False. $VarSellWhite = True; // Sell all whites not on the protected list. True or False. $VarSellGreen = False; // Sell all greens not on the protected list. True or False. //****************************************************************************************** //Mail************************************************************************************* //****************************************************************************************** $VarTo = "bank"; // The name of the person who items will be mailed to. $VarItems = ["Cloth", "Leather"]; // Put the items you want mailed in here. Keep brackets and make sure to put quotes around the names of every item and a comma between items (outside of quotes.) $VarMailProtected = ["dust","essence","poison","flash powder"]; // Put the items that will never be mailed here. Keep brackets and make sure to put quotes around the names of every item and a comma between (outside of quotes.) $VarMailGreens = false; // Mail all greens not on the protected list. True or False. $VarMailBlues = false; // Mail all blues not on the protected list. True or False. $VarMailEpic = True; // Mail all epics not on the protected list. True or False. //****************************************************************************************** //Misc************************************************************************************* //****************************************************************************************** $VarSkin = true; // Skin mobs? True or False. $VarUseMount = true; //Use mount while running? True or False. $VarHerbalist = False; // Are you a herbalist? True or False. $VarMining = False; // Do you want to mine ore? True or False. //****************************************************************************************** //AvoidPlayers**************************************************************************** //****************************************************************************************** // If you don't want to avoid players, setting $VarAvoidPlayers to False is enough, no other settings need to be modified. $VarAvoidPlayers = False; // Do you want to enable player avoiding? True or False. $VarAvoidRange = 60; // Avoid anyone within this many yards. $VarWaitUntilClear = True; // Make sure they are definitely gone before resuming? True or False. $VarTimeUntilExit = 3; // Minutes before hearth and exit. $VarStealthWhileHiding = True; // If a Rogue or Druid, stealth while hiding. True or False. $VarStealthKey = "Pogue.Stealth"; // If you are a Rogue, the key your custom class uses for stealth (found in your keys.xml). Keep quotes around it. $VarCatFormKey = "Druid.CatForm"; // If you are a Druid, the key your custom class uses for stealth (found in your keys.xml). Keep quotes around it. $VarPlaySound = True; // Play a sound when someone is around. True or False. // You can copy and paste all of this top part into my other tasks too, if you want to keep everything the same! //****************************************************************************************** //Filltheaboveouttoyourpreferences*************************************************** //****************************************************************************************** Rest { $Prio = 1; } Defend { $Prio = 0; } Loot { $Prio = 0; $Skin = $VarSkin;} Danger { $Prio = 1; $DangerDistance = 17;} If { $cond = $VarAvoidPlayers == True; AvoidPlayers { $AvoidRange = $VarAvoidRange; $WaitUntilClear = $VarWaitUntilClear; $TimeUntilExit = $VarTimeUntilExit; $StealthWhileHiding = $VarStealthWhileHiding; $StealthKey = $VarStealthKey; $CatFormKey = $VarCatFormKey; $PlaySound = $VarPlaySound; } } If // Start Harvest { $cond = ($VarHerbalist == True && $VarMining == True); Harvest { $Prio = 2; $Distance = 30; $Names = ["Firebloom", "Purple Lotus", "Chest", "Mithril", "Truesilver", "Thorium"]; } } If { $cond = ($VarHerbalist == False && $VarMining == True); Harvest { $Prio = 2; $Distance = 30; $Names = ["Chest", "Mithril", "Truesilver", "Thorium"]; } } If { $cond = ($VarHerbalist == True && $VarMining == False); Harvest { $Prio = 2; $Distance = 30; $Names = ["Firebloom", "Purple Lotus", "Chest"]; } } If { $cond = ($VarHerbalist == False && $VarMining == False); Harvest { $Prio = 2; $Distance = 30; $Names = ["Chest"]; } } // End Harvest If { $cond = $MyZone == "Un\'Goro Crater"; Vendor { $NPC = "Gibbert"; $Location = [ -6163, -1073, -198]; $Prio = 2; $Protected = $VarVendProtected; $SellGray = $VarSellGray; $SellWhite = $VarSellWhite; $SellGreen = $VarSellGreen; $MinDurability = $VarMinDurability; $MinFreeBagSlots = $VarMinFreeBagSlots; } Mail { $Prio = 3; $Location = [-7155.33, -3827.69, 8.7]; $To = $VarTo; $MinFreeBagSlots = 1; $Items = $VarItems; $Protected = $VarMailProtected; $MailGreens = $VarMailGreens; $MailBlues = $VarMailBlues; $MailEpics = $VarMailEpics; $UseMount = $VarUseMount; } // End Mail } If { $cond = $MyZone == "Tanaris"; Vendor { $NPC = "Krinkle Goodsteel"; $Location = [-7199.9, -3769.7, 8.7]; $Prio = 3; $Protected = $VarVendProtected; $SellGray = $VarSellGray; $SellWhite = $VarSellWhite; $SellGreen = $VarSellGreen; $MinDurability = $VarMinDurability; $MinFreeBagSlots = $VarMinFreeBagSlots; } Mail { $Prio = 2; $Location = [-7155.33, -3827.69, 8.7]; $To = $VarTo; $MinFreeBagSlots = 4; $Items = $VarItems; $Protected = $VarMailProtected; $MailGreens = $VarMailGreens; $MailBlues = $VarMailBlues; $MailEpics = $VarMailEpics; $UseMount = $VarUseMount; } } // End Mail If { $cond = $ItemCount {"Red Power Crystal"} <= 7 && QuestStatus("4284") != "completed"; Harvest { $Prio = 2; $Names = ["Red Power Crystal"]; $Distance = 90; } } If { $cond = $ItemCount {"Yellow Power Crystal"} <= 7 && QuestStatus("4284") != "completed"; Harvest { $Prio = 2; $Names = ["Yellow Power Crystal"]; $Distance = 90; } } If { $cond = $ItemCount {"Green Power Crystal"} <= 7 && QuestStatus("4284") != "completed"; Harvest { $Prio = 2; $Names = ["Green Power Crystal"]; $Distance = 90; } } If { $cond = $ItemCount {"Blue Power Crystal"} <= 7 && QuestStatus("4284") != "completed"; Harvest { $Prio = 2; $Names = ["Blue Power Crystal"]; $Distance = 90; } } #ifclass <Warlock> #include <WarlockBuy.psc> #endif #ifclass <Paladin> #include <PaladinBuy.psc> #endif #ifclass <Druid> #include <DruidBuy.psc> #endif #ifclass <Priest> #include <PriestBuy.psc> #endif #ifclass <Shaman> #include <ShamanBuy.psc> #endif #ifclass <Hunter> #include <HunterBuy.psc> #endif #ifclass <Rogue> #include <RogueBuy.psc> #endif #ifclass <Warrior> #include <WarriorBuy.psc> #endif When { $cond = $ItemCount {"Blue Power Crystal"} >= 7 && $ItemCount {"Red Power Crystal"} >= 7 && $ItemCount {"Yellow Power Crystal"} >= 7 && $ItemCount {"Green Power Crystal"} >= 7 && QuestStatus("4284") != "finished"; Seq { QuestPickup { $Name = "Crystals of Power"; $ID = 4284; $NPC = "J.D. Collie"; $Location = [-6033.25,-1017.56,-217.047]; } QuestGoal { $Name = "Crystals of Power"; $ID = 4284; Par {} } QuestHandin { $Name = "Crystals of Power"; $ID = 4284; $NPC = "J.D. Collie"; $Location = [-6033.25,-1017.56,-217.047]; } } } Seq { $Prio = 3; Until { $cond = $MyLevel >= 41; Par { Pull { $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+1; $Prio = 3; $Factions = [413, 73, 38, 49]; $Ignore = ["Roc"]; } Hotspots { $Prio = 5; $UseMount = $VarUseMount; $Order = "Random"; $Locations = [ [-7240.24, -3661.93, 9.73], [-7361.76, -3616.63, 8.66], [-7329.83, -3957.5, 9.74], [-7116.01, -4072.28, 9.26], [-7153.27, -4715.79, 13.31], [-8379.67, -3922.88, 10.89], [-8021.32, -4296.33, 9.4], [-7757.49, -4757.23, 9] ]; } } } QuestPickup { $ID = 1690; $Name = "Wastewander Justice"; $NPC = "Chief Engineer Bilgewhizzle"; $Location = [-7184.1, -3838.26, 8.88]; } QuestPickup { $ID = 1707; $Name = "Water Pouch Bounty"; $NPC = "Spigot Operator Luglunket"; $Location = [-7184.1, -3838.26, 8.88]; } QuestPickup { $ID = 2875; $Name = "WANTED: Andre Firebeard"; $Object = "Wanted Poster"; $Location = [-7119,-3795, 8.377]; } If { $cond = QuestStatus("8365") != "completed" && QuestStatus("8365") != "accepted" && QuestStatus("8365") != "goaldone" || QuestStatus("8366") != "completed" && QuestStatus("8366") != "accepted" && QuestStatus("8366") != "goaldone"; Seq { Walk { $Order = "Order"; $UseMount = $VarUseMount; $Locations = [ [-7098.38, -3865.49, 9.51], [-7198.7, -4079.07, 8.46], [-7192.88, -4282.85, 9.12], [-7070.24, -4540.41, 8.58], [-6959.27, -4780.85, 7.41] ]; } QuestPickup { $ID = 8365; $Name = "Pirate Hats Ahoy!"; $NPC = "Haughty Modiste"; $Location = [-6903.53, -4810.21, 8.59]; } QuestPickup { $ID = 8366; $Name = "Southsea Shakedown"; $NPC = "Security Chief Bilgewhizzle"; $Location = [-6974.87, -4843.95, 8.24]; } } } QuestGoal { $ID = 1690; $Name = "Wastewander Justice"; Par { Until { $cond = $Wastewander.Bandit.KillCount{"Wastewander Bandit"} >= 10; Wastewander:Par { Bandit:Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Wastewander Bandit"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-6995.85, -4297.91, 10.94], [-6964.1, -4430.16, 9.16], [-7270.76, -4603.21, 8.6] ]; } } } Until { $cond = $Wastewander.Thief.KillCount{"Wastewander Thief"} >= 10; Wastewander:Par { Thief: Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Wastewander Thief"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-6995.85, -4297.91, 10.94], [-6964.1, -4430.16, 9.16], [-7270.76, -4603.21, 8.6] ]; } } } } } QuestGoal { $ID = 1707; $Name = "Water Pouch Bounty"; Par { Until { $cond = $ItemCount{"Wastewander Water Pouch"} >= 5; Par { Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-6995.85, -4297.91, 10.94], [-6964.1, -4430.16, 9.16] ]; } Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Wastewander Bandit", "Wastewander Thief"]; } } } } } QuestHandin { $ID = 1690; $Name = "Wastewander Justice"; $NPC = "Chief Engineer Bilgewhizzle"; $Location = [-7184.1, -3838.26, 8.88]; } QuestHandin { $ID = 1707; $Name = "Water Pouch Bounty"; $NPC = "Spigot Operator Luglunket"; $Location = [-7184.1, -3838.26, 8.88]; } Until { $cond = $MyLevel >= 47; Par { Pull { $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [413, 73, 38, 49, 37, 91]; } Hotspots { $Prio = 5; $UseMount = $VarUseMount; $Order = "Random"; $Locations = [ [-7051.04, -2687.29, 12.87], [-7575.69, -2840.05, 9.54], [-8087.74, -2891.31, 38.05], [-8409.12, -2641.24, 30.81], [-8042.82, -3236.59, 46.46], [-8158.68, -3160.88, 23.08], [-8649.71, -2870.77, 11.86], [-8928.06, -2810.45, 45.4] ]; } } } QuestPickup { $Name = "Southsea Shakedown"; $ID = 8366; $NPC = "Security Chief Bilgewhizzle"; $Location = [-6974.01,-4845.69,8.06893]; } QuestGoal { $ID = 8366; $Name = "Southsea Shakedown"; Par { Until { $cond = $Southsea.Pirate.KillCount{"Southsea Pirate"} >= 8; Southsea:Par { Pirate:Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Pirate"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } } } Until { $cond = $Southsea.Free********KillCount{"Southsea Freebooter"} >= 6; Southsea:Par { Freebooter: Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Freebooter"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } } } Until { $cond = $Southsea.DockWorker.KillCount{"Southsea Dock Worker"} >= 10; Southsea:Par { DockWorker: Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Dock Worker"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } } } Until { $cond = $Southsea.Swashbuckler.KillCount{"Southsea Swashbuckler"} >= 10; Southsea:Par { Swashbuckler: Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Swashbuckler"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } } } } } QuestGoal { $ID = 2875; $Name = "WANTED: Andre Firebeard"; Par { Until { $cond = $ItemCount{"Firebeard's Head"} == 1; Par { Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Pirate", "Southsea Freebooter", "Southsea Dock Worker", "Southsea Swashbuckler", "Andre Firebeard"]; } } } } } QuestGoal { $ID = 8365; $Name = "Pirate Hats Ahoy!"; Par { Until { $cond = $ItemCount{"Southsea Pirate Hat"} >= 20; Par { Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-7840.07, -5102.25, 5.92], [-8024.77, -5270.3, 1.22] ]; } Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Southsea Pirate", "Southsea Freebooter", "Southsea Dock Worker", "Southsea Swashbuckler", "Andre Firebeard"]; } } } } } QuestHandin { $ID = 2875; $Name = "WANTED: Andre Firebeard"; $NPC = "Security Chief Bilgewhizzle"; $Location = [-6973.95, -4845.12, 7.99]; } QuestHandin { $ID = 8365; $Name = "Pirate Hats Ahoy!"; $NPC = "Haughty Modiste"; $Location = [-6903.53, -4810.21, 8.59]; } If { $cond = $MyClass == "Paladin" || $MyClass == "Warrior"; QuestHandin { $ID = 8366; $Name = "Southsea Shakedown"; $NPC = "Security Chief Bilgewhizzle"; $Location = [-6973.95, -4845.12, 7.99]; $Reward = 1; } } If { $cond = $MyClass == "Warlock" || $MyClass == "Priest" || $MyClass == "Mage" || $MyClass == "Rogue" || $MyClass == "Druid" || $MyClass == "Hunter" || $MyClass == "Shaman"; QuestHandin { $ID = 8366; $Name = "Southsea Shakedown"; $NPC = "Security Chief Bilgewhizzle"; $Location = [-6973.95, -4845.12, 7.99]; $Reward = 2; } } Until { $cond = $MyLevel >= 48; Par { Pull { $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [413, 73, 38, 49, 37, 91]; } Hotspots { $Prio = 5; $UseMount = $VarUseMount; $Order = "Random"; $Locations = [ [-7051.04, -2687.29, 12.87], [-7575.69, -2840.05, 9.54], [-8087.74, -2891.31, 38.05], [-8409.12, -2641.24, 30.81], [-8042.82, -3236.59, 46.46], [-8158.68, -3160.88, 23.08], [-8649.71, -2870.77, 11.86], [-8928.06, -2810.45, 45.4] ]; } } } QuestPickup { $ID = 2605; $Name = "The Thirsty Goblin"; $NPC = "Marin Noggenfogger"; $Location = [-7192.06, -3793.35, 9.52]; } QuestPickup { $ID = 5863; $Name = "The Dunemaul Compound"; $NPC = "Andi Lynn"; $Location = [-7135.59, -3863.31, 9.43]; } QuestGoal { $ID = 5863; $Name = "The Dunemaul Compound"; Par { Until { $cond = $Dunemaul.Brute.KillCount{"Dunemaul Brute"} >= 10; Dunemaul:Par { Brute:Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Dunemaul Brute"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-8300.92, -3089.34, 8.63], [-8432.99, -3048.24, 9.4], [-8527.94, -2890.21, 9.52] ]; } } } Until { $cond = $Dunemaul.Enforcer.KillCount{"Dunemaul Enforcer"} >= 10; Dunemaul:Par { Enforcer:Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Dunemaul Enforcer"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-8300.92, -3089.34, 8.63], [-8432.99, -3048.24, 9.4], [-8527.94, -2890.21, 9.52] ]; } } } Until { $cond = $Dunemaul.Boss.KillCount{"Gor'marok the Ravager"} >= 1; Dunemaul:Par { Boss:Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Gor'marok the Ravager"]; } Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-8300.92, -3089.34, 8.63], [-8432.99, -3048.24, 9.4], [-8527.94, -2890.21, 9.52] ]; } } } } } QuestGoal { $ID = 2605; $Name = "The Thirsty Goblin"; Par { Until { $cond = $ItemCount{"Laden Dew Gland"} == 1; Par { Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-8999.16, -2320.28, 9.06], [-8733.66, -2261.34, 8.88] ]; } Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Factions = [16]; } } } } } If { $cond = $MyClass == "Warlock" || $MyClass == "Priest" || $MyClass == "Mage"; QuestHandin { $ID = 5863; $Name = "The Dunemaul Compound"; $NPC = "Andi Lynn"; $Location = [-7135.59, -3863.31, 9.43]; $Reward = 1; } } If { $cond = $MyClass == "Rogue" || $MyClass == "Druid" || $MyClass == "Hunter" || $MyClass == "Paladin" || $MyClass == "Warrior" || $MyClass == "Shaman"; QuestHandin { $ID = 5863; $Name = "The Dunemaul Compound"; $NPC = "Andi Lynn"; $Location = [-7135.59, -3863.31, 9.43]; $Reward = 2; } } QuestHandin { $ID = 2605; $Name = "The Thirsty Goblin"; $NPC = "Marin Noggenfogger"; $Location = [-7192.06, -3793.35, 9.52]; } QuestPickup { $ID = 992; $Name = "Gadgetzan Water Survey"; $NPC = "Senior Surveyor Fizzledowser"; $Location = [-7139.87, -3681.82, 21.02]; } If { $cond = QuestStatus("992") == "accepted"; Walk { $Locations = [ [-7131.88, -3732.92, 8.39], [-7205.2, -3778.33, 8.37], [-7139.41, -3606.13, 7.92], [-6966.36, -3295.5, 8.63], [-7215.05, -2917.47, 6.44] ]; } } QuestGoal { $ID = 992; $Name = "Gadgetzan Water Survey"; Par { Until { $cond = $ItemCount{"Tapped Dowsing Widget"} == 1; Par { Hotspots { $Prio = 4; $Locations = [[-7215.05, -2917.47, 6.44]]; } UseItem { $Prio = 3; $Name = "Untapped Dowsing Widget"; $Delay = 9999; } } } } } QuestHandin { $ID = 992; $Name = "Gadgetzan Water Survey"; $NPC = "Senior Surveyor Fizzledowser"; $Location = [-7139.87, -3681.82, 21.02]; } QuestPickup { $ID = 82; $Name = "Noxious Lair Investigation"; $NPC = "Senior Surveyor Fizzledowser"; $Location = [-7139.87, -3681.82, 21.02]; } QuestGoal { $ID = 82; $Name = "Noxious Lair Investigation"; Par { Until { $cond = $ItemCount{"Centipaar Insect Parts"} >= 5; Par { Hotspots { $Prio = 4; $UseMount = $VarUseMount; $Locations = [ [-8004.21, -2737.19, 9.13], [-8244.91, -2565.51, 9.69], [-7991.94, -2336.83, 15.86], [-7779.86, -2670.65, 9.54] ]; } Pull { $Prio = 3; $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Names = ["Centipaar Worker", "Centipaar Stringer", "Centipaar Wasp", "Centipaar Sandreaver"]; } } } } } QuestHandin { $ID = 82; $Name = "Noxious Lair Investigation"; $NPC = "Alchemist Pestlezugg"; $Location = [-7115.47, -3730.83, 8.82]; } Until { $cond = $MyLevel >= 50; Par { Pull { $MinLevel = $MyLevel - 5; $MaxLevel = $MyLevel + 2; $Prio = 3; $Names = ["Dunemaul Ogre Mage", "Dunemaul Warlock", "Dunemaul Brute", "Dunemaul Ogre", "Dunemaul Enforcer"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-8846.98, -3599.23, 13.29], [-8979.59, -3410.97, 25.96], [-8853.81, -3302.78, 9.92] ]; } } } QuestPickup { $Name = "Thistleshrub Valley"; $ID = 3362; $NPC = "Tran'rek"; $Location = [-7105.84,-3776.83,8.86941]; } QuestGoal { $Name = "Thistleshrub Valley"; $ID = 3362; Par { Until { $cond = $main.grinder.KillCount{"Gnarled Thistleshrub"} >= 8; main : Par { grinder : Pull { $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Prio = 3; $Names = ["Gnarled Thistleshrub"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-8795,-2233,9], [-8816,-2271,9], [-8892,-2338,12], [-8930,-2209,10], ]; } } } Until { $cond = $main.grinder.KillCount{"Thistleshrub Rootshaper"} >= 8; main : Par { grinder : Pull { $MinLevel = $MyLevel-3; $MaxLevel = $MyLevel+2; $Prio = 3; $Names = ["Thistleshrub Rootshaper"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-8829,-2274,10], [-8934,-2325,11], [-8964,-2264,10], [-8964,-2164,10], ]; } } } } } QuestHandin { $Name = "Thistleshrub Valley"; $ID = 3362; $NPC = "Tran'rek"; $Location = [-7105.84,-3776.83,8.86941]; } QuestPickup { $Name = "Super Sticky"; $ID = 4504; $NPC = "Tran'rek"; $Location = [-7105.84,-3776.83,8.86941]; } Until { $cond = $MyLevel >= 51; Par { Pull { $MinLevel = $MyLevel - 5; $MaxLevel = $MyLevel + 2; $Prio = 3; $Names = ["Dunemaul Ogre Mage", "Dunemaul Warlock", "Dunemaul Brute", "Dunemaul Ogre", "Dunemaul Enforcer"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-8846.98, -3599.23, 13.29], [-8979.59, -3410.97, 25.96], [-8853.81, -3302.78, 9.92] ]; } } } // -------------- ZONE TRANSITION ----------- Until { $cond = $MyLevel >= 52 && $ItemCount{"A Mangled Journal"} >= 1; Par { Pull { $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [48,7,310,14]; $Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [[ -7866.0, -1822.8, -272.1], [ -7764.5, -1397.3, -272.2], [ -7822.5, -1286.9, -269.6], [ -7519.1, -1279.4, -271.3], [ -7491.6, -1530.9, -272.0]]; } } } QuestPickup { $Name = "Williden's Journal"; $ID = 3884; $Item = "A Mangled Journal"; } QuestGoal { $Name = "Williden's Journal"; $ID = 3884; Par { } } QuestHandin { $Name = "Williden's Journal"; $ID = 3884; $NPC = "Williden Marshal"; $Location = [-6143,-1101, -203]; } QuestPickup { $Name = "Larion and Muigin"; $ID = 4145; $NPC = "Larion"; $Location = [-6181.69,-1151.78,-210.605]; } QuestPickup { $Name = "Beware of Pterrordax"; $ID = 4501; $Object = "Beware of Pterrordax"; $Location = [-6175,-1077, -203]; } QuestPickup { $Name = "Shizzle's Flyer"; $ID = 4503; $NPC = "Shizzle"; $Location = [-6252.45,-1103.26,-218.343]; } QuestGoal { $Name = "Larion and Muigin"; $ID = 4145; Par { Until { $cond = $main.grinder.KillCount{"Bloodpetal Lasher"} >= 5; main : Par { grinder : Pull { $Prio = 3; $Names = ["Bloodpetal Lasher"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-6836,-2029,-271], [-6946,-2202,-269], [-6925,-2131,-272], [-6758,-1864,-271], ]; } } } Until { $cond = $main.grinder.KillCount{"Bloodpetal Trapper"} >= 5; main : Par { grinder : Pull { $Prio = 3; $Names = ["Bloodpetal Trapper"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-7802,-812,-268], [-7367,-653,-266], [-7132,-952,-271], [-6680,-736,-271], ]; } } } Until { $cond = $main.grinder.KillCount{"Bloodpetal Flayer"} >= 5; main : Par { grinder : Pull { $Prio = 3; $Names = ["Bloodpetal Flayer"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-7506,-1467,-271], [-7193,-1208,-269], [-6617,-1490,-271], [-7267,-1642,-274], ]; } } } Until { $cond = $main.grinder.KillCount{"Bloodpetal Thresher"} >= 5; main : Par { grinder : Pull { $Prio = 3; $Names = ["Bloodpetal Thresher"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-7116,-2045,-271], [-6720,-2133,-269], [-6843,-2028,-271], [-6780,-1824,-272], ]; } } } } } QuestHandin { $Name = "Larion and Muigin"; $ID = 4145; $NPC = "Larion"; $Location = [-6181.69,-1151.78,-210.605]; } Until { $cond = $MyLevel >= 53; Par { Pull { $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [48,7,310,14]; $Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [[ -7866.0, -1822.8, -272.1], [ -7764.5, -1397.3, -272.2], [ -7822.5, -1286.9, -269.6], [ -7519.1, -1279.4, -271.3], [ -7491.6, -1530.9, -272.0]]; } } } QuestGoal { $Name = "Shizzle's Flyer"; $ID = 4503; Par { Until { $cond = $ItemCount{"Webbed Diemetradon Scale"} >= 8; Par { Pull { $Prio = 3; $Names = ["Diemetradon","Elder Diemetradon","Young Diemetradon"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-7385,-1605,-272], [-7668,-1252,-270], [-7417,-1266,-269], [-7121,-1450,-271], [-7814,-863,-267], [-7395,-608,-266], [-7194,-873,-270], [-6749,-715,-271], [-6582,-1991,-270], [-6748,-2097,-270], [-6918,-1651,-272], [-6660,-1849,-272], [-6833,-1876,-271], ]; } } } Until { $cond = $ItemCount{"Webbed Pterrordax Scale"} >= 8; Par { Pull { $MinLevel = 48; $Prio = 3; $Names = ["Fledgling Pterrordax","Frenzied Pterrordax","Pterrordax"]; $Distance = 90; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-7437,-2394,-211], [-7447,-2384,-213], [-6893,-2346,-228], [-6947,-2362,-213], [-6823,-1794,-272], [-7612,-592,-248], [-7059,-355,-237], [-7104,-850,-271], [-6834,-713,-271], [-8047,-1595,-223], [-8158,-1234,-220], [-7580,-1167,-245], [-6229,-1518,-220], ]; } } } } } QuestHandin { $Name = "Shizzle's Flyer"; $ID = 4503; $NPC = "Shizzle"; $Location = [-6252.45,-1103.26,-218.343]; $Reward = 1; // This gives the most money } Until { $cond = $MyLevel >= 54; Par { Pull { $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [48,7,310,14]; $Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [[ -7866.0, -1822.8, -272.1], [ -7764.5, -1397.3, -272.2], [ -7822.5, -1286.9, -269.6], [ -7519.1, -1279.4, -271.3], [ -7491.6, -1530.9, -272.0]]; } } } QuestGoal { $Name = "Super Sticky"; $ID = 4504; Par { Until { $cond = $ItemCount{"Super Sticky Tar"} >= 12; Par { Pull { $Prio = 3; $Names = ["Tar Beast","Tar Creeper","Tar Lord","Tar Lurker"]; } // End the Pull Hotspots { $Prio = 4; $Order = "Random"; $Locations = [ [-6819,-1201,-273], [-6703,-1428,-273], [-6600,-1673,-272], [-6692,-1715,-273], [-6797,-1229,-276], [-6737,-1274,-270], [-6721,-1497,-273], [-6769,-1738,-274], [-6640,-1790,-273], [-6443,-1091,-274], [-6392,-1175,-272], [-6534,-1263,-273], [-6516,-1304,-276], [-6448,-1046,-275], [-6383,-1050,-273], [-6346,-1211,-271], [-6409,-1208,-273], [-6520,-1247,-281], ]; } // End Hotspots } // End the Par } // End the Until } // End the Par } // End the QuestGoal If { $cond = QuestStatus("4504") == "goaldone" && $MyZone == "Un\'Goro Crater"; Seq { Taxi { $Destination = "Tanaris"; $NPC = "Gryfe"; $Location = [-6111.2, -1140.9, -187.1]; } QuestHandin { $Name = "Super Sticky"; $ID = 4504; $NPC = "Tran'rek"; $Location = [-7105.84,-3776.83,8.86941]; } Taxi { $Destination = "Crater"; $NPC = "Bera Stonehammer"; } } } Until { $cond = $MyLevel >= 55; Par { Pull { $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [48,7,310,14]; $Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [[ -7866.0, -1822.8, -272.1], [ -7764.5, -1397.3, -272.2], [ -7822.5, -1286.9, -269.6], [ -7519.1, -1279.4, -271.3], [ -7491.6, -1530.9, -272.0]]; } } } QuestGoal { $Name = "Beware of Pterrordax"; $ID = 4501; Par { Until { $cond = $terrordax.grinder.KillCount{"Pterrordax"} >= 10; terrordax:Par { grinder : Pull { $Prio = 4; $Names = ["Pterrordax"]; } Hotspots { $Prio = 5; $Locations = [[ -8236, -1326, -218], [ -8229, -1557, -213], [ -8189, -1073, -208], [ -8188, -1554, -220], [ -8188, -1136, -219], [ -8163, -1554, -222], [ -8140, -1332, -231], [ -8138, -1125, -229], [ -8120, -1594, -236], [ -8102, -1051, -246], [ -8084, -1063, -257], [ -8072, -1374, -269], [ -7690, -1216, -269], [ -7684, -1563, -272], [ -7674, -1616, -272], [ -7674, -1291, -272], [ -7624, -1406, -267], [ -7609, -1172, -271], [ -7566, -1623, -271], [ -7548, -1588, -272], [ -7520, -1277, -271], [ -7511, -1043, -272], [ -7502, -1156, -270], [ -7457, -1608, -275], [ -7436, -1716, -277], [ -7400, -1768, -273], [ -7385, -1630, -278], [ -7364, -1575, -274], [ -7323, -1621, -272], [ -7295, -1718, -272], [ -7259, -1593, -272], [ -7212, -1585, -265], [ -7056, -1677, -273], [ -7027, -1816, -272], [ -7025, -1788, -272], [ -6986, -1726, -272], [ -6975, -1855, -274], [ -6565, -2014, -271], [ -6300, -1375, -267], [ -6277, -1574, -224], [ -6253, -1325, -232], [ -6215, -1591, -209], [ -6145, -1596, -194]]; } } } Until { $cond = $terrordax.grinder.KillCount{"Frenzied Pterrordax"} >= 15; terrordax:Par { grinder : Pull { $Prio = 4; $Names = ["Frenzied Pterrordax"]; } Hotspots { $Prio = 5; $Locations = [[ -7925, -675, -260], [ -7859, -816, -273], [ -7844, -938, -271], [ -7730, -817, -271], [ -7719, -618, -266], [ -7665, -964, -269], [ -7648, -960, -269], [ -7584, -950, -269], [ -7575, -745, -259], [ -7573, -454, -272], [ -7468, -942, -272], [ -7464, -405, -269], [ -7461, -216, -195], [ -7444, -821, -271], [ -7410, -319, -229], [ -7410, -251, -217], [ -7250, -989, -271], [ -7218, -885, -272], [ -7202, -287, -219], [ -7200, -258, -218], [ -7184, -916, -271], [ -7147, -975, -271], [ -7129, -537, -272], [ -7116, -551, -273], [ -7097, -1027, -272], [ -7096, -478, -270], [ -7090, -680, -271], [ -7080, -741, -269], [ -7076, -622, -271], [ -7074, -939, -269], [ -7058, -743, -266], [ -7057, -624, -271], [ -7041, -415, -271], [ -7028, -566, -276], [ -7006, -701, -268], [ -6991, -242, -216], [ -6986, -318, -227], [ -6964, -856, -268], [ -6951, -273, -212], [ -6948, -344, -230], [ -6947, -753, -271], [ -6941, -1021, -271], [ -6931, -193, -185], [ -6907, -548, -272], [ -6905, -256, -187], [ -6904, -1021, -272], [ -6899, -671, -270], [ -6891, -954, -272], [ -6865, -1021, -270], [ -6816, -483, -272], [ -6806, -618, -272], [ -6778, -626, -271], [ -6750, -713, -272], [ -6746, -971, -270], [ -6740, -1020, -269], [ -6708, -616, -272], [ -6676, -991, -271], [ -6655, -821, -272], [ -6611, -672, -272], [ -6476, -909, -274], [ -6449, -920, -275]]; } } } } } QuestHandin { $Name = "Beware of Pterrordax"; $ID = 4501; $NPC = "Spraggle Frock"; $Location = [-6178,-1080, -204]; $Reward = 2; // Gives the most cash } Until { $cond = $MyLevel >= 57; Par { Pull { $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Prio = 3; $Factions = [48,7,310,14]; $Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; } Hotspots { $Prio = 4; $Order = "Random"; $Locations = [[ -7866.0, -1822.8, -272.1], [ -7764.5, -1397.3, -272.2], [ -7822.5, -1286.9, -269.6], [ -7519.1, -1279.4, -271.3], [ -7491.6, -1530.9, -272.0]]; } } } } } First thing you see is..... a lot of hotspots, yeah.
    Uhh yeah it the code is a bit jacked up so get the attachment at the end to see the full script
    Code:
     Par { // Start Main Par $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; $Ignore = ["Plated Stegodon","Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"]; //Trust me, you want these as soon as you enter Un'Goro // ****************************************************************************************** // Fill the following out to your preferences *********************************************** // ****************************************************************************************** // If some don't apply to you, don't worry about it. // Make sure semicolons stay after everything. // ****************************************************************************************** // Ranged *********************************************************************************** // ****************************************************************************************** $VarRanged = "Accurate Slugs"; // If you are a hunter: Put what ranged ammo you use. Keep quotes around it. $VarMinRanged = 0; // If you are a Hunter: How many arrows/bullets will be left before we go back to buy more. $VarMinRanged = 0; // If you are a Hunter: How many arrows/bullets do you want to buy?
    So this says ignore the creatures: "Plated Stegodon","Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur" he has a note after it to. Then he left us a note saying, hey if you are a hunter edit this. VarRanged, this is telling glider when it vendors buy Accurate Slugs. Then it goes onto say VarMinRanged, or minimum number of arrows/bullets to have is 0, if it falls below (as if you set it to 500) it goes and buys, more, and will sell stuff to. VarBuyRanged, goes onto to tell us, how many you should buy when you do vendor if you still have enough, usally set it at 0, but I think with the latest Ppather you can't do anything without it being set, I.E buy arrows/bullets, so set it to about 5 (that is in stacks). $MinLevel = $MyLevel-4; $MaxLevel = $MyLevel+2; As stated Before:
    This says kill things 6 levels below me and 2 levels above me
    in are case though it is 4 below and 2 above.

    Pscripts:the language ppather is written in Hotspots: Cords for location


  3. #3
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    	// ******************************************************************************************
    	// Food/Water *******************************************************************************
    	// ******************************************************************************************
    	$VarMinFood = 10; // How much food will be left before we go back to buy more.
    	$VarMinWater = 0; // How Much water will be left before we go back to buy more.
    	$VarBuyFood = 140; // How much food will be bought?
    	$VarBuyWater = 0; // How much water will be bought?
    	$VarFood = "Cured Ham Steak"; // Which food will be bought? Keep quotes around it.
    	$VarWater = "Moonberry Juice"; // Which water will be bought? Keep quotes around it.
    
    
    	// ******************************************************************************************
    	// Repair/Sell ******************************************************************************
    	// ******************************************************************************************
    	$VarVendProtected = ["Hearthstone", "Skinning","potion", "thieves", "Cured Ham Steak", "Moonberry Juice","poison","flash powder", "Wastewander Water Pouch", "Cloth", "Leather", "Delicious Cave mold", "Mulgore Spice Bread"]; // What items will not be sold? Put your protected list here. Keep brackets. Make sure to put quotes around the name of every item and a comma between items (outside of quotes.)
    	$VarMinDurability = 0.2; // At what durability will we go back to repair? .2 = 20%, etc.
    	$VarMinFreeBagSlots = 2; // With how many free bag slots will we go back to repair?
    	$VarSellGray  = True; // Sell all grays not on the protected list. True or False.
    	$VarSellWhite = True; // Sell all whites not on the protected list. True or False.
    	$VarSellGreen = False; // Sell all greens not on the protected list. True or False.
    Lets start with Food/Water:
    Code:
    	$VarMinFood = 10; // How much food will be left before we go back to buy more.
    	$VarMinWater = 0; 
    	$VarBuyFood = 140; 
    	$VarBuyWater = 0; 
    	$VarFood = "Cured Ham Steak"; 
    	$VarWater = "Moonberry Juice";
    So VarMinFood is saying what ever type of food you have you you must at all times have 10 or more of that items.

    VarMinWater the same except for water
    VarBuyFood How much to be bought when you vendor
    same with VarBuyWater
    VarFood what type of food
    VarWater what kind of water

    I left the quotes on the first one for a reason. Remember the ; tells it to end command, so we can put // even on the same line!

    Repair/Sell:

    Code:
    $VarVendProtected = ["Hearthstone", "Skinning","potion", "thieves", "Cured Ham Steak", "Moonberry Juice","poison","flash powder", "Wastewander Water Pouch", "Cloth", "Leather", "Delicious Cave mold", "Mulgore Spice Bread"]; // What items will not be sold? Put your protected list here. Keep brackets. Make sure to put quotes around the name of every item and a comma between items (outside of quotes.)
    	$VarMinDurability = 0.2; 
    	$VarMinFreeBagSlots = 2; 
    	$VarSellGray  = True; 
    	$VarSellWhite = True; 
    	$VarSellGreen = False;
    So:
    VarMinDurability tells us when you reach 20% durability should we go back and repair, set this to higher like .5, or .6
    VarMinFreeBagSlots number of minimum bag space
    VarSellGray sheould you sell all grays
    VarSellWhite should we sell all whites
    VarSellGreen should we sell all greens

    VarVendProtected
    What things should not be sold no matter color.

    Lets skip mailing it is self explanatory if you read the above

    Same with the skinning and stuff, just read it as I said, this is an “English Language” so we can skip a few of these

    Code:
                Rest	{	$Prio = 1;	}
    	Defend	{	$Prio = 0;	}
    	Loot	{	$Prio = 0;
    			$Skin = $VarSkin;}
    	Danger	{	$Prio = 1;	
    		$DangerDistance = 17;}
    		
    	If
    	{
    		$cond = $VarAvoidPlayers == True;
    		AvoidPlayers
    		{
    			$AvoidRange = $VarAvoidRange;
    			$WaitUntilClear = $VarWaitUntilClear;
    			$TimeUntilExit = $VarTimeUntilExit;
    			$StealthWhileHiding = $VarStealthWhileHiding;
    			$StealthKey = $VarStealthKey;
    			$CatFormKey = $VarCatFormKey;
    			$PlaySound = $VarPlaySound;
    		}
    	}
    Rest when equal to 1 one that means do after you defend and loot.
    Defend do this first
    Loot first.... But wait what about Defend, this means it is just as important, since defend means attack if being attacked it means loot but if attacked attack back
    this includes should you skin

    Danger when to check for danger, if you are not looting or defending then check for nearby enemys, Danger distance is 17 yards.

    If you are near a person avoid them stealth if you can go on after they are go to cat form and stealth (thats if you are a druid) and last play a sound.



    We can skip a few of these so keep up.

    Code:
    If
    	{
    		$cond = $ItemCount {"Red Power Crystal"} <= 7 && QuestStatus("4284") != "completed";
    		Harvest
    		{
    			$Prio = 2;
    			$Names = ["Red Power Crystal"];
    			$Distance = 90;
    This is for quests, if you have Quest 4284 (the quest ID) and if you have 7 of them then you are done with quest if all other variables are met, your second priority is to go and turn in, if not yet =7 then harvest on availability. (I am now sounding like the bot telling the character what to do =P)

    Code:
    #ifclass <Warlock>
    		#include <WarlockBuy.psc>
    This is an include I will add to this in an update, as is this is not needed for a starting script.

    Code:
    When {
    		$cond = $ItemCount {"Blue Power Crystal"} >= 7 && $ItemCount {"Red Power Crystal"} >= 7 && $ItemCount {"Yellow Power Crystal"} >= 7 && $ItemCount {"Green Power Crystal"} >= 7 && QuestStatus("4284") != "finished";
    		Seq {
    			QuestPickup
    			{
    				$Name = "Crystals of Power";
    				$ID = 4284;
    				$NPC = "J.D. Collie";
    				$Location = [-6033.25,-1017.56,-217.047];
    			}
    			QuestGoal
    			{
    				$Name = "Crystals of Power";
    				$ID = 4284;
    				Par
    				{}
    			}
    			QuestHandin
    			{
    				$Name = "Crystals of Power";
    				$ID = 4284;
    				$NPC = "J.D. Collie";
    				$Location = [-6033.25,-1017.56,-217.047];
    			}
    		}
    When you have all items and have picked up quest go to quest hand in, name of npc is J.D Collie
    at location [-6033.25,-1017.56,-217.047]. Simple if you have been keeping up. (btw that is in order of how it happens)

    Now after this one we can skip down aways.
    Code:
    Seq
    	{
    		$Prio = 3;
    		Until
    		{
    			$cond = $MyLevel >= 41;
    			Par
    			{
    				Pull
    				{	
    					$MinLevel = $MyLevel-3;
    					$MaxLevel = $MyLevel+1;
    					$Prio = 3;
    					$Factions = [413, 73, 38, 49];
    					$Ignore = ["Roc"];
    				}
    				Hotspots
    				{
    					$Prio = 5;
    					$UseMount = $VarUseMount;
    					$Order = "Random";
    					$Locations = [
    					[-7240.24, -3661.93, 9.73],
    					[-7361.76, -3616.63, 8.66],
    					[-7329.83, -3957.5, 9.74],
    					[-7116.01, -4072.28, 9.26],
    					[-7153.27, -4715.79, 13.31],
    					[-8379.67, -3922.88, 10.89],
    					[-8021.32, -4296.33, 9.4],
    					[-7757.49, -4757.23, 9]
    					];
    				}		
    			}
    		}
    Pull things 3 levels below and 1 level higher than me
    do this after priorities 0 through 2 have been done.
    Go to hotspots this is your 3rd priority use mount if you can
    Order of Hotspots is random
    Location of Hotspots:
    [-7240.24, -3661.93, 9.73],
    [-7361.76, -3616.63, 8.66],
    [-7329.83, -3957.5, 9.74],
    [-7116.01, -4072.28, 9.26],
    [-7153.27, -4715.79, 13.31],
    [-8379.67, -3922.88, 10.89],
    [-8021.32, -4296.33, 9.4],
    [-7757.49, -4757.23, 9]
    ];
    } that means end!
    Code:
    $cond = $MyLevel >= 50;
    Par
    			{
    				Pull
    				{ 
    					$MinLevel = $MyLevel - 5; 
    					$MaxLevel = $MyLevel + 2; 
    					$Prio = 3;
    					$Names = ["Dunemaul Ogre Mage", "Dunemaul Warlock", "Dunemaul Brute", "Dunemaul Ogre", "Dunemaul Enforcer"];
    ZOMG you dinged 50 go kill dunemual guys!
    Code:
    // -------------- ZONE TRANSITION -----------
    		Until {
    			$cond = $MyLevel >= 52 && $ItemCount{"A Mangled Journal"} >= 1;
    			Par {
    				Pull
    				{ 
    					$MinLevel = $MyLevel-4; 
    					$MaxLevel = $MyLevel+2; 
    					$Prio = 3;
    					$Factions = [48,7,310,14];
    					$Ignore = ["Devilsaur", "Ironhide Devilsaur","Tyrant Devilsaur"];
    				}
    				Hotspots
    				{
    					$Prio = 4;
    					$Order = "Random";
    					$Locations = [[ -7866.0, -1822.8, -272.1],
    						[ -7764.5, -1397.3, -272.2],
    						[ -7822.5, -1286.9, -269.6],
    						[ -7519.1, -1279.4, -271.3],
    						[ -7491.6, -1530.9, -272.0]];
    				}
    			}
    		}
    This is the new things to attack ignore, etc. New hotspots and things to have when transfering, since this is close it will auto go there. So no need for a goto

    So thats it for this script, keep in mind this is a work in progress so there will be updates. If you find something that needs editing or needs to be added please post.

    F.A.Q
    None so far


    useful links:

    longlist of guides:
    http://vforums.mmoglider.com/forumdisplay.php?f=45
    Good info from OddZor, and I quote
    PPather:
    PPather is a custom class that is really quite remarkable. No pathing is required for the bot to figure out how to get to a place, instead give it a place to go to and it will figure out its own way there. To be honest I don't know how it does this but it just does it and it works another great thing about this is it learns about its environment as it goes and will remember the fastest way to get to places. It also improves a lot of the features that elite tried to have but failed at, e.g. selling to vendors, mailing to alts collecting quests etc. This allows for things called task files which are pretty much profiles but they generally run better and many have made 1-70 task files which in theory are a one click experience that takes you straight from 1-70 (doesn't always work out that way)
    Oh btw PPather is completely free if you have Glider elite, as it's just a custom class.
    [url]http://www.mmowned.com/forums/wow-guides/167561-extreme-guide-botting-world-warcraft.html
    Guru: http://guru.mmoglider.com/
    The Cool One : http://www.mmowned.com/forums/bots-p...beginners.html (thanks OddZor for link)
    My old 1-70 (probley outdated but there are things to learn from it) http://www.mmowned.com/forums/glider...her-tasks.html
    Total Newbs Guide: http://www.mmowned.com/forums/bots-p...e-ppather.html
    Jchunx's Taskparser thread: http://www.mmowned.com/forums/glider...tml#post709175
    Last edited by ~Jagris; 10-27-2008 at 05:58 PM.

  4. #4
    Apsik568's Avatar Member
    Reputation
    1
    Join Date
    Oct 2008
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So many things (it will be work without those things?
    JUst downlaod and have good bot?

  5. #5
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I am working on an update as we speak. Well as I speak


  6. #6
    fox123's Avatar Member
    Reputation
    15
    Join Date
    Feb 2008
    Posts
    55
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice, go on like that

  7. #7
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    go on like what?


  8. #8
    Come Undone's Avatar Contributor
    Reputation
    98
    Join Date
    May 2008
    Posts
    239
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I thought this was going to be how to add your own "moother gooses" as you call it, to ppather. Anyhow good thing you posted this, it might be useful for those learning :-)
    "World of Warcraft could seriously be played by monkeys if the raid bosses dropped bananas instead of shiny epics" - Thomas R.



  9. #9
    ~Jagris's Avatar Contributor
    Reputation
    154
    Join Date
    Apr 2007
    Posts
    1,479
    Thanks G/R
    2/2
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nah, this is more useful in my opinion.


Similar Threads

  1. How to chain 2+ spells into a macro
    By Matt in forum World of Warcraft Exploits
    Replies: 22
    Last Post: 07-03-2007, 12:33 AM
  2. How to: Send Anonymous Mail Exploit
    By Matt in forum World of Warcraft Exploits
    Replies: 9
    Last Post: 04-05-2007, 10:51 PM
  3. How to win AV as alliance
    By Matt in forum World of Warcraft Guides
    Replies: 11
    Last Post: 12-16-2006, 08:25 PM
  4. How to get to the outlands on a live blizzard server
    By Matt in forum World of Warcraft Exploits
    Replies: 4
    Last Post: 06-16-2006, 05:27 PM
All times are GMT -5. The time now is 04:13 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