• Доступ на форум только по приглашениям!

Скрипты для Stealth и Injection под ФЛ.

SnifeR iz da boo

Wizard of Words
Мы - фаны Рене, а Рене - фан Санни. Круговорот такой.
 

arhi

Newbie Player
Привет всем. Скажите мне пожалуйста, в чём я тут не прав и как сделать чтобы возвращал правильный тип тайла.

стою на тайле с типом 1342 (проверял ,infotile), при этом мне упорно ничего не возвращается.

sub private2()
var min, max, tile, x, y
x = UO.GetX("self")
y = UO.GetY("self")
min=1336
max=1348
if UO.PrivateGetTile(x, y, -1, min, max) then
for tile=min to max
if UO.PrivateGetTile(x, y, -1, tile, tile) then
return tile
uo.print ("1342 ! !")
else
uo.print("FALSE")
end if
next
end if
endsub
 
Последнее редактирование:

BlackDog

Wizard of Words
Привет всем. Скажите мне пожалуйста, в чём я тут не прав и как сделать чтобы возвращал правильный тип тайла.

стою на тайле с типом 1342 (проверял ,infotile), при этом мне упорно ничего не возвращается.

sub private2()
var min, max, tile, x, y
x = UO.GetX("self")
y = UO.GetY("self")
min=1336
max=1348
if UO.PrivateGetTile(x, y, -1, min, max) then
for tile=min to max
if UO.PrivateGetTile(x, y, -1, tile, tile) then
return tile
uo.print ("1342 ! !")
else
uo.print("FALSE")
end if
next
end if
endsub
нагромождение ужаса
 

Rene

Banned
На Stealth клиент:

бегинг, то что выделено красным меняем на id NPC за которым бегать. Узнать id на вкладке World в стелсе.

Program Begging;
begin
while GetSkillValue('Begging') < 100 do
begin
NewMoveXY(GetX($0001CDEC),GetY($0001CDEC),false,1,false);
WaitTargetObject($0001CDEC);
useskill('Begging');
wait(7000);
end;
end.
сохраняем первый макрос, запускаем. Жмем кнопку новый и вставляем автогвардинг, сохраняем и запускаем, чтобы работали оба макроса.

Program AutoGuards;
label restart;
begin
restart:
if (HP < Str) then
begin
UOSay('guards');
wait(500);
end;
wait(500);
goto restart;
end.
 

MetallicHunter

Power Player
На Stealth клиент:

бегинг, то что выделено красным меняем на id NPC за которым бегать. Узнать id на вкладке World в стелсе.



сохраняем первый макрос, запускаем. Жмем кнопку новый и вставляем автогвардинг, сохраняем и запускаем, чтобы работали оба макроса.

Дай бог тебе здоровья.
 

KillOrDie

Hero Player
XD
 

arhi

Newbie Player
Куда в конец?=) , куда только я его в "конец" не ставил ничего не помогает. Rene научи уму разуму напиши как правильно?

sub private2()
var min, max, tile, x, y
x = UO.GetX("self")
y = UO.GetY("self")
min=1336
max=1348
if UO.PrivateGetTile(x, y, -1, min, max) then
for tile=min to max
if UO.PrivateGetTile(x, y, -1, tile, tile) then
return tile
uo.print (str(tile))
end if
next
end if
endsub


при таком раскладе вообще ничего не выдает, все форумы перечитал уже. До отчаяния 7 шагов =)
 

BlackDog

Wizard of Words
Куда в конец?=) , куда только я его в "конец" не ставил ничего не помогает. Rene научи уму разуму напиши как правильно?

sub private2()
var min, max, tile, x, y
x = UO.GetX("self")
y = UO.GetY("self")
min=1336
max=1348
if UO.PrivateGetTile(x, y, -1, min, max) then
for tile=min to max
if UO.PrivateGetTile(x, y, -1, tile, tile) then
return tile
uo.print (str(tile))
end if
next
end if
endsub


при таком раскладе вообще ничего не выдает, все форумы перечитал уже. До отчаяния 7 шагов =)
как у тебя сработает принт, если ты ЗА СТРОЧКУ до него делаешь ретерн ?
за 1 вмз, напишу тебе, тоже самое, в 2 строки.
 
Последнее редактирование:

SnifeR iz da boo

Wizard of Words
Если не ошибаюсь, то проблема в том, что UO.PrivateGetTile() всегда возвращает False. Вот тут такое же обсуждение, у человека такая же проблема. По делу никто ничего так и не сказал. Как решить - не знаю.

Пробовали методом научного тыка разное: пер***рали дллки разных версий инжи, сочетаний с разными версиями клиентов, разные script.dll (еще до того, как это советовали некоторые), настройки сверяли и так далее. Решения не нашли.

ЗЫ - Блек, причем тут принт тайла вообще, если человек явно пытался с этим копать и напихал уже всяких проверок в виде принтов, пусть и не туда. В старой то версии, подозреваю, все заканчивалось этим: uo.print("FALSE")
 

BlackDog

Wizard of Words
Если не ошибаюсь, то проблема в том, что UO.PrivateGetTile() всегда возвращает False. ("FALSE")
ошибаешься, в чем бы был ее смысл? она тру если в нужном промежутке, фальс если нет.

ЗЫ - Блек, причем тут принт тайла вообще, если человек явно пытался с этим копать и напихал уже всяких проверок в виде принтов, пусть и не туда. В старой то версии, подозреваю, все заканчивалось этим: uo.print("FALSE")
а зачем всякие проверки, если чар копает, значит оно работает.

вы не до конца понимаете для чего она нужна - privategettile, и пытаетесь нетуда ее использовать.
 
Последнее редактирование:

SnifeR iz da boo

Wizard of Words
А у него не копает. Как и у знакомого моего в указанной выше теме. Не копает - значит не работает. Если руками указать тип тайла, взятого через ,infotile - без проблем копает, а если спросить, что вернет privategettile в тех же координатах и на тот же тайл (1339,1339, к примеру), то возвращается False, хотя там 100% 1339 и оно с ним замечательно копает, если указать ручками.

Я имею в виду, что почему-то privategettile не работает вообще. В этом случае не уверен (хотя всё на это указывает), но в соседней теме точно убедился в этом. Т.е. всегда возвращается false, даже если должен быть true. В таком случае копать представляется возможным только пер***рая тайлы методом тыка (выжидая соответствующие паузы при каждом юзе кирки, что есть нехорошо).
 
Последнее редактирование:

BlackDog

Wizard of Words
А у него не копает. Как и у знакомого моего в указанной выше теме. Не копает - значит не работает. Если руками указать тип тайла, взятого через ,infotile - без проблем копает, а если спросить что вернет privategettile в тех же координатах и на тот же тайл (1339,1339, к примеру), то возвращается False, хотя там 100% 1339 и оно с ним замечательно копает, если указать ручками.
ошибка, даже в этом посте.
читайте больше про privategettile.
 

SnifeR iz da boo

Wizard of Words
ошибка, даже в этом посте.
читайте больше про privategettile.
Ок. По делу так никто ничего и не сказал. Проблема остается нерешенной. Поумничать все горазды, короче)

Алсо замечу, что описанный в той теме код у меня замечательно работал, а у Блейза - нифига.
 

BlackDog

Wizard of Words
Ок. По делу так никто ничего и не сказал. Проблема остается нерешенной. Поумничать все горазды, короче)

что объяснять если вы не понимаете простейших вещей.
помните
еще есть координата z. да-да привэйтгеттайл замечательно работает и с ламбером, если знаешь как.
если тетстируете срипты на мининг, не ходите в ев пасаж.
в инжекте еще есть асм.
 

SnifeR iz da boo

Wizard of Words
если знаешь как.
Знаю.

если тетстируете срипты на мининг, не ходите в ев пасаж.
Мининг тестировался в нуби-шахте, поверхность там ровная.

Вот этот саб у меня работает (в обкопке, в скрипте на мининг, на ровной поверхности, тестировали в одинаковых точках, где x, y - были одинаковыми координатами), а у Блейза - нет:

PHP:
sub GetTile(x, y)
var min = 1336, max = 1360, i
	if UO.PrivateGetTile(x,y,-1,min,max) then
		for i = min to max
			if UO.PrivateGetTile(x,y,-1,i,i) then 
				return i 
			end if 
		next 
	end if
	return 0 
end sub
Прозреваю, что и arhi оно не поможет. Кстати, вместо -1 в координате Z подставляли и UO.GetZ(), и просто 0. Блейз от безысходности даже пер***рал по 1, вплоть до 10.
 

BlackDog

Wizard of Words
Знаю.


Мининг тестировался в нуби-шахте, поверхность там ровная.

Вот этот саб у меня работает (в обкопке, в скрипте на мининг, на ровной поверхности, тестировали в одинаковых точках, где x, y - были одинаковыми координатами), а у Блейза - нет:

PHP:
sub GetTile(x, y)
var min = 1336, max = 1360, i
    if UO.PrivateGetTile(x,y,-1,min,max) then
        for i = min to max
            if UO.PrivateGetTile(x,y,-1,i,i) then 
                return i 
            end if 
        next 
    end if
    return 0 
end sub
Прозреваю, что и arhi оно не поможет. Кстати, вместо -1 в координате Z подставляли и UO.GetZ(), и просто 0. Блейз от безысходности даже пер***рал по 1, вплоть до 10.
координата z никак не зависит от поверхности.
в соседних клетках она может быть и - 1 и 27
что вы пишете? кто вам это подсказал, что за кусок говна?

sub GetTile(x, y)
for var i = 1339 to 1342
if uo.privategettile(x,y,-1,i,i) then
return i
end if
next
return 0
end sub

улавливаешь разницу ?

и еще как ты используешь gettile ?
 
Последнее редактирование:

SnifeR iz da boo

Wizard of Words
Кусок говна подсказал Рене. Так типа кошерней: сначала проверяется диапазон тайлов (прямое предназначение privategettile), если тайл есть, то потом уже перeбирается по одному и вычисляется какой именно. Меньше ресурсов кушается, Рене написал большой пост на эту тему. Так или иначе - оно выполняет абсолютно тоже самое, что и твой геттайл. Еще по поводу типов тайлов - 1339 to 1342. Я видел другие типы, выше 1342 через infotile в шахтах. Посему логичней было бы, наверное, и использовать диапазон повыше. Тем более оно не долбит их целиком, т.к. происходит return при первом же совпадении.

По поводу координат я так и не уловил. Я думал -1 - значит любая координата Z. И до сих пор так думаю. Потому и всунуто здесь -1. К чему ты завел разговор про координату Z я до сих пор не понимаю. Помоему очевидно, что не в этом дело.

Кстати, сначала я использовал свой старый скрипт, в котором просто задавал ловушку через что-то в духе:
uo.waittargettile(-1,x,y,uo.getz()) - все замечательно работало на Абиссе (сфера и инжа постарей), но здесь столкнулся с проблемой, что так не работает и нужно отлавливать через privategettile, потом нашел твой пост с этим сабом. Все заработало, но вот у Блейза, к примеру - нет. И, кстати, у arhi, видимо, та же проблема. К этому то я и клоню.

GetTile использую так (грубо говоря):
PHP:
UO.WaitTargetTile(GetTile(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
Где X и Y изменяются циклом-в-цикле. Стандартный алгоритм обкопки вокруг себя, где два цикла -Range to Range при Range = 2 (вроде так)


И всё же - это уже обсуждение о другом. То, что я привел выше у меня замечательно работает. А вот почему оно не работает у Блейза с абсолютно теми же версиями инжекта, script.dll, клиента и у ahri (не знаю чем он пользуется) - загадка. И тут причина уж явно не в том, что у них сделан по другому. Блейз вообще банально проверял, что будет возвращать uo.privategettile(uo.getx(),uo.gety(),-1,1339,1339), стоя на тайле, у которого тип как раз 1339. Угадай, что возвращало? Устал уже повторять)
 
Последнее редактирование:
Верх