Просмотр полной версии : SDK и угадывание мыслей AI
NeverMind
25.06.2006, 00:15
Открыл эту тему специально, чтобы опытные товарищи помогли разобраться с дипломатическим поведением AI. :D
Вычисление отношения AI к другому игроку.
[code]int CvPlayerAI::AI_getAttitudeVal(PlayerTypes ePlayer)
{
Стучи в аську и задавай конкретные вопросы, я сейчас как раз занимаюсь изучением поведение AI(пока разбираюсь в системой голосования).
NeverMind
25.06.2006, 02:36
Ок, конкретные два вопроса.
[code]
<div class='quotetop'>Цитата(NeverMind * 25.6.2006, 1:36) 106392</div>[quote]
Ок, конкретные два вопроса.
[code]
Строка
iAttitude += min(GC.getLeaderHeadInfo(getPersonalityType()).getWarmongerRespect(), GC.getLeaderHeadInfo(GET_PLAYER(ePlayer).getPersonalityType()).getWarmongerRespect());
добавляет к отношению меньшее из значений WarmongerRespect игрока или AI.
Строка
iAttitude += (4 - abs(AI_getPeaceWeight() - GET_PLAYER(ePlayer).AI_getPeaceWeight()));
добавляет к отношению 4 - | PeaceWeight AI - PeaceWeight игрока |
А по религиям, уже что то известно? Я имею ввиду, как размножить окошко религий до двух?
<div class='quotetop'>Цитата(PSYX * 26.6.2006, 7:26) 106478</div>
А по религиям, уже что то известно? Я имею ввиду, как размножить окошко религий до двух?
[/b]
Пока нет, работа продвигается довольно медленно, больших успехов можно будет добится, когда больше людей присоединятся к разбору кода, вот тогда работа закипит.
<div class='quotetop'>Цитата(PSYX * 26.6.2006, 7:26) 106478</div>
А по религиям, уже что то известно? Я имею ввиду, как размножить окошко религий до двух?
[/b]
Сделать два окошка я думаю не сложно(хотя ещё не пробывал), а вот с возможностью выборать сразу две религии для одной цивилизации будет посложней, хотя возможно всё.
NeverMind
28.06.2006, 13:30
[code]if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
<div class='quotetop'>Цитата(NeverMind * 28.6.2006, 12:30) 106870</div>[quote]
[code]if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
А защитный союз, типа НАТО, сложно создать? Думаю, надо просто скопировать защитный союз и поменять цвет его полоски в меню добавить графику. Могу взять на себя графическую часть.
Или хотя бы скажите, где можно найти этот союз в СДК?
NeverMind
29.06.2006, 00:39
<div class='quotetop'>Цитата</div>
Или хотя бы скажите, где можно найти этот союз в СДК?[/b]
Мне недавно объяснили как это надо искать. Это оказывает очень просто.
1) Распаковываешь SDK
2) Запускаешь Total Commander
3) Поиск файлов - в указанном каталоге - с указанным текстом
- Текст "DefensivePact" (ты ж его искал, да?)
- и бац, вот он пакт, выдается 19 файлов :blink: из них 12 .cpp
А дальше...Ну, почему бы и не "поменять полоску"...:whistle:
Не путайте вопросы интерфейса и непосредственно игры. Поменять там цвет полоски или сделать окошко для двух государственных религий - это все через Python делается. Но при этом никакого смысла в игре не имеет, пока код SDK не изменен.
Что тут вообще имеется ввиду под "защитным союзом типа НАТО"? Чем это должно отличатся от того союза, что на данный момент есть?
<div class='quotetop'>Цитата(Solver * 28.6.2006, 23:56) 106969</div>
Что тут вообще имеется ввиду под "защитным союзом типа НАТО"? Чем это должно отличатся от того союза, что на данный момент есть?
[/b]
Если игрок вступает в союз НАТО, то цены на вооружение должны упасть и игрок должен платить определённую сумму за ход.
Powered by vBulletin® Version 4.1.9 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot