<div class='quotetop'>Цитата(Moonlight Shadow New * 10.9.2009, 16:08) [snapback]306497[/snapback]</div>Булевские переменные обично используются в качестве разрешений на использование какого либа кода. Но для подробного ответа надо название файлаЗнатоки питона, скажите пожалуйста какой смысл несет параметр bRecalculate (булевское значение, используется в нескольких функциях)[/b]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Такой вопрос, как определить тип улучшения (feature) на заданной клетке ? Какая функция за это отвечает ?
P.S. Вопрос снят, уже разобрался
Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...
Мои взгляды на то какой должна быть глобальная стратегия
<div class='quotetop'>Цитата(Gesse * 23.9.2009, 20:37) [snapback]308121[/snapback]</div>Мог бы и написать... КАК ?Такой вопрос, как определить тип улучшения (feature) на заданной клетке ? Какая функция за это отвечает ?
P.S. Вопрос снят, уже разобрался
[/b]
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
Да там все элементарно
Я просто не знал как точно функция называется, для запроса типа улучшения.
Допустим нам нужно узнать тип улучшения на клетке с координатами x и y
тогда мы пишем:
и для вывода инфы на экран:Код:thisPlot = CyMap().plot(iX,iY) iFeature = gc.getInfoTypeForString(thisPlot.getFeatureType())
[code]
CvUtil.pyPrint('feature type is'
Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...
Мои взгляды на то какой должна быть глобальная стратегия
Хочу предупредить что при установке Eclipse+PyDev версию PyDev стоит брать 1.3.23, а не новую, поскольку в новой может не работать outline.
<div align="center">Дополнительная информация на главном экране Civ4 Bts | Колонизация
Обучающие видеозаписи игр</div>
<div class='quotetop'>Цитата(Igor3 * 15.12.2009, 17:50) [snapback]318017[/snapback]</div>unit - указатель на конкретный юнит в игреCod:
self.recon[unit.getID()] = (unit,plot.getX(),plot.getY())
Вопрос: что записывается в "unit"? Ведь unit.getID() не тоже что и unit?
Как узнать есть ли ещё у Плеера(2) юнит с ID=1216257, не убит ли он или т.п.?
Спасибо за ответы.
[/b]
unit.getID() - порядковый индекс юнита в файле Assets\XML\Units\CIV4UnitInfos.xml (тип юнита:танк, мечник, лучник и т.д.)
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата</div>(тип юнита:танк, мечник, лучник и т.д.) - Тип юнита выдаёт Int getUnitType.unit.getID() - порядковый индекс юнита в файле Assets\XML\Units\CIV4UnitInfos.xml (тип юнита:танк, мечник, лучник и т.д.) [/b]
C этим .getID() основная засада - я думал, что это уникальный номер юнита в игре. Всё таки, что эта функция выдаёт?
Логи:Код:CvUtil.pyPrint("unit %s %s %d %d autorecon execute %d %d" %(unit, player.getUnit(unit.getID()), unit.getID(), ARunit, x, y))
<div class='quotetop'>Цитата</div>Можно ли "unit" представить в виде числа, если это уникальный номер игрока в игре?PY:unit <CvPythonExtensions.CyUnit object at 0x28778E68> <CvPythonExtensions.CyUnit object at 0x184F3B58> 114689 114689 autorecon execute 81 35[/b]
unit.getID()
мне кажется что:
unit - это указатель или ссылка на класс. Задается в 16-ричной системе
getID() - метод класса unit. Если он возвращает не тип юнита, тогда, может, индекс юнита в игре.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Помогите разобраться с кодом.
В папку мода /Assets/Python помещаю файл CvEventManager.py, в нём такой код. Смысл в том, чтобы каждый ход сканировалась карта и с определённой вероятностью удаляла ресурс, в данном случае нефть.
[code]def onEndPlayerTurn(self, argsList):
<div class='quotetop'>Цитата(Lilit09304 * 18.4.2010, 13:54) [snapback]333362[/snapback]</div>Во-первых строчка iGameTurn, iPlayer = argsList для даного кода ненужна (Может эти переменные в другом месте задействованы)Помогите разобраться с кодом.
В папку мода /Assets/Python помещаю файл CvEventManager.py, в нём такой код. Смысл в том, чтобы каждый ход сканировалась карта и с определённой вероятностью удаляла ресурс, в данном случае нефть.
Запускаю игру, и ничего не происходит, такое ощущение, что Цива вообще не читает этот файл. Пробовал вызывать функции из другого PY файла, всё равно не работает. Помогите, пожалуйста, разобраться, что я делаю неправильно.
[/b]
Во-вторых циклы 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(), 'BONUS_OIL'
В-четвертых после pCurrent.getBonusType должны быть дужки pCurrent.getBonusType()
В-пятых в pCurrent.setBonusType(NONE) термин NONE скорей всего неправилен. Заменим его на BonusTypes.NO_BONUS или на (-1)
Так как приведенные мною функции выполняются относительно медленно, а количество их вызовов в каждом ходу будет равно количеству тайлов на карте (тоесть несколько тысяч раз), то будем использовать переменные.
[code]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата(NeseryozniyVET * 18.4.2010, 20:59) [snapback]333407[/snapback]</div>Спасибо, но всё равно не работаетP.S. если все равно не заработало, то вылажи логи.
[/b]
Вот конец файла PythonErr2.log:
[code]load_module CvEventManager
Traceback (most recent call last):
Заблокируй диезом (#) выражения CyInterface().addImmediateMessage(szText, "") и szText = u"Oil abandoned: %d, %d" %(x,y)
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата(NeseryozniyVET * 18.4.2010, 22:33) [snapback]333421[/snapback]</div>Всё равно не помогает. Может, я не в той функции код пишу, или нужны ещё какие-нибудь файлы в папке Assets/Python? Я правильно понимаю, что onEndPlayerTurn вызывается каждый раз после хода игрока? Извините, возможно вопросы глупые, но я только начал разбираться. Заранее спасибо.Заблокируй диезом (#) выражения CyInterface().addImmediateMessage(szText, "") и szText = u"Oil abandoned: %d, %d" %(x,y)
[/b]
Вот рабочий код[code]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата(Lilit09304 * 24.5.2010, 10:20) [snapback]336853[/snapback]</div>[code]Как можно проверить, есть ли у цивилизации определённое чудо света? Скажем, есть ли у игрока iPlayer чудо света BUILDING_EIFFEL_TOWER (для примера). Может быть, у кого-нибудь есть образец кода. Заранее спасибо[/b]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод