Всадники Кальрадии
Модификации => Обмен опытом (в помощь мододелу) => Тема начата: Northmen от 27 Февраля, 2015, 13:16
-
получается вот такая ошибка-
src\module_constants.py", line 1494, in <module>
tavern_booksellers_end = city_merchant_begin
NameError: name 'city_merchant_begin' is not defined
но ведь в constants есть, вот кусок-
tavern_minstrels_begin = "trp_tavern_minstrel_1"
tavern_minstrels_end = "trp_kingdom_heroes_including_player_begin"
tavern_booksellers_begin = "trp_tavern_bookseller_1"
tavern_booksellers_end = city_merchant_begin
city_merchant_begin = "trp_city_merchant_1"
city_merchant_end = tavern_minstrels_begin
tavern_travelers_begin = "trp_tavern_traveler_1"
tavern_travelers_end = tavern_booksellers_begin
-
На момент определения tavern_booksellers_end не определена city_merchant_begin. Т. е. записи должны идти в другом порядке:
city_merchant_begin = "trp_city_merchant_1"
city_merchant_end = tavern_minstrels_begin
tavern_booksellers_begin = "trp_tavern_bookseller_1"
tavern_booksellers_end = city_merchant_begin
А "trp_city_merchant_1" у вас в module_troops есть или он торговать с далёкими странами уехал?
-
А "trp_city_merchant_1" у вас в module_troops есть или он торговать с далёкими странами уехал?
Благодарю! все пошло. а почему в других модулях можно разбрасывать записи чуть ли не где угодно, а в constants нет?
есть, аж 12 штук.
-
Константы для нашего удобства - дабы видеть, что подразумевается под конкретным числом и не переписывать его, в случае чего, во всех местах где оно употребляется. Во всех местах где мы употребим именованную константу, модулька заменит её заранее определённым для неё числом, что делаем в module_constants. Короче, вполне понятное правило: константа, прежде чем быть использованной, должна быть инициализирована конкретным числом.
Смотрим:
city_merchant_begin = "trp_city_merchant_1" # "trp_city_merchant_1" определено как число
city_merchant_end = tavern_minstrels_begin # tavern_minstrels_begin определена ранее
tavern_booksellers_begin = "trp_tavern_bookseller_1" # присвоено число
tavern_booksellers_end = city_merchant_begin # city_merchant_begin присвоено число (чуть выше)
Всё в порядке.
Было:
tavern_booksellers_begin = "trp_tavern_bookseller_1" # порядок
tavern_booksellers_end = city_merchant_begin # что такое city_merchant_begin? на данный момент, явно, не число
# мы словили ошибку - прерываем
city_merchant_begin = "trp_city_merchant_1"
city_merchant_end = tavern_minstrels_begin
А разбрасывать записи нигде не надо. Например, вам нужно заспавнить ряд персонажей на сценах городов с общим шаблоном миссии, каждого в своём городе. Располагаете записи персонажей стопкой в том же порядке, что и города и обозначаете начало списка константой. Теперь, прибавив к началу списка персонажей разность конца и начала списка городов, получаем идентификатор того кого надо спавнить. Простой как репа расчёт нужного идентификатора, да и ориентироваться гораздо удобнее.
-
А разбрасывать записи нигде не надо.
я стараюсь не разбрасывать, к слову пришлось. а с константами я просто третий раз встречаюсь, видимо первые разы просто повезло.
Огромное спасибо!