Файл Assets\Python\CvEventManager.py
Функция onUnitBuilt (постройка юнита в городе)
Файл Assets\Python\CvEventManager.pyКод:pCity = argsList[0] pUnit = argsList[1] # начало изменений if pUnit.getUnitClassType() == gc.getInfoTypeForString('UNITCLASS_ARCHER'): # Если юнит принадлежит к класу лучников (<Class>UNITCLASS_ARCHER</Class> в Assets\XML\Units\CIV4UnitInfos.xml). Лучник и Вавилонский лучник. if pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_IRON')) > 0: # Если если количество железа в городе больше 0 (<Type>BONUS_IRON</Type> в Assets\XML\Terrain\CIV4BonusInfos.xml) pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_AROWS'), true) # Дать юниту прокачку "Железные стрелы" (<Type>PROMOTION_IRON_AROWS</Type> в Assets\XML\Units\CIV4PromotionInfos.xml). Новую прокачку надо сделать самому elif pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_COPPER')) > 0: # или если количество меди в городе больше 0 pUnit.pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_AROWS'), true) # Дать юниту прокачку "Бронзовые стрелы" # конец изменений
Функция onUnitSetXY (изменение координат юнита)
Код:pPlot,pUnit = argsList # начало изменений if pUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_AROWS')) or pUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_AROWS')): # Если у юнита есть такие прокачки if pUnit.getUnitClassType() != gc.getInfoTypeForString('UNITCLASS_ARCHER'): # И юнит не принадлежит к класу лучников pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_AROWS'), false) # Удаляем прокачку pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_AROWS'), false) # Удаляем прокачку if pPlot.isCity() and pPlot.getOwner() == pUnit.getOwner(): # Если тайл город и владелецы тайла и юнита совпадают if pUnit.getUnitClassType() == gc.getInfoTypeForString('UNITCLASS_ARCHER') and not pUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_AROWS')): # если у лучника нету "железных стрел" pCity = pPlot.getPlotCity() # Город if pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_IRON')) > 0: pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_AROWS'), true) pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_AROWS'), false) # Удаляем прокачку elif pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_COPPER')) > 0: pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_AROWS'), true) # конец изменений
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
это получается будет работать, если улучшить юнита?
а это если ресурса больше нет?
думаю последний кусок мне не нужен... если при постройке есть, а потом ресурс кончился, то прокачки пропадать не будут...
а в общем хорошо, будем делать, спасибо.... )
да и ещё, а можно не прокачку дать, а дать там силу +1 или движение +1?
Да. Чтоб после апгрэйда лучников в мушкетеры, последние с железными стрелами не бегали.Этот кусок нужен на тот случай когда ты построил лучника, а потом получил доступ к железу. Примитивный лучник заходит в город, где есть железо или бронза, и автоматом получает прокачку.Только в SDK. В питон соответствующие функции не вынесены. Но эти свойства можно в прокачках редактировать.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
а... ну да... тут надо подумать... для всяких лучников то в принципе можно так сделать...
а для современных не стоит... т.е. если есть какой-нибдь титан, то ПЛ получают бонус, но только при строительстве...
так конечно муторнее.... но что делать )
Забавно . А почему именно так? Я не в плане критики, просто откуда именно такая логика, что отражает? Ну кроме видения автора .
У мусульман - что чудеса, что соборы дают одинаково осаду города 2?
И вопрос про светское гос-во (отсутствие гос религии) есть какие-нить бонусы в науке, деньгах и проч? Я имею ввиду след. логику - если гос-ва христианское, то наличие мечети дает -3 радостных, а если гос-во светское? И так по всем параметрам. Одно дело когда конфликт гос-ной и не гос-ной религии, другое - наличие культовых сооружений в светском гос-ве. Как минимум это + в деньгах наверно. Для науки - одно дело даосский монастырь в светском городе, другое - когда даосизм гос религия.. Ну и проч.
Субъективно - буддизм и индуизм получились как-то очень похожими. Как минимум буддизм гораздо более пацифичен... да пожалуй всех прочих религий. Индуизм же наоборот. Много преференций предоставлено на мой взгляд мусульманам. Не понятно с конфуцианством. Но всё это субъективно и я не религиовед . Может вывести в отдельную ветку обсуждение по религиям, если конечно наберется народ, готовый аргументированно и не очень обсуждать все эти веса... Кстати, возможность их изменять в программе есть? Или там просто видно уже заданные параметры?
А вообще здорово! Самое здоровое, что мод живет и развивается! Удачи!
создал новую группу "Обсуждение развития мода RedForce.SB", там после вступления в группу можно ответить по поводу измененных религий...
ответил в группе "Обсуждение развития мода RedForce.SB", в дисскусии "Новые здания в ранней эпохе "
может уже писалось но по моему ИИ не корректно использует медицинские отряды (обоз, медик). Я постоянно натыкаюсь на то что в городах торчат по 7 и более таких юнитов и только один нормальный солдат. Также наступательные армии ИИ нередко на 95% состоят из медиков. В общем комп почему то клипает огромные армии медиков вместо нормальных войск. Исправте пожалуйста. Если такое только у меня то скажите как исправить
выложил информацию по переработанным ещё раз религиям...
здесь можно посмотреть и обсудить...
ну вот... окончательный вариант измененных религий:
здесь можно обсудить...
Assets\XML\PythonCallbackDefines.xmlСообщение от Snake_B
USE_CANNOT_HANDLE_ACTION_CALLBACK выставляем 1
Assets\Python\CvGameUtils.py
cannotHandleAction
Код:def cannotHandleAction(self,argsList): pPlot = argsList[0] iAction = argsList[1] bTestVisible = argsList[2] # Начало измененний if gc.getActionInfo(iAction).getMissionType() == gc.getInfoTypeForString('MISSION_CONSTRUCT'): eBuilding = gc.getActionInfo(iAction).getMissionData() if gc.getBuildingTypeInfo(eBuilding).getReligionType() > ReligionTypes.NO_RELIGION: # ReligionTypes.NO_RELIGION можно заменить на -1 pPlayer = gc.getPlayer(pPlot.getOwner()) # ну а дальше старый код. # перебираем города игрока (pPlayer) и ищем нужные здания # Конец измененний return False
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
а несколько сложно передалать карту? можно было бы попробовать. я занимался немного только переводом 4 цивы, и все. можно в редакторе отрезать южную и северную америку от карты мира? и получиться евразия, африка и австралия. это более играбельная карта, потому что в америке начинают мало наций, туда поздно поплывешь, с ними редко воюешь, да и смысла особого нет. а то у самого пока не особо получается.