Всадники Кальрадии

Модификации => Обмен опытом: Mount&Blade => Обмен опытом (в помощь мододелу) => Вопросы и ответы по модостроению => Тема начата: Мэннорд от 26 Мая, 2011, 12:04

Название: Помогите разабраться
Отправлено: Мэннорд от 26 Мая, 2011, 12:04
Стал копаться в менюшках. Дошёл до изменения навыков при выборе биографии. При изменении всё шло ровно, но когда решил добавить наработку появляеться:
TypeError: 'tuple' object is not callable

Причём ни объекта, ни 'tuple' я не добавлял. Пожалуйста разъесните новичку ситуацию.

Сам текст

Название: Re: Помогите разабраться
Отправлено: Leon473 от 26 Мая, 2011, 12:26
Мэннорд, эта ошибка означает, что ты где не поставил запятую.
Если выскакивает эта ошибка, то build_module.bat при этом указывает место где запятая не стоит. Место где ты ее не поставил, ищи над той строчкой, что указывает build_module.
Кроме того, подобные проверки не правильны
Вот как должны выглядеть эта проверка:
То есть, должно быть так:
Эта проверка проверяет, равно ли первое значение второму, а ты их тут целую кучу по наставлял.

Кроме того, одна переменная, может иметь только одно значение. А судя по твоему коду, то каждое cb_ должно иметь разные значения, по этому переменная просто не может быть равной им всем. Разве что все эти константы имеют одинаковое значение, а если так, то тогда зачем было делать несколько штук?

Добавлено: [time]26 Май, 2011, 13:31:29 [/time]
Да и тут десятки тем в стиле "Помогите", нельзя было использовать одну из них? Или же написать в универсальную тему "Вопросы по созданию модификаций" (http://rusmnb.ru/forum/index.php?topic=180.0)?
Название: Re: Помогите разабраться
Отправлено: Мэннорд от 26 Мая, 2011, 12:36
Мэннорд, эта ошибка означает, что ты где не поставил запятую.
Если выскакивает эта ошибка, то build_module.bat при этом указывает место где запятая не стоит. Место где ты ее не поставил, ищи над той строчкой, что указывает build_module.

Благодарю, запятые были найдены и поставлены на место

Кроме того, подобные проверки не правильны
Вот как должны выглядеть эта проверка:
То есть, должно быть так:
Эта проверка проверяет, равно ли первое значение второму, а ты их тут целую кучу по наставлял.

Кроме того, одна переменная, может иметь только одно значение. А судя по твоему коду, то каждое cb_ должно иметь разные значения, по этому переменная просто не может быть равной им всем. Разве что все эти константы имеют одинаковое значение, а если так, то тогда зачем было делать несколько штук?

Код что я дал не весь, он огромный с кучей вариаций биографии. А так мне просто легче писать (а может в будующем ещё и переделывать)
Название: Re: Помогите разабраться
Отправлено: Leon473 от 26 Мая, 2011, 12:45
Мэннорд, понимаешь, если ты сделаешь проверку как положено (иначе она просто корректно работать не будет, и скорее всего, в игре попрут ошибки), то тебе придется переделать вот это:
Цитировать (выделенное)
(eq,"$background_type",cb_king,cb_noble,cb_heguilds,cb_mafia,cb_hespain,cb_egypt,cb_hecraft,cb_spor),
на это:
Цитировать (выделенное)
(eq,"$background_type",cb_king),
(eq,"$background_type",cb_noble),
и т.д.
Тогда эти проверки никогда не выполнятся. Потому что:
Цитировать (выделенное)
одна переменная, может иметь только одно значение
Разве что, только
Цитировать (выделенное)
Разве что все эти константы имеют одинаковое значение
а это тоже чревато последствиями ;)
Название: Re: Помогите разабраться
Отправлено: Мэннорд от 26 Мая, 2011, 13:22

Константы естествено разные, потому что я в них ещё не разабрался :)
Поэтому буду переделывать код благодарю за подсказку.

Добавлено: 26 Мая, 2011, 14:36
Подскажите как в блокноте быстро перейти на линию 2444?
Название: Re: Помогите разабраться
Отправлено: Leon473 от 26 Мая, 2011, 16:25
Подскажите как в блокноте быстро перейти на линию 2444?
Ctrl+G и вводишь номер строки.
Но лучше используй Notepad++ - бесплатная альтернатива блокноту, и при этом обладает многими полезными функциями (в особенности при работе с модулькой).