Просмотр полной версии : на разбитее элементов
помогите плиз.. чтобы разбивал элементы по 50 шт и складывал их..
моя твоя понять совсем нет...
что именно тебе нада?
типо есть 100 стрел, тебе их нада разбить по 50 и положить скажем в кафру (телегу)? смысл, если они там смешаются?
зы: ..ты скажи, ты скажи, чё те нада, чё те нада..
http://roinfo.ru/forum/showthread.php?t=35026
Квест на Сбор, Разложение символов
предлагаешь мне пройти этот квест?
если ты не напишешь что именно тебе нада, то будешь долго просить!
опиши что тебе нада чтобы бот повторял это сам!!!
т.е имея в инвентории опеделенное колличество Great Nature распелить их на Green Live, постоянно надо указывать колличество 1.
процедура довольно нудная учитываячто надо пилить по 1 шт.
чтобы было доступно возможность распилки необходимо предварительно пройти квест на язык умбелла. помоги со скриптом плз.
1) язык ручками пройдешь
2) скажи координаты нпц к которому подходить и пошагово что ему говорить! мы не будем за тебя все это делать
ок да нет проблем счас выложу.я даже готов сам перекладывать натурки в инвенторий боту.
не проблема квест прошел я сам, просто пилить ручками долго.
координаты нпц 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"
складывать я сам буду на кафру и загружать в инвенторий тоже. мне только этот диалог сделайте пожалуйста.
если Вас не затруднит составить диалог на преобразование натурок в виндурки:
нпц 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
координаты нпц 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
вопрос а как мне указать число повторенией диалога? если можно пример
papaz0glo, тебя не затруднит выслать свою настройку?
просто хочу сравнить посмотреть.
число повторений это уже через макрос
macro q {
do talknpc 44 71 c c r1 r0 c c n1 c c
pause 1
}
запускать его можно: macro q -repeat 10 (типо повторится 10 раз)
хочу уточнить.
вот ситуация я подожу бота к пнц указанному, в инвентории натурки.выхожу из клиента и запускаю бота. в бота прописан макрос данный. И запускаю в консоле коммандой macro q -repeat 10.
сори за нубство.
макрос вписывается в macros.txt? или крнфиг??
и еще вопрос какая карта должна стоять в lockmap?
я подожу бота к пнц указанному, в инвентории натурки.выхожу из клиента и запускаю бота. в бота прописан макрос данный. И запускаю в консоле коммандой macro q -repeat 10.
ДА
макрос вписывается в файл macros.txt
в lockmap ничего не пиши, чтоб бот у тебя никуда не убежал.
по вопросам выкидывания, думай сам чё ты натворил с ботом в последние дни (если он у тебя раньше грузился).
а вот чтото типо взять из кафры 25шт пойти разбить вернуться положить
все что получилось и так по кругу..
в 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
}
тестите говорите баги (с цитатой коры)
короче нужен макрос чтобы бот брал (из кафры..) собой 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 похожу вот тут и до кафры сам не идет если токо на портал не нажать..
блин дык ещё бы :)
1. ты стоишь у этой бабки и у тебя срабатывает автомакрос по условию "location um_in 28 73 35 68" и закрывается (run-once 1)
2. затем у тебя заканчиваются "Great Nature" и ты обновляешь атомакрос (release in) далее смотри пункт 1
т.е. у тебя произходит зацикливание.
Тебе нада обновить автомакрос in после того как ты выйдешь от бабки..
перенеси сточку "release in" в макрос kafra, например, после строчки "do storage close"
как к этому добавить каждый рас брать из кафры в телегу 200натурок..
рядом с бабкой по мере разбивания если
Green Live больше 50>
то он перекладывал в телегу..
а при Great Nature<80 перекладывал их из телеги
когда в телеги Great Nature=0 это заканчивалось..
и после развитея остальных в инвентаре Green Live(500-800 буит..)
пошол в кафру..
Вот что у меня получилось:
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:
когда вес 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 итти класть в кафру..
какнить так моно сделать?
может надо местами поменять типо сначала 1600 Green live из телеги достать а потом Great Nature положить?
а он какделает по твоему?
я там подсказки чуть увеличил (показывают конкретные значения параметров).
проверь в ручную что происходит, когда у него перевес и он зацикливается. Есть ли у него действительно натурки на руках и место свободное..
идею "000000-000003" воплощу вечерком (наверно)
а по поводу перевеса, нада запасик по больше взять..
вообще..
че лично я хачу и мне кажется намного проще буит..
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 идет к кафре
вот впринципе больше не че не нужно..
1. бл* я фигово наверно написал? где логи?
2. твоя идея - это только подогнанное для тебя..
3. а как же другие люди?
4. для каждого отдельно чтоли писать?
5. есть идея - это хорошо, а на деле пробовал написать?
6. думаю у тя запарки из-за "itemsMaxWeight 89"
7. какие значени стоят sellAuto и storageAuto?
ЗЫ: простите если грубо..злой я сёня
на славах обьесняю..
не для меня а для всех 100 натурок сможет взять лубой торг и 200 в телегу..
удачной разбивки им..
зачем операемся на 1 общий..
нет....
itemsMaxWeight 99 стоит по 0..
вот финишный вариант:
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% (хз на сколько мене это удалось )
Если у вас закрылся бот, то значит натурок слишком мало, он об этом напишет :). Для того чтобы их всё таки разбить, то вам необходимо самому в ручную достать их из кафры и зайти в комнату с бабкой, а потом смело запускайте бота.
эх... все равно много после разбития в телеги остается 185 натурок..
112 он разбивает..за 1 круг.. еще меньше надо поставить чтобы в телегу клал.. хотябы чтобы он в телегу клал при расщете что разбивает на 10,,
Dima, ты что-то придумываешь
у меня 3 круга прошёл в телегу пихал - 170, на руки - 155 (ГН)
в итоге получал примерно 1363 - в телегу и 929 - на руки (ГЛ)
ЗЫ: у тебя бот перестал отрубать?
да перестал что радует.. но он у мя берет в телегу 200+ и на руки 97 идет разбивать и восвращается с 120-130 в телеги..
кароче:
1. берёшь этот макрос (прикреплён) запихиваешь в макрос.тхт
2. в конфиге ставишь запись консоли
3. из папки logs удаляешь файл console.txt
4. запускаешь бота разбивать натурки
5. как прозвучит сигнал - закрываешь бота и прикрепляешь сюда файл console.txt
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc. Перевод: zCarot