• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • BuddyWing Profiles and You!

    Discussion in 'Archives' started by Kickazz006, Jun 26, 2012.

    Thread Status:
    Not open for further replies.
    1. Kickazz006

      Kickazz006 Well-Known Member Moderator

      Joined:
      Jan 15, 2010
      Messages:
      20,567
      Likes Received:
      302
      Trophy Points:
      83
      This is a quick and dirty guide to writing a profile in Buddywing - I may make it fancy at a later date

      Gathering / Chest Profiles:
      This can be any of these 3, and they are all acceptable:

      GrindProfile, take out the mobs and leave the hotspots
      UseObect QuestId="1" with multiple hotspots
      Move QuestId="1" - a lot of moveto's in a row


      GrindProfile w/o mobs
      Code:
      <Profile xmlns="http://tempuri.org/ProfileSchema.xsd">
        <Name>Grinding level 6ish</Name>
          
          <Vendors>
              <Hotspot Name="Nad'alin" X="-13.0963" Y="-2.503603" Z="-93.1485" /> <!-- The Gnarls -->
              <Hotspot Name="Republic Medical Droid" X="-15.3679" Y="-8.133331" Z="-42.8" /> <!-- Jedi Temple -->
              <Hotspot Name="Republic Medical Droid" X="13.2112" Y="-0.7676925" Z="-32.1017" /> <!-- Kalikori Village -->
              <Hotspot Name="Republic Medical Droid" X="-21.5248" Y="-2.668555" Z="-7.8756" /> <!-- Forward Camp -->
              <Hotspot Name="Republic Medical Droid" X="-0.2154" Y="3.977503" Z="47.8403" /> <!-- The Forge (S. Tython) -->
          </Vendors>
          
          <GrindAreas> 
      
      
              <GrindArea Name="Flesh Raiders">
                  <MinLevel>1</MinLevel>
                  <MaxLevel>9</MaxLevel>
                  <Hotspots>
                      <Hotspot Name="Flesh Raider Stalker" X="21.9674" Y="0.5871694" Z="-28" />
                      <Hotspot Name="Flesh Raider Pillager" X="23.55397" Y="0.8520655" Z="-27.82022" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="26.38745" Y="-3.514936" Z="-12.54061" />
                      <Hotspot Name="Flesh Raider Tech Salvager" X="31.58759" Y="-3.607875" Z="-11.78759" />
                      <Hotspot Name="Flesh Raider Salvager" X="33.17172" Y="-3.076517" Z="-14.54137" />
                      <Hotspot Name="Flesh Raider Stalker" X="36.38931" Y="-3.647701" Z="-12.75494" />
                      <Hotspot Name="Flesh Raider Beast Handler" X="40.95205" Y="-1.460363" Z="-14.7401" />
                      <Hotspot Name="Flesh Raider Shaman" X="38.4" Y="-1.180024" Z="-6.4" />
                      <Hotspot Name="My Location" X="38.47871" Y="-1.202698" Z="-16.99549" />
                      <Hotspot Name="Flesh Raider Tech Salvager" X="46.24964" Y="-1.318422" Z="-16.43253" />
                      <Hotspot Name="My Location" X="47.25857" Y="-1.373355" Z="-19.98298" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="46.34" Y="-0.2165156" Z="-12.08" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="44.1" Y="1.015183" Z="-9.200001" />
                      <Hotspot Name="Flesh Raider Chief Shaman" X="44.02" Y="1.338866" Z="-4.62" />
                  </Hotspots>
              </GrindArea>    
      
      
          </GrindAreas>
      
      
              
                  <Grind GrindRef="Flesh Raiders" While="Me.Level &lt; 10" />
      
      
      
      
      </Profile>
      
      Useobject profile
      Code:
      <Profile xmlns="http://tempuri.org/ProfileSchema.xsd">
        <Name>My lockbox or gathering profile</Name>
      
      
          <Vendors>
      <!-- Add vendor(s) -->
          </Vendors>
      
      
      
          <Questing>
      
      
                  <UseObject QuestId="1" IgnoreLOS="True" Radius="200" WaitTime="5" >
                   <Placeables>
                      <Placeable>Some Lockbox</Placeable>
                   </Placeables>
                   <Hotspots>
                      <Hotspot XYZ />
      <!-- Add multiple hotspots here -->
                   </Hotspots>
                  </UseObject>
      
      
          
          </Questing>    
      
      
      </Profile>
      
      MoveTo profile
      Code:
      <Profile xmlns="http://tempuri.org/ProfileSchema.xsd">
        <Name>My Lockbox or Gathering Profile</Name>
        
          <Vendors>
      <!-- Add vendor(s) -->
          </Vendors>
      
      
      
          <Questing>
      
      
                  <MoveTo QuestId="1" X Y Z />
      <!-- Just add the xyz from hotspots and you're done -->
          
          </Questing>    
      
      
      </Profile>
      

      Grinding Profiles:
      These just Grind, simple as that.

      Code:
      <Profile>
      <Name>Name of Profile</Name>
      <Vendors>
      <!-- vendors here -->
      </Vendors>
      
      <GrindAreas>
           <!-- Grind Area's Here -->
              <GrindArea Name="">
                  <MinLevel>1</MinLevel>
                  <MaxLevel>50</MaxLevel>
                  <Mobs>
                      <Mob></Mob>
                      <Mob></Mob>
                      <Mob></Mob>
                      <Mob></Mob>
                      <Mob></Mob>
                      <Mob></Mob>
                  </Mobs>
                  <Hotspots>
                      
                      
                      
                      
                      
                  </Hotspots>
              </GrindArea>    
      
      
      </GrindAreas>
      
                  <Grind GrindRef="" While="Me.Level &lt; 51" />
      
      </Profile>
      
      Actual Grinding Profile that works:
      Code:
      <Profile xmlns="http://tempuri.org/ProfileSchema.xsd">
        <Name>Grinding level 6ish</Name>
          
          <Vendors>
              <Hotspot Name="Nad'alin" X="-13.0963" Y="-2.503603" Z="-93.1485" /> <!-- The Gnarls -->
              <Hotspot Name="Republic Medical Droid" X="-15.3679" Y="-8.133331" Z="-42.8" /> <!-- Jedi Temple -->
              <Hotspot Name="Republic Medical Droid" X="13.2112" Y="-0.7676925" Z="-32.1017" /> <!-- Kalikori Village -->
              <Hotspot Name="Republic Medical Droid" X="-21.5248" Y="-2.668555" Z="-7.8756" /> <!-- Forward Camp -->
              <Hotspot Name="Republic Medical Droid" X="-0.2154" Y="3.977503" Z="47.8403" /> <!-- The Forge (S. Tython) -->
          </Vendors>
          
          <GrindAreas> 
      
      
              <GrindArea Name="Flesh Raiders">
                  <MinLevel>1</MinLevel>
                  <MaxLevel>9</MaxLevel>
                  <Mobs>
                      <Mob>Flesh Raider Stalker</Mob>
                      <Mob>Flesh Raider Pillager</Mob>
                      <Mob>Flesh Raider Loreseeker</Mob>
                      <Mob>Flesh Raider Salvager</Mob>
                      <Mob>Flesh Raider Tech Salvager</Mob>
                  </Mobs>
                  <Hotspots>
                      <Hotspot Name="Flesh Raider Stalker" X="21.9674" Y="0.5871694" Z="-28" />
                      <Hotspot Name="Flesh Raider Pillager" X="23.55397" Y="0.8520655" Z="-27.82022" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="26.38745" Y="-3.514936" Z="-12.54061" />
                      <Hotspot Name="Flesh Raider Tech Salvager" X="31.58759" Y="-3.607875" Z="-11.78759" />
                      <Hotspot Name="Flesh Raider Salvager" X="33.17172" Y="-3.076517" Z="-14.54137" />
                      <Hotspot Name="Flesh Raider Stalker" X="36.38931" Y="-3.647701" Z="-12.75494" />
                      <Hotspot Name="Flesh Raider Beast Handler" X="40.95205" Y="-1.460363" Z="-14.7401" />
                      <Hotspot Name="Flesh Raider Shaman" X="38.4" Y="-1.180024" Z="-6.4" />
                      <Hotspot Name="My Location" X="38.47871" Y="-1.202698" Z="-16.99549" />
                      <Hotspot Name="Flesh Raider Tech Salvager" X="46.24964" Y="-1.318422" Z="-16.43253" />
                      <Hotspot Name="My Location" X="47.25857" Y="-1.373355" Z="-19.98298" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="46.34" Y="-0.2165156" Z="-12.08" />
                      <Hotspot Name="Flesh Raider Loreseeker" X="44.1" Y="1.015183" Z="-9.200001" />
                      <Hotspot Name="Flesh Raider Chief Shaman" X="44.02" Y="1.338866" Z="-4.62" />
                  </Hotspots>
              </GrindArea>    
      
      
          </GrindAreas>
      
      
              
                  <Grind GrindRef="Flesh Raiders" While="Me.Level &lt; 10" />
      
      
      
      
      </Profile>
      
      Daily Quests / Leveling Questing Profiles:

      This is the big pain

      Picking up Quests - First one is from an NPC (target, dump target, copy the name and xyz /> - paste onto Giver). Get quest from giver, dump quests, copy the name and Quest Id into their slots. Gameobjects are the 2nd line (Placeable, UseRange 2) - get the xyz near the Object that gives the quest, type in the GiverName correctly. Dump quest and paste in the name / questid

      Code:
          <PickUpQuest QuestName="" QuestId="" Giver
          <PickUpQuest QuestName="" QuestId="" Type="Placeable" UseRange="2" GiverName="" 
      

      Turnin Quests - Same as picking up, but you turnin. Most of the time you have the Complete quest function that you'll also have to add in after

      Code:
              <!-- Turnin 
              <If Condition="((HasQuest()) and (not IsQuestComplete()))">
          <TurnInQuest QuestName="" QuestId="" TurnIn
              </If>
                  <CompleteQuest QuestName="" QuestId="" RewardIndex="1" />
                  <CompleteQuest QuestName="" QuestId="" />
              
      
      
                  <!-- Turnin 
              <If Condition="((HasQuest()) and (not IsQuestComplete()))">
      <TurnInQuest QuestName="" QuestId="" Type="Placeable" UseRange="2" TurnInName="" 
              </If>
                  <CompleteQuest QuestName="" QuestId="" RewardIndex="1" />
                  <CompleteQuest QuestName="" QuestId="" />
      
      ^^ You'll see this in my BlankQO (or something similar). I use conditions around my turnin's, you don't always have to, I just like to minimize after. I fill in the information, i delete whichever completequest I don't need (RewardIndex is only used when there are rewards to select from. Delete the one w/o rewards if there are rewards... delete the one with rewards if there are no rewards to click on (either 1 reward, or no rewards - use this))

      Here is how Apoc likes it (and it's completely viable). I just think mine looks prettier

      Code:
          <TurnInQuest QuestName="" QuestId="" TurnIn
                  <CompleteQuest QuestName="" QuestId="" RewardIndex="1" />
      
      
          <TurnInQuest QuestName="" QuestId="" Type="Placeable" UseRange="2" TurnInName="" 
                  <CompleteQuest QuestName="" QuestId="" RewardIndex="1" />
      

      Quests themselves:

      Conditions:
      not IsQuestComplete - generally for bonus quests
      has quest and not iqc - generally for most quests
      hq and not iqc + hq and not ibsc - for when you need to add steps to a quest
      hq and not iqc + hq and not ibsc + hq and not ibtc - for when you need to add steps and tasks to a quest

      You can take out the hasquests's if you like, but I keep them in (this drives apoc nuts)

      GrindRef - for when you need to simply grind for a step or task, make sure you add the grindarea above with the *exact* name

      Code:
               <!-- 
               <If Condition="(not IsQuestComplete())">
                  <Grind GrindRef="" While="(not IsQuestComplete())" />
               </If>
              
                  <Grind GrindRef="" While="(not IsBranchStepComplete(, 1, 2))" />
                  <Grind GrindRef="" While="(not IsBranchTaskComplete(, 1, 2, 0))" />
                  
              <!-- 
              <If Condition="((HasQuest()) and (not IsQuestComplete()))">
              </If>
              
              <!-- 
              <If Condition="((HasQuest()) and (not IsQuestComplete()))">
               <If Condition="((HasQuest()) and (not IsBranchStepComplete(, 1, 2)))">
               </If>
              </If>
              
              <!-- 
              <If Condition="((HasQuest()) and (not IsQuestComplete()))">
               <If Condition="((HasQuest()) and (not IsBranchStepComplete(, 1, 2)))">
                <If Condition="((HasQuest()) and (not IsBranchTaskComplete(, 1, 2, 0)))">
                </If>
               </If>
              </If>
      
      
      
      UseObject Quests ::
      Interact - Only use this if it doesn't relate to a step/task! IE: Use Holoterminal on ship... You need to interact with your ship door to get onto your ship.
      <UseObject QuestId="" Name="" IgnoreLOS="True" IgnoreQuestRelation="True" - Ignore Quest Relation is for when regular useobject doesn't work
      <UseObject QuestId="" BranchId="1" StepId="2" IgnoreLOS="True" Radius="5" WaitTime="5" Name="" - regular useobject, plug in the name and xyz
      <UseObject QuestId="" BranchId="1" StepId="2" TaskId="0" IgnoreLOS="True" Radius="5" WaitTime="5" Name="" - regular useobject, plug in the name and xyz; do note: this is for when you have multiple tasks!
      UseObject Bid 1 Sid 2 etc - this is for multiple hotspots (1 or more placeables)
      UseObject Bid 1 Sid 2 Tid 0 etc - this is for multiple hotspots (1 or more placeables); do note: this is for when you have multiple tasks!

      Code:
                  <Interact IgnoreLOS="True" WaitTime="5" Name="" 
                  <UseObject QuestId="" BranchId="1" StepId="2" Name="" IgnoreLOS="True" IgnoreQuestRelation="True" 
                  <UseObject QuestId="" BranchId="1" StepId="2" IgnoreLOS="True" Radius="5" WaitTime="5" Name="" 
                  <UseObject QuestId="" BranchId="1" StepId="2" TaskId="0" IgnoreLOS="True" Radius="5" WaitTime="5" Name="" 
                  
                  <UseObject QuestId="" BranchId="1" StepId="2" IgnoreLOS="True" Radius="50" WaitTime="5" >
                   <Placeables>
                      <Placeable></Placeable>
                   </Placeables>
                   <Hotspots>
                   </Hotspots>
                  </UseObject>
                  
                  <UseObject QuestId="" BranchId="1" StepId="2" TaskId="0" IgnoreLOS="True" Radius="50" WaitTime="5" >
                   <Placeables>
                      <Placeable></Placeable>
                   </Placeables>
                   <Hotspots>
                   </Hotspots>
                  </UseObject>
                  
                  UseRange="2" BlacklistDuration="" Amount="2" 
      
      
      
      UseItem Quests:
      These are a huge pita atm and don't work 1/2 of the time, but here's the syntax. Same logic as UseObject, but these must be in conditions as they <While> whatever condition they're in
      If you need to use it at a location / on nothing, delete OnObject="", change range to 1, radius to 1

      Code:
                  <UseItem QuestId="" Item="" OnObject="" WaitTime="3" Range="4" InCombat="False" Radius="10" 
      
      
                  <UseItem QuestId="" Item="" WaitTime="3" Range="4" InCombat="False" Radius="20" >
                   <Npcs>
                      <Npc></Npc>
                   </Npcs>
                   <Hotspots>
                   </Hotspots>
                  </UseItem>
      
      
                  <UseItem QuestId="" Item="" WaitTime="3" Range="4" InCombat="False" Radius="20" >
                   <Npcs>
                      <Npc></Npc>
                   </Npcs>
                   <Hotspots>
                   </Hotspots>
                  </UseItem>
                  
                  DeadOnly="True" HealthPercent="" 
      
      ie:
      
               <If Condition="((HasQuest(0xE0003CB046F6D52F)) and (not IsBranchStepComplete(0xE0003CB046F6D52F, 1, 3)))">
                  <UseItem QuestId="0xE0003CB046F6D52F" Item="Dark Crystal" OnObject="Corrupted Voss" WaitTime="3500" Range="2" InCombat="True" Radius="100" >
                   <Hotspots>
                      <Hotspot Name="Corrupted Voss" X="81.492" Y="-2.029311" Z="-17.7376" />
                      <Hotspot Name="Corrupted Voss" X="74.69138" Y="-2.873498" Z="-23.29395" />
                      <Hotspot Name="Corrupted Voss" X="63.7393" Y="-2.773375" Z="-19.0297" />
                      <Hotspot Name="Corrupted Voss" X="67.25663" Y="-2.791917" Z="-21.75548" />
                      <Hotspot Name="Corrupted Voss" X="66.54269" Y="-2.787395" Z="-13.9441" />
                      <Hotspot Name="Corrupted Voss" X="63.7058" Y="-2.782363" Z="-23.8915" />
                      <Hotspot Name="Corrupted Voss" X="63.2729" Y="-2.763089" Z="-28.7362" />
                   </Hotspots>
                  </UseItem>
               </If>
      
      
      
      
      
      
      MoveTo, TalkTo, AnswerHolocom:
      These must all be in a condition, I recommend waittimers for anything that has a cutscene - sometimes the bot is too fast and thinks the quest is done.

      Code:
                  <TalkTo QuestId="" 
                  <WaitTimer QuestId="1" WaitTime="8" />
      
                  <Moveto QuestId="" 
      
      
                  <AnswerHolocomCall QuestName="" QuestId="" />
                  <WaitTimer QuestId="1" WaitTime="8" />
      
      
      
      
      
      
      Other tags and stuffs
      AreaID is the planet ID, obtained from 'my location' button. paste it after the 0x
      Me.Position.X/Y/Z is for checking long, lat, and height

      X is longitude
      Z is latitude
      Y is height

      UseTransport is Taxi default, Type="Wonkavator" is when you select where to go (shuttle door, elevator, etc)
      You cannot usetransport for 'auto elevators' - those have to be added to the mesh. We need the top stand-at and the bottom autopickup. and the PlanetID (my location button)

      JumpTo - You'll probably never have to do this manually - but there's only a few times that you have to dump onto a box, or onto a platform that the mesh cannot nav to. The notes are in my BlankQO for this

      UserDialog - stops the bot and pops up a qq box

      ForceVendor is exactly that. it goes to an npc and executes it's argument (repair/sell, train)

      Code:
                 <If Condition="(BuddyTor.Client.AreaID == 0x)">
                </If>
      
      
      
                <If Condition="(Me.Position.X &lt; )">
               </If>
                <If Condition="(Me.Position.Y &lt; )">
               </If>
                 <If Condition="(Me.Position.Z &lt; )">
               </If>
      
      
                  <JumpTo     QuestId="1" JumpRotation="" 
                                  
                                  End 
      
      
               <If Condition="(Me.AdvancedClass == AdvancedClass.Sage)">
               </If>
               <If Condition="(Me.Class == CharacterClass.Consular)">
               </If>
       
                  <If Condition="Me.Level &lt; 10">
                      <Grind GrindRef="" While="Me.Level &lt; 10" />
                  </If>
                  
                  <UserDialog Title="Test" Message="insert issue here" />
      
      
                  <ForceVendor VendorType="Train" />
                  <ForceVendor VendorType="Repair" />
      
      
      
      I piggyback taxi's and wonka's a lot... you don't have to, but if you don't, you need to use the me.position.x y z's
       

      Attached Files:

      Last edited: Jun 26, 2012
    Thread Status:
    Not open for further replies.

    Share This Page