PDA

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


4epT
21.05.2007, 04:24
долгими и упорными трудами вышло так:

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
}

Описание макроса читайте тут (http://ragbot.ru/forum/showpost.php?p=6534&postcount=22)
О то как всё до этого докатилось можно почитать тут (http://ragbot.ru/forum/showthread.php?t=438).

sll5225
21.05.2007, 22:04
У меня лично не работало так:
talknpc 44 71 r1 r0 d5
А работало токо так
while (@invamount (Great Nature) > 0) as razbivaem
do talk 0
do talk resp 1
do talk resp 0
do talk num 9
pause 1
end razbivaem

:)

4epT
22.05.2007, 01:22
дык нада писать не "talknpc 44 71 r1 r0 d5", а:
do talknpc 44 71 r1 r0 d5

sll5225
24.05.2007, 17:56
Даже если прописать в самом боте talknpc 44 71 r1 r0 d5
он чето быстро пробазарит но нече нераспилит :)
Так шо пользуюсь своим 8)

4epT
25.05.2007, 02:45
sll5225, у всех рахбивает..
ты б почитал на чём он там заваливается..

Dima
25.05.2007, 07:01
мне наверно преведущий понравился..

4epT
25.05.2007, 23:25
Dima, какой предыдущий, ты про что?

Dima
26.05.2007, 16:21
я про макрос...

Dima
27.06.2007, 09:12
у меня сейчас такой макрос но я хачу его дополнить добавив продаже после разбития из инвентаря и из телеги Green Live
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 sell
}
macro sell {
do move 125 157 umbala
do talknpc 160 125 (как сказать ему продать Green Live из инвентаря и из телеги?)
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 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
}
do talknpc 87 160 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
log wes telegi: @eval(200-$::cart{weight}/40)
log swobodniy wes @eval($::char->{weight_max}/40-$::char->{weight}/40)
while (@eval(200-$::cart{weight}/40) > @eval($::char->{weight_max}/40-$::char->{weight}/40)) as gettocart
log (@eval(200-$::cart{weight}/40) > @eval($::char->{weight_max}/40-$::char->{weight}/40))
log do storage get Great Nature @eval(int @eval(200-$::cart{weight}/40))
pause 1
do storage get Great Nature @eval(int @eval($::char->{weight_max}/40-$::char->{weight}/40))
pause 1
do cart add Great Nature
log @eval(200-$::cart{weight}/40) > @eval($::char->{weight_max}/40-$::char->{weight}/40)
pause 1
end gettocart
log 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
}

4epT
27.06.2007, 11:11
Dima, ты бы писал вопросы отдельно от текста макроса.. (на будующее) или хотяб цветом выделял..

как сказать ему продать Green Live из инвентаря и из телеги?
из инвентаря: читай Консольные команды Openkore (http://ragbot.ru/forum/showthread.php?t=26)
А продавать из телеги - это чит!

Dima
27.06.2007, 18:30
а писать в макросе прямо командами?

народ помогите дописать я просто кмираю когда 15 раз подряд иди в кафру беру и продаю..

0
Unknown command 'do'. Please read the documentation for a list of commands.
talk 160 125 unm 0
Error in function 'talk' (Talk to NPC)
NPC 160 does not exist
Your sell list is empty.
-----------NPC List-----------
# Name Coordinates ID
0 Торговец оружием (160, 125) 55727
---------------------------------
Talking to NPC at (160, 125) using sequence: 0 r
Торговец оружием: Type 'store' to start buying, or type 'sell' to start selling
sell
Ready to start selling items
-----------Inventory-----------
-- Equipment (Equipped) --
1 +4 Hat [Myst Case] [1] -- Helmet (256)
2 Welding Mask -- Mid-Lower Mask (513)
-- Equipment (Not Equipped) --
-- Non-Usable --
0 Orc's Fang x 15
-- Usable --
-------------------------------
Ready to start selling items
The NPC did not respond.
0 10
Unknown command ''. Please read the documentation for a list of commands.
sell inventory item 0 1
Syntax Error in function 'sell' (Sell Inventory Item)
Usage: sell <inventory item index #> [<amount>]
sell list
sell done
sell cancel
sell start
Syntax Error in function 'sell' (Sell Inventory Item)
Usage: sell <inventory item index #> [<amount>]
sell list
sell done
sell cancel
You are no longer: Crazy Uproar
Error in function 'talk resp' (Respond to NPC)
No NPC response list available.
Error in function 'talk resp' (Respond to NPC)
Response 0 does not exist.
----------Responses-----------
NPC:
# Response
-------------------------------
Error in function 'talk resp' (Respond to NPC)
Response 0 does not exist.
Error in function 'talk resp' (Respond to NPC)
Response 0 does not exist.
-----------Inventory-----------
-- Equipment (Equipped) --
1 +4 Hat [Myst Case] [1] -- Helmet (256)
2 Welding Mask -- Mid-Lower Mask (513)
-- Equipment (Not Equipped) --
-- Non-Usable --
0 Orc's Fang x 15
-- Usable --
-------------------------------
Syntax Error in function 'sell' (Sell Inventory Item)
Usage: sell <inventory item index #> [<amount>]
sell list
sell done
sell cancel
Error in function 'talk resp' (Respond to NPC)
Response 0 does not exist.
talk num 0
-----------Inventory-----------
-- Equipment (Equipped) --
1 +4 Hat [Myst Case] [1] -- Helmet (256)
2 Welding Mask -- Mid-Lower Mask (513)
-- Equipment (Not Equipped) --
-- Non-Usable --
0 Orc's Fang x 15
-- Usable --
-------------------------------
Syntax Error in function 'sell' (Sell Inventory Item)
Usage: sell <inventory item index #> [<amount>]
sell list
sell done
sell cancel
talk num 0
Inventory Item Removed: Orc's Fang (0) x 1
You gained 136 zeny.
Talking to NPC at (160, 125) using sequence: 0 r
Торговец оружием: Type 'store' to start buying, or type 'sell' to start selling
The NPC did not respond.
talk unm 0
Syntax Error in function 'talk' (Talk to NPC)
Usage: talk <NPC # | cont | resp | num> [<response #>|<number #>]
-----------NPC List-----------
# Name Coordinates ID
0 Торговец оружием (160, 125) 55727
---------------------------------
talk 160 125 unm 0
Error in function 'talk' (Talk to NPC)
NPC 160 does not exist
do talk 160 125 unm 0
Unknown command 'do'. Please read the documentation for a list of commands.
talk 160 125 unm 0
Error in function 'talk' (Talk to NPC)
NPC 160 does not exist
Your sell list is empty.
-----------NPC List-----------
# Name Coordinates ID
0 Торговец оружием (160, 125) 55727
---------------------------------
Talking to NPC at (160, 125) using sequence: 0 r
Торговец оружием: Type 'store' to start buying, or type 'sell' to start selling
sell
Ready to start selling items
Your sell list is empty.
The NPC did not respond.



че я не так делаю?

может както можно просто перед макросом кафра запрогромировать а авто продажу а после продажи макрос кафра?

AmsTaFF
01.07.2007, 21:56
напиши в аську... может помогу...

4epT
01.07.2007, 23:27
а писать в макросе прямо командами?
Читай гайд по маросам! Там же есть ссылка на мануал по консольным командам!
че я не так делаю?
прислушавайся к коре, она же тебе пишет:
- Unknown command 'do'. Please read the documentation for a list of commands
- Error in function 'talk' (Talk to NPC) (где ты вообще такой "talk 160 125 unm 0" синтаксис нашёл?)

"0 10" << ыыыыыыыы это вообще чё за команда?

ЗЫ: большая просьба все саои результаты тут выложить

~Incubus~
15.07.2007, 11:54
А продавать из телеги - это чит!
Хы а что в этом читовсково••••••Понимаю еслибы то что ты продаёшь из телеги дюпалось))например продал из неё 100 Треасюре боксов,тебе дали 12,4кк а в телеге эти 100 боксов ослались)))

4epT
15.07.2007, 19:44
~Incubus~, а как ты себе представляешь продавать сразу с телеги минуя инвентарь? Или я отстал?

SpLaTt
03.02.2008, 22:26
у мну чот автомакросы непашут ваще любые, ост макросы спокойно, никто не подскажетт как исправить??

delaz
09.06.2008, 19:27
Посмотрите пожалуйста на лог бота, что делаю не так?

Calculating route to: Wootan Tribe's Village, Umbala(umbala): 121, 133
Talking to NPC at (128, 133) using sequence: c r1 n
Kafra: [Kafra]
Kafra: Welcome to Kafra Corp. We will stay with you wherever you go.
Kafra: Auto-continuing talking
----------Responses-----------
# Response
0 -Save
1 -Use Storage
2 -Use Teleport Service
3 -Rent a Cart
4 -Guide
5 -Other Information Check
6 -Cancel
7 Cancel Chat
-------------------------------
Kafra: Type 'talk resp #' to choose a response.
You lost 40 zeny.
Kafra: [Kafra]
Kafra: Close this window to open your storage.
Kafra: We hope to see you again soon.
Kafra: Done talking
Done talking with Kafra.
No information about storage; it has not been opened before in this session
Storage opened.
Cart Item 'Green Live' does not exist.
[macro] kafra error: error in 7: command storage get Great Nature @eval(int @eval(200-$::cart{weight}/40)) failed

Я просто в @eval' ах вообще ничего не понимаю, может можна просто написать конкретное количество натурок, которое будет брать бот?

4epT
10.06.2008, 02:22
delaz,увеличь паузу:
do talknpc 128 133 r1
pause 5
do storage add Green Live

GoldenShadow
11.06.2008, 10:27
~Incubus~, так можно или нет продавать напрямую из телеги?

crouser
15.07.2008, 16:58
Моя проблема, с этими вычисления свободного веса.
Storage opened.
Inventory Item 'Green Live' does not exist.
Inventory Item 'Great Nature' does not exist.
Cart Item 'Green Live' does not exist.
Cart Item 'Great Nature' does not exist.
[macro] kafra error: error in 23: command storage get Great Nature @eval(int @eval(200-$::cart{weight}/40)) failed
Паузы нипричём... менял их значения.
Версия бота 2.3.3

4epT
15.07.2008, 19:58
а ты это где брал?? "Версия бота 2.3.3"

Dima
21.04.2009, 01:05
[macro] kafra error: error in 12: either '@storamount (Great Nature)' or '@eval(int @eval(200-$::cart{weight}/40))' has failed
You are sitting.
чет походу над его заного делать(

Verbatium
26.06.2009, 18:27
Щас же в 2008 году добавили нового нпс(голова около двери) чтобы можно было зайти к бабке в комнату. нужно ли заного переписывать макрсо?

4epT
28.06.2009, 15:41
надо файл порталов дописать (тема в разделе миничаво)

Skepteek
26.07.2013, 09:58
Вопрос в том как положить в телегу 170 Great Nature's и в инвентарь 160 Greate Nature••••••!!!
Я не понимаю по какой формуле он высчитывает какое количество брать со склада, а это очень критично поскольку бот пилит только по 10 натурок и если взять меньше то он будет гонять диолог по кругу!!!
макрос

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 d10 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
}

4epT
26.07.2013, 14:54
Skepteek в первом же сообщении написано:
Описание макроса читайте тут (http://ragbot.ru/forum/showpost.php?p=6534&postcount=22)

Добавлено через 31 минуту
если у тебя разбивает по 10 натурок, то надо всего лишь поменять условие:
while (@invamount (Great Nature) > 0) as razbivaem
на:
while (@invamount (Great Nature) > 9) as razbivaem

Skepteek
27.07.2013, 14:14
Проблема актуальна, сделал так как ты сказал, не помогло!
Сменил с 200 на 160 бот берет по 160 в телегу и 141 в инвентарь и залипает по тому что остается меньше 10 в инвентаре(крутит диалог без остановки даже не вытаскивая натурки из телеги) как можно сделать что бы десятичные числа складывал?!
automacro in {
location um_in 28 73 35 68
call npc
run-once 1
}

macro npc {
pause 5
while (@invamount (Great Nature) > 9) 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 d10 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(160-$::cart{weight}/40) > @eval($::char->{weight_max}/40-$::char->{weight}/40)) as gettocart
if (@storamount (Great Nature) > @eval(int @eval(160-$::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(160-$::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
}

4epT
27.07.2013, 18:12
а зачем ты 200 на 160 менял?

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

Весь разговор с НПЦ находится в макросе "macro npc"

сделай ещё одну замену:
if (@invamount (Great Nature) < 1) goto end
на
if (@invamount (Great Nature) < 10) goto end