Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29191
  • Последний: dielit
Сейчас на форуме
Пользователи: 2
Гостей: 624
Всего: 626

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Это какой то бред  (Прочитано 4004 раз)

  • Сообщений: 85
    • Просмотр профиля
0
« : 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

  • Сообщений: 296
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #1 : 27 Февраля, 2015, 13:36 »
На момент определения 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 есть или он торговать с далёкими странами уехал?

« Последнее редактирование: 27 Февраля, 2015, 14:01 от Дикий-дикий повар »
Без комментариев.
  • Сообщений: 85
    • Просмотр профиля
0
« Ответ #2 : 27 Февраля, 2015, 15:25 »
А "trp_city_merchant_1" у вас в module_troops есть или он торговать с далёкими странами уехал?
Благодарю! все пошло. а почему в других модулях можно разбрасывать записи чуть ли не где угодно, а в constants нет?
есть, аж 12 штук.

  • Сообщений: 296
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+2
« Ответ #3 : 27 Февраля, 2015, 17:03 »
Константы для нашего удобства - дабы видеть, что подразумевается под конкретным числом и не переписывать его, в случае чего, во всех местах где оно употребляется. Во всех местах где мы употребим именованную константу, модулька заменит её заранее определённым для неё числом, что делаем в 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

А разбрасывать записи нигде не надо. Например, вам нужно заспавнить ряд персонажей на сценах городов с общим шаблоном миссии, каждого в своём городе. Располагаете записи персонажей стопкой в том же порядке, что и города и обозначаете начало списка константой. Теперь, прибавив к началу списка персонажей разность конца и начала списка городов, получаем идентификатор того кого надо спавнить. Простой как репа расчёт нужного идентификатора, да и ориентироваться гораздо удобнее.

Без комментариев.
  • Сообщений: 85
    • Просмотр профиля
0
« Ответ #4 : 27 Февраля, 2015, 19:48 »
А разбрасывать записи нигде не надо.
я стараюсь не разбрасывать, к слову пришлось. а с константами я просто третий раз встречаюсь, видимо первые разы просто повезло.
Огромное спасибо!


СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC