uo.private***
Moderators: Murderator+, Murderator
uo.private***
Кто нибудь знает как работают uo.privategettile() и uo.privatedig(), и лист всех прайват функций??
Вот что выдал поиск:
Фишка в чем что тайл на котором ты стоишь может быть статикой а может быть тайлом мапы...
+ колво ститики подтобой может быть больше 1...
Дальше если ты хочешь узнать весь список тайлов то есть такая за мечательная команда...
uo.privategettile(x, y, -1, n1, n2)
где n1, n2 на чало и конец диапазона номеров как статичных объектов так и мап...
Как будет выгледить твое чудо...
Sub LogTile()
var x, y
While not uo.Dead()
wait(100)
if x == uo.GetX() and y == uo.GetY() then
x = uo.GetX()
y = uo.GetY()
uo.textprint('Tile Cord: '+Str(x)+' '+Str(y))
For i = 1 to 9000
if uo.privategettile(x, y, -1, i, i) then
uo.textprint(' ID: '+Str(i))
endif
next
endif
wend
end sub
Так вот теперь минусы этой ерунды... номера статик тайла и мап тайла могут совпать... и он будет учтен только 2 раза... можно сделать примочку но она нпфиг не нужна (ввиду того что приваттайл это счетчик он подсчитывает колво совпадений из диапозона)...
Прижелании диапозон пробежки 1..9000 можно сократить так как на практике требуется не большое его промежуток (1..9000 это как раз те самые ИД наших тайлов... мы просто пере бираем и смотрим сколько скажет нам счетчик если больше или равно 1 то пишем в лог)
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Уже писал список.
Сейчас в уо не связан, что делает privatedig не помню, вот тебе скрипт с использованием этой функции (найден яндексом).
Сейчас в уо не связан, что делает privatedig не помню, вот тебе скрипт с использованием этой функции (найден яндексом).
Code: Select all
sub fishing()
dim coords[20]
var x, y
var coord_num=0, coordnum=0
var mintile = '6039', maxtile='6044'
var fishingpole='0x0DBF'
for x = -8 to 8
for y=-8 to 8
if not uo.dead() then
uo.deletejournal()
uo.exec("privatedig "+str(x)+" "+str(y)+" "+fishingpole+" "+mintile+" "+maxtile)
repeat
wait(100)
if uo.injournal('Pause') then
uo.deletejournal()
repeat
wait(100)
until uo.injournal('Continue')
endif
until uo.injournal('No cave floor there') or uo.injournal('You stop fishing.') or uo.injournal("can't")
if not uo.injournal('No cave floor there') then
coords[coord_num]=str(x)+" "+str(y)
coord_num=coord_num+1
endif
endif
if coord_num>20 then
x=8
y=8
endif
next
next
while not uo.dead()
coordnum=0
while coordnum<coord_num and (not uo.dead())
uo.deletejournal()
uo.exec("privatedig "+coords[coordnum]+" "+fishingpole+" "+mintile+" "+maxtile)
repeat
wait(100)
if uo.injournal('Pause') then
uo.deletejournal()
repeat
wait(100)
until uo.injournal('Continue')
endif
until uo.injournal('No cave floor there') or uo.injournal('You stop fishing.') or uo.injournal("can't")
coordnum=coordnum+1
wend
wend
end sub
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Хм...ну первую более менее понял, последнюю тоже, по примеру из скрипта...а вот 3 остальных?? Неужели тайна для всех?? Метод тыка глупо применять когда не знаешь что ищешь...Grin wrote:Первую тебе описали сног доголовы. Последня описана в ддл с переменными которые надо вводить. Остольные 3 работают только в скриптовом модуле и то хз. Метод тыка всегда был самым совершеным методом и остается посейдень! ожидание реакции на известное воздествие!
Destruction wrote:Уже писал список.
Сейчас в уо не связан, что делает privatedig не помню, вот тебе скрипт с использованием этой функции (найден яндексом).Code: Select all
sub fishing()
dim coords[20]
var x, y
var coord_num=0, coordnum=0
var mintile = '6039', maxtile='6044'
var fishingpole='0x0DBF'
for x = -8 to 8
for y=-8 to 8
if not uo.dead() then
uo.deletejournal()
uo.exec("privatedig "+str(x)+" "+str(y)+" "+fishingpole+" "+mintile+" "+maxtile)
repeat
wait(100)
if uo.injournal('Pause') then
uo.deletejournal()
repeat
wait(100)
until uo.injournal('Continue')
endif
until uo.injournal('No cave floor there') or uo.injournal('You stop fishing.') or uo.injournal("can't")
if not uo.injournal('No cave floor there') then
coords[coord_num]=str(x)+" "+str(y)
coord_num=coord_num+1
endif
endif
if coord_num>20 then
x=8
y=8
endif
next
next
while not uo.dead()
coordnum=0
while coordnum<coord_num and (not uo.dead())
uo.deletejournal()
uo.exec("privatedig "+coords[coordnum]+" "+fishingpole+" "+mintile+" "+maxtile)
repeat
wait(100)
if uo.injournal('Pause') then
uo.deletejournal()
repeat
wait(100)
until uo.injournal('Continue')
endif
until uo.injournal('No cave floor there') or uo.injournal('You stop fishing.') or uo.injournal("can't")
coordnum=coordnum+1
wend
wend
end sub
рекомендую забыть об этом скрипте, если пользуете новый инжект.
скрипт писал я, примерно года два назад, плюс-зминус год. в новых версиях эта штука не работает. да и работала она лишь в той версии, что болталась на сайте примерно с 9 по 25 сентября 2004 года. у кого остался такой инжект - у того работает, а у кого новая длл-ка - те в пролете. но я предпочитаю новую, так как в ней можно сделать ноормальную настройку тайлов, до того, как начнем ловить, а не тупое тыканье по всемтайлам в квадрате 17х17 с чаром в центре.
shnur wrote:Хм...ну первую более менее понял, последнюю тоже, по примеру из скрипта...а вот 3 остальных?? Неужели тайна для всех?? Метод тыка глупо применять когда не знаешь что ищешь...Grin wrote:Первую тебе описали сног доголовы. Последня описана в ддл с переменными которые надо вводить. Остольные 3 работают только в скриптовом модуле и то хз. Метод тыка всегда был самым совершеным методом и остается посейдень! ожидание реакции на известное воздествие!
когда писал этот скрипт, именно этот метод и применял, так как, об ту пору, этой штукой никто не пользовался, а узнал я о privatedig, старым-добрым способом - просмотром длл-ки.
первые две цифры - координаты, относительно чара. privatedig 0 0 - будет пытаться копать киркой, прямо под чаром. третья цифра - objtype того, чем "копать", две последних - диапазон номеров тайлов, какие искать...
да, и еще, по поводу privatedig:
нет uo.privatedig(), есть только консольная команда privatedig, так что, пользуем в скрипте
примечание: все описаное выше относится только к упомянутому скрипту и его аналогами на мининг и ламбер. и еще - в новых версиях инжекта синтаксис может быть другим, хотя, скорее всего на этой вещи просто стоит заглушка, так как все время пишет 'No cave floor'
нет uo.privatedig(), есть только консольная команда privatedig, так что, пользуем в скрипте
Code: Select all
uo.exec('privatedig ' + str(x) + ' ' + str(y) + ' ' + objtype + ' ' + str(begintile) + ' ' + str(endtile))
примечание: все описаное выше относится только к упомянутому скрипту и его аналогами на мининг и ламбер. и еще - в новых версиях инжекта синтаксис может быть другим, хотя, скорее всего на этой вещи просто стоит заглушка, так как все время пишет 'No cave floor'