PDA

Просмотр полной версии : Мои модкомпы



Peter
12.04.2010, 10:41
Commanders (http://forums.civfanatics.com/downloads.php?do=file&id=14154) - великие генералы усиливают стеки.
Gold For Disbanding (http://forums.civfanatics.com/downloads.php?do=file&id=14229) - при расформировании юнита в культурных границах, игрок получает деньги.
Occasional Promotions (http://forums.civfanatics.com/downloads.php?do=file&id=14300) - юниты получают прокачки во время битвы в зависимости от условий местности и типа противника.
Defender Withdrawal (http://forums.civfanatics.com/downloads.php?do=file&id=14308) - юниты могут отступать из битвы во время защиты.

эти компоненты используются в нескольких модах, в т.ч. в модмоде Rise of Mankind: New Dawn.

NeverMind
12.04.2010, 11:10
Ух ты! Очень интересно! :applau2:

Что ж ты раньше от нас скрывал свои таланты? :boo:

PS.Двинул в компоненты.

Peter
12.04.2010, 12:23
я просто в основном на ихфанатиках сидел во время разработки (всё датируется февралём этого года). вот щас тут сижу, соответственно решил показать :)

NeseryozniyVET
16.04.2010, 00:51
Интересные идеи!! Я их в свой DLLmod впихну.

Peter
16.04.2010, 20:39
круто :)

NeseryozniyVET
23.04.2010, 13:39
В компоненте Defender Withdrawal вроде есть ошибка в [code]//try to leave a plot: use back 3 plots

Peter
23.04.2010, 14:50
<div class='quotetop'>Цитата(NeseryozniyVET * 23.4.2010, 13:39) 333981</div>[quote]
В компоненте Defender Withdrawal вроде есть ошибка в [code]//try to leave a plot: use back 3 plots

kabjans
23.04.2010, 16:12
<div class='quotetop'>Цитата(Peter * 12.4.2010, 9:41) 332646</div>

Defender Withdrawal (http://forums.civfanatics.com/downloads.php?do=file&id=14308) - юниты могут отступать из битвы во время защиты.[/b]
Привет, Peter!

У меня вопрос по Defender Withdrawal моду.

Ты пишешь на их-фанатиках
<div class='quotetop'>Цитата</div>
There is a limit on number of combats with defenders occuring when a unit attacks an enemy stack now: no more than 3.
If there is only one defender, and it is about to die, it will try to escape from battle plot in the direction opposed to attacker (3 or less plots available to do this). If there are no free plots to withdraw to, it will be killed. also in this case defender has to have more base moves than attacker.[/b]
Все понятно. А что происходит на следующий ход с юнитом, вышедшим из боя? Он (1) лечится самостоятельно на той же клетке, куда отошел, (2) продолжает движение или (3) убегает дальше? Или выполняет что-то еще?

Меня это интересует по очень простой причине. В моем моде для Колонизации "1492: Reefs and Weather" корабли постоянно попадают в шторма и тайфуны. Естественно получают повреждения, но продолжают движение до тех пор, пора не пойдут ко дну. Это не есть гуд.

А что происходит с отступившими ранеными (т.е. поврежденными) юнитами в твоем Defender Withdrawal моде?

Заранее спасибо,

kabjans, aka KJ Jansson

NeseryozniyVET
26.04.2010, 21:40
А как работает этот Occasional Promotions? Иногда пишет что юнит получил прокачку в бою, а иногда приходится самому прокачивать. Я думал всегда автопрокачка будет.

Peter
30.04.2010, 14:22
<div class='quotetop'>Цитата(kabjans * 23.4.2010, 16:12) 334005</div>

<div class='quotetop'>Цитата(Peter * 12.4.2010, 9:41) 332646

Defender Withdrawal (http://forums.civfanatics.com/downloads.php?do=file&id=14308) - юниты могут отступать из битвы во время защиты.[/b]
Привет, Peter!

У меня вопрос по Defender Withdrawal моду.

Ты пишешь на их-фанатиках
<div class='quotetop'>Цитата</div>
There is a limit on number of combats with defenders occuring when a unit attacks an enemy stack now: no more than 3.
If there is only one defender, and it is about to die, it will try to escape from battle plot in the direction opposed to attacker (3 or less plots available to do this). If there are no free plots to withdraw to, it will be killed. also in this case defender has to have more base moves than attacker.[/b]
Все понятно. А что происходит на следующий ход с юнитом, вышедшим из боя? Он (1) лечится самостоятельно на той же клетке, куда отошел, (2) продолжает движение или (3) убегает дальше? Или выполняет что-то еще?

Меня это интересует по очень простой причине. В моем моде для Колонизации "1492: Reefs and Weather" корабли постоянно попадают в шторма и тайфуны. Естественно получают повреждения, но продолжают движение до тех пор, пора не пойдут ко дну. Это не есть гуд.

А что происходит с отступившими ранеными (т.е. поврежденными) юнитами в твоем Defender Withdrawal моде?

Заранее спасибо,

kabjans, aka KJ Jansson
[/b][/quote]
Привет!
Рад нашей встрече, спасибо еще раз за помощь с кнопками :)

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

Про корабли не очень понял.. Ты хочешь чтобы они убегали от штормов или вроде того?

<div class='quotetop'>Цитата(NeseryozniyVET * 26.4.2010, 21:40) 334335</div>

А как работает этот Occasional Promotions? Иногда пишет что юнит получил прокачку в бою, а иногда приходится самому прокачивать. Я думал всегда автопрокачка будет.
[/b]
я долго думал как лучше сделать, и в итоге решил оставить обычную прокачку наряду с occasional.
то есть Occasional Promotions работают параллельно с обычным механизмом прокачек, эти два способа прокачки никак не пересекаются.

Юниты получают опыт и берут за него прокачки, в то же время могут получить дополнительные прокачки в бою.

kabjans
03.05.2010, 11:21
<div class='quotetop'>Цитата(Peter * 30.4.2010, 13:22) 334762</div>

<div class='quotetop'>Цитата(kabjans * 23.4.2010, 16:12) 334005

У меня вопрос по Defender Withdrawal моду.
Все понятно. А что происходит на следующий ход с юнитом, вышедшим из боя? Он (1) лечится самостоятельно на той же клетке, куда отошел, (2) продолжает движение или (3) убегает дальше? Или выполняет что-то еще?

Меня это интересует по очень простой причине. В моем моде для Колонизации "1492: Reefs and Weather" корабли постоянно попадают в шторма и тайфуны. Естественно получают повреждения, но продолжают движение до тех пор, пора не пойдут ко дну. Это не есть гуд.

А что происходит с отступившими ранеными (т.е. поврежденными) юнитами в твоем Defender Withdrawal моде?

Заранее спасибо,

kabjans, aka KJ Jansson
[/b]
Привет!
Рад нашей встрече, спасибо еще раз за помощь с кнопками :)

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

Про корабли не очень понял.. Ты хочешь чтобы они убегали от штормов или вроде того?
[/b][/quote]
Привет, Peter!

Взаимно рад встрече.

Сейчас у меня корабли в принципе обходят клетки со штормами. Но такое впечатление, что компьютер проверяет лишь ближайшие к юниту 8 клеток на наличие шторма. Если там шторм есть, то корабль его обходит. Но корабль за ход проходит 3-4 клетки и вычислив путь в самом начале, корабль частенько на последнем или даже предпоследнем ходу оказывается в шторме, где получает повреждения.

Это правильно, но дальнейшая логика юнита мне не нравится. Повав в шторм и следовательно получив повреждения, корабль как ни в чем не бывало продолжает свое плавание, частенько попадая в следующий шторм и так далее до тех пор, пока не тонет. А по идеи, получив повреждения от шторма или нападения пирата, он должен был бы остановиться, отремонтироваться до к примеру 75% или даже 100% и лишь затем продолжить плавание.

Именно поэтому меня и интересовала логика твоего юнита, вышедшего из боя. Я надеялся, что он лечится после отступления. Но, увы...

Папа
04.05.2010, 01:40
Задумался, где кораблю "лечиться" в океане?..
Наверно для этого нужен заход в порт или хотя бы прибиться к любому берегу.
:boat:
Так может верно, что повреждённый корабль продолжает движение?

Peter
04.05.2010, 08:31
<div class='quotetop'>Цитата(kabjans * 3.5.2010, 11:21) 334944</div>

корабль за ход проходит 3-4 клетки и вычислив путь в самом начале, корабль частенько на последнем или даже предпоследнем ходу оказывается в шторме, где получает повреждения.
[/b]
наиболее логичным мне кажется сделать отмену приказов корабля если на горизонте показался шторм. по аналогии с сетлерами и животными.

kabjans
04.05.2010, 09:39
<div class='quotetop'>Цитата(papa1 * 4.5.2010, 0:40) 334994</div>

Задумался, где кораблю "лечиться" в океане?..
Наверно для этого нужен заход в порт или хотя бы прибиться к любому берегу.
:boat:
Так может верно, что повреждённый корабль продолжает движение?
[/b]
По идеи правильно было бы кораблю приблизиться к берегу или еще лучше зайти в ближайший открытый порт и там ремонтироваться. Но это если играть на карте малого размера, где до берега или порта можно за пару ходов дойти. А как быть в открытом океане? Ведь в моде "1492" все просходит на карте Земли и корабль, попавший в шторм частенько оказывается ооочееень далеко от ближайшего берега. Поэтому вариант остановки на несколько ходов и ремонта в открытом море мне кажется единственно верным.

Ведь в конце концов, если у современного корабля в море заглох двигатель, то его ремонт осуществляется командой в море, а судно просто ложится в дрейф. Если есть на форуме "морские волки", они подправят меня, но по сути это так. Аналогично и для кораблей 15-18 веков, где вместо заглохшего мотора будут сломанные мачты и порванные паруса. Корабль дрейфует по течению пока команда выполняет необходимый ремонт.

Вот именно этого как раз и нет в игре. Как осуществить? Возможно введя простой запрет для корабля на продолжение движения, если повреждения юнита выше к примеру 50%. Но такой запрет надо прописать в исходных кодах, что для меня задача просто непосильная. Поэтому я и ищу варианты, где нечто подобное уже было сделано, чтобы адаптировать их вариант для мода "1492".

<div class='quotetop'>Цитата(Peter * 4.5.2010, 7:31) 335006</div>

<div class='quotetop'>Цитата(kabjans * 3.5.2010, 11:21) 334944

корабль за ход проходит 3-4 клетки и вычислив путь в самом начале, корабль частенько на последнем или даже предпоследнем ходу оказывается в шторме, где получает повреждения.
[/b]
наиболее логичным мне кажется сделать отмену приказов корабля если на горизонте показался шторм. по аналогии с сетлерами и животными.
[/b][/quote]
Все правильно. Сеттлер идет на 2 хода, что конечно лучше, чем обычный юнит, пемемещающийся лишь на 1 клетку. Сеттлер абсолютно точно не может зайти на клетку, если там есть животное или варвар.

Но если ввести это жесткое условие, то морской юнит никогда не сможет получить повреждения от попадания в шторм. А это нонсенс, ведь основные потери кораблей на море именно от штормов. Значит вместо абсолютной, нужна вероятностная зависимость. Корабль может попасть, а может и обойти клетку со штормом. Тут кстати было бы ввести и соответствующую "Storm saver promotion", означающей умение обойти шторм.

Но опять-таки это касается лишь непопадания юнита на клетку, где ему грозит гибель или повреждения. Сейчас это частично уже сделано.

Вопрос в другом: как не дать уже поврежденному юниту продолжать движение, а заставить его остановиться и лечиться в течение нескольких ходов.

NeseryozniyVET
04.05.2010, 12:20
<div class='quotetop'>Цитата(kabjans * 4.5.2010, 8:39) 335010</div>
Но если ввести это жесткое условие, то морской юнит никогда не сможет получить повреждения от попадания в шторм. А это нонсенс, ведь основные потери кораблей на море именно от штормов. Значит вместо абсолютной, нужна вероятностная зависимость. Корабль может попасть, а может и обойти клетку со штормом. Тут кстати было бы ввести и соответствующую "Storm saver promotion", означающей умение обойти шторм.[/b]Научить корабли обходить шторм нетрудно. Так что можешь не переживать. Вот закончу эддон к своему моду и покажу как это делается.

Snake_B
04.05.2010, 13:04
<div class='quotetop'>Цитата(kabjans * 4.5.2010, 8:39) 335010</div>

Ведь в конце концов, если у современного корабля в море заглох двигатель, то его ремонт осуществляется командой в море, а судно просто ложится в дрейф. Если есть на форуме "морские волки", они подправят меня, но по сути это так. Аналогично и для кораблей 15-18 веков, где вместо заглохшего мотора будут сломанные мачты и порванные паруса. Корабль дрейфует по течению пока команда выполняет необходимый ремонт.
[/b]

оно как бэ...
на мелких кораблях (современных) ни какого ремонта двигателя в море ты не сделаешь... ну только если уж что то совсем простое...
на тех что по крупнее да... там в МКО станки всякие стоят, можно чего-нить выточить например...

на парусниках (современных) постоянно несколько человек лазят по мачтам... зашивают порвавшиеся паруса...

на современных то так, а вот для 15-18 веков.... не возили же они с собой дерево для новой мачты...

<div class='quotetop'>Цитата(kabjans * 4.5.2010, 8:39) 335010</div>

Но если ввести это жесткое условие, то морской юнит никогда не сможет получить повреждения от попадания в шторм. А это нонсенс, ведь основные потери кораблей на море именно от штормов.
[/b]

несколько спорное утверждение... и если для 15-18 веков наверно всё таки справедливое, то для современных боле-менее крупных кораблей шторм как бы совсем не проблема...

Папа
05.05.2010, 00:55
kabjans, дело хозяйское, но
я бы оставил как есть. По моему это и верно и интересно.
Вот такое субьективное мнение. :)
Впрочем и Snake_B со мной согласен! Так что не я один.

NeseryozniyVET
05.05.2010, 01:11
Peter, какая версия DefenderWithdraval более поздняя: та что идет самостоятельно или та что с Comanders?

Peter
05.05.2010, 08:30
<div class='quotetop'>Цитата(kabjans * 4.5.2010, 9:39) 335010</div>

Все правильно. Сеттлер идет на 2 хода, что конечно лучше, чем обычный юнит, пемемещающийся лишь на 1 клетку. Сеттлер абсолютно точно не может зайти на клетку, если там есть животное или варвар.
[/b]
да не, не о том речь. сетлер (или рабочий), если он идет через туман войны и после очередного шага видит поблизости юнит противника, прекращает движение и контроль переходит игроку, который должен задать новый маршрут передвижения. то же самое можно сделать для кораблей и штормов.

<div class='quotetop'>Цитата(NeseryozniyVET * 5.5.2010, 1:11) 335121</div>

Peter, какая версия DefenderWithdraval более поздняя: та что идет самостоятельно или та что с Comanders?
[/b]
та, что самостоятельно - более поздняя.
зы: расчет координат для отступления не поправил еще.

NeseryozniyVET
05.05.2010, 14:49
<div class='quotetop'>Цитата(Peter * 5.5.2010, 7:30) 335136</div>
зы: расчет координат для отступления не поправил еще.[/b]Да я и сам с этим справился еще при виходе DLLmod"а 1,4

NeseryozniyVET
05.05.2010, 16:53
Что такое Control points и Command range? (Из свойств прокачек командира)

Peter
06.05.2010, 14:26
<div class='quotetop'>Цитата(NeseryozniyVET * 5.5.2010, 14:49) 335171</div>

<div class='quotetop'>Цитата(Peter * 5.5.2010, 7:30) 335136
зы: расчет координат для отступления не поправил еще.[/b]Да я и сам с этим справился еще при виходе DLLmod"а 1,4
[/b][/quote]
Опа, а ты не мог бы скинуть измененный код?
я бы перекомпилил по быстрому и опубликовал. и кстати у тебя есть аккаунт на ихфанатиках, чтобы занести в соавторы?

<div class='quotetop'>Цитата(NeseryozniyVET * 5.5.2010, 16:53) 335188</div>

Что такое Control points и Command range? (Из свойств прокачек командира)
[/b]
command range - радиус командования. если юнит находится за 2 клетки от генерала, и CR также равен двум (или более) то юнит получает в битве генеральские бонусы. если расстояние до генерала больше CR - юнит соотвественно не получает бонусов.

control points - очки контроля. скажем генерал имеет 5 очков. в этом случае он может "руководить" какими-либо 5 юнитами в течение хода. то есть когда один из юнитов вступает в бой, он проверяет имеется ли для него командир, т.е. есть поблизости генерал чей CR больше либо равен расстоянию до юнита. если командир нашелся - смотрим сколько у него CP. если больше нуля - получаем бонусы и отнимаем от генеральских CP единичку.

NeseryozniyVET
07.05.2010, 12:59
<div class='quotetop'>Цитата(Peter * 6.5.2010, 13:26) 335307</div>
Опа, а ты не мог бы скинуть измененный код?
я бы перекомпилил по быстрому и опубликовал. и кстати у тебя есть аккаунт на ихфанатиках, чтобы занести в соавторы?[/b]В архиве DLLmod"а есть исходники. Все изменения помечены, думаю, свои коды узнаешь.

<div class='quotetop'>Цитата(Peter * 6.5.2010, 13:26) 335307</div>
command range - радиус командования. если юнит находится за 2 клетки от генерала, и CR также равен двум (или более) то юнит получает в битве генеральские бонусы. если расстояние до генерала больше CR - юнит соотвественно не получает бонусов.

control points - очки контроля. скажем генерал имеет 5 очков. в этом случае он может "руководить" какими-либо 5 юнитами в течение хода. то есть когда один из юнитов вступает в бой, он проверяет имеется ли для него командир, т.е. есть поблизости генерал чей CR больше либо равен расстоянию до юнита. если командир нашелся - смотрим сколько у него CP. если больше нуля - получаем бонусы и отнимаем от генеральских CP единичку.[/b]Перенес командира в свой EoW, сделал все изменения: SDK, Phyton, XML. Поставил (с помощью редактора) генерала на клетку с воином перед варварами, а изменений не заметил. Прокачек у генерала нету. Как оно работает? Или я при переносе ошибку сделал?

И еще. Не мог бы ты свои автопрокачки переделать так, чтоб они срабатывали только тогда когда у юнита набрано достаточно опыта. В теперешнем варианте юниты слишком быстро прокачуются.

Peter
07.05.2010, 13:43
<div class='quotetop'>Цитата(NeseryozniyVET * 7.5.2010, 12:59) 335405</div>

Поставил (с помощью редактора) генерала на клетку с воином перед варварами, а изменений не заметил. Прокачек у генерала нету. Как оно работает? Или я при переносе ошибку сделал?
[/b]
генерал опыт получает если его воины выигрывают. соответственно берет уровни и прокачки. работать генерал начинает на следующий ход после появления вроде, обрати внимание на то сколько control points у него. как только в ворлдбилдере поставишь - вроде бы 0/5 должно быть. на следущий ход будет 5/5. выиграешь 5 битв скажем - еще на след. ход у генерала будет 3 уровень и 2 прокачки.

<div class='quotetop'>Цитата(NeseryozniyVET * 7.5.2010, 12:59) 335405</div>

И еще. Не мог бы ты свои автопрокачки переделать так, чтоб они срабатывали только тогда когда у юнита набрано достаточно опыта. В теперешнем варианте юниты слишком быстро прокачуются.
[/b]
можно коэффициенты подкрутить при определении вероятности получения прокачки (в самом конце там).