How to make your own Ppather script revamped menu

User Tag List

Results 1 to 10 of 10
  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 make your own Ppather script revamped

    To Start Off:
    The proper name for Ppather script is pscript. Those that remember my old guide this one was updated for the newest in the bizz, but so much was done I decided to repost it.

    What Is PScript?
    Pscript is the language used for coding, Ppather tasks. Yes it is PpaTHer not panther. It is a nice and easy language, great for beginners, easy for pros.

    The differences, pscript and others.
    One of the BIG, I mean BIGGG!!! Differences in Pscript and other forms of scripting is, no preprocessors. This is also what I call an “English-Language” it means that the Variables in the script, do what they say, not like “$MyZone” tells the bot that your targets, zone would be after the attack.

    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 script.
    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 #) There are two types of notes, WHOLE line notes, and, brace yourself, non-whole line notes! It is like that in most languages that use //.

    EX:
    Code:
    //this is a whole line note
    $MyDurability //this is a non-whole line note.
    You and Variables:
    Variables are simple things. They always have a $ in front of them so you know. A variable controls what to do next. Gliders extension will flag the variable when loaded, so when the time comes Glider will use it to check on things that can CHANGE hence it being a variable.
    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 in stealth 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 in stealth, If it said = False, means that you shouldn't during this event. Some Variables don't use True and false some use 1 and 0. Or even for those like MyMana it could be 5402 for if your health reaches that, the bot will do this. One last touch on Variables, they are CaSe-SeNsItIvE, meaning the capitols have to be right.


    A Function:
    If you have ever coded in LUA, or C++, just skip this. 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! Okay there is Lua witch doesnt use {}, and C++ with its preprocessors, and a few other.

    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 Goose” 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. One that is used with If is also THEN, so If you are greater than level twelve Then go to here, type thing.
    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 at least 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 powder, 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 each other.

    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.


    How to make your own Ppather script revamped
  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:
    This didn't come out right so deal with it, it will take me hours to fix, if someone else does it I will put it in. 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
    Dombo's Avatar Banned
    Reputation
    622
    Join Date
    Nov 2008
    Posts
    1,421
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Whoa .. wall 'o code!

    But I can see you've put loads of effort into the guide.

    +rape

  4. #4
    ~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


  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)
    Reserve Thanks dombo, but I am still not done, this is reserved for future bits


  6. #6
    popster's Avatar Member
    Reputation
    4
    Join Date
    Aug 2008
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This was very informative thanks.
    +rep if I have any

  7. #7
    izumi's Avatar Corporal
    Reputation
    21
    Join Date
    Aug 2008
    Posts
    30
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    pretty easy to understand even for the unexperienced coder

    well explained, didnt read it all but i'm sure i will if i encounter any problems or want to make my own task.

    +rep of course

  8. #8
    ~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 encourage you to read ALL


  9. #9
    SHEEPY2006's Avatar Member
    Reputation
    1
    Join Date
    Dec 2006
    Posts
    58
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    what program i use to make the psc format. coz ive tried notepad but doesnt work.

  10. #10
    BottMaster's Avatar Member
    Reputation
    14
    Join Date
    Jan 2009
    Posts
    86
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SHEEPY2006 View Post
    what program i use to make the psc format. coz ive tried notepad but doesnt work.
    Use notepad, but when you go to save it you'll see a drop down bar under the place where you type the name. Chance that from *.txt to All Files then save your file as task.psc

    Using that you can save your files as anything you want. FileName.****offmyfilebitch and it will work and re-open in notepad........ but pather only reads .psc. hehe

Similar Threads

  1. LF Some1 Who knows how to make your own UI
    By BrightChild in forum WoW UI, Macros and Talent Specs
    Replies: 4
    Last Post: 10-30-2007, 06:50 PM
  2. How to make your own items!!!
    By Ben090 in forum WoW EMU Guides & Tutorials
    Replies: 1
    Last Post: 09-26-2007, 01:08 AM
  3. How to make your own items!!!
    By Ben090 in forum WoW EMU Guides & Tutorials
    Replies: 13
    Last Post: 09-18-2007, 07:14 PM
  4. WoW Emu Section (How to Make Your Own WoW Server)
    By Errage in forum Suggestions
    Replies: 8
    Last Post: 08-21-2007, 11:53 PM
  5. [Easy] How to Make Your Own WoW Forum Avatar!
    By Roflcopterzzz in forum Art & Graphic Design
    Replies: 21
    Last Post: 05-28-2007, 10:09 AM
All times are GMT -5. The time now is 12:43 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search