Страница 1 из 1

[BugTraq] команда deal -1 кидает сделку левому игроку

Добавлено: Чт май 28, 2009 12:21 am
4epT
в общем если написать в консоле "deal -1" то бот кидает сделку какому-либо игроку, а по идее не должен никому кидать, т.к. игроки у нас начинаются с нуля :x

пример макроса:

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

macro test {
	log @player(test)
	do deal @player(test)
}
если по близости нету игрока "test" то @player(test) даёт нам "-1" и получается мы кидаем сделку левому игроку!

В общем придумал такую заплатку:
src\Commands.pm:

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

+} elsif ($arg[0] =~ /\d+/ && !$playersID[$arg[0]] || $arg[0] eq "-1") {
-} elsif ($arg[0] =~ /\d+/ && !$playersID[$arg[0]]) {
	error TF("Error in function 'deal' (Deal a Player)\n" .
		"Player %s does not exist\n", $arg[0]);
не уверен что это оптимальное решение..
надо бы добавить в SVN

Re: [BugTraq] команда deal -1 кидает сделку левому игроку

Добавлено: Чт май 28, 2009 10:50 am
piroJOKE
Хм.... А может оставить это как есть - типо, не баг это, а фича, которая может когда-то пригодиццо? ;) ;) ;)

ЗЫ: А он часом не последнему игроку в списке кидает, ы?

Re: [BugTraq] команда deal -1 кидает сделку левому игроку

Добавлено: Чт май 28, 2009 6:17 pm
4epT
ну я в толпе не проверял, из 2-х игроков она второму точно кидает :)

Добавлено спустя 47 секунд:
а как оно нам может пригодиться?

Re: [BugTraq] команда deal -1 кидает сделку левому игроку

Добавлено: Ср июн 03, 2009 9:21 am
kLabMouse
Заплатка не Ахти.
Думаем.... Лучше превратить строку в число, и приверить больше ли она нуля.