Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Прошу Помощи В Написании Скрипта
Sectoid
сообщение 20.5.2009, 14:01
Сообщение #1


*

Registred
Сообщений: 4
Регистрация: 20.5.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.874
Возраст: 85



Добрый день. Я недавно начал качать крафтера на шарде Abyss (http://uo.theabyss.ru), на котором запрещены инжекты изиУО и многие другие проги. Но к несчастью прокачка мининга и бс оч долга и сложна, чар копает секунд по 4, добывает за раз мало, ловится в основном основном айрон, из топ руды за час в лучшем случае 1-2 кучки... Поэтому очень захотелось немного упростить себе жизнь с помощью макроса.

Я пытался сделать след. скрипт.

Общий смысл. Чар копает вокруг себя в 3*3 квадрате, каждый квадрат по очереди. Сначала принимается разрабатывать 1ый квадрат, когда в нем заканчивается руда, копать 2ой...и так далее до 9ого, когда no ore в 9ом - делать 3 шага вниз и всё заново.

Прочитав FAQ, я сделал след.


:a
send F1,1000
left 372, 270
wait 4000
repeat 30
send F2,4000
if lastmsg There is no ore here to mine
goto aa
end_if
end_repeat
:aa
send F1,2000
left 359, 303
wait 10000
repeat 30
send F2,4000
if lastmsg There is no ore here to mine
goto aaa
end_if
end_repeat
:aaa
send F1,1000
left 381, 316
wait 10000
repeat 30
send F2,4000
if lastmsg There is no ore here to mine
goto aaaa
end_if
end_repeat

(и т.д. так 9 пунктов).


Однако, почему то всё не задилось с самого начала, а именно - он абсолютно не обращал внимание на There is no ore here to mine, а тупо делал 30 попыток, а далее переходил к след. пункту.

я даже для теста сделал

repeat 3
send f8
left 445, 297
wait 3900
if lastmsg There is no //(не до конца, вроде можно делать сообщение не целиком, а лишь одной ее частью)
say yes!
end_if
end_repeat

И оно тоже не работало....

Помогите пожалуйста (IMG:style_emoticons/default/smile.gif) Или можт у кого то есть опыт макросерства на этом реалме и знает еще какие то пути...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DontStop
сообщение 20.5.2009, 14:56
Сообщение #2


****

Группа: Пользователи
Наличность: 0
Пользователь №: 11.287
Возраст: 22



запрещено, это не значит не работает. Там вообще-то и макросы на мининг запрещены.

Вот рабочий скрипт на фишинг, ловит рыбу вокруг себя 6х6
Переделай под себя на мининг.

Код


set $s1 Where would you like to fish?
set $s2 fail
set $s3 pull
set $s4 no fish
set $s5 far
set $s6 water
set $s7 fishing
for #x -6 6 1
for #y -6 6 1
set lasttargetx charposx + #x
set lasttargety charposy + #y
:1
send 9
send Backspace
set timer 0
while_not timer > 3000 or lastmsg = $s1
end_while
set timer 0
while_not (lastmsg = $s2) or (lastmsg = $s3) or (lastmsg = $s4) or (lastmsg = $s5) or (lastmsg = $s6) or (lastmsg = $s7) or (timer > 5000)
end_while
end_for
end_for
wait 5s


З.Ы Не забывай выбирать Client 1.26.4a в пилоте. Опция еще -> Client v. -> 1.26.4a
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sectoid
сообщение 20.5.2009, 15:20
Сообщение #3


*

Registred
Сообщений: 4
Регистрация: 20.5.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.874
Возраст: 85



Цитата(DontStop @ 20.5.2009, 14:56) *

запрещено, это не значит не работает. Там вообще-то и макросы на мининг запрещены.


Ну он и запрещен и не работает...по крайней мере через YokoLaunch. Дисконектит просто при входе....

Цитата(DontStop @ 20.5.2009, 14:56) *

Код


set $s1 Where would you like to fish?
set $s2 fail
set $s3 pull
set $s4 no fish
set $s5 far
set $s6 water
set $s7 fishing
for #x -6 6 1
for #y -6 6 1
set lasttargetx charposx + #x
set lasttargety charposy + #y
:1
send 9
send Backspace
set timer 0
while_not timer > 3000 or lastmsg = $s1
end_while
set timer 0
while_not (lastmsg = $s2) or (lastmsg = $s3) or (lastmsg = $s4) or (lastmsg = $s5) or (lastmsg = $s6) or (lastmsg = $s7) or (timer > 5000)
end_while
end_for
end_for
wait 5s


З.Ы Не забывай выбирать Client 1.26.4a в пилоте. Опция еще -> Client v. -> 1.26.4a



А что есть "9" и "Backspace" ?
а как тут переделать ?

set $s1 Where would you like to fish?
set $s2 fail
set $s3 pull
set $s4 no fish
set $s5 far
set $s6 water
set $s7 fishing
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DontStop
сообщение 20.5.2009, 16:39
Сообщение #4


****

Группа: Пользователи
Наличность: 0
Пользователь №: 11.287
Возраст: 22



9 - LastObject + LastTarget
Backspace для понта (убирает набраную 9)
set $s1 Where would you like to fish?
set $s2 fail
set $s3 pull
set $s4 no fish
set $s5 far
set $s6 water
set $s7 fishing
тут ты напишешь свои сообщения, которые появляются при копке. Тоесть нету руды, далеко, не могу капать в этом месте и так далее
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sectoid
сообщение 20.5.2009, 17:06
Сообщение #5


*

Registred
Сообщений: 4
Регистрация: 20.5.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.874
Возраст: 85



Вот так он выглядет у меня он счас.

set $s1 Where do you want to use the shovel?
set $s2 You loosen
set $s3 pull
set $s4 There is no ore here to mine.
set $s5 far
set $s6 cave floor
set $s7 mining
for #x -6 6 1
for #y -6 6 1
set lasttargetx charposx + #x
set lasttargety charposy + #y
:1
send 9
send Backspace
set timer 0
while_not timer > 3000 or lastmsg = $s1
end_while
set timer 0
while_not (lastmsg = $s2) or (lastmsg = $s3) or (lastmsg = $s4) or (lastmsg = $s5) or (lastmsg = $s6) or (lastmsg = $s7) or (timer >1200)
end_while
end_for
end_for
wait 5s




Эффект - он капает одну точку и все. Когда руда заканчивается он все равно ее же копает...
при этом скрипт скачет на

while_not timer > 3000 or lastmsg = $s1
end_while
(не смотря на то что он идет после попытки выкапать, в которой "there is no ore..."
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zhorzh
сообщение 20.5.2009, 20:40
Сообщение #6


***

Novice
Сообщений: 58
Регистрация: 2.5.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.821



по моему у некотрых версий пилота есть проблема с проверками типа
if (lastmsg = $s2)
у меня оно, как я понял, TRUE только когда ПОЛНОЕ совпадение.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 21.5.2009, 17:36
Сообщение #7


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Равно но и в африке =.
if lastmsg = $s2 - полное совпадение
if lastmsg $s2 - вхождение подстроки
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 9.5.2024, 12:32
Designed by Nickostyle