B>макрос на перенос вещей в телегу
Модератор: 4epT
B>макрос на перенос вещей в телегу
куплю макрос на перенос вещей из инверторя в телегу при условии что инвертарь заполнен на 95% и более
предложения в личку
предложения в личку
I hear Thunder but there is no rain. This kind of Thunder breaks walls and brings pain.
- Jozo
- Энтузиаст
- Сообщения: 109
- Зарегистрирован: Вс окт 26, 2008 6:20 pm
- Сервер RO:: CoolRo
- Контактная информация:
поситай инструкцию к item_control
Добавлено спустя 43 секунды:
Добавлено спустя 43 секунды:
Код: Выделить всё
# In this file you can control which items to put in storage,
# to sell, or to leave in the inventory.
#
# Syntax:
# (item name) (minimum) (auto-store) (auto-sell) [put in cart] [get from cart]
# item name : Name of the item.
# miminum : The minimum amount of this item that you want to keep in inventory.
# autostore : Set to 1 to walk back to a Kapra NPC to put in storage.
# autosell : Set to 1 to sell item at a buy/sell NPC.
# put in cart : Set to 1 to automatically put this item in cart.
# get from cart : Set to 1 to automatically get this item from cart.
#
-
- Бывалый
- Сообщения: 624
- Зарегистрирован: Вс мар 25, 2007 9:18 pm
- Сервер RO:: localhost
- Откуда: Санкт-Петербург
Эх, вот апнули старую тему, а я на дату не посмотрел и написал макрос
Так как макрос такой никому оказался не нужен(и скорее всего не будет нужен из-за своей специфичности), то выложу ка я его, т. к. он весьма интересен(возможно кому-нибудь будет интересен использованный приём):
P.S: Для тех кто не понял, макрос может зависнуть скажем если мы хотим кинуть 70 мяса(70*15 = 1050 веса) а телега заполнена на 6990/8000(6990 + 1050 = 8040 > 8000)(Это если в настройках макроса свободный вес стоит 1000(как здесь)). При желании это можно обойти(и довольно легко) . Также можно добавить вещи-исключения(и их количество).
Так как макрос такой никому оказался не нужен(и скорее всего не будет нужен из-за своей специфичности), то выложу ка я его, т. к. он весьма интересен(возможно кому-нибудь будет интересен использованный приём):
Код: Выделить всё
# Макрос, перекидывающий все неэкипированные вещи в телегу при перевесе
# © _vit 3.11.2008
# Тонкости:
# - Следить, чтобы вес за 1 раз перекидываемой вещи(вещей одного наименования) был меньше свободного места в телеге, иначе зациклится
# - Следить, чтобы в обоих автомакросах условие на вес было одинаковым - например "weight > 25%"
# - Следить, чтобы число необходимого свободного места в телеге в условии второго автомакроса и в макросе были равны - например 1000
automacro movetocard {
# При каком перевесе перекидывать
weight > 50%
call movetocardm
macro_delay 0.3
exclusive 1
timeout 3
}
automacro movetocardrel {
# При каком перевесе перекидывать
weight > 50%
eval ($::cart{'weight_max'} - $::cart{'weight'}) >= 1000
call {
release movetocard
}
exclusive 1
timeout 5
}
macro movetocardm {
do eval $::Macro::Data::varStack{testcart} = $::cart{exists}
if ($testcart = "") goto error1
do eval foreach my $_item(@{$::char->inventory->getItems}){if($_item->{equipped}==0){$::Macro::Data::varStack{itemstotr}.=', '.$_item->{name}}}
$item = [$itemstotr]
log Перекинем в телегу: $itemstotr
:transfer
$item = [$itemstotr]
if ($item == "") goto end
do eval $::Macro::Data::varStack{testcart} = $::cart{'weight_max'} - $::cart{'weight'}
if ($testcart < 1000) goto error2
do cart add $item @invamount($item)
goto transfer
:end
log Вещей в телеге: @eval($::cart{'weight'}) / @eval($::cart{'weight_max'})
lock movetocardrel
stop
:error1
log Ошибко! У нас нету телеги...
goto end2
:error2
log Ошибко! Телега забита: @eval($::cart{'weight'}) / @eval($::cart{'weight_max'})
goto end2
:end2
lock movetocard
release movetocardrel
}