NeverMind привет. Не подскажешь, что это да строчка в GlobalDefines
"PATH_DAMAGE_WEIGHT"
Вообще на модиках очень для многих строк в этом файле отсутствует описание, есть ли оно где-нибудь?
Васяка инкорпорейтед представляет: Master of Star Control
<div class='quotetop'>Цитата</div>Помню, что смотрел, и не понялNeverMind привет. Не подскажешь, что это да строчка в GlobalDefines
"PATH_DAMAGE_WEIGHT"[/b]. Возможно, еще посмотрю.
<div class='quotetop'>Цитата</div>Да, некоторые параметры в этом файле трудно понять, некоторы трудно сформулировать. Врочем, большинство игровых параметров по нему описано. Описания этого файла нигде больше не встречал.Вообще на модиках очень для многих строк в этом файле отсутствует описание, есть ли оно где-нибудь?[/b]
<div class='quotetop'>Цитата(NeverMind * 19.8.2009, 23:03) [snapback]301106[/snapback]</div><div class='quotetop'>ЦитатаПомню, что смотрел, и не понялNeverMind привет. Не подскажешь, что это да строчка в GlobalDefines
"PATH_DAMAGE_WEIGHT"[/b]. Возможно, еще посмотрю.
<div class='quotetop'>Цитата</div>Да, некоторые параметры в этом файле трудно понять, некоторы трудно сформулировать. Врочем, большинство игровых параметров по нему описано. Описания этого файла нигде больше не встречал.Вообще на модиках очень для многих строк в этом файле отсутствует описание, есть ли оно где-нибудь?[/b]
[/b][/quote]
Может быть этот параметр отвечает за понимание компьютером получения повреждений юнитами при прохождении каких-то запрограммированных на это feature элементов?
А то у меня в моде как раз с этим проблемы.
Кстати, может кто-то знает, в моде про космос (не помню как точно называется. официальный мод БтС), там тоже есть feature с повреждениями, там комп их избегает? И если и если избегает то чем это определено?
Васяка инкорпорейтед представляет: Master of Star Control
В доступном нам коде этот параметр используется только один раз:
[code]// Damage caused by features (mods)
Интересная идея для заработка
<div class='quotetop'>Цитата(Пашок * 20.8.2009, 8:35) [snapback]301118[/snapback]</div>[quote]
В доступном нам коде этот параметр используется только один раз:
[code]// Damage caused by features (mods)
Васяка инкорпорейтед представляет: Master of Star Control
// Damage caused by features (mods)
if (0 != GC.getPATH_DAMAGE_WEIGHT()) //если есть повреждения (если GC.getPATH_DAMAGE_WEIGHT() не равно нулю) тогда
{
if (pToPlot->getFeatureType() != NO_FEATURE) //если на тайле есть феатура (лес, оазис и т. д.) тогда
{
+= (GC.getPATH_DAMAGE_WEIGHT() * std::max(0, GC.getFeatureInfo(pToPlot->getFeatureType()).getTurnDamage())) / GC.getMAX_HIT_POINTS();
// до значения iCost добавляем ((повреждения(GC.getPATH_DAMAGE_WEIGHT()) умноженые на количество ходов повреждений? [std::max(0, GC.getFeatureInfo(pToPlot->getFeatureType()).getTurnDamage())]) и деленные на максимум жизни [GC.getMAX_HIT_POINTS()])
}
if (pToPlot->getExtraMovePathCost() > 0) //если при движении на тайле тратятся дополнительные очки движения [pToPlot->getExtraMovePathCost()] (например в пустыне или на холмах) тогда
{
iCost += (PATH_MOVEMENT_WEIGHT * pToPlot->getExtraMovePathCost());
//до значения iCost добавляем (PATH_MOVEMENT_WEIGHT умноженое на дополнительные очки движения на тайле [pToPlot->getExtraMovePathCost()])
}
}
Для полного понимания надо код функций GC.getPATH_DAMAGE_WEIGHT(), getTurnDamage(), getExtraMovePathCost()
Из какого файла этот код?
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата(NeseryozniyVET * 20.8.2009, 15:56) [snapback]301183[/snapback]</div>Спасибо! Всё более и боее убеждаюсь, что скоро решу проблему с умиранием отрядов AI в пустынях.// Damage caused by features (mods)
if (0 != GC.getPATH_DAMAGE_WEIGHT()) //если есть повреждения (если GC.getPATH_DAMAGE_WEIGHT() не равно нулю) тогда
{
if (pToPlot->getFeatureType() != NO_FEATURE) //если на тайле есть феатура (лес, оазис и т. д.) тогда
{
+= (GC.getPATH_DAMAGE_WEIGHT() * std::max(0, GC.getFeatureInfo(pToPlot->getFeatureType()).getTurnDamage())) / GC.getMAX_HIT_POINTS();
// до значения iCost добавляем ((повреждения(GC.getPATH_DAMAGE_WEIGHT()) умноженые на количество ходов повреждений? [std::max(0, GC.getFeatureInfo(pToPlot->getFeatureType()).getTurnDamage())]) и деленные на максимум жизни [GC.getMAX_HIT_POINTS()])
}
if (pToPlot->getExtraMovePathCost() > 0) //если при движении на тайле тратятся дополнительные очки движения [pToPlot->getExtraMovePathCost()] (например в пустыне или на холмах) тогда
{
iCost += (PATH_MOVEMENT_WEIGHT * pToPlot->getExtraMovePathCost());
//до значения iCost добавляем (PATH_MOVEMENT_WEIGHT умноженое на дополнительные очки движения на тайле [pToPlot->getExtraMovePathCost()])
}
}
Для полного понимания надо код функций GC.getPATH_DAMAGE_WEIGHT(), getTurnDamage(), getExtraMovePathCost()
Из какого файла этот код?
[/b]
Из какого файла код, не знаю. Надо Пашка спросить.
Мне бы ещё знать какие значения может принимать этот параметр. Только 0 или 1? Или больше? А если больше, то на что влияет величина числа?
Васяка инкорпорейтед представляет: Master of Star Control
<div class='quotetop'>Цитата(vasaka * 20.8.2009, 15:11) [snapback]301190[/snapback]</div>Надо посмотреть код функции GC.getPATH_DAMAGE_WEIGHT()Мне бы ещё знать какие значения может принимать этот параметр. Только 0 или 1? Или больше? А если больше, то на что влияет величина числа?
[/b]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
GC.getPATH_DAMAGE_WEIGHT() - возвращает число,прописанное в GlobalDefines. Похоже,это просто множитель, чем он больше,тем больше урон,наносимый юниту при прохождении тайла. Код из CvGameCore Utils.cpp
Интересная идея для заработка
<div class='quotetop'>Цитата(vasaka * 20.8.2009, 15:11) [snapback]301190[/snapback]</div>По умолчанию PATH_DAMAGE_WEIGHT равен нулю, поэтому код просто игнорируется.Спасибо! Всё более и боее убеждаюсь, что скоро решу проблему с умиранием отрядов AI в пустынях.
Из какого файла код, не знаю. Надо Пашка спросить.
Мне бы ещё знать какие значения может принимать этот параметр. Только 0 или 1? Или больше? А если больше, то на что влияет величина числа?
[/b]
Может принимать любые целые числа, даже отрицательные.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
Насколько я понял, AI делает расчёты сможет ли он преодолеть враждебный feature или он его по пути грохнет и в связи с этим решается идти или нет. Так?
Васяка инкорпорейтед представляет: Master of Star Control
<div class='quotetop'>Цитата(NeverMind * 20.8.2009, 22:31) [snapback]301251[/snapback]</div>Ясно. Осталось определить какое значения будет оптимальным. Чтобы войска и не погибали в песках и не совсем отказывались по ним ходить. Это можно как-то вычислить или только эксперементальным путём?В общих чертах да. Этот параметр учитывается при выборе пути юнитом. Насколько я понял, чем больше значение PATH_DAMAGE_WEIGHT, тем менее вероятно, что юнит пойдет через данный тайл при прочих равных.
[/b]
Васяка инкорпорейтед представляет: Master of Star Control
Также В RFC: Europe на болотах легкие юниты(а также венецианцы, изза спецефической столицы на болотах, Рае говрит, что уберет потом) получают по 10% поврежений за ход, простоянный на болоте.
Я знаю, что берсерки, серироносцы, мечники, скирмишеры, рабочие поселенцы могут бегать по болотам.
<div class='quotetop'>Цитата(AR74 * 24.8.2009, 8:55) [snapback]301762[/snapback]</div>В RFC обычной или в RFC: Europe?В RFC варвары и вражеские юниты точно не предпочитают задерживаться на русской территории из-за эффекта "русская зима", но прбежками там передвигаются. Можно наверное там посмотреть.
[/b]
Васяка инкорпорейтед представляет: Master of Star Control
<div class='quotetop'>Цитата(vasaka * 24.8.2009, 17:29) [snapback]301840[/snapback]</div><div class='quotetop'>Цитата(AR74 * 24.8.2009, 8:55) [snapback]301762[/snapback]В RFC обычной или в RFC: Europe?В RFC варвары и вражеские юниты точно не предпочитают задерживаться на русской территории из-за эффекта "русская зима", но прбежками там передвигаются. Можно наверное там посмотреть.
[/b]
[/b][/quote]
В обычной
Наиболее подходяшее значение параметра:
PATH_DAMAGE_WEIGHT
500000 (пятьсот тысяч)
Оно же используется в официальном моде про космос (не помню названия).
Васяка инкорпорейтед представляет: Master of Star Control
Прописал коды всех функций GC.getPATH_DAMAGE_WEIGHT(), getTurnDamage(), getExtraMovePathCost() в Колонизацию.
Все прекрасно работает, но если пустить свой корабль на исследование территории, то независимо от значения PATH_DAMAGE_WEIGHT в GlobalDefines.xml корабль все время идет одним и тем же путем и естественно гибнет на одном и том же ходу.
Я попробовал значения PATH_DAMAGE_WEIGHT равные -500000, 0 и 500000.
Результат один и тот же. 20 ходов и "на корм рыбам".
Перемещение корабля по одному и тому же пути означает, что PATH_DAMAGE_WEIGHT не имеет смысла вообще. Оно что есть, что нет.
Поэтому вопрос. Как и на основании чего было выведено:
<div class='quotetop'>Цитата</div>Наиболее подходяшее значение параметра:
PATH_DAMAGE_WEIGHT
500000 (пятьсот тысяч)[/b]