Отключение Некромантии
Использование: Шифт+ЛКМ на иконке навыка в окне героя.
Выводит красивое сообщение с картинкой поднимаемого существа.
Требует erm_hooker.era.
Содержит чёрную асмовую магию (ха-ха) (благодаря отсутствию поддержки FPU в Эре).
Я не нашёл как нормально отключить поднятие существ, поэтому просто сбросил силу некромантии в 0.
Здорово! А нет идей, как бы при этом ещё и значок навыка некромантии подменить? (Например, на монохромный)
И теперь в голову лезут совсем неканоничные мысли - дать возможность любой навык отключать и включать.
Идей нет. Навыки отключать думаю будет проблематично, это надо индивидуально для каждого. Ну или вообще сбрасывать уровень навыка в 0, а перед повышением уровня восстанавливать.
gamecreator, код крут, спасибо за труд!
имхо, а я бы в условиях своей мании экономии строк в файле скрипта, сделал эмуляцию отключения, удаляя навык у героя ДО боя, и возвращая его ПОСЛЕ боя.
глядя на уже существующий такой способ, там на порядок меньше строк.
но не уверен что сам Algor разделит мои идеи касаемо экономии и самого подхода..
но если что, я могу скинуть так же способ из ФМ
Если честно, мне лень было разбираться какие побочные эффекты вылезут из такого подхода (изменение порядка отображения навыков, например).
(15.08.2015 20:52)gamecreator Wrote: [ -> ]Отключение Некромантии
Time Stamp: Mon Aug 17 21:50:26 2015
Map Saved with:
WoG Version: 3 . 59
Built on Dec 12 2005
******************************_Exception_(trace_details)_******************************
### Location: 8 : 28
### Location: 1 : 82
### Location: 6 : 9
### Location: 6 : 40
### Location: 6 : 57
EIP = {0x004E419C}, Access Violation. Attempt to {write} the inaccessible data at {0x02A5F447}
The Latest Executed ERM Receiver:
UN:C5128600/4/0; immed = 0.0
!!en:;
**end
Register Context:
EAX = 0x06601B08
EBX = 0x00000000
ECX = 0x065D7AE4
EDX = 0x00000000
ESI = 0x065EE820
EDI = 0x00000000
EBP = 0x00298AB8
ESP = 0x00298AB0
Stack Frame:
0x00298AB0 : 0x065EE820
0x00298AB4 : 0x00000001
0x00298AB8 : 0x00298B54
0x00298ABC : 0x00476ED6
0x00298AC0 : 0x00000001
0x00298AC4 : 0x00000040
0x00298AC8 : 0x065EE820
0x00298ACC : 0x00000001
0x00298AD0 : 0x00847E75
0x00298AD4 : 0x065EE820
0x00298AD8 : 0x065FABD4
0x00298ADC : 0x00000000
0x00298AE0 : 0x00000005
0x00298AE4 : 0x00298B00
0x00298AE8 : 0x0071CB74
0x00298AEC : 0x065EE820
0x00298AF0 : 0x065FABD4
0x00298AF4 : 0x00000000
0x00298AF8 : 0x00847E75
0x00298AFC : 0x0000000E
0x00298B00 : 0x00298B38
0x00298B04 : 0x0075E126
0x00298B08 : 0x065FABD4
0x00298B0C : 0x065EE820
0x00298B10 : 0x065FABD4
0x00298B14 : 0x00298B38
0x00298B18 : 0x00298B2C
0x00298B1C : 0x00000000
0x00298B20 : 0x00000001
0x00298B24 : 0x065F3CEC
0x00298B28 : 0x065EE820
0x00298B2C : 0x00298B48
0x00298B30 : 0x06601B08
0x00298B34 : 0x00000000
0x00298B38 : 0x0000002A
0x00298B3C : 0x00000000
0x00298B40 : 0x065EE820
0x00298B44 : 0x00000040
0x00298B48 : 0x00298C50
0x00298B4C : 0x0062A84E
0x00298B50 : 0xFFFFFFFF
0x00298B54 : 0x00298B68
0x00298B58 : 0x00475D02
0x00298B5C : 0x00000000
0x00298B60 : 0x065F3CEC
0x00298B64 : 0x065EE820
0x00298B68 : 0x00298B74
0x00298B6C : 0x02B63448
0x00298B70 : 0x00298DAC
0x00298B74 : 0x00298B9C
0x00298B78 : 0x00478397
0x00298B7C : 0x02B548F8
0x00298B80 : 0x065EE820
0x00298B84 : 0x00298DAC
0x00298B88 : 0x00000000
0x00298B8C : 0x065EE820
0x00298B90 : 0x065F3CEC
0x00298B94 : 0x00000001
0x00298B98 : 0x00000040
0x00298B9C : 0x00298C5C
0x00298BA0 : 0x00478D82
0x00298BA4 : 0x00298DAC
0x00298BA8 : 0x00298DAC
0x00298BAC : 0x00000000
0x00298BB0 : 0x065EE820
0x00298BB4 : 0x00000000
0x00298BB8 : 0x00298DAC
0x00298BBC : 0x00000000
0x00298BC0 : 0x00298BE8
0x00298BC4 : 0x00298BD8
0x00298BC8 : 0x065EE820
0x00298BCC : 0x01F2B2EA
0x00298BD0 : 0x00012CCB
0x00298BD4 : 0x004CD3D0
0x00298BD8 : 0x00298DAC
0x00298BDC : 0x00000000
0x00298BE0 : 0x00298C08
0x00298BE4 : 0x00298BF8
0x00298BE8 : 0x065EE820
0x00298BEC : 0x01F2B2EA
0x00298BF0 : 0x00012CCB
0x00298BF4 : 0x004CD3D0
0x00298BF8 : 0x00298DAC
0x00298BFC : 0x00000000
0x00298C00 : 0x065EE820
0x00298C04 : 0x00000004
0x00298C08 : 0x00298C84
0x00298C0C : 0x0075CB36
0x00298C10 : 0x00298DAC
0x00298C14 : 0x00000000
0x00298C18 : 0x065EE820
0x00298C1C : 0x065FABD4
0x00298C20 : 0x00000000
0x00298C24 : 0x00000001
0x00298C28 : 0x065D7AE4
0x00298C2C : 0xFFFFFFFF
0x00298C30 : 0x000002D4
0x00298C34 : 0x00000000
0x00298C38 : 0x065EE820
0x00298C3C : 0x00000000
0x00298C40 : 0x00000000
0x00298C44 : 0x00298DAC
0x00298C48 : 0x00000000
0x00298C4C : 0x065EE820
0x00298C50 : 0x00298CDC
0x00298C54 : 0x0062A8E6
0x00298C58 : 0xFFFFFFFF
0x00298C5C : 0x00298C74
0x00298C60 : 0x02B564E8
0x00298C64 : 0x00298DAC
0x00298C68 : 0x777B7600
0x00298C6C : 0x00298DAC
0x00298C70 : 0x00000000
0x00298C74 : 0x00298C98
0x00298C78 : 0x0075D35E
0x00298C7C : 0x02B54B80
0x00298C80 : 0x065EE820
0x00298C84 : 0x00298DAC
0x00298C88 : 0x777B7600
0x00298C8C : 0x00298DAC
0x00298C90 : 0x00000000
0x00298C94 : 0x065EE820
0x00298C98 : 0x00298CE8
0x00298C9C : 0x00473F70
0x00298CA0 : 0x00298DAC
0x00298CA4 : 0x777B7600
0x00298CA8 : 0x00000001
0x00298CAC : 0x00000000
0x00298CB0 : 0x061E6FB0
0x00298CB4 : 0x00000000
0x00298CB8 : 0xFFFFD8F0
0x00298CBC : 0x061E6F88
0x00298CC0 : 0x061E6F10
0x00298CC4 : 0x061E6F88
0x00298CC8 : 0x00000260
0x00298CCC : 0x00000000
0x00298CD0 : 0x04688397
0x00298CD4 : 0x00000001
0x00298CD8 : 0x777B7600
0x00298CDC : 0x00298DF4
0x00298CE0 : 0x0062A7B8
0x00298CE4 : 0xFFFFFFFF
0x00298CE8 : 0x00298CF8
0x00298CEC : 0x02B427C0
0x00298CF0 : 0x00298DAC
0x00298CF4 : 0x065EE820
0x00298CF8 : 0x00298D6C
0x00298CFC : 0x02B56590
0x00298D00 : 0x02B4CBB8
0x00298D04 : 0x065EE820
0x00298D08 : 0x00298DAC
0x00298D0C : 0x00298D24
0x00298D10 : 0x75C830A7
0x00298D14 : 0x052C7820
0x00298D18 : 0x7FFE0008
0x00298D1C : 0x7FFE0010
0x00298D20 : 0x74EFA8D2
0x00298D24 : 0x72088C98
0x00298D28 : 0x00000000
0x00298D2C : 0x00002710
0x00298D30 : 0x00000000
0x00298D34 : 0x00000001
0x00298D38 : 0x04688360
0x00298D3C : 0x004EDCA9
0x00298D40 : 0x00000000
0x00298D44 : 0x004EC68A
0x00298D48 : 0x00000001
0x00298D4C : 0x00000000
0x00298D50 : 0x061E6FB0
0x00298D54 : 0x00000000
0x00298D58 : 0x00000000
0x00298D5C : 0x00000000
0x00298D60 : 0x00000000
0x00298D64 : 0x00000000
0x00298D68 : 0x705CF08C
0x00298D6C : 0x00298DD4
0x00298D70 : 0x004B0C39
0x00298D74 : 0x02B54628
0x00298D78 : 0x065EE820
0x00298D7C : 0x00298DAC
0x00298D80 : 0x065EE820
0x00298D84 : 0x061E6FB0
0x00298D88 : 0x061E6980
0x00298D8C : 0x00000000
0x00298D90 : 0x00000000
0x00298D94 : 0x00000000
0x00298D98 : 0x00000000
0x00298D9C : 0x00000000
0x00298DA0 : 0x00000000
0x00298DA4 : 0x00000000
0x00298DA8 : 0x00000000
0x00298DAC : 0x00000000
0x00298DB0 : 0x00000000
0x00298DB4 : 0x00000000
0x00298DB8 : 0x00000000
0x00298DBC : 0x00000000
0x00298DC0 : 0x00000000
0x00298DC4 : 0x00000000
0x00298DC8 : 0x00000000
0x00298DCC : 0x00000001
0x00298DD0 : 0x00000000
0x00298DD4 : 0x00298E00
0x00298DD8 : 0x004B0A6A
0x00298DDC : 0x065D7AE4
0x00298DE0 : 0xFFFFFFFF
0x00298DE4 : 0x00000000
0x00298DE8 : 0x061E6980
0x00298DEC : 0x061E6FB0
0x00298DF0 : 0x00298DDC
0x00298DF4 : 0x00299B64
0x00298DF8 : 0x0062BA80
0x00298DFC : 0x00000005
0x00298E00 : 0x00299B70
0x00298E04 : 0x004ADFE8
0x00298E08 : 0x065EE820
0x00298E0C : 0x0000001D
0x00298E10 : 0x00000001
0x00298E14 : 0x061E6980
0x00298E18 : 0x00298E34
0x00298E1C : 0x0000001E
0x00298E20 : 0x0000000F
0x00298E24 : 0x0029907C
0x00298E28 : 0x75C987F5
0x00298E2C : 0x00298E34
0x00298E30 : 0x0000000F
0x00298E34 : 0x00650072
0x00298E38 : 0x0061006D
0x00298E3C : 0x00690067
0x00298E40 : 0x00730063
0x00298E44 : 0x00610074
0x00298E48 : 0x006B0063
0x00298E4C : 0x00780065
0x00298E50 : 0x00720070
0x00298E54 : 0x00760065
0x00298E58 : 0x006E0065
0x00298E5C : 0x00650067
0x00298E60 : 0x00000000
0x00298E64 : 0x00000000
0x00298E68 : 0x00000000
0x00298E6C : 0x00000000
0x00298E70 : 0x00000000
0x00298E74 : 0x00000000
0x00298E78 : 0x00000000
0x00298E7C : 0x00000000
0x00298E80 : 0x00000000
0x00298E84 : 0x00000000
0x00298E88 : 0x00000000
0x00298E8C : 0x00000000
0x00298E90 : 0x00000000
0x00298E94 : 0x00000000
Хукер версии 1,0 если что.
По управлению: Ctrl+ЛКМ вроде логичнее будет, чем с Shift'ом?
UPD: черт, повторить не удалось, а сэйв затёр. Вылет был на спеце по некромантии (Видомина), если вдруг имеет значение. Хотя и на ней тоже повторить не смог...
UPD2: Или вылет не связан с этим скриптом?
Quote: The Latest Executed ERM Receiver:
UN:C5128600/4/0; immed = 0.0
!!en:;
означает же, что эти ресиверы отработали успешно?
Может ты 2.47 запускаешь? Там есть ошибки.
Прошу прощения, вместо 5128600 в обеих командах (где immed = ) должно быть 5128603.
Я же специально в скобках уточнил в каких именно обеих, чтоб ты на эту команду не подумал.

Ну лучше перебдеть, чем недобдеть

В скрипте поменял номер функции, вынес тексты в ert, поменял Shift+ЛКМ на Ctrl+ЛКМ (раз возражений не поступило), добавил возможность включать/выключать в окне встречи героев (союзным менять нельзя). Заодно и багу с быстрым обменом обнаружил.
Добавлена опция 746 "Отключение Некромантии" (Автор: Gamecreator)
Добавлен EraPlugin erm_hooker.era v.1.0.0
Исправлена опечатка в опции 765 "Сбалансированные стартовые армии", приводившая к ее неработоспособности.
Опция 799 "Обмен войск": убрана возможность забрать войска у союзного героя при помощи быстрого обмена.
Algor, в erm-файле скрипта "self-education" закралась опечатка.
В строках,указанных ниже, на месте переменной "y2" должна стоять "y3":
!!VRz310&y2>0:+^%Z179276^;
!!VRz311&y2>0:+^%Z179277^;

Algor, ты сейчас завёл разговор о союзных героях и я подумал: что, если сделать это же отключение, но для ИИ? По принципу "если в армии нет нежити, то не поднимать", например. А то ведь часто бывает, что у компьютерного героя куча всякой армии и пара скелетов, портящих мораль.
Quote:Заодно и багу с быстрым обменом обнаружил.
Помню, когда редактировал "HotkeysWT", были еще проблемы (непонятные вылеты) при игре в TCP/IP, поэтому лучше запрети такую передачу и в этом режиме.
Elzivir, это "копипаста" - мое коронное блюдо, готовлю с завидной регулярностью

Поправил, перезалил. Спасибо.
gamecreator, а если в армии големы/элементали? А если герой с брелком смелости и прочими моральниками? Тот же дохлый скел может и удар потребовать, дав лишний ход/каст, может и ответку снять.
Отключать после боя (непосредственно перед поднятием), если:
в армии нет таких существ
и
FV поднимаемых существ будет меньше n% от FV оставшейся армии
и
(уйдет в минус мораль значимых по FV отрядов
или снизится скорость передвижения).
и
<предложения?>
Имеет смысл заморачиваться?
igrik, для полноценного мульта не адаптирован (не проверялся) ни один из скриптов сборки.
Если вдруг когда-нить дойдут руки, буду перетряхивать все подряд.
(19.08.2015 11:46)Algor Wrote: [ -> ]igrik, для полноценного мульта не адаптирован (не проверялся) ни один из скриптов сборки.
Если вдруг когда-нить дойдут руки, буду перетряхивать все подряд.
для начала должна ERA подружиться с Сетью

увы, но у неё проблемы с ней.
а там уже можешь подумать над адаптацией
