Posts: 372
Threads: 63
Joined: Jun 2011
I get the following message when I run this script: 213: ')' expected near 'UO'
Also, I don't notice any communication between easyuo and the game. When I click on my container there is no change in ContID. Any help is appreciated
Posts: 139
Threads: 12
Joined: May 2011
I'd say it isn't detecting your UO installation but I'm no expert...
try shuting down uo, re-install easyuo then start uo and easy uo and I don't remember either if you need to run some executable after extracting the files from the zip and before running it, I'll try tomorrow.
Posts: 83
Threads: 11
Joined: Jun 2011
i had that problem before. i ran euo as admin and it worked so try that
Posts: 372
Threads: 63
Joined: Jun 2011
Yup that did it. Thanks Thorn!
However, I still get the message when i try to use the macro: 213: ')' expected near 'UO'
I found what to me looks like unclosed parenthesis in the following if statement and thought that might be the issue but when i remove or close it nothing changes or I get another similar message to the above saying: 213: 'then' expected near 'UO'
Quote: for i=1,95 do
--calc min distance
currD=math.sqrt(math.pow(x-forgeXs[i],2)+math.pow(y-forgeYs[i],2))
if (currD UO.MaxWeight-10 then
bankOre()
(This post was last modified: 08-30-2011, 01:58 PM by
Lamby.)
Posts: 139
Threads: 12
Joined: May 2011
dunno what the problem is I'll post the latest code i'm using (some times I make some small tweaks)
Quote:-- Change this to the ID of container in your bank where you would like
-- your ingots to be placed.
ingotContainer=1082676472 --1099312276 --
bankType=1074118237
ingotType=7151
toolTypes=3718
status="idle"
idle="idle"
print("Starting OzMining 1.0 moded by Morwen/Reonarudo/Crafty")
status ="idle"
os=""
ref=0
function MineThisSpot(status)
if ( status ~= "idle" ) then
return status
end
local cnt=0
for i=1,UO.ScanItems(true) do
nID,type= UO.GetItem(i)
if type==3718 then
cnt=cnt+1
break
end
end
if cnt > 0 then
UO.LObjectID=nID
UO.Macro(17,0)
local oldX=UO.CharPosX
local oldY=UO.CharPosY
local oldZ=UO.CharPosZ
UO.TileInit (true)
local nType,nZ,sName,nFlags=UO.TileGet(oldX,oldY,2)
UO.LTargetTile=nType
UO.LTargetX=oldX
UO.LTargetY=oldY
UO.LTargetZ=oldZ
UO.LTargetKind=3
--target 10s
wait(600)
UO.Macro(22,0)
status="mining"
end
return status
end
function scanJournalFor(refArg,str)
nRef, nCnt = UO.ScanJournal(refArg)
for ji=nCnt-1,0,-1 do
text,colour=UO.GetJournal(ji)
if string.find(text,str) then
print(ji)
ref=nRef
return true
end
end
return false
end
function ProcessResults(status,jrnl)
while status == "mining" do
if scanJournalFor(ref,"dig some") then
print("You dug something")
status="idle"
end
if scanJournalFor(ref,"loosen some rocks") then
print("FAIL LOL")
status="idle"
end
if scanJournalFor(ref,"too far") then
print("Stupid biatx")
status="idle"
end
if scanJournalFor(ref,"Someone has gotten") then
print("huh?")
status="idle"
end
if scanJournalFor(ref,"cannot be seen") then
print("stupid blind ****er")
status="no_more_ore"
--MoveToNextSpot()
end
if scanJournalFor(ref,"no metal") then
print("Resource depleeted")
status="no_more_ore"
end
if scanJournalFor(ref,"can't mine") then
print("You can only mine rocks... you know like... rocks")
status="no_more_ore"
--MoveToNextSpot()
end
if scanJournalFor(ref,"save complete.") then
print("God save us from Eru")
status="no_more_ore"
end
-- if scanJournalFor(ref,"that is too far away") then
-- print("You are not so big now!")
-- status="no_more_ore"
-- end
if scanJournalFor(ref,"for validating your presence") then
UO.Msg("Dont forget to VOTE\n")
status="no_more_ore"
end
if scanJournalFor(ref,"stand closer") then
print("Its ingot melting time!!!")
status="idle"
GoSmelt()
end
if status~=os then
os=status
print("new status "..status)
end
end
return status
end
function MoveToNextSpot()
print("Finding next mining spot\n")
--FindNextSpot:
local oldX=UO.CharPosX
local oldY=UO.CharPosY
local randomInc=math.random(-5,5)
local newX=oldX + randomInc
randomInc = math.random(-5,5)
local newY=oldY + randomInc
print("Checking tile data")
UO.TileInit (true)
nType,nZ,sName,nFlags=UO.TileGet(newX,newY,2)
while sName~="cave floor" do
print("tile wasn't in a cave.")
print("Checking another tile to go.")
math.random()
randomInc = math.random(-5,5)
newX=oldX + randomInc
randomInc = math.random(-5,5)
newY=oldY + randomInc
print("X:"..newX.." Y:"..newY)
nType,nZ,sName,nFlags=UO.TileGet(newX,newY,2)
end
print("Going to "..newX.."-"..newY)
UO.Pathfind(newX,newY)
local countTry=0
while UO.CharPosX~=newX and UO.CharPosY~=newY do
wait(2000)
UO.Pathfind(newX,newY)
if countTry==15 then
break
else
countTry=countTry+1
end
end
status="idle"
end
function GoToForge()
local x=UO.CharPosX
local y=UO.CharPosY
local CountOres=0
for i=1,UO.ScanItems(true) do
local id,type = UO.GetItem(i)
if type==6585 then
CountOres=CountOres+1
end
end
if(CountOres>0) then
local minD=99999999
local currD=-1
local idx=-1
local forgeXs={2568,2569,2575,2576,2568,2569,2570,2571,2572,2573,
2574,2575,2576,2577,2568,2569,2570,2571,2572,2573,
2574,2575,2576,2577,2568,2569,2570,2571,2572,2573,
2574,2575,2576,2577,2572,2573,2574,2575,2576,2577,
2578,2572,2573,2577,2578,2572,2573,2578,2572,2573,
2577,2578,2572,2573,2574,2575,2576,2577,2578,2572,
2573,2574,2575,2576,2577,2578,2572,2573,2574,2575,
2576,2577,2578,2581,2581,2581,2581,2581,2581,2581,
2582,2582,2582,2582,2582,2582,2582,2582,2583,2583,
2583,2583,2583,2583,2583}
local forgeYs={474,474,474,474,475,475,475,475,475,475,475,475,475,
475,476,476,476,476,476,476,476,476,476,476,477,
477,477,477,477,477,477,477,477,477,486,486,486,
486,486,486,486,487,487,487,487,488,488,488,489,
489,489,489,490,490,490,490,490,490,490,491,491,
491,491,491,491,491,492,492,492,492,492,492,492,
490,491,492,493,494,496,497,490,491,492,493,494,
495,496,497,490,491,492,493,494,495,496}
for i=1,95 do
--calc min distance
currD=math.sqrt(math.pow(x-forgeXs[i],2)+math.pow(y-forgeYs[i],2))
if( currD
minD=currD
idx=i
end
end
UO.Pathfind(forgeXs[idx],forgeYs[idx])
local newX=forgeXs[idx]
local newY=forgeYs[idx]
while UO.CharPosX~=newX and UO.CharPosY~=newY do
wait(5000)
UO.Pathfind(newX,newY)
end
while UO.CharPosX ~= newX and UO.CharPosY ~= newY do
wait(1000)
end
print("Reached forge")
wait(1000)
--Melt ores
for i=1,UO.ScanItems(true) do
local id,type = UO.GetItem(i)
if type==6585 then
UO.LObjectID=id
UO.Macro(17,0)
print("Smelts ore")
wait(200)
end
end
else
print("No Ores to Smelt")
end
end
function GoSmelt()
--TODO Find nearest forge from a list of forges
-- saves current position and go to forge
-- Once there smelt all the ores and
-- go back
local oldX=UO.CharPosX
local oldY=UO.CharPosY
--SmeltOre:
-- set %oldX #charposX
-- set %oldY #charposY
GoToForge()
if UO.Weight > UO.MaxWeight+20 then
bankOre()
end
UO.Pathfind(oldX,oldY);
while UO.CharPosX~=oldX and UO.CharPosY~=oldY do
wait(2000)
UO.Pathfind(oldX,oldY)
end
while UO.CharPosX ~= oldX and UO.CharPosY ~= oldY do
wait(1000)
end
end
function bankOre()
local oldX=UO.CharPosX
local oldY=UO.CharPosY
local countIng =0
for i=1,UO.ScanItems(true) do
local nID,nType,nKind, nContID, nX, nY, nZ, nStack, nRep, nCol = UO.GetItem(i)
if nType==7151 then--ingotType then
countIng=countIng+1
end
end
if(countIng>0) then
print("Going to bank ingots...")
UO.Pathfind(2569,488);
while UO.CharPosX~=2569 and UO.CharPosY~=488 do
wait(4000)
UO.Pathfind(2569,488);
end
UO.Pathfind(2563,503);
while UO.CharPosX~=2563 and UO.CharPosY~=503 do
wait(4000)
UO.Pathfind(2563,503);
end
UO.Pathfind(2561,510);
while UO.CharPosX~=2561 and UO.CharPosY~=510 do
wait(4000)
UO.Pathfind(2561,510);
end
print("Reached banking spot")
wait(500)
UO.LObjectID=bankType
UO.Macro(17,0)
wait(2000)
print("Opened bankbox")
for i=1,UO.ScanItems(true) do
local nID,nType,nKind, nContID, nX, nY, nZ, nStack, nRep, nCol = UO.GetItem(i)
if nType==ingotType then
wait(200)
UO.Drag(nID,nStack)
wait(400)
UO.DropC(ingotContainer)
wait(800)
end
end
print("Going back...")
UO.Pathfind(2569,488);
while UO.CharPosX~=2569 and UO.CharPosY~=489 do
wait(5000)
UO.Pathfind(2569,488);
end
while UO.CharPosX~=2569 and UO.CharPosY~=489 do
wait(1000)
end
UO.Pathfind(oldX,oldY);
while UO.CharPosX~=oldX and UO.CharPosY~=oldY do
wait(5000)
UO.Pathfind(oldX,oldY)
end
while UO.CharPosX ~= oldX and UO.CharPosY ~= oldY do
wait(1000)
end
end
end
function Main()
local status="idle"
while UO.Hits > 0 do
if ( UO.Weight > UO.MaxWeight+20 ) then
print("gosmelt")
GoSmelt()
end
if status == "no_more_ore" then
print("move next")
status= "idle"
MoveToNextSpot()
end
if ( UO.Weight > UO.MaxWeight+20 ) then
print("gosmelt")
GoSmelt()
end
local nNewRef = UO.ScanJournal(0)
status=MineThisSpot(status)
status=ProcessResults(status,nNewRef)
status=MineThisSpot(status)
end
end
Main() --Run biatx
Posts: 139
Threads: 12
Joined: May 2011
there is a ) in the if but it disappears once i post i tried to edit but it still disappears
Posts: 372
Threads: 63
Joined: Jun 2011
With your update I get 190: '}' expected near '572'
which is weird because so far I only see two open curly brackets and they both have closing brackets.
(This post was last modified: 08-30-2011, 02:56 PM by
Lamby.)
Posts: 139
Threads: 12
Joined: May 2011
Posts: 372
Threads: 63
Joined: Jun 2011
Great! Says Starting OzMining 1.0... but my char isn't doing anything.
Do I have to be standing anywhere in particular within mt kendall?
Posts: 139
Threads: 12
Joined: May 2011
Posts: 372
Threads: 63
Joined: Jun 2011
Ugh! This is making me crazy... any ideas on how to troubleshoot this? I open the script in oeuo and push play. The resulting message says "Starting OzMining 1.0 moded by Morwen/Reonarudo/Crafty"... But nothing happens in game.
Posts: 139
Threads: 12
Joined: May 2011
I'll make a visit to you at mt kendall