Page 2 of 2
Re: need help please with a DOD Script
Posted: Sun Oct 07, 2012 3:14 am
by rock5
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.
Re: need help please with a DOD Script
Posted: Sun Oct 07, 2012 5:37 pm
by nightclaw
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
Re: need help please with a DOD Script
Posted: Sun Oct 07, 2012 5:55 pm
by nightclaw
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
Re: need help please with a DOD Script
Posted: Sun Oct 07, 2012 5:58 pm
by nightclaw
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
Re: need help please with a DOD Script
Posted: Sun Oct 07, 2012 9:21 pm
by nightclaw
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>