<div class='quotetop'>Цитата(Lilit09304 * 18.4.2010, 13:54) [snapback]333362[/snapback]</div>
Помогите разобраться с кодом.
В папку мода /Assets/Python помещаю файл CvEventManager.py, в нём такой код. Смысл в том, чтобы каждый ход сканировалась карта и с определённой вероятностью удаляла ресурс, в данном случае нефть.
Запускаю игру, и ничего не происходит, такое ощущение, что Цива вообще не читает этот файл. Пробовал вызывать функции из другого PY файла, всё равно не работает. Помогите, пожалуйста, разобраться, что я делаю неправильно.
[/b]
Во-первых строчка iGameTurn, iPlayer = argsList для даного кода ненужна (Может эти переменные в другом месте задействованы)
Во-вторых циклы for x in range(1, 123) и for y in range(1, 67) будут перебирать координаты X с 1 до 123 и Y c 1 до 67 это неправильно: координаты начинаются с 0 и заканчуются CyMap().getGridWidth() - 1 и CyMap().getGridHeight() - 1.
В-третих не определена con.iOil. Заменим ее на CvUtil.findInfoTypeNum(gc.getBonusInfo, gc.getNumBonusInfos(), &#39;BONUS_OIL&#39
В-четвертых после pCurrent.getBonusType должны быть дужки pCurrent.getBonusType()
В-пятых в pCurrent.setBonusType(NONE) термин NONE скорей всего неправилен. Заменим его на BonusTypes.NO_BONUS или на (-1)

Так как приведенные мною функции выполняются относительно медленно, а количество их вызовов в каждом ходу будет равно количеству тайлов на карте (тоесть несколько тысяч раз), то будем использовать переменные.

[code]