Переведите строку

Ask for help

Moderators: Murderator+, Murderator

Post Reply
chuv
Posts: 21
Joined: 2010-12-09 13:40:59
Contact:

Переведите строку

Post by chuv »

Подскажите, пожалуйста, что означает эта строка:
"if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety()"
Используется при сборе координат, я так понял, что она должна этот сбор остановить.
GMX
Posts: 75
Joined: 2010-10-01 16:47:41
Contact:

Re: Переведите строку

Post by GMX »

Uo.GetX() и Uo.GetY() возвращают координаты себя )))
Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя.
Все мы славные ребята, простые русские парни, железные люди с деревянными головами...
chuv
Posts: 21
Joined: 2010-12-09 13:40:59
Contact:

Re: Переведите строку

Post by chuv »

GMX wrote:Uo.GetX() и Uo.GetY() возвращают координаты себя )))
Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя.

Спасибо, вроде так и есть. Просто до этого при клике на себя выдало ошибку, вероятно, чет сбилось.
Sirocco
Posts: 90
Joined: 2007-07-07 13:14:01

Re: Переведите строку

Post by Sirocco »

может под себя?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Переведите строку

Post by Mirage »

chuv wrote:
GMX wrote:Uo.GetX() и Uo.GetY() возвращают координаты себя )))
Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя.

Спасибо, вроде так и есть. Просто до этого при клике на себя выдало ошибку, вероятно, чет сбилось.

Для определения не надо кликать на себя или предмет. Это координаты клетки-тайла на котором находится объект. Если в скобках ничего не указано то координаты чара.
Тебе проще было бы сам скрипт показать - тогда подробнее бы пояснили.
chuv
Posts: 21
Joined: 2010-12-09 13:40:59
Contact:

Re: Переведите строку

Post by chuv »

Весь выкладывать не стал вот интересующая часть:
.............
uo.UseObject(Pickaxe)
waitForTarget()
uo.DeleteJournal()
WaitForTryRock()
###############################
### Проверяем дерево ли это ###
###############################
flag=0
for k=0 to 28
if uo.LastTile(0)==TreeTile[k]+1 then
flag=2
end if
next
if flag==0 then
for k=0 to 28
if uo.LastTile(0)==TreeTile[k] then
flag=1
end if
next
end if
if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then
flag=3
end if
#########################
### Кликнули на ствол ###
#########################
if flag==1 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)
uo.Print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(treeCount))
end if
end if
##########################
### Кликнули по листве ###
##########################
if flag==2 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)-1
uo.print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))
end if
end if
until (Flag==3) or (treeCount==50)
uo.Exec("filterspeech off")
uo.Print('Анализ закончен, координаты деревьев записаны в файл')
SaveToFile(treeCount,TreeX,TreeY,TreeT)
end if
uo.Print('Деревьев найдено: '+str(treeCount))
wait(2000)
................
останавливает сбор координат либо после выбора необходимого количества деревьев, либо после того что спрашивал.
Если все таки нужно могу и весь выложить.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Переведите строку

Post by Mirage »

Ответ дал GMX во 2 сообщении - при клике на себя переставал маркать деревья.

Цикл (шапка не вошла в пример) заканчивается на условии

Code: Select all

      until (Flag==3) or (treeCount==50)
      uo.Exec("filterspeech off")
      uo.Print('Анализ закончен, координаты деревьев записаны в файл')

Тоесть отмечено 50 деревьев либо кликнул на себя.
chuv
Posts: 21
Joined: 2010-12-09 13:40:59
Contact:

Re: Переведите строку

Post by chuv »

Mirage wrote:Ответ дал GMX во 2 сообщении - при клике на себя переставал маркать деревья.

Цикл (шапка не вошла в пример) заканчивается на условии

Code: Select all

      until (Flag==3) or (treeCount==50)
      uo.Exec("filterspeech off")
      uo.Print('Анализ закончен, координаты деревьев записаны в файл')

Тоесть отмечено 50 деревьев либо кликнул на себя.

Mirage спс. После ответа GMX все понял.
Post Reply