GMNET.RU Игровые Сервера - Форум

GMNET.RU Игровые Сервера - Форум (http://www.gmnet.ru/forums/index.php)
-   Ultima Online (http://www.gmnet.ru/forums/forumdisplay.php?f=16)
-   -   Скрипты (http://www.gmnet.ru/forums/showthread.php?t=581)

Рипичип 28.06.2004 10:23

Скрипты
 
Была обнаружена программа [Only registered and activated users can see links. Click Here To Register...] , позволяющая, в частности, писать и использовать скрипты для UO. Скрипты - вещь полезная, позволяет существенно облегчить жизнь. Информацию по поводу использования и написания скриптов можно получить через неудобный хелп самой программы. Здесь предлагаю выкладывать скрипты для всеобщаго использования.
Пока выкладываю только 2 скрипта, оба они написаны мной и протестированы:

Скрипт 1 - для автоматизации шахтерского производства:
Предполагается, что на F3 у вас висит LastObject, а на F2 - TargetSelf, причем перед запуском скрипта нужно взять в руки кирку и один раз ее использовать.

//the script
set #pos 0 // устанавливаем переменную pos = 0
:mining // метка, просто метка
send F3 // берем кирку
waitfortarget 100 // ждем, когда потребуют цель
send F2 // указываем цель, на себя
if lastmsg here // если последнее сообщение - руда кончилась
set #pos #pos + 1 // увеличиваем переменную pos на 1
if #pos < 5 // если pos < 5, то
if chardir = 6 // если чар смотрит налево
send left // идем налево
else // если не смотрит -
send left // поворачиваемся налево
send left // идем налево
end_if
end_if
if #pos = 5 //если pos = 5
send down // поворачиваемся и
send down // идем вниз
end_if
if #pos > 5 //если pos > 5, т.е. чар уже отошел вниз
if_not #pos = 11 // если pos не 11
if chardir = 2 // и чар смотрит направо
send right // идем направо
else // есои смотрит не направо
send right // поворачиваемся и
send right // идем вниз
end_if
end_if
end_if
if #pos = 11 // если pos = 11
set #pos 0 // обнуляем pos
send down // отходим вниз
send down // предварительно туда повернувшись
end_if
end_if
while_not lastmsg here // цикл. Пока руда есть - делать:
send F3 // берем кирку
waitfortarget 100 // ждем, пока потребуют цель
send F1 // указываем на себя
wait 8000 // ждем 8 сек, пока чар долбит землю
end_while // конец цикла
goto mining // переходим к метке mining, вторая строка
//end of the script

Скрипт 2 - для автоматического самолечения в случае критического уменьшения жизненных показателей:
Предполагается, что F4 - CastSpell - Healing, а F2 - TargetSelf

//the script
if hits > 0 // если жизнь больше 0 - защита от глюков
if hits < 25 // вместо 25 - подставьте число хитов, после которых чар должен лечиться
say Черт! Убивают! // необязательная строка :-)
send F4 // включаем спелл
wait 500 // ждем, пока потребуют цель
send F2 // показываем на себя
end_if
end_if
//end of the script

Вопрос к публике - нужна ли проверка на наличие ингредиентов?

SwaT 28.06.2004 15:52

Дааа эта прога была обнаружена ещё очень давно ЛОЛ!

Рипичип 28.06.2004 19:38

Mode, 2 замечания.
1. Скрипт в некоторых местах подозрительно похож на мой
2. У тебя нет проверки на lastmsg There is no ore here to mine.
Вообще проверка только один раз, но на try. А что это? И что делает Tab?
Я вчера со своим майнинговым скриптом баловался, надобывал несколько БОЛЬШИХ куч золотой руды, но слитка у меня получилось только 3 :-)

to SwaT
Ты бы лучше присоединялся к работе! Ходишь тут, издеваешься над ньюбами, а сам - ни помочь, ни скелетов сходить порубать в теплой компании...

Mode 28.06.2004 19:53

SwaT, поделись скриптами.. А? :)

Рипичип 28.06.2004 20:03

Люди, если пишете скрипты, комментируйте их, ок?
Это как open source software - в основном, никсовая тема: скачал исходники, скомпилировал, пользуйся. Нашел баг - полез в исходники, исправил, выложил для людей. Увидел, чего тебе от этой проги не хватает - дописал, выложил для людей. Если каждый будет модифицировать и улучшать скрипты, то они станут гораздо круче. Посему предлагаю скрипты комментировать, для легкости прочтения и модифицирования, а изменения в выложенных скриптах также выкладвать.

Мод, а ты свою мессагу удалил, что ли? Верни! Скрипты - вещь полезная :-)

SwaT 28.06.2004 20:28

Хилинг качается обычно с помощью куклы, либо с помощью улия для пчел. Это вариант с Улием. Работает таким образом - вы кликаете на улий до тех пор, пока жизни не понизятся до определенного предела - далее отхливаешься и приступаешь по новой. Выглядит скрипт так:

::(Скрипт для Pilot 99)::

Double_left 563, 397 //кликаем на еду.
repeat 5
repeat 30
double_left 292, 211 //долбим по улию.
wait 400
if hits < 100 // до скольки жизней будет стучать по улию.
break
end_if
end_repeat
repeat 5000
double_left 625, 390 //кликаем на бинты.
waitfortarget 900
left 316, 199 //таргет на себя.
wait 5700
if hits = 150 // Здесь пишем ваше максимальное кол-во жизней
break
end_if
end_repeat
end_repeat

SwaT 28.06.2004 20:36

Улий...если ты играеш на оскоме...но может где и ещё есть...а кукла это чар который тебя бёт или ты ево вотс...в роде куклы может быть ещё ктонить...гы..гы

SwaT 28.06.2004 20:40

Мне страшно там играть...

Рипичип 28.06.2004 20:41

В смысле? Ньюбов боишься?

SwaT 28.06.2004 20:44

Ну кароче забей :D

Рипичип 28.06.2004 20:47

:) Как-то это стремно :)
А я, на правах ньюба, тебе вопрос глупый ка-а-а-к задам! ;)
Вот:
А как телепорт (спелл) юзать? У меня получается только в пределах одного экрана, а кто-то умный (читай - хитрый) телепортировался на ба-альшие расстояния. Из Minoc'ской шахты, например, в Britain'ский лес. А как?

Mode 28.06.2004 20:55

Вот, наконец-то я доделал свой мега-скрипт для майнинга. Пасиба Рипичипу за неплохие идеи ;)

F1 LastObject, F5 - TargetSelf

//---------------------------------------------
set #pos 0
:m
send Tab
send F1
send F5
wait 4s
if lastmsg there
set #pos #pos + 1
if #pos < 6
if chardir = 5
send left
else
send left
send left
end_if
end_if
end_if

if #pos > 4 and #pos < 10
if chardir = 7
send up
else
send up
send up
end_if
end_if

if #pos > 9 and #pos < 15
if chardir = 1
send right
else
send right
send right
end_if
end_if

if #pos > 14 and #pos < 20
if chardir = 3
send down
else
send down
send down
end_if
end_if

while_not lastmsg there
send Tab
send F1
send F5
wait 4s
end_while

if #pos = 20
set #pos 0
end_if
goto m
//---------------------------------------------

P.S: Рипичип, я тот скрипт удалил, т.к. нашел там много ошибок. Вот теперь все работает как надо. А твой скрипт у меня все= как-то не так работает (ну не идет чар направо и все).

SwaT 28.06.2004 20:57

Ну чтож отвечу...есть два спела телепорта...
1:это Teleport он тока и может телепортироваца в пределах экрана..ну и ещё он нужен ммм...лана :)
2:Спел Rekall для нево нужны руны...лубые и спел Mark юзаеш этот спел на руну патом..юзаеш рекалл на руну а далше я думаю поймёш :)

Рипичип 28.06.2004 21:05

Мод, ок.
Что такое Tab?
Я нашел у тебя баги.
В chardir единица - 45 градусов. Т.е. в первом сегменте тебе надо 6, дальше - 0 2 и 4 в трех последующих сегментах соответственно.
И еще: проблема с #pos в первых двух сегментах: если #pos = 5, то чар сначала отойдет влево (5 < 6), а потом - вверх (5 > 4) :)

SwaT, а можно руну в кого-нибудь повесить? Прицепить любимому другу на волос, и телепортиться к нему?
А еще зачем, говоришь, телепорт? ;)

SwaT 28.06.2004 21:32

Можете создать тему..с вопросами где я постораюсь ответить на вопросы...касающиеся уо...:rolleyes:


Текущее время: 23:15. Часовой пояс GMT +3.

Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.