Как сравнить 2 переменные???
Moderators: Murderator+, Murderator
Как сравнить 2 переменные???
Я писал скрипт на мининг и столкнулся с проблемой. В начале я ввожу переменные "VAR my, ny". Это координаты. Вот начало скрипта, он начинает копать сверху вниз, при етом после каждого шага делает:
- my = UO.GetY("self")
Когда он доходит до предела он должен сравнить старые координаты с новыми и если они совпали, шагнуть в сторону. Я делаю это так:
- if my = ny then
или если не вводить переменную "ny":
- if my = ('UO.GetY("self")') then
Я недавно познакомился с Inject'ом поэтому прошу помощи.
- my = UO.GetY("self")
Когда он доходит до предела он должен сравнить старые координаты с новыми и если они совпали, шагнуть в сторону. Я делаю это так:
- if my = ny then
или если не вводить переменную "ny":
- if my = ('UO.GetY("self")') then
Я недавно познакомился с Inject'ом поэтому прошу помощи.
-
- Junior Expert
- Posts: 150
- Joined: 2004-04-12 20:26:41
Что-то скрипт всеравно не работает. Вот он. Не судите строго.
Sub Mining2()
VAR oldweight = UO.weight
VAR t=1
VAR my, ny
UO.print('Select a Pickaxe!')
UO.exec('addobject Pickaxe')
while uo.targeting()
wait(100)
wend
UO.print('Select a Shovel!')
UO.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
Minedown:
my = UO.GetY("self")
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 321,239')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 321,239')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(34)
ny = UO.GetY("self")
If my == ny then
UO.press(33)
goto Mineup
Endif
Wait(1000)
If uo.weight > 625 then
goto end
Endif
goto Minedown
Mineup:
my = UO.GetY("self")
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 321,239')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 321,239')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(32)
ny = UO.GetX("self")
If my == ny then
UO.press(33)
goto Minedown
end:
End sub
Sub Mining2()
VAR oldweight = UO.weight
VAR t=1
VAR my, ny
UO.print('Select a Pickaxe!')
UO.exec('addobject Pickaxe')
while uo.targeting()
wait(100)
wend
UO.print('Select a Shovel!')
UO.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
Minedown:
my = UO.GetY("self")
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 321,239')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 321,239')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(34)
ny = UO.GetY("self")
If my == ny then
UO.press(33)
goto Mineup
Endif
Wait(1000)
If uo.weight > 625 then
goto end
Endif
goto Minedown
Mineup:
my = UO.GetY("self")
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 321,239')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 321,239')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(32)
ny = UO.GetX("self")
If my == ny then
UO.press(33)
goto Minedown
end:
End sub
После небольших изменений получилось вот так:
Sub Mining2()
VAR oldweight = UO.weight
VAR t=1
VAR my, ny
UO.print('Select a Pickaxe!')
UO.exec('addobject Pickaxe')
while uo.targeting()
wait(100)
wend
UO.print('Select a Shovel!')
UO.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
Minedown:
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
my = UO.GetY("self")
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 325,240')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 325,240')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(34)
Wait(2000)
ny = UO.GetY("self")
If my == ny then
UO.press(35)
UO.press(35)
Wait(1000)
goto Mineup
Endif
If uo.weight > 625 then
goto end
Else
goto Minedown
Endif
Mineup:
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
my = UO.GetY("self")
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 325,240')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 325,240')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(36)
Wait(2000)
ny = UO.GetY("self")
If my == ny then
UO.press(35)
UO.press(35)
Wait(1000)
goto Minedown
Else
goto Mineup
Endif
end:
End sub
Но теперь my == ny ВСЕГДА! Как этого избежать?
Sub Mining2()
VAR oldweight = UO.weight
VAR t=1
VAR my, ny
UO.print('Select a Pickaxe!')
UO.exec('addobject Pickaxe')
while uo.targeting()
wait(100)
wend
UO.print('Select a Shovel!')
UO.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
Minedown:
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
my = UO.GetY("self")
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 325,240')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 325,240')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(34)
Wait(2000)
ny = UO.GetY("self")
If my == ny then
UO.press(35)
UO.press(35)
Wait(1000)
goto Mineup
Endif
If uo.weight > 625 then
goto end
Else
goto Minedown
Endif
Mineup:
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(1000)
wend
my = UO.GetY("self")
UO.useobject('Pickaxe')
UO.waittargettile('tilenum 325,240')
Wait(3000)
If uo.weight > oldweight then
oldweight = uo.weight
Wait(5000)
Else
UO.useobject('Shovel')
UO.waittargettile('tilenum 325,240')
Wait(8000)
oldweight = uo.weight
Endif
UO.Press(36)
Wait(2000)
ny = UO.GetY("self")
If my == ny then
UO.press(35)
UO.press(35)
Wait(1000)
goto Minedown
Else
goto Mineup
Endif
end:
End sub
Но теперь my == ny ВСЕГДА! Как этого избежать?
-
- Junior Expert
- Posts: 150
- Joined: 2004-04-12 20:26:41
ну потому что Uo.Press(34) двигает тебя не по оси Y, а по Х
проверь сам
Надо GetX или двигайся по У
Code: Select all
sub main()
UO.Print(STR(UO.GetY('self')))
wait(500)
UO.Press(34)
wait(500)
UO.Press(34)
UO.Print(STR(UO.GetY('self')))
end sub
проверь сам

Короче, можешь написать как будет правильно весь скрипт. Plzzzz! А то я всеравно не понял где у меня ошибка. И еще можешь объяснить в какие стороны двигается чар когда UO.Press(32), UO.Press(33), UO.Press(34), UO.Press(35). И еще если есть варианты то какие? И как можно объяснить Inject'у, чтобы чар двигался на определённые координаты? (если это возможно)
-
- Junior Expert
- Posts: 150
- Joined: 2004-04-12 20:26:41
-
- Junior Expert
- Posts: 150
- Joined: 2004-04-12 20:26:41
Chris wrote:А где можно про Inject почитать, кроме yoko.netroof.net/help??Там нет таких команд.
Look at scripting.txt at injection folder.
UO.Press send a key code to UO window.
So U just need to find what 33, 34 and so on mean.
The pleasure of satisfying a savage instinct, undomesticated by the ego, is incomparably much more intense then the one of satisfying a tamed instinct. S.Freud.