To Wandar:Вы просили меня провести небольшое расследование по поводу сейва. Хотел бы доложить о результатах.
Я проерил сейвы и выяснил, что изменение этого элемента массива происходит в Долине рудников в 3-й главе, однако повторить причину мне не удалось. Т.е. у меня есть два сейва с разницей в одни игровые сутки - в первом еще 0, в во втором уже не 0. Поэтому точнее, наверное, не смогу сказать.
А по поводу данного значения, если посмотерть, то присвоение этого значения (
9 - AR_GuildEnemy) происходит в скриптах в двух местах - может быть в этом дело:
1. ZS_Attack (STR: 2):
Cпойлер(щелкните, чтобы прочесть):
func void B_AssessSurprise()
{
* * *Npc_SetTarget(self,other);
* * *self.aivar[AIV_ATTACKREASON] = AR_GuildEnemy;
};
2. ZS_Attack (STR: 164):
Cпойлер(щелкните, чтобы прочесть):
if(Wld_GetGuildAttitude(self.guild,other.guild) == ATT_HOSTILE)
* * * * * * * * *{
* * * * * * * * * * * *self.aivar[AIV_ATTACKREASON] = AR_GuildEnemy;
* * * * * * * * * * * *if(C_NpcIsHero(other))
* * * * * * * * * * * *{
* * * * * * * * * * * * * * *self.aivar[AIV_LastPlayerAR] = AR_GuildEnemy;
* * * * * * * * * * * * * * *self.aivar[AIV_LastFightAgainstPlayer] = FIGHT_CANCEL;
* * * * * * * * * * * * * * *self.aivar[AIV_LastFightComment] = FALSE;
* * * * * * * * * * * *};
* * * * * * * * *}
Меня смущает проверка:
if(C_NpcIsHero(other))Может быть, все-таки эта функция выполняется для ГГ?
Добавление от 03/25/11, в 13:32:10
P.S. Я сравнил файл ZS_Attack.d из патча и соответствующий файл из оригинальной немецкой версии 2.6:
Есть такое отличие:
Cпойлер(щелкните, чтобы прочесть):
Патч:
STR : 165: if(C_NpcIsHero(other))
Немецкая верси:
STR : 165: if(Npc_IsPlayer(other))
Кто-нибудь подскажет, в чем разница?