my personnal waypoint work very good 250 momentos/hours
i juste want help other player, with simple good waypoint...
ps: sry for my english :s
Code: Select all
<?xml version="1.0" encoding="utf-8"?><waypoints type="TRAVEL">
<onLoad>
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
---= # Line 18 add your name # Line 64 add your boss buff/food/potions =---
---= # Line 19 add name first alt # Line 202 change dura weapon =---
---= # Line 20 add name second alt if you want =---
---= # Line 21 add name third alt if you want =---
---= # Line 28 to 32 add your skill what you will use for attack boss =---
---= # Line 22 choose difficuty instance "normal" or "easy" =---
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
settings.profile.mobs = {"NeverAttackMobs"};
settings.profile.options.AUTO_ELITE_FACTOR = 9999;
settings.profile.options.MAX_FIGHT_TIME = 15;
settings.profile.options.MAX_TARGET_DIST = 300
settings.options.MELEE_DISTANCE = 55;
NamePlayer = YourName
Invite1 = AddInvite1
Invite2 = AddInvite2
Invite3 = AddInvite3
InstanceLvL = normale
Count = 0
Zid = 0
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function bossAttackCombo(bossname)
if player.Name == "NamePlayer" then
if not player:cast("SCOUT_VAMPIRE_ARROWS") then return false; end
if not player:cast("SCOUT_COMBO_SHOT") then return false; end
if not player:cast("SCOUT_PIERCING_ARROW") then return false; end
if not player:cast("SCOUT_SHOT") then return false; end
if not player:cast("SCOUT_PIERCING_ARROW") then return false; end
end;
end
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function LootTargetSolo()
timeout = os.time();
while true do
player:update();
target = player:getTarget();
if target == nil then
break;
end
target:update();
Attack();
yrest(100);
if target.Lootable == false or os.difftime(os.time(), timeout) > 1 then
break;
end
end
end;
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function AdjustPosition(X, Z)
if distance(player.X, player.Z, X, Z) > 20 then
player:moveTo(CWaypoint(X, Z), true);
end
end;
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function FacePosition(X, Z)
local angle = math.atan2(Z - player.Z, X - player.X);
local yangle = 0;
player:faceDirection(angle, yangle);
camera:setRotation(angle);
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function AttackableTarget()
player:update();
local target = player:getTarget();
if target == nil then
print("Target is nil");
return false;
end
target:update();
if false then
print("--------------");
print("Target Name: "..target.Name);
print("Target Level: "..target.Level);
print("Target HP: "..target.HP);
print("Target MaxHP: "..target.MaxHP);
if target.Lootable then
print("Lootable");
else
print("Not Lootable");
end
if target.Alive then
print("Alive");
else
print("Not Alive");
end
if target.Attackable then
print("Attackable");
else
print("Not Attackable");
end
if target.Aggressive then
print("Aggressive");
else
print("Not Aggressive");
end
if player.Battling then
print("Battling");
else
print("Not Battling");
end
print ("HP percent: ".. (target.HP/target.MaxHP)*100);
print("--------------");
end
if (1 > target.HP) then
print("AttackableTarget: no hp")
return false;
end
if target.Lootable then
print("AttackableTarget: lootable")
return false;
end
if not target.Attackable then
print("ntAttackableTarget: not attackable")
return false;
end
if not target.Alive then
print("AttackableTarget: not alive")
return false;
end
return true;
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function findzi()
keyboardHold( settings.hotkeys.MOVE_FORWARD.key )
yrest(500)
keyboardRelease( settings.hotkeys.MOVE_FORWARD.key )
waitForLoadingScreen(2)
local getinlvl = sendMacro('GetInstanceLevel()')
if getinlvl == ("easy") then
zid = 128
elseif getinlvl == ("normal") then
zid = 127
elseif getinlvl == ("hard") then
zid = RoMScript("GetZoneID()");
sendMacro('SetInstanceLevel("InstanceLvL")');
cprintf(cli.blue, "Instance Lvl change to normal\n")
end
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function Invite()
if player.Name == "NamePlayer" then
yrest(50);
sendMacro('InviteByName("Invite1")');
yrest(50);
sendMacro('InviteByName("Invite2")');
yrest(50);
sendMacro('InviteByName("Invite3")');
end
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function BossPotion()
if (not player:hasBuff("506684")) then -- Gouv Speed Potion --
inventory:useItem(207200);
end
if (not player:hasBuff("503479")) then -- Magic Parfum for pet if you want take more momentos --
inventory:useItem(207582);
end
if (not player:hasBuff("506273")) then -- Phy Damage food codex --
inventory:useItem(206876);
end
if (not player:hasBuff("501337")) then -- Hero Potion --
inventory:useItem(200277);
end
end;
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function ireset()
SlashCommand("ILG destroy")
yrest(500)
solorun()
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function solorun()
cprintf(cli.lightred, " --===# !!! WARNING !!! #===--\n")
cprintf(cli.lightgreen, " --===# I am run Solo. #===--\n")
inventory:update();
inventory:findItem(206879, "all");
print(" --===# Nbr de Jetons #===-- :", inventory:itemTotalCount(206879));
sendMacro('SetInstanceLevel("normal")');
cprintf(cli.lightblue, " --===# Instance LvL Normale #===--\n")
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function NeedReparation()
local dura = inventory:getMainHandDurability();
printf("Weapon Durability:%s\n", dura);
if (85 > dura) then
player:update();
cprintf(cli.lightred, "--=== !!! GO REPAIR !!! ===--\n");
__WPL:setWaypointIndex(__WPL:findWaypointTag("repair"));
end
if( 3 > inventory:getItemCount(0) ) then
cprintf(cli.lightred, "--=== !!! GO SELL !!! ===--\n");
__WPL:setWaypointIndex(__WPL:findWaypointTag("repair"));
end
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
function Countround()
Count = Count+1;
cprintf(cli.pink, " --===# Round Nbr: %s\n\n", Count )
end
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
unregisterTimer("timedSetWindowName");
local _starttime = os.time()
local _startmomentos = inventory:itemTotalCount(206879)
local function _window()
local _timepassed = (os.time() - _starttime)/3600 -- total time in hours
local _gatheredmomentos = inventory:itemTotalCount(206879) - _startmomentos -- total momentos aquired since starting
local _momentosperhour = (_gatheredmomentos/_timepassed)
local _currentmomentos = inventory:itemTotalCount(206879)
setWindowName(getHwnd(),sprintf(player.Name.." Momentos: ".._currentmomentos..", ".._momentosperhour.." Momentos/Hr, Time Passed:".._timepassed.."Hrs"))
end
registerTimer("setwindow", secondsToTimer(1), _window);
---=================#!#=======================---------------#!#-------------==============================#!#=========================---
</onLoad>
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<!-- # 1 --><waypoint x="1644" z="-4921" y="752" tag="start">
speed(73);
ireset()
Countround()
Invite()
NeedReparation()
</waypoint>
<!-- # 2 --><waypoint x="1670" z="-5077" y="760" tag="In1"> </waypoint>
<!-- # 3 --><waypoint x="1688" z="-5162" y="759">
findzi()
local zoneid = RoMScript("GetZoneID()")
if zoneid == 209 then
__WPL:setWaypointIndex(__WPL:findWaypointTag("In1"))
end
</waypoint>
<!-- # 1 --><waypoint x="1772" z="2886" y="433">
fly();
speed(73);
changeProfileOption("LOOT", false);
if player:hasBuff(506684) then
teleport(1890,2889,530);
end
</waypoint>
<!-- # 2 --><waypoint x="1890" z="2889" y="530">teleport(1985,2776,560); </waypoint>
<!-- # 3 --><waypoint x="1985" z="2776" y="560">
if player:hasBuff(506684) then
teleport(2045,2701,550);
end
</waypoint>
<!-- # 4 --><waypoint x="2045" z="2701" y="550"> </waypoint>
<!-- # 5 --><waypoint x="2124" z="2609" y="443">flyoff(); teleport(2229,2487,401); </waypoint>
<!-- # 6 --><waypoint x="2229" z="2487" y="401">
local bossname = "Okander Mallen, le \"Fou\""
changeProfileOption("MAX_TARGET_DIST", 300);
AdjustPosition(2229, 2487);
FacePosition(2334, 2364);
changeProfileOption("LOOT", true);
player:target_Unit(bossname);
if AttackableTarget() then
BossPotion();
player:updateBuffs();
while true do
player:target_Unit(bossname);
if not AttackableTarget() then
break;
end
while bossAttackCombo(bossname) do end
end
player:target_Unit(bossname);
LootTargetSolo();
end
changeProfileOption("LOOT", false);
teleport(2158,2561,417);
</waypoint>
<!-- # 7 --><waypoint x="2158" z="2561" y="417">fly(); speed(73);
changeProfileOption("MAX_TARGET_DIST", 50);
changeProfileOption("LOOT", false);
teleport(2075,2659,470);
</waypoint>
<!-- # 8 --><waypoint x="2075" z="2659" y="470">fly();
</waypoint>
<!-- # 9 --><waypoint x="2054" z="2687" y="560">teleport(1945,2794,560); fly(); </waypoint>
<!-- # 10 --><waypoint x="1945" z="2794" y="560">fly(); </waypoint>
<!-- # 11 --><waypoint x="1884" z="2855" y="560">teleport(1774,2883,433); flyoff(); </waypoint>
<!-- # 11 --><waypoint x="1774" z="2883" y="433" type="NORMAL">changeProfileOption("MAX_TARGET_DIST", 50); </waypoint>
<!-- # 12 --><waypoint x="1696" z="2891" y="433" tag="Out1">
findzi()
local zoneid = RoMScript("GetZoneID()")
if zoneid == zid then
ireset()
cprintf(cli.lightred, " --=== !!! Portail FAIL - Leave party go OUT !!! ===--\n");
waitForLoadingScreen(30)
loadPaths("Dod_Return");
end
__WPL:setWaypointIndex(__WPL:findWaypointTag("start"));
</waypoint>
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<!-- # 12 --><waypoint x="1721" z="-4713" y="752" tag="repair">speed(68);
print("---------== GO REPAIR and SELL ==--------");
player:merchant("Isaac Kaid");
__WPL:setWaypointIndex(__WPL:findWaypointTag("start"));
</waypoint>
</waypoints>