Algor по поводу опции
"Достижения" и в частности части связанной с Утопией драконов.
Если подключен скрипт
"Темница хозяина драконов", то для человека ДАННЫЙ объект отключается и далее в теле скрипта идёт бой с Тёмными драконами.
Code:
!?OB25&1000;
!!UN:P53/?y-1; [Check if enabled in WoG options]
!!FU&y-1=0:E; [Exit if it isn't]
!!VRv100:S1; [Activate Neutral Units]
!!HE-1:P?v8040/?v8041/?v8042; [Get position]
!!OBv8040/v8041/v8042:S; [Disable normal DU]
А для ИИ утопия стандартна, и лишь ПОСЛЕ посещения + доп плюшки в виде опыта и денег. НО!!! После посещения утопия в обоих случаях "закрывается" (на место входа ставится столб огня). Для человека ЭТО не критично, так как объект был отключен при посещении, и ЭТО уже на утопия. А для ИИ - выдаёт ошибку, так как в
"Темница хозяина драконов" для ИИ "обнуляется" как объект ПОСЛЕ посещения :
Code:
!$OB25&-1000; [Post visit trigger]
!!UN:P53/?y-1; [Check if enabled in WoG options]
!!FU&y-1=0:E; [Exit if it isn't]
!!HE-1:O?y-2; [Checks hero's owner after battle - used to check if battle won]
!!FU&v8043<>y-2:E; [Exit if battle lost]
!!HE-1:Fd5/d5/d5/d5; [AI receives additional primary skills]
!!HE-1:Ed15000; [AI receives additional experience]
!!OW:R-1/6/d30000; [AI receives additional gold]
!!UN:Iv8040/v8041/v8042/60/0; [Place Pillar of fire to block entrance] OBv8040/v8041/v8042:S; [Disable it]
[u]!!OBv8040/v8041/v8042:S;[/u] [Disable it]
!!OBv8040/v8041/v8042:H456; [Set visited hint text]
!!TRv8040/v8041/v8042:E1; [Disables yellow trigger square]
!!TRv8040/v8041/v8042:P0; [Makes it impassable]
В
"Достижения" же, после посещения идёт проверка на состояние только что посещённого банка существ, а ЭТОТ объект УЖЕ не банк!
Но главное не это
Я к тому, что всё это происходит всё также при отключенной опции "Достижения", так как ПОСЛЕ посещения проводится проверка на "Включена ли опция", но не поставлено условие на выход, если
НЕТ, и код продолжает исполнятся до строки проверки состояния посещённого банка:
Code:
!$OB25; // после взятия Утопии драконов
!!UN:P760/?y1; !!UN&y1>0:P760/1; // y1 - состояние опции, сброс состояния
!!CBv998/v999/v1000:T?y2;
Да, после данной строки есть проверку на выход и она совмещённая
!!FU|y1<>2/y2=0:E; но это уже слишком поздно. Думаю, так как есть ещё скрипт на утопию, который изменяет сам объект- следует разделить условия выхода из
"Достижения" в данном случае и поставить условие
!!FU&y1<>2:E; ДО
!!CBv998/v999/v1000:T?y2;