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

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

BlackDog

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 использую так (грубо говоря):
UO.WaitTargetTile(GetTile(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())

Где X и Y изменяются циклом-в-цикле. Стандартный алгоритм обкопки вокруг себя, где два цикла -Range to Range при Range = 2 (вроде так)
по пунктам.
1. Рене не всегда прав.
2. Координата з, она сцука странная, как ее выловить посредством инжекта, в личку.
3. Чем больше диапазон, тем больше глюков, пусть твои друзья попробуют мой, попробую у себя поставить 0 - 4000, посмотри что будет.
4. UO.WaitTargetTile(GetTile(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
правда ????
z=gettile(a,b)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
uo.waittargettile(z, a, b, 0)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
а и б это твои минус рэйндж и + рэйндж

забыл..... 0 это z )
 
Последнее редактирование:

Rene

Banned
на самом деле и privategettile(...min,max) и for i = min to max различаются только в скриптах а в самомй программе выполняются одинаковые действия, предварительнгая проверка делает скрипт быстрее на доли секунд, но те кто пишут макросы privategettile не используют вообще

это так) к слову... просто я не пишу за других скрипты, вы задали вопрос с privategetile, я дал ответ, а как я реализовал тоже самое- это уже другое
 

BlackDog

Wizard of Words
на самом деле и privategettile(...min,max) и for i = min to max различаются только в скриптах а в самомй программе выполняются одинаковые действия, предварительнгая проверка делает скрипт быстрее на доли секунд, но те кто пишут макросы privategettile не используют вообще

это так) к слову... просто я не пишу за других скрипты, вы задали вопрос с privategetile, я дал ответ, а как я реализовал тоже самое- это уже другое
:) я тоже всех люблю :)
 

SnifeR iz da boo

Wizard of Words
1. Рене не всегда прав.
Уж я то в курсе.

3. Чем больше диапазон, тем больше глюков, пусть твои друзья попробуют мой, попробую у себя поставить 0 - 4000, посмотри что будет.
Блин... По пунктам:
1. Человек встановится на тайл с координатами X,Y и типом TileType, который он узнает через ,infotile.
2. Человек запускает скрипт:
PHP:
sub Main()
	if UO.PrivateGetTile(UO.GetX(),UO.GetY(),-1,TileType,TileType) then
		UO.Print("Fuck yeah!")
		return TileType
	else
		UO.Print("FFFFUUUUUUUUU")
		return 0
	end if
end sub
3. Человек (Блейз) получает красивую надпись "FFFFUUUUUUUUU" в левом нижнем углу экрана.

Как видишь тут диапазон вообще мизерный. Всего лишь 1 тайл на проверку. Это явно говорит о том, что не работает privategettile. Или что-то не так в настройках (хотя чего мы только не пробовали).

В общем ладно, устал спорить на эту тему) Тем более это не мой спор - у меня все замечательно работает и я не парюсь, но вопрос в очередной раз остается нерешенным.

4. UO.WaitTargetTile(GetTile(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
правда ????
z=gettile(a,b)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
uo.waittargettile(z, a, b, 0)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
а и б это твои минус рэйндж и + рэйндж
А какая разница? Зачем лишний раз объявлять переменную? Всё тоже, только с другого боку :) У всех свои подходы - главное, чтобы устраивало, работало и не глючило.

Единственное с чем я до сих пор не разобрался и из-за чего я повздорил с Рене (нелепо) - клилоки. При выкопке лавы и некоторых других типов руды у меня не ловились ID клилоков (,set cliloc 1 вроде, не было вывода при сообщениях о выкопке лавы и чего-то еще, хотя при айроне оно было). Это фигня, ибо копалось все равно на ура, т.к. была всунута проверка по таймауту, но покоя мне это не дает до сих пор. Я так понял дело в моем клиенте, ибо клилоки эти, понятное дело, есть. Ну и может как-то можно выловить их айдишники другими способами, через стелс например, не знаю. Может их нет в Cliloc.enu, потому инжа их и не определяет. Короче вопрос фигня, тем более теперь я копаю на стелсе. Но я тогда удивился.
 

BlackDog

Wizard of Words
Единственное с чем я до сих пор не разобрался и из-за чего я повздорил с Рене (нелепо) - клилоки. При выкопке лавы и некоторых других типов руды у меня не ловились ID клилоков (,set cliloc 1 вроде, не было вывода при сообщениях о выкопке лавы и чего-то еще, хотя при айроне оно было). Это фигня, ибо копалось все равно на ура, т.к. была всунута проверка по таймауту, но покоя мне это не дает до сих пор. Я так понял дело в моем клиенте, ибо клилоки эти, понятное дело, есть. Ну и может как-то можно выловить их айдишники другими способами, через стелс например, не знаю. Может их нет в Cliloc.enu, потому инжа их и не определяет. Короче вопрос фигня, тем более теперь я копаю на стелсе. Но я тогда удивился.
твое UO.GetZ не имеет ничего общего с z тайла.
клилоков нету на те типы руды, которых нет в клиенте, их надо ловить по тексту.

while not uo.injournal('0xAD03') and not uo.injournal('0xA867') and not uo.injournal('0xA2DE') and not uo.injournal('0x5DE0') and not uo.injournal('0xAD00') and not uo.injournal('0xA20D') and not uo.injournal('0x5DE4') and not uo.injournal('You dig some silver ore and put it in your backpack.') and not uo.injournal('0x5DE5') and not uo.injournal('0x5DE6') and not uo.injournal('0x5DE7') and not uo.injournal('0x5DE8') and not uo.injournal('0x5DE9') and (timer_dif < 50)

типа такого, лава тоже текстом.
 

Rene

Banned
там выше кто-то вопрос про return задал. объясняю, инже абсолютно всеравно в каком условие или месте ставится return, но как только инжа его видит, она обрывает процедуру сразу, поэтому делается так:

sub gettile(... min,max)
var i, tilenum = 0
for i = min, max
if getprivatetile (бла бла, tile, tile)
tilenum = tile
...
return tilenum
end sub

и сам вызов:

if gettile(...) > 0
<чо делаем>
end if
 

SnifeR iz da boo

Wizard of Words
твое UO.GetZ не имеет ничего общего с z тайла.
клилоков нету на те типы руды, которых нет в клиенте, их надо ловить по тексту.
Это да, но я как-то с самого начала на это забил, хоть и задумывался. Работало - и ладно. Такой уж я.

while not uo.injournal('0xAD03') and not uo.injournal('0xA867') and not uo.injournal('0xA2DE') and not uo.injournal('0x5DE0') and not uo.injournal('0xAD00') and not uo.injournal('0xA20D') and not uo.injournal('0x5DE4') and not uo.injournal('You dig some silver ore and put it in your backpack.') and not uo.injournal('0x5DE5') and not uo.injournal('0x5DE6') and not uo.injournal('0x5DE7') and not uo.injournal('0x5DE8') and not uo.injournal('0x5DE9') and (timer_dif < 50)

типа такого, лава тоже текстом.
Спасибо за ответ, я думал тут по тексту не ловится вообще, поэтому заморочился с клилоками.

Но это ужас какой-то.

Та же херня, только сбоку (пример с allmsg, endmsg - Мираж с форума йоко подсказал когда-то):
PHP:
var allmsg="0xAD00|0xEE46|0xAD03|0x5D|0xA20D|0xA866|0xA867|some silver|lava"
var endmsg="0xAD00|0xA20D|0xA866|0xA867"

;//И пример конструкции с репитами (можно заменить на while по вкусу),
;//которые будут ждать нужное событие или сообщение в журнале.

;//тут описываем циклы всякие с ренжем.
	repeat
		;//тут проверяем наличие кирок, юзаем кирку на нужный тайл.
		repeat
			wait(100)
		until UO.InJournal(allmsg) or timerdiff < 40
		trynum = trynum + 1
	until UO.InJournal(endmsg) or trynum > 5
	trynum = 0
 

BlackDog

Wizard of Words
;//тут описываем циклы всякие с ренжем.
repeat
;//тут проверяем наличие кирок, юзаем кирку на нужный тайл.
repeat
wait(100)
until UO.InJournal(allmsg) or timerdiff < 40
trynum = trynum + 1
until UO.InJournal(endmsg) or trynum > 5
trynum = 0
[/PHP]
repeat repeat wait VS while
что же тут ужасней )
 

Rene

Banned
не хватает одной команды чтобы чар начал копать в нубишхате и некторых других шахтах, иначе копать не будет никогда
 

SnifeR iz da boo

Wizard of Words

BlackDog

Wizard of Words
Ну я ж написал, можно по вкусу сделать вайлом) Ужасно перечисление uo.injournal() ;)
var allmsg="0xAD00|0xEE46|0xAD03|0x5D|0xA20D|0xA866|0xA867|some silver|lava"
var endmsg="0xAD00|0xA20D|0xA866|0xA867"

давай купим еще оперативки, тогда в переменные можно будет закуячить весь клилок :)
 

SnifeR iz da boo

Wizard of Words
http://forum.fl.pp.ru/voprosy-novichkov-young-player-questions-8/injection-521/index8.html#post14630

Сколько же вам обоим понадобилось времени осознать, что не работает именно privategettile и дело не в том, как его используют (т.е. не по вашему).


еще оперативки, тогда в переменные можно будет закуячить весь клилок :)
А это уже из разряда про проверку на диапазон типов тайлов и только потом отлов нужного тайла. Время уже не то, чтобы так волноваться о ресурсах компа) Дело, получается, только в кошерности) Вариант с переменными рулит)
 
Последнее редактирование:

BlackDog

Wizard of Words
http://forum.fl.pp.ru/voprosy-novichkov-young-player-questions-8/injection-521/index8.html#post14630

Сколько же вам обоим понадобилось времени осознать, что не работает именно privategettile, а не то, как его используют (не по вашему).



А это уже из разряда про проверу на диапазон типов тайлов и только потом отлов нужного тайла. Время уже не то, чтобы так волноваться о ресурсах компа) Дело, получается, только в кошерности) Вариант с переменными рулит)
направление правильное, методы не те )
йоко инжекшион писался когда ресурсы компа играли значение и защищенные страницы памяти выдавали синие экраны смерти.
вариант с переменными будет рулить, когда, ты схватишь очередной анэкспектед хэндлер ин парсер. :)
 

SnifeR iz da boo

Wizard of Words
направление правильное, методы не те )
йоко инжекшион писался когда ресурсы компа играли значение и защищенные страницы памяти выдавали синие экраны смерти.
вариант с переменными будет рулить, когда, ты схватишь очередной анэкспектед хэндлер ин парсер. :)
Я бы с тобой согласился, если б я хоть раз сейчас словил бы анекспектед. Наловился их на абиссе, решилось тем, что стал запускать клиент на 1 ядре. С тех пор видел только в своем кривом скрипте на моментальный снупинг ближайшего игрока и стилинг вещи по типу в массиве. Но уже подправил, вроде таких проблем не наблюдаю.

Ну и чтоб совсем няшно было:
убрать к чертям переменные
заюзать вайл и там просто перечислить тоже самое, только в таком виде:
uo.injournal("0xAD00|0xEE46|0xAD03|0x5D|0xA20D|0xA866|0xA867|some silver|lava");

Все довольны.
 

BlackDog

Wizard of Words
Я бы с тобой согласился, если б я хоть раз сейчас словил бы анекспектед. Наловился их на абиссе, решилось тем, что стал запускать клиент на 1 ядре. С тех пор видел только в своем кривом скрипте на моментальный снупинг ближайшего игрока и стилинг вещи по типу в массиве. Но уже подправил, вроде таких проблем не наблюдаю.

Ну и чтоб совсем няшно было:
убрать к чертям переменные
заюзать вайл и там просто перечислить тоже самое, только в таком виде:
uo.injournal("0xAD00|0xEE46|0xAD03|0x5D|0xA20D|0xA866|0xA867|some silver|lava");

Все довольны.
ты победил. :)
что будем делать с Z координатой ? )
 

SnifeR iz da boo

Wizard of Words
Да на вкус и цвет же. Все равно каждый по своему будет юзать, скорее всего.

что будем делать с Z координатой ? )
А вот по поводу Z не знаю. Вообще я так понял оно вполне нормально копает при UO.GetZ(), если там все ровненько. В переходах, где разные высоты, у меня глючило по понятным причинам (UO.GetZ() же). И 0 тоже не катит. -1 вроде тоже непредсказуем, если вообще сработает в waittargettile.

Как именно нужное выловить, если вокруг кочки разной высоты - не знаю.
 

nblT

Hero Player
Ну вы замороченые)):cool:
 

macT

Hero Player
Так если совсем не заморачиваться можно отупеть и сдохнуть :D
 

toxuin

Newbie Player
Ну а финальный скрипт на майнинг-то?) Тот, который тот - чото не копает. Утратил актуальность или у меня руки из одного места?..
 
Верх