[решено!] storage gettocart - не пашет?

BugTraq: обнаруженные ошибки и обсуждение их устранения.

Модератор: 4epT

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

[решено!] storage gettocart - не пашет?

Сообщение piroJOKE »

Один чорт с рагнарокбота.ру пишет что у него не пашет геттокарт:
4epT:

Народ отпишитесь пожалуста у кого работает команда:
storage gettocart (<storage item>) [<amount>] v.1.9.0
<storage item>
- a storage item name, or a corresponding number from the storage item list when you use the storage command.
<amount>
- the amount (positive integer).
Get an item from storage directly to your cart.

Note. If the amount is not specified, this assumes the maximum amount of the item available.
У меня 1.9.3 и нефига не работает :(
ИЗ ТЕЛЕГИ В КАФРУ ВЫКЛАДЫВАЕТ А ВОТ ОБРАТНО НЕ ХОЧЕТ

Главное если имя предмета написать неправильно, то ругается, значит понимает предметы, а вот вчём трабла хз..
Надо бы проверить...
Последний раз редактировалось piroJOKE Вт мар 25, 2008 11:48 am, всего редактировалось 2 раза.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
CrusH
Энтузиаст
Сообщения: 138
Зарегистрирован: Ср ноя 15, 2006 2:17 pm
Откуда: СПб
Контактная информация:

Сообщение CrusH »

по моему я с таким сталкивался, да, вроде не работает (а может ручки шалят...)

решилось все просто - по частям лут кладем сначала в руки, потом в тележку, потом опять в руки и опять в тележку =))
Изображение
Изображение
ботами пользуйся, а попадаться - не смей!
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

ппц, хотел создать такую темку.. уже начал было писать.. думаю дайка я на всякий случай поиск юзану (дабы не обнюбиться) и тут тебе НА..
а моя темка уже тута живёт

piroJOKE, ты случаем не Gans (с рагнарокбота.ру)

CrusH, ручки как раз не шалят!
решилось все просто
И ты считаешь что это решилось? Я так не думаю!

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

storage gettocart - находится в файле src\Commands.pm
sub cmdStorage_gettocart {
my $items = shift;

my ($names, $amount) = $items =~ /^(.*?)(?: (\d+))?$/;
my @names = split(',', $names);
my @items;

for my $name (@names) {
if ($name =~ /^(\d+)\-(\d+)$/) {
for my $i ($1..$2) {
push @items, $storage{$storageID[$i]} if ($storage{$storageID[$i]});
}

} else {
my $item = Match::storageItem($name);
if (!$item) {
error TF("Storage Item '%s' does not exist.\n", $name);
next;
}
push @items, $item;
}
}

sendStorageGetToCart(\@items, $amount) if @items;
}
Те кто в этом сечёт: ХЕЛЬПъ!!
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Единственное что я могу сказать, это то, что по моим наблюдениям оно посылает пустой пакет. Т.е., где-то баг. :(
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
CrusH
Энтузиаст
Сообщения: 138
Зарегистрирован: Ср ноя 15, 2006 2:17 pm
Откуда: СПб
Контактная информация:

Сообщение CrusH »

у меня решилось таким образом:

automacro MTCstart {
console /Storage opened/
run-once 1
call tocart
}

macro tocart {
do storage get Meat 250
pause 1
do cart add @inventory (Meat) 200
do storage get Meat 200
pause 1
do cart add @inventory (Meat) 200
release MTCstart
}
Изображение
Изображение
ботами пользуйся, а попадаться - не смей!
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Не интересно - хочется "подчинить" Kore. :)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

кукуруку, АП
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Шурик
Начинающий
Сообщения: 20
Зарегистрирован: Вт дек 12, 2006 3:07 pm

Сообщение Шурик »

Всё ещё не работает Оо Удивительно. А так нада ... :(
Ну лана бум, через инвентарь.
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

не могу понять в каком месте не работает. пакет отсылается, но реации на него никакой. интересно оно вообще когда нить работало?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

сомневаюсь я в своё время смотрел ещё на древней коре для интересу
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

судя по дебугам, при том когда из кафры в инвентарь ложишь, посылается пакет закрыть кафру, но это скорее глюк.
а вот чего я думаю, может перед тем как класть в телегу надо послать пакет о том что телега открыта...
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

умничка дочка :D это мысль
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

так.. никуя это не мысль, т.к. нет пакета на открытие телеги :)

Я ПОЧИНИЛ СИЁ ЧУДО!!

Кароче смысл бы в том, что кора должна отослать типо номер итема (или имя?) и число штук, т.е. если в консольку ввести:
eval $messageSender->sendStorageGetToCart(3, 1)
то всё работает!!!

посмотрел я что отсылает кора - оказалось, что отсывает хэш.

Давайте всё по порядку:

Команду "storage get" от других команд работы со складом отличает то, что с помощь неё мы может переложить в инвентарь несколько вещей за одну команду, например:
storage get 2-5 <- возьмём из инвентаря вещи 2, 3, 4 и 5
storage get 2,5 <- возьмём из инвентаря вещи 2 и 5
Для этого в файле Misc.pm существует специальная процедура "storageGet".

Другие команды ("storage add" и "storage addfromcart") такого не позволяют сделать (пока?)

Так вот автор, видимо по запарке, решил написать команду "storage gettocart" по аналогии с командой "storage get". Ну и вот отсюда и пошёл косяк :D

кароче берём файл Commands.pm и меняем существующую процедуру "cmdStorage_gettocart" на:

Код: Выделить всё

sub cmdStorage_gettocart {
	my $items = shift;

	my ($name, $amount) = $items =~ /^(.*?)(?: (\d+))?$/;
	my $item = Match::storageItem($name);
	if (!$item) {
		error TF("Storage Item '%s' does not exist.\n", $name);
		return;
	}

	if (!defined($amount) || $amount > $item->{amount}) {
		$amount = $item->{amount};
	}
	$messageSender->sendStorageGetToCart($item->{index}, $amount);
}
Вот лог с консольки:
storage gettocart 20 5
Cart Item Added: Awakening Potion (16) x 5
Storage Item Removed: Awakening Potion (20) x 5
всем спасибо все свободны %)


Кстати есть смысл запариться с тем чтобы мы могли и в кафру сразу кучкой положить?

Ну это Click'у работка :lol:
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

svn 6281.
а теперь мона подумать как брать из кафры сразу весь нужный лут, а не поодной штуке.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Click
а) это оффтопик, делайте отдельную тему.
б) закупка - то же самое, поэтому надо делать в куче.

ЗЫ: Еще раз. Просьба не оффтопить, если будете делать bulk-buy/get, делайте отдельную тему. Кстати... она кажеццо уже есть, 4орт делал.

4epT
Малаток! :twisted: Я как раз и подозревал что-то в этом роде, но за год так руки и не дошли проверить. :cry:

* * *

2Click: крохотная придирка. Обрати внимание, ты пишешь:
storage gettocart (<storage item>) [<amount>]
cmdStorage_gettocart now work! fix by 4epT. viewtopic.php?p=49565
В случае, если ты в документации даешь ссылку на не-англоязычный ресурс, следует явно это указывать; например было бы нормально так:
cmdStorage_gettocart now work! fix by 4epT. viewtopic.php?p=49565 [rus]
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Закрыто