+ Ответить в теме
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 20 из 29

Тема: [Решено] Как привязать терраформинг к эволюции улучшения?

  1. #1

    [Решено] Как привязать терраформинг к эволюции улучшения?

    Кто может сделать (через питон или SDK) следующую привязку?:
    Например существует такая эволюционная линия - хутор-->деревня-->село-->городок
    я хотел бы создать такую линию - ферма-->ферма, но сделать к ней привязку терраформинга со следующими условиями:
    • Если в момент эволюции под фермой находится пустыня - то клетка превращается в равнину
      Это исторически верное действие, поскольку копты, шумеры и инки в свое время отвоевывали у пустынь плодородные земли, когда отводили оросительные каналы в пустыни и натаскивали туда плодородный грунт (например, нильский ил у коптов) со временем земли превращались в плодородные без дополнительных условий, кроме условия, что земля будет обрабатываться, а не будет заброшена на много лет
    • Если в момент эволюции под фермой были луга - то клетка превращается в равнину
      Это тоже вполне естественная реакция истощения черноземных земель при интенсивном землепользовании - исторически за последние 100 лет на территории одного только США по статистике количество плодородных черноземных земель из-за интенсивного землепользования сократилось на 23%, среди которых около 2% вплоть до почти полного опустынивания
    Или может кто встречал где подобный компонент?
    продвинь это сообщение в соцсеть:  

  2. #2
    Сделай две фермы в XML. Одну из которых используй в питоне. Инструкция по тераморфингу на сайте есть. http://www.civfanatics.ru/forum/index.php?...mp;#entry306839
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  3. #3
    <div class='quotetop'>Цитата</div>
    Сделай две фермы в XML. Одну из которых используй в питоне. Инструкция по тераморфингу на сайте есть. http://www.civfanatics.ru/forum/inde...p;#entry306839[/b]
    Ты немного не понял чего я хочу.
    В инструкции терраформинг привязан к действиям рабочих - сделано, что рабочий завершает действие и вместо N появляется M.
    Здесь несколько иное действие должно происходить - ферма вырастает до чего-то, как например село до городка в обычных условиях и после этого остается та-же ферма (только счетчик роста обнуляется - но он и так обнуляется когда что-то во что-то переростает, пусть даже ферма в ту же самую ферму, а не во что-то иное), но при условии того, какая именно под ней находится территория происходит терраформирование. Как ситуация, так и скрипт несколько отличаются и скрипт получается немного посложнее, чем в инструкции.
    продвинь это сообщение в соцсеть:  

  4. #4
    Ну если предполагается рост только фермы,то решается всё довольно просто. Можно обойтись одним питоном. Вводим цепочку улучшений ферма - улучшенная ферма - плантация. В Cv.EventManager.py находим def onImprovementBuilt(self, argsList) и прописываем туда:
    [code]if(iImprovement==gc.getInfoTypeForString(&#39;IMPROVEMENT_(улучшенная ферма))):
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

  5. #5
    Пашок - вроде как то, что надо, хотя не совсем уверен, что это к onImprovementBuilt() привязано - там всё же рост улучшения идет - случаем не какой нибудь bla_bla_ImprovementGrowth() или bla_bla_ImprovementEvolve() или что-то в этом роде?
    Ну и по идее надо оставить ту же ферму - т.е. ферма грейдится - но так и остается такой-же фермой
    продвинь это сообщение в соцсеть:  

  6. #6
    <div class='quotetop'>Цитата(swan * 13.9.2009, 16:25) [snapback]306882[/snapback]</div>
    Пашок - вроде как то, что надо, хотя не совсем уверен, что это к onImprovementBuilt() привязано - там всё же рост улучшения идет - случаем не какой нибудь bla_bla_ImprovementGrowth()?
    Ну и по идее надо оставить ту же ферму - т.е. ферма грейдится - но так и остается такой-же фермой
    [/b]
    Относится всё правильно,в моём моде терраформинг так и осуществлён,так что всё работает. А ферма останется фермой,нужно ввести только два новых улучшения с такими же характеристиками,не меняя даже графику. Даже перевод названия можно не менять,как у меня сделано с фортами.
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

  7. #7
    Об этом как-то не подумал - забыл, что так тоже можно, хотя это имеет свои минусы - после апгрейда до некоего уровня она прекратит автоматом грейдится ибо цепочка прервется на определенном уровне, чего не надо. Хотя я представляю как можно зациклить. Но всё же терзают меня смутные сомнения, что onImprovementBuilt() относится к завершению действия рабочего, а не к завершению эволюции улучшения
    продвинь это сообщение в соцсеть:  

  8. #8
    <div class='quotetop'>Цитата(swan * 13.9.2009, 17:03) [snapback]306887[/snapback]</div>
    Об этом как-то не подумал - забыл, что так тоже можно, хотя это имеет свои минусы - после апгрейда до некоего уровня она прекратит автоматом грейдится ибо цепочка прервется на определенном уровне, чего не надо. Хотя я представляю как можно зациклить. Но всё же терзают меня смутные сомнения, что onImprovementBuilt() относится к завершению действия рабочего, а не к завершению эволюции улучшения
    [/b]
    Делай,как я сказал,и ни о чём не думай .
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

  9. #9
    Пашок. Уболтал. На днях поэкспериментирую

    ЗЫ может таки посмотришь, чего можно поковырять, чтобы довести до ума компонент из соседней темы про зависимость производства спецов от числа торговых рейсов?
    продвинь это сообщение в соцсеть:  

  10. #10
    <div class='quotetop'>Цитата(swan * 13.9.2009, 19:38) [snapback]306901[/snapback]</div>
    Пашок. Уболтал. На днях поэкспериментирую

    ЗЫ может таки посмотришь, чего можно поковырять, чтобы довести до ума компонент из соседней темы про зависимость производства спецов от числа торговых рейсов?
    [/b]
    А ты меня не уболтал. Что то тяжко там,наверное,пока голова другим занята
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

  11. #11
    Король Аватар для Blacksun


    Регистрация
    10.05.2006
    Адрес
    М.О. г. Раменское
    Сообщений
    1,873
    Жалко в Питоне нет такого же механизма просмотра файлов как в VS2003. А то давно бы Питон разобрал... Мож уже есть ? (Чтобы все файлы можно было бы видеть и редактировать из одного редактора, чтобы можно было производить поиск по всем файлам).
    продвинь это сообщение в соцсеть:  
    Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
    http://blacksun.civfanatics.ru
    -------------------------------------------------
    MTDG2 - [civ]christianity[/civ]Монархия
    ---------------------------------
    Председатель CFR Awards 2007
    ---------------------------------
    Председатель CFR Awards 2008

  12. #12
    <div class='quotetop'>Цитата(Blacksun * 14.9.2009, 11:22) [snapback]306972[/snapback]</div>
    Жалко в Питоне нет такого же механизма просмотра файлов как в VS2003. А то давно бы Питон разобрал... Мож уже есть ? (Чтобы все файлы можно было бы видеть и редактировать из одного редактора, чтобы можно было производить поиск по всем файлам).[/b]
    Notepad++ производит поиск по всем открытым в нем файлам. Я сам пользуюсь и другим советую.
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  13. #13
    Король Аватар для Blacksun


    Регистрация
    10.05.2006
    Адрес
    М.О. г. Раменское
    Сообщений
    1,873
    Спасибо! Скачал.
    продвинь это сообщение в соцсеть:  
    Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
    http://blacksun.civfanatics.ru
    -------------------------------------------------
    MTDG2 - [civ]christianity[/civ]Монархия
    ---------------------------------
    Председатель CFR Awards 2007
    ---------------------------------
    Председатель CFR Awards 2008

  14. #14
    <div class='quotetop'>Цитата(swan * 13.9.2009, 19:38) [snapback]306901[/snapback]</div>
    Пашок. Уболтал. На днях поэкспериментирую
    [/b]
    Как поэксперементируешь не скажешь что вышло?
    А то есть мысль по росту улучшения сделать изменение feature, а принцип вроде бы там тот же...
    продвинь это сообщение в соцсеть:  
    Я - Moonlight Shadow, но старый пароль забыл, а ящик на который было зареген потер давно пришлось региться заново

  15. #15
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Originally posted by Swan
    Но всё же терзают меня смутные сомнения, что onImprovementBuilt() относится к завершению действия рабочего, а не к завершению эволюции улучшения
    Сомнения верны, этот блок относится к действию рабочего в данный момент.
    Я поковыряюсь в Эволюции на днях, сейчас назрела пара идей, может что да выйдет
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  16. #16
    <div class='quotetop'>Цитата(Gesse * 23.9.2009, 23:19) [snapback]308149[/snapback]</div>
    Сомнения верны, этот блок относится к действию рабочего в данный момент.
    Я поковыряюсь в Эволюции на днях, сейчас назрела пара идей, может что да выйдет
    [/b]
    Неа, не верны сомнения-)
    Я использовал (надо бы описать) рост лесов помимо прямого выращивания выращиванием через TreeFarm описав что через некоторое количество турнов использования импровемент меняется на импровемент прямого выращивания лесов- которое вызывает соответствующую функцию в питоне и леса вырастают.
    продвинь это сообщение в соцсеть:  
    Я - Moonlight Shadow, но старый пароль забыл, а ящик на который было зареген потер давно пришлось региться заново

  17. #17
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Тут немного не то
    Дело в том, что в здесь привязка же не к ходам, а к эволюции как таковой. Это не разовое действие, и не цикличное. т.е. у каждого тайла будет свой каунт времени (т.е. количество ходов), да и к тому же тут нужно каждый ход проверять, есть ли новые improvement типа фермы. Так же нужно чтобы у уже учтеных каунт времени не обновлялся при проверке тайлов.
    И надо отвязатся от обрабатывания/необрабатывания клетки. Чтобы независимо было изменение.
    Я просто сегодня вариант "TreeFarm" (в моем случае FarmEvent) уже пробывал, результат не порадовал пока

    А по поводу onImprovementBuilt(), он отвечает за то что объект N заканчивает, действие H в месте М и появляется результат R.
    Т.е. тут получается скрипт уже нужен дополнительный на каунт improvementпрописывать, который будет активироватся при появлении improvement и по истечению лимита ходов он активировал действие H в месте M.
    И опять таки чтобы работало на всех improvement такого типа, нужно проверку каждый ход.
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  18. #18
    <div class='quotetop'>Цитата(Gesse * 24.9.2009, 12:39) [snapback]308227[/snapback]</div>
    Тут немного не то
    Дело в том, что в здесь привязка же не к ходам, а к эволюции как таковой. Это не разовое действие, и не цикличное. т.е. у каждого тайла будет свой каунт времени (т.е. количество ходов), да и к тому же тут нужно каждый ход проверять, есть ли новые improvement типа фермы. Так же нужно чтобы у уже учтеных каунт времени не обновлялся при проверке тайлов.
    И надо отвязатся от обрабатывания/необрабатывания клетки. Чтобы независимо было изменение.
    Я просто сегодня вариант "TreeFarm" (в моем случае FarmEvent) уже пробывал, результат не порадовал пока

    А по поводу onImprovementBuilt(), он отвечает за то что объект N заканчивает, действие H в месте М и появляется результат R.
    Т.е. тут получается скрипт уже нужен дополнительный на каунт improvementпрописывать, который будет активироватся при появлении improvement и по истечению лимита ходов он активировал действие H в месте M.
    И опять таки чтобы работало на всех improvement такого типа, нужно проверку каждый ход.
    [/b]
    Повторю ещё раз, функция onImprovementBuilt прекрасно работает при любом появлении нового импрувмента на клетке,не обязательно при строительстве. Всё это не пи...шь,а многократно проверенный опыт на своём собственном моде. Я так терраформинг осуществил. При эволюции улучшения происходит преобразование земли. вместо этого можно впихнуть любой код,который поймёт питон.
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

  19. #19
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    <div class='quotetop'>Цитата</div>
    Повторю ещё раз, функция onImprovementBuilt прекрасно работает при любом появлении нового импрувмента на клетке,не обязательно при строительстве.[/b]
    Ну возможно, это так и есть, просто когда я прописывал изменения типа улучшения, при изменении обьекта, срабатывало это только если действие активировать, т.е. задествовать рабочего или событие типа label.

    И осуществлялось это не повсеместно и одновременно, а в каждом конкретном месте где было инициировано действие. Т.е. после окончания дествия, дальнейших измений не происходило более, пока снова не иницировалось дейстивие.
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  20. #20


    Возможно,ты где то ошибся в коде. Я проиллюстрирую на примере эволюции дома в поселение(hamlet):
    [code]def onImprovementBuilt(self, argsList):
    продвинь это сообщение в соцсеть:  
    Интересная идея для заработка

+ Ответить в теме
Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Спам в Civilization 4 [РЕШЕНО]
    от bashetunmai в разделе Civ4 - Технические вопросы
    Ответов: 12
    Новое: 11.02.2013, 04:45
  2. Инструкция. Как посадить лес и сделать терраформинг
    от Moonlight Shadow New в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 58
    Новое: 28.01.2011, 20:16
  3. ультимативный терраформинг
    от Cold Steel в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 24
    Новое: 17.09.2006, 01:53
  4. Какой тип эволюции вы бы предпочли?
    от swan в разделе Разговоры обо всём, кроме Цивилизации
    Ответов: 77
    Новое: 10.02.2006, 16:17
  5. Захваченная Теория эволюции
    от lllexa в разделе Civ3 - Игровые вопросы
    Ответов: 19
    Новое: 11.08.2004, 11:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters