Page 1 of 1
Как сравнить 2 переменные???
Posted: 2004-10-30 23:17:59
by Chris
Я писал скрипт на мининг и столкнулся с проблемой. В начале я ввожу переменные "VAR my, ny". Это координаты. Вот начало скрипта, он начинает копать сверху вниз, при етом после каждого шага делает:
- my = UO.GetY("self")
Когда он доходит до предела он должен сравнить старые координаты с новыми и если они совпали, шагнуть в сторону. Я делаю это так:
- if my = ny then
или если не вводить переменную "ny":
- if my = ('UO.GetY("self")') then
Я недавно познакомился с Inject'ом поэтому прошу помощи.
Posted: 2004-10-30 23:56:41
by Ex-Brodyaga
нужно писат Не if (a=b) , а if (a==b) так как а=b присваивает значению а значение b, и не является логическим оператором

Posted: 2004-10-31 00:38:43
by Chris
Что-то скрипт всеравно не работает. Вот он. Не судите строго.
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
Posted: 2004-10-31 01:39:19
by Chris
После небольших изменений получилось вот так:
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 ВСЕГДА! Как этого избежать?
Posted: 2004-10-31 09:07:59
by Ex-Brodyaga
ну потому что Uo.Press(34) двигает тебя не по оси Y, а по Х
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
проверь сам

Надо GetX или двигайся по У
Posted: 2004-10-31 10:57:19
by Chris
Короче, можешь написать как будет правильно весь скрипт. Plzzzz! А то я всеравно не понял где у меня ошибка. И еще можешь объяснить в какие стороны двигается чар когда UO.Press(32), UO.Press(33), UO.Press(34), UO.Press(35). И еще если есть варианты то какие? И как можно объяснить Inject'у, чтобы чар двигался на определённые координаты? (если это возможно)
Posted: 2004-10-31 12:38:07
by Ex-Brodyaga
Неее родной, это уже ты сам учись писать. Нам нужны новые люди в массах

Posted: 2004-10-31 15:43:51
by AGRS
Ex-Brodyaga wrote:Неее родной, это уже ты сам учись писать. Нам нужны новые люди в массах

Надеюсь это не относится к твоей аватарке?
Posted: 2004-10-31 17:33:30
by Chris
А где можно про Inject почитать, кроме yoko.netroof.net/help??

Там нет таких команд.

Posted: 2004-10-31 19:48:51
by AGRS
Chris wrote:А где можно про Inject почитать, кроме yoko.netroof.net/help??

Там нет таких команд.

А документацию слабо скачать?
Posted: 2004-10-31 19:53:16
by Ex-Brodyaga
AGRS wrote:Ex-Brodyaga wrote:Неее родной, это уже ты сам учись писать. Нам нужны новые люди в массах

Надеюсь это не относится к твоей аватарке?
Тсссс, жертву спугнёшь

Posted: 2004-11-01 15:46:02
by drcrazy
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.