Большая просьба к администрации не офтопить в этой ветке, а то в ней и так тяжело разбиратся.
//Пардон
хотел "пардон" отдельным постом сделать, но передумал//Пет
С пола не упасть!
http://img444.imageshack.us/img444/7241/samogonxg0.png
Итак, по просьбе BlackSun'аб я начал копаться в файле CvUnit.cpp
Сразу же нашёл интересную вещицу в методе CvUnit::init(), которая возможно прольёт свет на загадочный параметр CIV4WorldInfo::iUnitNameModifier
[code]
if (GC.getGameINLINE().getUnitCreatedCount(getUnitType()) < GC.getUnitInfo(getUnitType()).getNumUnitNames())
{
<div class='quotetop'>Цитата</div>Отсюда вывод - мы можем создать список имен для всех вновь строящихся кораблей, как это делается например в парадоксовсих играх, навроде Victoria, где каждый корабль создается с уникальным именем и припиской, к какому классу он принадлежит. Фича малопрактичная, но занимательнаяВ последних же двух строках мы ещё раз проверяем "влезание" полученного номера в список и, наконец, присваевем имя юниту функцией setName()[/b]
Продолжаем разговор о CvUnit.cpp
Копался я в методе CvUnit::canMoveInto
Что могу сказать интересного:
судя по
[code]
case DOMAIN_LAND:
<div class='quotetop'>Цитата(White Hawk * 3.7.2006, 0:53) [snapback]107344[/snapback]</div>[quote]
Продолжаем разговор о CvUnit.cpp
Копался я в методе CvUnit::canMoveInto
Что могу сказать интересного:
судя по
[code]
case DOMAIN_LAND:
С пола не упасть!
http://img444.imageshack.us/img444/7241/samogonxg0.png
Не скажи...
!isHuman() и !canLoad(pPlot) проверяются через ИЛИ - то есть если либо ИИ, либо НЕ МОЖЕТ загрузить - ход сухопутному юниту ЗАПРЕЩЁН.
Конечно ещё смотреть надо...![]()
<div class='quotetop'>Цитата(White Hawk * 3.7.2006, 10:55) [snapback]107386[/snapback]</div>Сори, оплашалНе скажи...
!isHuman() и !canLoad(pPlot) проверяются через ИЛИ - то есть если либо ИИ, либо НЕ МОЖЕТ загрузить - ход сухопутному юниту ЗАПРЕЩЁН.
Конечно ещё смотреть надо...
[/b]![]()
С пола не упасть!
http://img444.imageshack.us/img444/7241/samogonxg0.png
<div class='quotetop'>Цитата(swan * 1.7.2006, 5:19) [snapback]107231[/snapback]</div>Так это давно можно делать, независимо от SDK. Параметр UniqueNames в CIV4UnitInfos может быть легко использован для любого юнита так же как он используется для ВЛ.Отсюда вывод - мы можем создать список имен для всех вновь строящихся кораблей, как это делается например в парадоксовсих играх, навроде Victoria, где каждый корабль создается с уникальным именем и припиской, к какому классу он принадлежит. Фича малопрактичная, но занимательная
[/b]
<div class='quotetop'>Цитата(White Hawk * 3.7.2006, 1:53) [snapback]107344[/snapback]</div>Это предположение противоречит тому, что происходит в игре... - то есть загрузка на транспорты производится Искусственнвм Идиотом ТОЛЬКО в портах!![]()
[/b]![]()
<div class='quotetop'>Цитата(White Hawk * 3.7.2006, 1:53) [snapback]107344[/snapback]</div>http://forums.civfanatics.com/showthread.php?t=171813Поэтому для какого-нибудь судна на воздушной подушке думаю лучше создавать отдельный домен.
В связи с этим интересно, кстати, как в Варлордах в китайском сценарии Firaxis'ы заставили галеры плавать по рекам
[/b]
<div class='quotetop'>Цитата</div><div class='quotetop'>Цитата</div>This mod allows users to add a <bFlying> tag to any unit they want. A unit that has <bFlying>1</bFlying> will be able to move over both water and land. There is no need to, nor should you, change the domain type.[/b]Пока на модиках разделов больше, чем содержания. Настала пора их наполнятьСчитаю, что настала пора создать на модиках раздел - "Поведение ИИ" и скидывать всякие фичи, подобные описанной в предыдущем посте туда[/b]Для этого есть раздел "SDK" и раздел "Стратегия и механика игры".
<div class='quotetop'>Цитата</div>Не спорю, хотя и не видел такого...Это предположение противоречит тому, что происходит в игре[/b]
Угу, загрузка не только в портах производится. Функция дает, что перемещение наземного юнита на водяную клетку невозможно, если этим ходом юнит не погрузится на корабль (то есть, на клетке такого нету, или корабли все заполнены).
<div class='quotetop'>Цитата</div>Скорее это разрешается где то ещё...Функция дает, что перемещение наземного юнита на водяную клетку невозможно, если этим ходом юнит не погрузится на корабль (то есть, на клетке такого нету, или корабли все заполнены).[/b]
Может я в Циве матчасть знаю недостаточно, но условия по ИЛИ сложить ещё могу, а то, что одним из запретов написано !isHuman() - неоспримый факт...
Для уточнения надо бы посмотреть функцию isWater() - может фишка здесь заложена... - то есть корабль - не вода!
PS
В посте выше (оригинальном) прокомментировал свои ошибочные выводы!
<div class='quotetop'>Цитата</div>Оставим сей вопрос до полного разбора класса CvUnitКорабль тоже вода. Как раз вопросы про корабль решаются функцией canLoad(). canLoad() - вообще функция класса юнита. А isWater(), естественно, реагирует только на собственно тип данной клетки.[/b]- пока просто неясно и всё...
<div class='quotetop'>Цитата(NeverMind * 3.7.2006, 20:54) [snapback]107526[/snapback]</div>[quote]
[code]
С пола не упасть!
http://img444.imageshack.us/img444/7241/samogonxg0.png