| Yoko http://forum.yoko.com.ua/ |
|
| Переведите строку http://forum.yoko.com.ua/viewtopic.php?f=3&t=16000 |
Page 1 of 1 |
| Author: | chuv [ 2010-12-09 13:44:24 ] |
| Post subject: | Переведите строку |
Подскажите, пожалуйста, что означает эта строка: "if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety()" Используется при сборе координат, я так понял, что она должна этот сбор остановить. |
|
| Author: | GMX [ 2010-12-09 15:29:18 ] |
| Post subject: | Re: Переведите строку |
Uo.GetX() и Uo.GetY() возвращают координаты себя ))) Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя. |
|
| Author: | chuv [ 2010-12-09 19:13:38 ] |
| Post subject: | Re: Переведите строку |
GMX wrote: Uo.GetX() и Uo.GetY() возвращают координаты себя ))) Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя. Спасибо, вроде так и есть. Просто до этого при клике на себя выдало ошибку, вероятно, чет сбилось. |
|
| Author: | Sirocco [ 2010-12-09 19:18:05 ] |
| Post subject: | Re: Переведите строку |
может под себя? |
|
| Author: | Mirage [ 2010-12-10 10:02:21 ] |
| Post subject: | Re: Переведите строку |
chuv wrote: GMX wrote: Uo.GetX() и Uo.GetY() возвращают координаты себя ))) Судя по всему в твоем скрипте, чтобы остановить сбор координат, нужно было кликнуть на себя. Спасибо, вроде так и есть. Просто до этого при клике на себя выдало ошибку, вероятно, чет сбилось. Для определения не надо кликать на себя или предмет. Это координаты клетки-тайла на котором находится объект. Если в скобках ничего не указано то координаты чара. Тебе проще было бы сам скрипт показать - тогда подробнее бы пояснили. |
|
| Author: | chuv [ 2010-12-10 11:49:29 ] |
| Post subject: | Re: Переведите строку |
Весь выкладывать не стал вот интересующая часть: ............. 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) ................ останавливает сбор координат либо после выбора необходимого количества деревьев, либо после того что спрашивал. Если все таки нужно могу и весь выложить. |
|
| Author: | Mirage [ 2010-12-10 14:10:27 ] |
| Post subject: | Re: Переведите строку |
Ответ дал GMX во 2 сообщении - при клике на себя переставал маркать деревья. Цикл (шапка не вошла в пример) заканчивается на условии Code: until (Flag==3) or (treeCount==50) Тоесть отмечено 50 деревьев либо кликнул на себя. |
|
| Author: | chuv [ 2010-12-10 14:31:41 ] |
| Post subject: | Re: Переведите строку |
Mirage wrote: Ответ дал GMX во 2 сообщении - при клике на себя переставал маркать деревья. Цикл (шапка не вошла в пример) заканчивается на условии Code: until (Flag==3) or (treeCount==50) Тоесть отмечено 50 деревьев либо кликнул на себя. Mirage спс. После ответа GMX все понял. |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|