PDA

Просмотр полной версии : на разбитее элементов


Dima
23.01.2007, 16:14
помогите плиз.. чтобы разбивал элементы по 50 шт и складывал их..

4epT
24.01.2007, 01:46
моя твоя понять совсем нет...
что именно тебе нада?
типо есть 100 стрел, тебе их нада разбить по 50 и положить скажем в кафру (телегу)? смысл, если они там смешаются?

зы: ..ты скажи, ты скажи, чё те нада, чё те нада..

Dima
24.01.2007, 16:09
http://roinfo.ru/forum/showthread.php?t=35026
Квест на Сбор, Разложение символов

4epT
24.01.2007, 23:40
предлагаешь мне пройти этот квест?

если ты не напишешь что именно тебе нада, то будешь долго просить!
опиши что тебе нада чтобы бот повторял это сам!!!

Zloba
11.02.2007, 13:18
т.е имея в инвентории опеделенное колличество Great Nature распелить их на Green Live, постоянно надо указывать колличество 1.
процедура довольно нудная учитываячто надо пилить по 1 шт.
чтобы было доступно возможность распилки необходимо предварительно пройти квест на язык умбелла. помоги со скриптом плз.

Zod1aK
11.02.2007, 14:56
1) язык ручками пройдешь
2) скажи координаты нпц к которому подходить и пошагово что ему говорить! мы не будем за тебя все это делать

Zloba
11.02.2007, 19:33
ок да нет проблем счас выложу.я даже готов сам перекладывать натурки в инвенторий боту.
не проблема квест прошел я сам, просто пилить ручками долго.
координаты нпц um_in 44.71
последовательность разговора:
1.next
2.next
3. 2 пункт и нажать "ок"
4.next
5. 1 пункт и нажать "ок"
6.next
7.next
8. в открывшееся окно ввести цифру "1" и нажать "ок"
9.next
10.next
11. нажать кнопку "close"

складывать я сам буду на кафру и загружать в инвенторий тоже. мне только этот диалог сделайте пожалуйста.

Zloba
11.02.2007, 19:59
если Вас не затруднит составить диалог на преобразование натурок в виндурки:
нпц ama_in02 61.27
диалог
1.next
2.next
3.next
4.next
5. 2 пункт и нажать "ок"
6. next
7.next
8. 2 пункт и нажать "ок"
9.next
10. 2 пункт и нажать "ок"
11. next
12. 3 пункт и нажать "ок"
13. next
14. 1 пункт и нажать "ок"
15.close

RagnarokBot
11.02.2007, 21:30
если Вас не затруднит составить диалог на преобразование натурок в виндурки:
нпц ama_in02 61.27
диалог
1.next
2.next
3.next
4.next
5. 2 пункт и нажать "ок"
6. next
7.next
8. 2 пункт и нажать "ок"
9.next
10. 2 пункт и нажать "ок"
11. next
12. 3 пункт и нажать "ок"
13. next
14. 1 пункт и нажать "ок"
15.close
do talknpc 61 27 c c c c r1 c c r1 c r1 c r2 c r0

4epT
12.02.2007, 00:17
координаты нпц um_in 44.71
последовательность разговора:
1.next
2.next
3. 2 пункт и нажать "ок"
4.next
5. 1 пункт и нажать "ок"
6.next
7.next
8. в открывшееся окно ввести цифру "1" и нажать "ок"
9.next
10.next
11. нажать кнопку "close"

складывать я сам буду на кафру и загружать в инвенторий тоже. мне только этот диалог сделайте пожалуйста.
talknpc 44 71 c c r1 r0 c c n1 c c

papaz0glo
12.02.2007, 14:48
практика показывает, что можно без "с"
do talknpc 61 27 r1 r1 r1 r2 r0
do talknpc 44 71 r1 r0 n1

RagnarokBot
12.02.2007, 17:14
практика показывает, что можно без "с"

Тогда в конфиге должно стоять
autoTalkCont 1

Zloba
13.02.2007, 23:02
вопрос а как мне указать число повторенией диалога? если можно пример

papaz0glo, тебя не затруднит выслать свою настройку?

просто хочу сравнить посмотреть.

4epT
14.02.2007, 00:02
число повторений это уже через макрос

macro q {
do talknpc 44 71 c c r1 r0 c c n1 c c
pause 1
}
запускать его можно: macro q -repeat 10 (типо повторится 10 раз)

Zloba
14.02.2007, 20:27
хочу уточнить.
вот ситуация я подожу бота к пнц указанному, в инвентории натурки.выхожу из клиента и запускаю бота. в бота прописан макрос данный. И запускаю в консоле коммандой macro q -repeat 10.
сори за нубство.

макрос вписывается в macros.txt? или крнфиг??
и еще вопрос какая карта должна стоять в lockmap?

4epT
15.02.2007, 01:21
я подожу бота к пнц указанному, в инвентории натурки.выхожу из клиента и запускаю бота. в бота прописан макрос данный. И запускаю в консоле коммандой macro q -repeat 10.
ДА

макрос вписывается в файл macros.txt

в lockmap ничего не пиши, чтоб бот у тебя никуда не убежал.

по вопросам выкидывания, думай сам чё ты натворил с ботом в последние дни (если он у тебя раньше грузился).

Dima
20.02.2007, 11:19
а вот чтото типо взять из кафры 25шт пойти разбить вернуться положить
все что получилось и так по кругу..

4epT
24.02.2007, 17:03
в CONFIG.TXT поставить:
lockMap пусто
autoTalkCont 1
storageAuto 0
sellAuto 0

в items_control.txt:
Great Nature 25 1 0
Green Live 0 1 0

в macros.txt:
automacro in {
location um_in 28 73 35 68
call npc
run-once 1
}
macro npc {
while (@invamount (Great Nature) > 0) as razbivaem
do talknpc 44 71 r1 r0 d5
pause 1
end razbivaem
call kafra
}
macro kafra {
do move 97 148 umbala
do talknpc 87 160 r1
pause 1
do storage get @storage (Great Nature) @eval(25 - @invamount (Great Nature))
do storage add @inventory (Green Live)
do storage close
pause 1
release in
do move um_in
}
тестите говорите баги (с цитатой коры)

Dima
29.04.2007, 21:54
короче нужен макрос чтобы бот брал (из кафры..) собой 300натурок(100в инвентаре 200в телеги.. ) потом шол пилить.. и каждые Green Live 25 клал в телегу до тех пор пока их не буит там 1600шт..
и поралельно из телеги выкладывал Great Nature 10 до тех пор пока в телеги не останется их 0
потом шол к кафре.. выкладывал все Green Live (из инвентаря и из телеги..) и это все повторялось пока в кафре не останется 0 Great Nature

у меня щас.. токо есть еще проблема.. когда Great Nature = 0 он не че не делает((
automacro in {
location um_in 28 73 35 68
call npc
run-once 1
}
macro npc {
while (@invamount (Great Nature) > 0) as razbivaem
do talknpc 44 71 r1 r0 d5
pause 1
end razbivaem
release in
call kafra
}
macro kafra {
do move 97 148 umbala
do talknpc 87 160 r1
pause 1
do storage add @inventory (Green Live)
do storage get @storage (Great Nature) @eval(100 - @invamount (Great Nature))
do storage close
pause 1
do move 220 189 umbala
}

release in похожу вот тут и до кафры сам не идет если токо на портал не нажать..

4epT
01.05.2007, 05:53
блин дык ещё бы :)
1. ты стоишь у этой бабки и у тебя срабатывает автомакрос по условию "location um_in 28 73 35 68" и закрывается (run-once 1)
2. затем у тебя заканчиваются "Great Nature" и ты обновляешь атомакрос (release in) далее смотри пункт 1
т.е. у тебя произходит зацикливание.
Тебе нада обновить автомакрос in после того как ты выйдешь от бабки..
перенеси сточку "release in" в макрос kafra, например, после строчки "do storage close"

Dima
02.05.2007, 09:03
как к этому добавить каждый рас брать из кафры в телегу 200натурок..
рядом с бабкой по мере разбивания если
Green Live больше 50>
то он перекладывал в телегу..
а при Great Nature<80 перекладывал их из телеги
когда в телеги Great Nature=0 это заканчивалось..
и после развитея остальных в инвентаре Green Live(500-800 буит..)
пошол в кафру..

4epT
04.05.2007, 06:28
Вот что у меня получилось:
automacro in {
location um_in 28 73 35 68
call npc
run-once 1
}

macro npc {
pause 5
log Great Nature - @invamount (Great Nature) шт
while (@invamount (Great Nature) > 0) as razbivaem
log inventory (Great Nature): @invamount (Great Nature) > 0
while (@eval($::char->{weight_max}-$::char->{weight}) > 15) as boltaem
log cBo6oDHbIu Bec: @eval($::char->{weight_max}-$::char->{weight}) > 15
if (@invamount (Great Nature) < 1) goto end
log inventory (Great Nature): @invamount (Great Nature) > 1
do talknpc 44 71 r1 r0 d5
pause 1
end boltaem
:end
log end boltaem
if (@eval(8000-$::cart{weight}) < 4) goto end1
log cart weight: @eval(8000-$::cart{weight}) > 4
do cart add Green Live @eval(int @eval(1600-$::cart{weight}/5))
if (@cartamount (Great Nature) < 1) goto end2
log cart (Great Nature): @cartamount (Great Nature) > 1
do cart get Great Nature @eval(int @eval($::char->{weight_max}/40-$::char->{weight}/40-2.5))
:end2
:end1
pause 1
end razbivaem
log end razbivaem
call kafra
}

macro kafra {
do move 97 148 umbala
do talknpc 87 160 r1
pause 1
do storage add Green Live
pause 1
do storage addfromcart Green Live
pause 1
do storage get Great Nature @eval(int @eval(200-$::cart{weight}/40))
pause 1
do cart add Great Nature
pause 1
do storage get Great Nature @eval(int @eval($::char->{weight_max}/40-$::char->{weight}/40-2.5))
do storage close
pause 1
release in
do move 220 189 umbala
}
Красным отмечены подсказки, чтобы если что легче было искать неполадку, те кто шарят могут эти строчки удалить (дабы сократить длину макроса).

Краткое описание:
для работы макроса необходимо иметь телегу (для "нетележных" не пробовал). Если у вас кафра находится не на координатах (87 160), то вам необходимо заменить:
1. координаты кафры
2. координаты возле кафры
Для начала работы макроса необходимо боту находиться в городе Умбала. Введите в консоле macro kafra. Бот пойдёт к кафре, выложит имеющиеся у вас "Green Live". Заполнит телегу и инвентарь необходимым количеством "Great Nature". Т.к. у меня команда storage gettocart не работает (v 1.9.3), то бот сначало кладёт "Great Nature" в инвентарь, а потом в телегу. Тут может возникнуть глюк если у вы не сможете взять на руки столько, сколько нужно будет положить в телегу (если возникнет глюк, то просто положите что-нить тяжёленькое в телегу, чтобы свободный вес телеги был = вашему свободному весу). Расчёт необходимого количества "Great Nature" я вёл по следующему принципу:
1. СВ - Свободный Вес, СВТ - Свободный Вес Телеги
2. предполагаю, что с 1 Nature получается в среднем 8 Live
3. Live весит 5 кг, Nature - 30 кг
4. я отпирался от того, скоко Live в итоге влезет в телегу, а именно:
в телегу влезет (СВТ/5) шт. Live, что составляет ((СВТ/5)/8) шт. Nature
в инвентарь влезет соответственно ((СВ-100)/5/8) шт. Nature (-100 это для запаса чтобы все Live поместились в инвентарь при разбитии).
Далее бот закрывает кафру и идёт к бабке-колдуньи. В комнате срабатывает автомакрос "in" и начинается трепня с бабкой. Там чтоит пауза в 5 сек - это для того чтобы бот успел включит мозги при смене карты. Если в вас в инвентаре находятся "Great Nature", а бот сразу выходит из комнаты (непоговорив с бабкой), то необходимо увеличить паузу.

Надеюсь всё будет работать. У меня 1 круг прошёл, в ходе которого первоначальные глюки были устранены. Если есть замечания (предложения) по работе макроса или по самому алгоритму разбития натурок, то прошу высказывайте ваши мнения. У кого макрос пройдёт тест - прошу отписаться, я тогда добавлю его в сборник макросов (http://ragbot.ru/forum/showthread.php?t=634). Ежели нашлись умельцы у которых макрос выдаёт ошибки или зацикливается, то прошу выкладывать логи консоли.

ЗЫ: если вас зовут Dima (http://ragbot.ru/forum/member.php?find=lastposter&t=438), то с вас 5 баксов :cool:

Dima
04.05.2007, 15:10
когда вес 90% вот че происходит
Шаман вутанов: Type 'talk resp #' to choose a response.
[macro][log] cBo6oDHbIu Bec > 15
[macro][log] inventory (Great Nature) > 1
Talking to NPC at (44, 71) using sequence: r1 r0 d5
The NPC did not respond.
Шаман вутанов: Done talking
[macro][log] cBo6oDHbIu Bec > 15
[macro][log] inventory (Great Nature) > 1
Talking to NPC at (44, 71) using sequence: r1 r0 d5
Disconnected from Map Server, connecting to Account Server in 30 seconds...

во время когда он разбивает он все разбил и докладывает еще 38-58Great Nature а при весе 90% дисконект.. не складывает Green live

когда складывает из телеги 1600 Green live
он берет только 115 Great Nature и все а телега пустая ((

может надо местами поменять типо сначала 1600 Green live из телеги достать а потом Great Nature положить?

000000 взять у кафки 100натурок
000001 положить их в телегу
000002 взять у кафки 100натурок
000003 положить их в телегу
000004 взять у кафки 100натурок
000005 итти на карту разбивать
000006 мы в комнате идет автомаркос разбивания.
000007 когда вес больше 85% перенести Green live из инвентаря в телегу и достать Great Nature в инвентарь до тех пор пока либо Green live не останется в инвентаре 0 либо Great Nature будет в инвентаре 100
000008 вернуться в 000006 при наличии Great Nature иначе итти дальше..
000009 при Great Nature =0 и при Great Nature в телеги = 0 итти класть в кафру..
какнить так моно сделать?

4epT
04.05.2007, 21:24
может надо местами поменять типо сначала 1600 Green live из телеги достать а потом Great Nature положить?
а он какделает по твоему?

я там подсказки чуть увеличил (показывают конкретные значения параметров).

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

идею "000000-000003" воплощу вечерком (наверно)

а по поводу перевеса, нада запасик по больше взять..

Dima
09.05.2007, 16:56
вообще..
че лично я хачу и мне кажется намного проще буит..
1 вы в юмблабе
2 у вас натурки в инвентаре есть go 4 если нет то go 3
3 наберает в инвентарь 100 натурок и в телегу 200 передетим выкладывает в кафру gren live из инвентаря и из телеги
4 идет разбевать
5 разбивает
6 вес больше > 85% перекладывает green live в телегу..
7 телега заполнена? перекладывает из телеги great nature 50шт
8 наличие натурок в телеги равно 0 тогда go 9 если больше 0 то go 5
9 идет к кафре
вот впринципе больше не че не нужно..

4epT
09.05.2007, 23:17
1. бл* я фигово наверно написал? где логи?
2. твоя идея - это только подогнанное для тебя..
3. а как же другие люди?
4. для каждого отдельно чтоли писать?
5. есть идея - это хорошо, а на деле пробовал написать?

6. думаю у тя запарки из-за "itemsMaxWeight 89"
7. какие значени стоят sellAuto и storageAuto?

ЗЫ: простите если грубо..злой я сёня

Dima
10.05.2007, 06:39
на славах обьесняю..
не для меня а для всех 100 натурок сможет взять лубой торг и 200 в телегу..
удачной разбивки им..
зачем операемся на 1 общий..
нет....
itemsMaxWeight 99 стоит по 0..

4epT
12.05.2007, 15:39
вот финишный вариант:

automacro in {
location um_in 28 73 35 68
call npc
run-once 1
}

macro npc {
pause 5
while (@invamount (Great Nature) > 0) as razbivaem
while (@eval($::char->{weight_max}*0.88-$::char->{weight}) > 10) as boltaem
if (@invamount (Great Nature) < 1) goto end
do talknpc 44 71 r1 r0 d5
pause 1
end boltaem
:end
if (@eval(8000-$::cart{weight}) < 4) goto end1
do cart add Green Live @eval(int @eval(1600-$::cart{weight}/5))
if (@cartamount (Great Nature) < 1) goto end2
do cart get Great Nature @eval(int @eval($::char->{weight_max}*0.022-$::char->{weight}/40))
:end2
:end1
pause 1
end razbivaem
call kafra
}

macro kafra {
do move 139 147 umbala
do talknpc 128 133 r1
pause 1
do storage add Green Live
pause 1
do storage add Great Nature
pause 1
do storage addfromcart Green Live
pause 1
do storage addfromcart Great Nature
pause 1
while (@eval(200-$::cart{weight}/40) > @eval($::char->{weight_max}/40-$::char->{weight}/40)) as gettocart
if (@storamount (Great Nature) > @eval(int @eval(200-$::cart{weight}/40))) goto end
log +++ Great Nature - cliskom malo!+++
pause 10
do quit
:end
pause 1
do storage get Great Nature @eval(int @eval($::char->{weight_max}/40-$::char->{weight}/40))
pause 1
do cart add Great Nature
pause 1
end gettocart
do storage get Great Nature @eval(int @eval(200-$::cart{weight}/40))
pause 1
do cart add Great Nature
pause 1
do storage get Great Nature @eval(int @eval($::char->{weight_max}*0.022-$::char->{weight}/40))
do storage close
pause 1
release in
do move 220 189 umbala
}

Тут уже пофигу чё у вас в инвентаре или в телеге, макрос сам определяет скока ему взять добра.. телегу он забивает под завязку, причём он может хоть 20 раз сначало в руки а потом в телегу (смотря скока у вас на руках свободно). А руки (инвентарь) он забивает так чтобы в итоге у него получилось ГЛ на 88% веса (2% типо запас)
РАзбивать он должен так, чтобы на руках максимум веса было 88% (хз на сколько мене это удалось )
Если у вас закрылся бот, то значит натурок слишком мало, он об этом напишет :). Для того чтобы их всё таки разбить, то вам необходимо самому в ручную достать их из кафры и зайти в комнату с бабкой, а потом смело запускайте бота.

Dima
13.05.2007, 12:46
эх... все равно много после разбития в телеги остается 185 натурок..
112 он разбивает..за 1 круг.. еще меньше надо поставить чтобы в телегу клал.. хотябы чтобы он в телегу клал при расщете что разбивает на 10,,

4epT
14.05.2007, 02:38
Dima, ты что-то придумываешь
у меня 3 круга прошёл в телегу пихал - 170, на руки - 155 (ГН)
в итоге получал примерно 1363 - в телегу и 929 - на руки (ГЛ)

ЗЫ: у тебя бот перестал отрубать?

Dima
14.05.2007, 07:02
да перестал что радует.. но он у мя берет в телегу 200+ и на руки 97 идет разбивать и восвращается с 120-130 в телеги..

4epT
14.05.2007, 16:16
кароче:
1. берёшь этот макрос (прикреплён) запихиваешь в макрос.тхт
2. в конфиге ставишь запись консоли
3. из папки logs удаляешь файл console.txt
4. запускаешь бота разбивать натурки
5. как прозвучит сигнал - закрываешь бота и прикрепляешь сюда файл console.txt