[BugTraq] команда deal -1 кидает сделку левому игроку
Добавлено: Чт май 28, 2009 12:21 am
в общем если написать в консоле "deal -1" то бот кидает сделку какому-либо игроку, а по идее не должен никому кидать, т.к. игроки у нас начинаются с нуля
пример макроса:
если по близости нету игрока "test" то @player(test) даёт нам "-1" и получается мы кидаем сделку левому игроку!
В общем придумал такую заплатку:
src\Commands.pm:
не уверен что это оптимальное решение..
надо бы добавить в SVN
пример макроса:
Код: Выделить всё
macro test {
log @player(test)
do deal @player(test)
}
В общем придумал такую заплатку:
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