Возможно однозначно - Райе кучу подобных условий в своем моде сделал.
Знаю, подло завелось теперь на земле нашей; думают только, чтобы при них были хлебные стоги, скирды да конные табуны их, да были бы целы в погребах запечатанные меды их. Перенимают черт знает какие бусурманские обычаи; гнушаются языком своим; свой с своим не хочет говорить; свой своего продает, как продают бездушную тварь на торговом рынке. Милость чужого короля, да и не короля, а паскудная милость польского магната, который желтым чеботом своим бьет их в морду, дороже для них всякого братства. Но у последнего подлюки, каков он ни есть, хоть весь извалялся он в саже и в поклонничестве, есть и у того, братцы, крупица русского чувства. И проснется оно когда-нибудь, и ударится он, горемычный, об полы руками, схватит себя за голову...
Н.В. Гоголь, "Тарас Бульба"
<div class='quotetop'>Цитата(Solver * 3.5.2007, 2:44) [snapback]179514[/snapback]</div>Solver!Проще всего через CvEventManager.py. Определяется переменная, в которой координаты города. В функции onCityAcquired производится проверка координат взятого города - в случае совпадения, дает победу.
[/b]
Сделал бы ты описание Питоновских функций. (Хотя бы - что знаешь). У нас и тема такая есть...
Называется "Осваиваем Питон". Ну, сам то Питон мож осваивать и не надо а вот цивовские файлы Питона - хотелось бы.![]()
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
Представляешь, сколько у меня на это времени уйдет? Список функций:
http://civilization4.net/files/modding/PythonAPI/
И это функции СДК, доступные через Питон, не описывая сами файлы. Тем более я по русски пишу жуть как медленно, через транслитератор еще. Я то сюда иногда заглядываю, если есть конкретные вопросы с не длинными ответами, то рад написать.
<div class='quotetop'>Цитата(Solver * 3.5.2007, 4:24) [snapback]179522[/snapback]</div>Этот список я видел.Представляешь, сколько у меня на это времени уйдет? Список функций:
http://civilization4.net/files/modding/PythonAPI/
И это функции СДК, доступные через Питон, не описывая сами файлы. Тем более я по русски пишу жуть как медленно, через транслитератор еще. Я то сюда иногда заглядываю, если есть конкретные вопросы с не длинными ответами, то рад написать.
[/b]
Чем хороша VS 2003 - это тем, что можно найти любую функцию (по списку классов), найти все вызовы этой функции и, в конце концов понять, что она делает. С Питоновскими сложнее, там нет такой оболочки, чтобы делала поиск по всем файлам, да и многие ф-ции просто скрыты в движке. (Видно, что файл цепляется, а в папках его нет). Отсюда все сложности с Питоном...![]()
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
<div class='quotetop'>Цитата(Solver * 3.5.2007, 16:02) [snapback]179628[/snapback]</div>Тогда конкретный вопрос... Когда что вызывается (из движка) - Последовательность действий.Раз список видел, значит понятно, насколько трудоемко было бы полное описание питоновских функций. Я промострел эту питоновскую тему тут, но не вижу новых сообщений / конкретных вопросов. К СДК то же самое относится.
[/b]
Пример. (Предыдущий). Ограничить число сетлеров легко (1 - 2 строчки простого кода), Но, ГДЕ ЭТО СДЕЛАТЬ. Это обычно приходится искать... Если СДК я могу посмотреть с помощью дебагера, то Питон - не могу посмотреть никак... (Если только нет конкретных вызовов Питоновских функций из СДК).
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
Надеюсь, вопрос правильно понял.
Например, я хотел бы этих сеттлеров ограничить Питоном, но не знаю, где искать место вставки кода. Я бы начал с того, что просмотрел код СДК, где определяется, можно ли строить юнит. Нахожу CvCity::canTrain(), там два раза происходит вызов питоновских функций в блоках:
if(GC.getUSE_CAN_TRAIN_CALLBACK())
и
if(GC.getUSE_CANNOT_TRAIN_CALLBACK())
Вижы, что код в этих блоках вызывает питон, например:
gDLL->getPythonIFace()->callFunction(PYGameModule, "cannotTrain", argsList2.makeFunctionArgs(), &lResult);
Где PYGameModule равно CvGameInterface. В файле CvGameInterface.py вижу, что cannotTrain - функция модуля gameUtils. Соотвественно, понимаю, что код надо вставлять в функцию cannotTrain файла gameUtils.py.
Спасиб! Просто СДК настолько обширно, чито, это мона обнаружить тока при пристальных поисках... (Когда просматриваиваешь СДК в поисках чего то другого - это ускользает из поиска зрения....)![]()
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
Я лично считаю организацию СДК очень хорошей. Почти всегда быстро накожу то, что хочу - хорошые названия функций, итд.
Конечно, можно запустить поиск по всему проекту на gDLL->getPythonIFace()->callFunction - тогда будут видны места вызова питонобских функций из СДК.
<div class='quotetop'>Цитата(Solver * 6.5.2007, 22:47) [snapback]180159[/snapback]</div>Кроме этих вызовов - есть еще многие другие... (Я например, пытаюсь сделать то, чего нет в СДК, но с помощью тех функций, которые есть в СДК. Так как - я хакер, поэтому приходится писать свои функции, которые, не идут в разрез с функциями СДК (Одну и ту же проблему мона решить разными способами). И поэтому... у меня ... получается (Плох тот хакер, который пытается писать свои функции)...(Которых нет, в данной проге... (Используй то, что есть!))Я лично считаю организацию СДК очень хорошей. Почти всегда быстро накожу то, что хочу - хорошые названия функций, итд.
Конечно, можно запустить поиск по всему проекту на gDLL->getPythonIFace()->callFunction - тогда будут видны места вызова питонобских функций из СДК.
[/b]
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
<div class='quotetop'>Цитата(Solver * 6.5.2007, 22:57) [snapback]180162[/snapback]</div>Ну если конкретные вопросы типа этого возникают, то я сюда иногда заглядываю. E-mail у меня тоже есть
[/b]
Хорошо, если ты мне поможешь в будующем, но, на сегодня, я решил все проблемы, которые меня интересовали... Дело осталось за малым, найти время - дописать то, что я уже продумал.... (И проверил...) (Старая школа... Такого - чичас не встретишь... Если бы встретил - передал бы все свои знания...)
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
<div class='quotetop'>Цитата(Solver * 6.5.2007, 22:57) [snapback]180162[/snapback]</div>Ухты, а ты в Firaxis работаешь?Ну если конкретные вопросы типа этого возникают, то я сюда иногда заглядываю. E-mail у меня тоже есть
[/b]![]()