Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaksuhn committed Mar 15, 2024
2 parents 68fdb2f + 5d0fa59 commit 4f80792
Show file tree
Hide file tree
Showing 8 changed files with 673 additions and 158 deletions.
116 changes: 85 additions & 31 deletions Community Scripts/Dungeons/Alex Burden of Father [A4N] Farm.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@
This is meant to be used for Alexander - The Burden of the Father (NORMAL NOT SAVAGE)
It's setup to where you should be able to loop it as many time as you want, and be able to farm mats for GC seals
Known classes to work: ALL
Version: 3.3.1
Version: 3.3.3
-> 3.3.3: Added the fucking manual like the main repo.
-> 3.3.2: Added the ability to Infinite Loop w/o having to set a number
-> 3.3.1: Added some checks to wait till you're fully loaded out (in case of high ping) [Chest fix is next on the list for high ping]
-> 3.3: Repair Functionality & Potentional duty load check (@leaf update)
Created by: Ice, Class Support: Ellipsis | Menu Optimizing: Leaf
-> 3.3.0: Repair Functionality & Potentional duty load check (@leaf update)
Created by: Leontopodium Nivale, Class Support: Ellipsis | Menu Optimizing/tweaks: Leaf
Creators note: thank you Ellipsis for getting all the classes working, you did an amazing job. You deserve the credit here.
also @Leaf thanks for tweaking it and making this more friendly for situations I didn't account for, you're the best
*********************
* Required Plugins *
Expand All @@ -21,13 +25,11 @@
Plugins that are used are:
-> Visland (for pathing) : https://puni.sh/api/repository/veyn
-> NEW Vnavmesh (needed for visland) : https://puni.sh/api/repository/veyn (this might be temporary, waiting on some news/update, but for now)
-> Pandora (Setting "Open Chest") : https://love.puni.sh/ment.json
-> RotationSolver : https://puni.sh/api/repository/croizat
-> Something Need Doing [Expanded Edition] : https://puni.sh/api/repository/croizat
-> Something Need Doing [Expanded Edition] : https://puni.sh/api/repository/croizat
-> In the SND window, press the question mark to make the help setting's menu open
-> Go to options tab -> /target -> DISABLE THIS!! "Stop macro if target not found (only applies to SND's targeting system')"
]]

--[[
Expand All @@ -37,7 +39,12 @@
**************
]]

NumberofLoops = 5 -- How many loops do you wanna do
NumberofLoops = 5 -- number of loops you would like to do
InfiniteLoops = false -- options: true | false
-- If you want it to continually loop w/o a cap, change InfiniteLoops to true
-- this will ignore the number of loops and continually go w/o stopping


rate = 0.3 -- Increase this at lower fps [0.3 works on 15fps+]
timeoutThreshold = 15 -- Number of seconds to wait before timeout

Expand All @@ -54,8 +61,10 @@

ManualRepair = false -- if you want to repair between the loops that you do. [defaults is false | on is true]
RepairAmount = 75 -- lowest point your gear will



EchoHowMany = true -- Would you like to know where in the script the loop is at? [default is true | off is false]

CastingDebug = false

--[[
Expand All @@ -65,30 +74,80 @@
************
]]
-- functions
function TargetNearestObjectKind(objectKind, radius, subKind)
local smallest_distance = 10000000000000.0
local closest_target
local radius = radius or 0
local subKind = subKind or 5
local nearby_objects = GetNearbyObjectNames(radius^2,objectKind)

if nearby_objects.Count > 0 then
for i = 0, nearby_objects.Count - 1 do
yield("/target "..nearby_objects[i])
if not GetTargetName() or nearby_objects[i] ~= GetTargetName()
or (objectKind == 2 and subKind ~= GetTargetSubKind()) then
elseif GetDistanceToTarget() < smallest_distance then
smallest_distance = GetDistanceToTarget()
closest_target = GetTargetName()
end
end
ClearTarget()
if closest_target then yield("/target "..closest_target) end
end
return closest_target
end

function PlayerTest()
repeat
yield("/wait "..rate)
until IsPlayerAvailable()
end


--Visland Loops
Alex_Start = "H4sIAAAAAAAACk2PW2vDMAyF/4ueTXCyNJv9VrYO8tDdIVvHKKbVqKG2Rq3uQsh/nxJctjcd6dPRUQ83LiBYmO/xe12vH0FB534+yEdOYF97uKPk2VME28MzWF3oqrmYmaY2Cl7AlrqY1ea8qhWswJrCNGdaV4MoitheyYKCB7f1R3ErCxFL+sSAkadJGxkPbsOd591tpv/3cjgJlXb0dZpIGnF7d/uEf/gUsVSwCMSnwy1jyOV8IrK4P2LiXI/GnfPjt9lxVNd0uKS4zZ8LNjaffMClcHp4G34B1YIamzkBAAA="
Alex_Chest = "H4sIAAAAAAAACuWQSWvDMBCF/0qZsyMkR7It3UIX8CHdCLgLJYhkTASxVWy5C8b/vYpj40ALvRZ605t5enr6WrjWBYKCxR4/1ny9ggAy/flqTelqUM8t3NraOGNLUC08gAqJFDGXEQ/gERSjJKJcijCAJ1AzQZKEJiHrvLQlphegaAD3emsaH8aIF0v7hgWWrt+kpcNKb1xm3O5mcJ/Ohm6+U72z7+PGl/Fpud7XONn7hiyAy8K68eHUYTEcF71jEHcN1m44H4IzbdyUeFBXtjq35Xb4OD0OV6bApffRLviGZUYJo5IyGU9kBOeRkEcykgjJEhH/QzIhoaHkyURlLrk4UonIPJpTmZxQ4YfdyMVf/Y0Ljz3hH8i4CnXdVHi2sXmO1Z8D9dJ9Ad/rgrl7AwAA"
Alex_Chest = "H4sIAAAAAAAACuWQSWvDMBCF/0qZsyMkR7It3UIX8CHdCLgLJYhkTASxVWy5C8b/vYpj40ALvRZ605t5enr6WrjWBYKCxR4/1ny9ggAy/flqTelqUM8t3NraOGNLUC08gAqJFDGXEQ/gERSjJKJcijCAJ1AzQZKEJiHrvLQlphegaAD3emsaH8aIF0v7hgWWrt+kpcNKb1xm3O5mcJ/Ohm6+U72z7+PGl/Fpud7XONn7hiyAy8K68eHUYTEcF71jEHcN1m44H4IzbdyUeFBXtjq35Xb4OD0OV6bApffRLviGZUYJo5IyGU9kBOeRkEcykgjJEhH/QzIhoaHkyURlLrk4UonIPJpTmZxQ4YfdyMVf/Y0Ljz3hH8i4CnXdVHi2sXmO1Z8D9dJ9Ad/rgrl7AwAA"

-- Values that are needed for the whole script
CurrentLoop = 1 -- This is just the loop counter itself, keeps tracks of how many you've done.
DutyCounter = 0
DutyFail = 0
CurrentLoop = 1 -- This is just the loop counter itself, keeps tracks of how many you've done.
DutyCounter = 0
DutyFail = 0


if ManualSetDuty == true then
DutyCounter = 1
end

if NumberofLoops == 0 then
InfiniteLoops = true
yield("/e Hmm... you didn't set it to infinite, but you also set it as 0, so I'm going to safely assume you meant to put it as infinite. Fixed that for you")
end

::LoopTest::
if NumberofLoops >= CurrentLoop then
if NumberofLoops >= CurrentLoop and InfiniteLoops == false then
if EchoHowMany == true then
yield("/echo Loop: "..CurrentLoop.." out of ".. NumberofLoops)
elseif NumberofLoops < CurrentLoop then
end
PlayerTest()
elseif NumberofLoops < CurrentLoop and InfiniteLoops == false then
goto StopLoop
elseif InfiniteLoops == true then
if EchoHowMany == true then
yield("/e Current Loop is at: "..CurrentLoop)
end
PlayerTest()
end

repeat
yield("/wait 0.1")
until IsPlayerAvailable()
if CurrentLoop == 69 then
yield("/e Heh... nice.")
elseif CurrentLoop == 100 then
yield("/e Woo! 100 in, only... many more to go")
elseif CurrentLoop == 300 then
yield("/e Wow, 300. Man Idyllshire is going to be hurting for gear after this")
elseif CurrentLoop == 500 then
yield("/e Wanna know what a pirate's favorite letter is?")
yield("/e You might this it's 'Arr' but his first love was the 'C' ")
end

-- Repair Functionality
if ManualRepair == true then
Expand All @@ -109,10 +168,6 @@ if ManualRepair == true then
end
end

repeat
yield("/wait 0.1")
until IsPlayerAvailable()

::DutyFinder::
if DutyFail == 4 then
goto StopLoop
Expand Down Expand Up @@ -184,8 +239,6 @@ elseif DutyCounter == 1 then -- Quicker menu'ing here to load in
while not IsAddonReady("ContentsFinder") do
yield("/wait "..rate)
end
-- Setting up Unsync if it wasn't already
SetDFUnrestricted(true)
yield("/pcall ContentsFinder True 12 0") --Duty Load
repeat
yield("/wait "..rate)
Expand Down Expand Up @@ -214,9 +267,6 @@ while not GetCharacterCondition(26) do
current_target = GetTargetName()
if current_target == "" then
yield("/wait "..rate)
if CastingDebug == true then
yield("/e Target system is working, if it's targeting something here")
end
end
end

Expand All @@ -230,9 +280,6 @@ while not GetCharacterCondition(26) do
yield("/visland moveto " .. enemy_x .. " " .. enemy_y .. " " .. enemy_z)
yield("/wait "..rate)
yield("/rotation manual")
if CastingDebug == true then
yield("/e Break B")
end
else
yield("/visland stop") -- Stop movement after reaching near the target
end
Expand Down Expand Up @@ -288,6 +335,13 @@ repeat
yield("/wait "..rate)
until not IsVislandRouteRunning()

while TargetNearestObjectKind(4) do
if not IsVislandRouteRunning() then
yield("/visland moveto " .. GetTargetRawXPos() .. " " .. GetTargetRawYPos() .. " " .. GetTargetRawZPos())
end
yield("/wait "..rate)
end

CurrentLoop = CurrentLoop + 1
yield("/echo Leaving the instance")
yield("/pdfleave")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ local char_snake = "no follow"
--^^^^^^^^^^^ please note that party leader is the char_snake to pick if you want to actually trigger the duties
--firstname lastname (of party member) you want to follow. dont put the @server

local enemy_snake = "whatever"
local enemy_snake = "nothing"
--**Info**
-- the enemy to follow. 4 means character slot 4, slot 1 is us, dont use 1, can throw in text if you want it to be a specific enemy or player -> wrap it with double quotes
--**Examples**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,7 @@ local function arbitrary_duty()
if target ~= doodie[whereismydoodie][7] then --dont get away from they keys and such
yield("/"..muuvtype.." moveto "..doodie[whereismydoodie][2].." "..doodie[whereismydoodie][3].." "..doodie[whereismydoodie][4]) --move to the x y z in the waypoint
yield("/echo No Combat - Regular NAV , WP -> "..whereismydoodie.." navtype -> "..muuvtype.." nav code -> "..doodie[whereismydoodie][1].." current dist to objective -> "..tempdist)
--yield("/echo No Combat - Regular NAV , DEBUG -> /"..muuvtype.." moveto "..doodie[whereismydoodie][2].." "..doodie[whereismydoodie][3].." "..doodie[whereismydoodie][4].."<-- line end")
end
if string.len(doodie[whereismydoodie][7]) > 1 then
yield("/target "..doodie[whereismydoodie][7])
Expand Down
52 changes: 43 additions & 9 deletions Community Scripts/Gathering/Spearfishing Desynth.lua
Original file line number Diff line number Diff line change
@@ -1,28 +1,55 @@
--[[
Description: Spearfishing Auto Desynth
The script allows you to have it running a visland route (while spearfishing) and when you get to a certain inventory amount it will pause for you and proceed to desynth all your collectables.
Version: 5 (Now with a built in route, and ability to add your own!)
Author: LegendofIceman
Version: 6.1 (Now with a built in route, and ability to add your own!)
Author: Leontopodium Nivale
]]

Fishing_Start = 0

--When do you want to repair your own gear? From 0-100 (it's in percentage, but enter a whole value
Repair_Amount = 50

--[[If you want to input your own route from visland, put it below here. It will take priority
over the default one that is included in this LUA script]]
routename = "Insert the name of your visland route here!"


--[[Route name below, it's in base64 (which in simple terms, means that the route is already in this LUA script
This makes it to where you won't need to import the script to visland, and run it solely from this]]
This makes it to where you won't need to import the script to visland, and run it solely from this
Location for this is: Upper La Noscea | Camp Bronzelake
]]
earthbreak_aethersand = "H4sIAAAAAAAACu2VTU/cMBCG/wryOYz8Mf7KDRWQ9kBbqkpbinpwWZeN2sRVYkBotf+94yRbVIHUAycWbh5nMhk/ft/Jhr0PbWQ1Owl9Xn/vY/h5cBTzOvZD6FasYstw/zs1XR5YfblhH9PQ5CZ1rN6wL6yWyoHXwlXsgtWH2oBTqGzFvlJkLKBGVFsKUxcXx6zmFfsUVs0N1ZJAwVm6jW3sMqtFxRZdjn24yssmrz+UbIXI+b/7c685xrbprg/uAj0aqMlhne52edQd1f8Rfg3x4eWxZfrISZvyrpVFju28PBoz5uD8Jg55XpfCy9Dkh4olOk39u9StZhJ82vzctPGM8vi2esRJaA+I1okJlHFglRVWj6SMLJFD8zQp9X9ST1N6CVycKGdXExarQWhtJ/3YIibuxLPkI/dEPkqCcUUuIyYFxihuRkyapOTR4hum4jIBSpidyUgjikvpRk4oaFBxLl6fx7wHQxbDvx5Tzkg5zWiNILi19lnqEfthMq9AojE7TgocyqKlwslzMCike+NENyQ80ECSNH9GmyFoZSRhK6CsB+0d3/tf2bftH0ShbN45CQAA"

slots_remaining = 5
--How many slots do you want open before it starts to desynth? [Default is 5]

-- If you have the ability to repair your gear, this will allow you to do so.
::RepairMode::
if NeedsRepair(Repair_Amount) then
yield("/generalaction repair")
yield("/waitaddon Repair")
yield("/pcall Repair true 0")
yield("/wait 0.1")
if IsAddonVisible("SelectYesno") then
yield("/pcall SelectYesno true 0")
yield("/wait 0.1")
end
while GetCharacterCondition(39) do yield("/wait 1") end
yield("/wait 1")
yield("/pcall Repair true -1")
end

-- Starts the route/resumes it if you had it paused in visland
::Fishingstart::

if Fishing_Start == 0 then
yield("/visland exectemp "..earthbreak_aethersand)
yield("/visland exec "..routename)
yield("/visland resume")
yield("/wait 1")
Fishing_Start = Fishing_Start + 1
end

-- Checks to see how much inventory space you have
::StartCount::
Expand Down Expand Up @@ -55,11 +82,18 @@ end
while (not GetCharacterCondition(6)) and not (GetCharacterCondition(39)) do
yield("/visland pause")

if GetCharacterCondition(4) then
yield("/ac dismount")
yield("/wait 3")
end
yield("/wait 0.5")
yield("/wait 1")

while GetCharacterCondition(27) do
yield("/wait 1")
end

if GetCharacterCondition(4) then
yield("/ac dismount")
yield("/wait 3")
end

yield("/wait 0.5")

while (not GetCharacterCondition(6)) and (not GetCharacterCondition(39)) do
if IsAddonVisible("PurifyResult") then
Expand Down Expand Up @@ -97,4 +131,4 @@ if not GetCharacterCondition(39) then
yield("/visland resume")
end

goto StartCount
goto RepairMode
Loading

0 comments on commit 4f80792

Please sign in to comment.