need help please with a DOD Script

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Message
Author
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: need help please with a DOD Script

#21 Post by rock5 » Sun Oct 07, 2012 3:14 am

Maybe when you teleport in and use this

Code: Select all

__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y)
maybe the closest waypoint is the one going out not the one going in.

You could probably use that example in the GoToPortal post.

Code: Select all

if not GoThroughPortal() then
    __WPL:setWaypointIndex(__WPL.LastWaypoint - 1)
end
This will try to go through the portal. If it fails it will go to the previous waypoint and approach the portal again to try again.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
nightclaw
Posts: 123
Joined: Sun Sep 02, 2012 4:39 am

Re: need help please with a DOD Script

#22 Post by nightclaw » Sun Oct 07, 2012 5:37 pm

i added the 1st code u gave rock in and fixing test it her in few but the 2nd code i dont think i need it goes though portals fine it sjust turns around goes back out lol i post my findings after i test 1st code later when i get home thax 4 help

User avatar
nightclaw
Posts: 123
Joined: Sun Sep 02, 2012 4:39 am

Re: need help please with a DOD Script

#23 Post by nightclaw » Sun Oct 07, 2012 5:55 pm

ok them just make it go thought portal that was not issues it already does that its just gos back out after 1st run when it goes back in for 2nd run when it just goes right back out

User avatar
nightclaw
Posts: 123
Joined: Sun Sep 02, 2012 4:39 am

Re: need help please with a DOD Script

#24 Post by nightclaw » Sun Oct 07, 2012 5:58 pm

i have just notaced i think its in waypoint 4 or 5 ...4 is where it goes in but on 5 is where it saids exit on backwards exit so after 1st run it things it going backwards and keeps exiting or some thing IDK i suck at this

User avatar
nightclaw
Posts: 123
Joined: Sun Sep 02, 2012 4:39 am

Re: need help please with a DOD Script

#25 Post by nightclaw » Sun Oct 07, 2012 9:21 pm

ok i have got the issue with in out ports fixed but i have a issue now where skips WP 10 for some reason witch over all not that big deal ....but 4 some reason now i have hole new issue where in the fight he jumps and the Mad Man addon works fine but wont retarget him do this error ( fight finshed and then clears target and then saids can not loot do aggro ) but he is not dead at all and my loot in combat it false ..code gods help please :)

here is fix i have done so far to run this fully u will need Userfunction_gotoportal.lua here>>> http://www.solarstrike.net/phpBB3/downl ... 86cfda4aea

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<onLoad><![CDATA[
   DOD_SOLO = true
   DOD_PARTY_MEMBERS = {"Char1","Char2","Char3"}
   
   if not DOD_SOLO then
      SlashCommand("ILG on")
settings.profile.events.onPreSkillCast =
function()
   target = player:getTarget();
   if target.Id == 103857 or target.Id == 103169  then
      if sendMacro("madman.Time") >= 1 then
         player:clearTarget();
         printf("Running\n")
         yrest(4000)
      end
   end
end
   end
   
   changeProfileOption("AUTO_ELITE_FACTOR",1000)
   changeProfileOption("LOOT_IN_COMBAT",false)
   
   if DOD_SOLO then
      if player.Name == "Main chars name goes here" then
         joinname = "Alt name goes here"
      elseif player.Name == "Char3" then
         joinname = "Char4"
      else
         error("No party match!",0)
      end
   end
   
   function autoInvite()
      if DOD_SOLO then
         while ( RoMScript("GetNumPartyMembers()") > 1 ) do
            RoMScript("LeaveParty()")
            yrest(2000)
         end
         for i = 1, 3 do
            if( RoMScript("GetNumPartyMembers()") < 2 ) then
               RoMScript("InviteByName('"..joinname.."')")
               printf("Waiting for party join...\n")
            end
            yrest(2000)
            if RoMScript("GetNumPartyMembers()") > 1 then
               break
            end
            if i == 3 then
               error("Party join failed!",0)
            end
         end
      else
         while RoMScript("GetNumPartyMembers()") > 1 do
            SlashCommand("ILG destroy")
            cprintf(cli.yellow,"ILG destroy\n")
            yrest(2000)
         end
         SlashCommand("ILG inv")
         cprintf(cli.yellow,"ILG inv\n")
         yrest(2000)
         if RoMScript("GetNumPartyMembers()") <= #DOD_PARTY_MEMBERS then
            for i = 1, #DOD_PARTY_MEMBERS do
               cprintf(cli.yellow,"Inviting "..DOD_PARTY_MEMBERS[i].."\n")
               RoMScript("InviteByName('"..DOD_PARTY_MEMBERS[i].."')")
               yrest(2000)
            end
         end
      end
      RoMScript("SetInstanceLevel('easy')")
   end
   
   function waitForParty()
      repeat
         local we_ready = true
         player:update()
         for i = 1, #DOD_PARTY_MEMBERS do
            local _partymember = player:findNearestNameOrId(DOD_PARTY_MEMBERS[i])
            if not _partymember or (_partymember and distance(player.X,player.Z,player.Y,_partymember.X,_partymember.Z,_partymember.Y) > 150) then
               we_ready = false
               cprintf(cli.lightred,"Waiting for "..DOD_PARTY_MEMBERS[i].."\n")
            end
         end
         yrest(2000)
      until we_ready
      cprintf(cli.lightgreen,"Party is ready!\n")
   end
   
   function CountObjectsNearPoint(_nameorid, _point, inrange, printnames)
      if type(_point) ~= "table" then _point = {player.X,player.Z,player.Y} end
      local objectList = CObjectList();
      local detected = {}
   
      objectList:update()
      for i = 0,objectList:size() do
         local obj = objectList:getObject(i)
         if obj ~= nil and (obj.Id == _nameorid or obj.Name == _nameorid) and obj.Address ~= player.Address and obj.Name ~= "<UNKNOWN>" and (inrange == nil or inrange >= distance(_point.X,_point.Z,_point.Y,obj.X,obj.Z,obj.Y) ) then
            if printnames then
               table.insert(detected,obj.Name)
            end
         end
      end
      if #detected > 0 then
         cprintf(cli.yellow,"Objects in range:\n")
         for i = 1, #detected do
            cprintf(cli.pink,detected[i].."\t")
         end
         printf("\n")
      end
      return #detected
   end
   
   npcName = GetIdName(115536) -- Isaac Haden
   function visitmerchant()
      if inventory:getMainHandDurability() < 95 or inventory:itemTotalCount(0) < 12 then
         return true
      else
         return false
      end
   end
   mentos = 0
]]></onLoad>
   <!-- #  1 --><waypoint x="1645" z="-4908" y="752">
      __WPL:setDirection(WPT_FORWARD)
      if visitmerchant() then
         __WPL:setWaypointIndex(11)
      end
   </waypoint>
   <!-- #  2 --><waypoint x="1662" z="-4970" y="760">   </waypoint>
   <!-- #  3 --><waypoint x="1660" z="-5072" y="760">   </waypoint>
   <!-- #  4 --><waypoint x="1667" z="-5124" y="761" tag="entrance">
      if not DOD_SOLO then waitForParty() end
      __WPL:setForcedWaypointType("RUN")
      autoInvite()
      __WPL:setDirection(WPT_FORWARD)
      if not DOD_SOLO then sendPartyChat("enter") end
      GoThroughPortal(200)
      __WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
   </waypoint>
   <!-- #  5 --><waypoint x="1793" z="2880" y="433" tag="exit">
      if __WPL.Direction == WPT_BACKWARD then
         __WPL:setForcedWaypointType("RUN")
         GoThroughPortal(200)
         player:update()
         if getZoneId() ~= 209 then
            if RoMScript("GetNumPartyMembers()") > 1 then
               RoMScript("LeaveParty()")
               waitForLoadingScreen(15)
            else
               RoMScript("SendWedgePointReport()")
               waitForLoadingScreen(75)
            end
            __WPL:setDirection(WPT_FORWARD)
         end
    end
   </waypoint>
   <!-- #  6 --><waypoint x="1892" z="2887" y="433">   </waypoint>
   <!-- #  7 --><waypoint x="2043" z="2699" y="433">   </waypoint>
   <!-- #  8 --><waypoint x="2124" z="2602" y="432">
      if __WPL.Direction == WPT_FORWARD then
         mentos = inventory:itemTotalCount("Ancient Memento")
         if not DOD_SOLO then
            waitForParty()
            sendPartyChat("Okander")
         end
      end
   </waypoint>
   <!-- #  9 --><waypoint x="2153" z="2569" y="421">   </waypoint>
   <!-- # 10 --><waypoint x="2331" z="2361" y="401" tag="Okander">
      if CountObjectsNearPoint("Okander") > 0 then
         if not player.Battling then
            yrest(250)
         end
         __WPL:setWaypointIndex(10)
      else
         __WPL:setDirection(WPT_BACKWARD)
         repeat
            yrest(500*math.random(4))
            local Okander = player:findNearestNameOrId("Okander")
            if not Okander then break end
            player:target(Okander)
            player:update()
            player:loot()
         until inventory:itemTotalCount("Ancient Memento") > mentos
      end
   </waypoint> 
   <!-- # 11 --><waypoint x="1704" z="-4756" y="752" tag="merchant">
      player:merchant(npcName)
      RoMScript("CloseAllWindows()")
      __WPL:setWaypointIndex(2)
   </waypoint>
   
   <!-- To the Sewers -->
   <!-- #  1 --><waypoint x="-3813" z="5117" y="19" tag="res">
      __WPL:setForcedWaypointType("RUN")
      player:mount()
   </waypoint>
   <!-- #  2 --><waypoint x="-3722" z="5220" y="12">   </waypoint>
   <!-- #  3 --><waypoint x="-3664" z="5311" y="11">   </waypoint>
   <!-- #  4 --><waypoint x="-3564" z="5362" y="11">   </waypoint>
   <!-- #  5 --><waypoint x="-3458" z="5434" y="9">   </waypoint>
   <!-- #  6 --><waypoint x="-3356" z="5530" y="10">   </waypoint>
   <!-- #  7 --><waypoint x="-3252" z="5629" y="3">   </waypoint>
   <!-- #  8 --><waypoint x="-3164" z="5736" y="4">   </waypoint>
   <!-- #  9 --><waypoint x="-3025" z="5864" y="2">   </waypoint>
   <!-- # 10 --><waypoint x="-2903" z="5980" y="10">   </waypoint>
   <!-- # 11 --><waypoint x="-2842" z="6059" y="9">   </waypoint>
   <!-- # 12 --><waypoint x="-2782" z="6170" y="10">   </waypoint>
   <!-- # 13 --><waypoint x="-2712" z="6284" y="4">   </waypoint>
   <!-- # 14 --><waypoint x="-2622" z="6353" y="6">   </waypoint>
   <!-- # 15 --><waypoint x="-2524" z="6397" y="15">   </waypoint>
   <!-- # 16 --><waypoint x="-2469" z="6465" y="19">   </waypoint>
   <!-- # 17 --><waypoint x="-2472" z="6526" y="30">   </waypoint>
   <!-- # 18 --><waypoint x="-2517" z="6567" y="38">   </waypoint>
   <!-- # 19 --><waypoint x="-2595" z="6612" y="49">   </waypoint>
   <!-- # 20 --><waypoint x="-2726" z="6687" y="32">   </waypoint>
   <!-- # 21 --><waypoint x="-2786" z="6721" y="42">   </waypoint>
   <!-- # 22 --><waypoint x="-2847" z="6764" y="40">   </waypoint>
   <!-- # 23 --><waypoint x="-2865" z="6824" y="40">   </waypoint>
   <!-- # 24 --><waypoint x="-2826" z="6956" y="40">   </waypoint>
   <!-- # 25 --><waypoint x="-2851" z="7047" y="15">   </waypoint>
   <!-- # 26 --><waypoint x="-2838" z="7121" y="-24">   </waypoint>
   <!-- # 27 --><waypoint x="-2912" z="7231" y="-96">
      GoThroughPortal(200)
      __WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
   </waypoint>
   <!-- # 28 --><waypoint x="43" z="-882" y="857">
      local jake = GetIdName(115572)
      NPCTeleport(jake,"Please transport me.")
      __WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
   </waypoint>
   
</waypoints>

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest