Восстанавливаем PhilAI.CPP из Heroes2w.exe

Модератор: t800

Re: Восстанавливаем PhilAI.CPP из Heroes2w.exe

Сообщение Швейк » 04 сен 2016, 11:40

Сегодня продолжил разбираться с тем как работает PhilAI

Но прежде чем читать дальше мою статью про то как работает PhilAI.
Эту статью имеют право читать только:

1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:
1) осуществлять действия, необходимые для функционирования программы для ЭВМ или базы данных (в том числе в ходе использования в соответствии с их назначением), включая запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), внесение в программу для ЭВМ или базу данных изменений исключительно в целях их функционирования на технических средствах пользователя, исправление явных ошибок, если иное не предусмотрено договором с правообладателем;
2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным.
2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.
3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:
1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;
2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.
4. Применение положений, предусмотренных настоящей статьей, не должно противоречить обычному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.


Т.е. если вы не являетесь владельцем легальной копии Heroes2w.exe или собираетесь использовать информацию из статьи за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, то вы должны немедленно покинуть данную тему и статью про то как работает PhiIAI не читать.
Последний раз редактировалось Швейк 04 сен 2016, 20:19, всего редактировалось 1 раз.
Участник клуба "Армагеддон"

Участник клуба "Пещера Гремлинов"

Изображение
Аватара пользователя
Швейк
Insider
Insider
 
Сообщения: 63
Зарегистрирован: 25 окт 2015, 18:18
Благодарил (а): 42 раз.
Поблагодарили: 20 раз.

Re: Восстанавливаем PhilAI.CPP из Heroes2w.exe

Сообщение Швейк » 04 сен 2016, 11:56

А теперь про PhilAI. Информация для тех кто имеет право ее читать

PhilAI состоит из следующий функций

Код: Выделить всё
philAI::BuildBuilding(town *,int)   
philAI::BuildCreature(town *,int,int)
philAI::BuildHero(town *,int)
philAI::CanBuyBHC(BHC &)
philAI::CheckBerserk(void)       
philAI::CheckBuyStuff(void)     
philAI::CheckForCreatureUpgrades(void) 
philAI::CheckReload(void)                       
philAI::ChooseEvaluateBattle(armyGroup *,hero *,armyGroup *,hero *,int,int,int,int &,int &)
philAI::ChooseGoldOrExperience(int,int) .
philAI::ChooseToFightForArtifact(int,int,int)
philAI::ChooseToPayRansomOnHero(int)
philAI::CombatMonsterEvent(hero *,int,int *,mapCell *)
philAI::ComputeUpgradeValue(int,int)
philAI::ComputeValueOfFreeSS(hero *,int)
philAI::ComputeValueOfSS(hero *,int,int)           
philAI::CreaturesToBuy(int,int)                     
philAI::CreaturesToBuy(town *,int)               
philAI::DamageGroup(armyGroup *,hero *,hero *,float)
philAI::DetermineHeroToMove(int)               
philAI::DetermineTargetPosition(int &,int &,int,int &)   
philAI::DimensionDoorTo(int,int)                 
philAI::DoAI(int)     
philAI::DoAllHeroInteractions(void)       
philAI::DoAnywhereDDoorTownGate(int)
philAI::DoDimensionDoor(hero *)           
philAI::EvaluateArtifactEvent(int,int)   
philAI::EvaluateBarrier(mapCell *)         
philAI::EvaluateGenericSite(mapCell *) 
philAI::EvaluateHeroEvent(int,int,int,int,int *)               
philAI::EvaluateJail(mapCell *)             
philAI::EvaluateMineEvent(int,int,int,int *)                     
philAI::EvaluateMonsterEvent(int,int,int *)         
philAI::EvaluateOneTimeCreaturePurchase(int,int,int,int &,int &,int &)     
philAI::EvaluatePassword(mapCell *)     
philAI::EvaluateRecruitSite(mapCell *) 
philAI::EvaluateTownEvent(int,int,int,int,int *)   
philAI::FightEvent(hero *,mapCell *,int)             
philAI::FightValueOfStack(armyGroup *,hero *,int,int,int,int)                   
philAI::FutureDeflator(int * const)       
philAI::GetBestBHC(int,BHC &)           
philAI::GetBestBuilding(town *,BHC &,float &)   
philAI::GetBestCreature(town *,BHC &,float &) 
philAI::GetBestHero(town *,BHC &,float &)       
philAI::GetGameAIVars(void)             
philAI::GetGameAttentionValue(int)   
philAI::GetTurnAIVars(int)                 
philAI::GetTurnAttentionValue(int)     
philAI::GoodAdjacent(int *)               
philAI::HeroInteractionAtHero(hero *,hero *,int,int *)     
philAI::HeroInteractionAtTown(hero *,town *,int,int *)     
philAI::IncrementHourGlass(void)       
philAI::LikelihoodOfEnemyAttacking(town *,hero *,float &,float &,int &,int &,int &,float &)   
philAI::ManaRefreshValue(hero *,int) 
philAI::MaxBuyableCreatures(int)       
philAI::MeanRVOfUnexploredTerritory(int)         
philAI::NetValueOfArtifact(int,int,int,int)         
philAI::ProbableOutcomeOfBattle(armyGroup *,hero *,armyGroup *,hero *,armyGroup *,int,int,int,float &,int &,int &,int &,int &,int &)
philAI::QuickCombat(armyGroup *,hero *,armyGroup *,hero *,int,int,float &,float &)
philAI::RVConversion(int * const)                 
philAI::RVOfPosition(int,int,int,int,int,int,int,int,int,int)         
philAI::RedistributeTroops(armyGroup *,armyGroup *,int,int,int,int,int)           
philAI::SetupRelativeHeroStrengths(void)   
philAI::StrategicValueOfPosition(int,int,int,int,int *,int)           
philAI::TownEvent(mapCell *,hero *,int,int)
philAI::TurnCostResource(int)                     
philAI::TurnValueOfObelisk(int)                   
philAI::TurnsToBuy(int * const)                   
philAI::ValueOfBuyingBuilding(town *,int,int &,float &)             
philAI::ValueOfBuyingCreature(town *,int,int &,int,float &)     
philAI::ValueOfBuyingHero(town *,hero *,int &,float &)           
philAI::ValueOfEventAtPosition(int,int,int,int *)       
philAI::ValueOfTown(town *)                     
philAI::philAI(void)                                                                                     


А что делает каждая из функция, это я расскажу в следующий раз.
Участник клуба "Армагеддон"

Участник клуба "Пещера Гремлинов"

Изображение
Аватара пользователя
Швейк
Insider
Insider
 
Сообщения: 63
Зарегистрирован: 25 окт 2015, 18:18
Благодарил (а): 42 раз.
Поблагодарили: 20 раз.

Re: Восстанавливаем PhilAI.CPP из Heroes2w.exe

Сообщение t800 » 04 сен 2016, 12:03

Круто! :p_cheers:
Справочник и Форум Green Dragon
T-800 MOD для Heroes of Might and Magic 2

Основатель клуба "Армагеддон"

Основатель клуба "Пещера Гремлинов"

ИзображениеИзображение
Аватара пользователя
t800
Experienced
Experienced
 
Сообщения: 849
Зарегистрирован: 19 окт 2015, 14:52
Откуда: Казахстан, Алматинская область
Благодарил (а): 172 раз.
Поблагодарили: 136 раз.

Пред.

Вернуться в Герои Меча и Магии

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron