Assets\XML\Units\CIV4MissionInfos.xml - создай новую миссию MISSION_SCAN в конце
CvEnums.h - в MissionTypes добавляешь название миссии MISSION_SCAN перед NUM_MISSION_TYPES
CyEnumsInterface.cpp - добавляешь название миссии перед NUM_MISSION_TYPES (это для вызова миссий по названию в питоне)
CvDLLWidgetData.cpp - в void CvDLLWidgetData:: parseActionHelp добавляешь алгоритм подсказки для кнопки миссии
CvUnit.cpp и CvUnit.h - создай две функции bool canScan() и void scan(). Одна проверяет возможность сканирования для юнита, а вторая собственно алгоритм сканирования
CvSelectionGroup.cpp - в bool CvSelectionGroup::canStartMission добавьНу, вроде, все.Код:case MISSION_SCAN: if (pLoopUnit->canScan()) {return true;} break;
Последний раз редактировалось NeseryozniyVET; 19.05.2012 в 20:19.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Net, спасибо! Я тоже так думал, но это миссии это для юнитов, а у меня нет юнита. Мне просто по нажатию кнопки интерфейса надо выбрать тайл и вызвать функцию.
Здесь по сути можно, конечно, искусственно создать юнит, который будет иметь возможность разведки каждые 3 хода и появляется после создания проекта, тогда вообще новой миссии не потребуется, но мне не нравится такой вариант..
Создай новый WidgetTypes в CvEnums.h и CyEnumsInterface.cpp
В CvDLLWidgetData.cpp в CvDLLWidgetData:: parseHelp (подсказка) и CvDLLWidgetData::executeAction (действие при нажатии) добавь нужны коды для нового WidgetTypes
Потом создай кнопку в Assets\Python\Screens\CvMainInterface.py
screen.setImageButton("Уникальное имя кнопки", "адрес картинки для кнопки", X, Y, длинна кнопки , высота кнопки, WidgetTypes.WIDGET_новый, параметр 1, параметр 2)
например screen.setImageButton("AvtoreconAdd0", "Art/Interface/VetScreen/autorecon_addon.dds", 120, 130, 20, 20, WidgetTypes.WIDGET_AUTORECON, 0, 0)
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Попробуй так
Assets\Python\CvEventManager.py
Функция def onTechAcquired(self, argsList):
P.S. Это чит получается: даришь игроку технологию (он тут же теряет юнитов) и сразу объявляешь войну.Код:if (iPlayer > -1 and bAnnounce and not CyInterface().noTechSplash()): if (gc.getGame().isFinalInitialized() and not gc.getGame().GetWorldBuilderMode()): # begin changes pPlayer = PyPlayer(iPlayer) (pLoopUnit, iter) = pPlayer.firstUnit(false) while pLoopUnit: pLoopUnit.kill(true, -1) (pLoopUnit, iter) = pPlayer.nextUnit(iter, false) # end changes if ((not gc.getGame().isNetworkMultiPlayer()) and (iPlayer == gc.getGame().getActivePlayer())): popupInfo = CyPopupInfo() popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON_SCREEN) popupInfo.setData1(iTechType) popupInfo.setText(u"showTechSplash") popupInfo.addPopup(iPlayer)
Последний раз редактировалось NeseryozniyVET; 10.06.2012 в 00:11.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Подскажите можно ли приписать постройку юнита к какому либо из указанных зданий, к примеру к наличию монастыря без относительно к религии ( А или В или С и т.д) PrereqBuilding - только связывает с определенным зданием (зданиями). К примеру (юнит может быть создан если есть конюшня или казармы или стадион) - можно такое в XML сделать?
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
NeseryozniyVET, спасибо, действительно в XML не слишком красиво, а к питону пока не лезу)) боюсь укусит)
Подскажи если не трудно такое решение.
Вопщем я отредактировал 2 вида генералов. одни обычные рандомные Создают Академию. армию и селятся в городе. Другие взрощеные уник. производятся городами при наличии военной академии и могут создавать только армии. (не знаю как будет играться пока не пробовал)
Теперь вот думаю как у первых отключить возможность создавать армии (догадываюсь что XML бессилен (или AI будет тупить)?
А у вторых убрать 20% опыта всем юнитам на тайле (оставив только "армию" и квал лидерство)???
Если не лшибаюсь за это отвечает DefaultUnitAI - UNITAI_GENERAL - не могу найти файл посмотреть что там можно поправить??