The system is simple, go ask to the NPC what to mine (4 differents types) and go by the use of gates to the mineral, mine it and come back to give it to the NPC.
I had to do it 2000 time, very boring, so I've scripted that :
Code: Select all
sub main()
var minerai=0
var x=5309,y=1178 #premiere piece de travail
while not uo.dead()
while x<>5304 or y<>1173 #devant Rudy
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(100)
uo.deletejournal()
uo.say("Rudy oui")
wait(100)
uo.say("Rudy oui")
repeat
wait(100)
until uo.injournal("chercher un minerai de charbon") or uo.injournal("chercher un minerai de cuivre") or uo.injournal("chercher un minerai de fer") or uo.injournal("chercher un minerai de roche")
if uo.injournal("chercher un minerai de roche") then
minerai=1
uo.print("roches")
uo.print(str(minerai))
endif
if uo.injournal("chercher un minerai de fer") then
minerai=2
uo.print("fer")
uo.print(str(minerai))
endif
if uo.injournal("chercher un minerai de cuivre") then
minerai=3
uo.print("cuivre")
uo.print(str(minerai))
endif
if uo.injournal("chercher un minerai de charbon") then
minerai=4
uo.print("charbon")
uo.print(str(minerai))
endif
while x<>5309 or y<>1168 #sortie premiere piece
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
while x<>5303 or y<>1168 #debut deuxieme piece
uo.press(37)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5303 or y<>1163 #sortie deuxieme piece
uo.press(33)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5300 or y<>1163
uo.press(36)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(100)
if (minerai==1) then
while x<>5299 or y<>1162 #prend le chemin vers les roches
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
while x<>5287 or y<>1166 #arrivee dans la piece des roches
uo.press(36)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5290 or y<>1164
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5285 or y<>1160 #arrive a cote des roches
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
uo.usetype(0x0e85)
wait(100)
uo.lclick(375,254)
while x<>5290 or y<>1166
uo.press(40)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
endif
if (minerai==2) then
while x<>5299 or y<>1162 #prend le chemin vers le fer
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5294 or y<>1162
uo.press(36)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
while x<>5277 or y<>1176 #arrivee dans la piece du fer
uo.press(37)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5280 or y<>1174
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5275 or y<>1170 #arrive a cote du fer
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
uo.usetype(0x0e85)
wait(100)
uo.lclick(375,255)
while x<>5280 or y<>1176
uo.press(40)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
endif
if (minerai==3) then
while x<>5298 or y<>1161 #prend le chemin vers le cuivre
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5277 or y<>1166
uo.press(37)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
while x<>5280 or y<>1164 #arrivee dans la piece du cuivre
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5275 or y<>1160 #arrive a cote du cuivre
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
uo.usetype(0x0e85)
wait(100)
uo.lclick(375,255)
while x<>5280 or y<>1166
uo.press(40)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
endif
if (minerai==4) then
while x<>5300 or y<>1168 #prend le chemin vers le charbon
uo.press(40)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
while x<>5287 or y<>1176 #arrivee dans la piece du charbon
uo.press(37)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5290 or y<>1174
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5285 or y<>1170 #arrive a cote du charbon
uo.press(38)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
uo.usetype(0x0e85)
wait(100)
uo.lclick(375,255)
while x<>5290 or y<>1176
uo.press(40)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
endif
wait(150)
while x<>5292 or y<>1186 #sortie de n'import quelle piece
uo.press(37)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
while x<>5309 or y<>1178 #retoure a la case depart
uo.press(39)
wait(100)
x=uo.getx("self")
y=uo.gety("self")
wend
wait(150)
wend
end sub
But there are two problems :
First, I can't use my computer while the script is running due to uo.lclick(), do you know a way to tell the player to clic just in front of him ?
Second, sometimes, the player seems to have trouble for stoping at the right coordinate (x, y) and it makes him run in front of the wall (not very useful).
Thanks You !!!
PS : it's my first script so please, be gentle