![]() |
[Скрипт] Мгновенная тактическая растановка - Printable Version +- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net) +-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99) +--- Forum: Скрипты (/forumdisplay.php?fid=103) +--- Thread: [Скрипт] Мгновенная тактическая растановка (/showthread.php?tid=6881) |
[Скрипт] Мгновенная тактическая растановка - Berserker - 03.07.2023 19:44 Позволяет быстро расставлять отряды мышкой без анимации передвижения. RE: [Скрипт] Мгновенная тактическая растановка - Archer30 - 15.07.2023 18:22 Great script but HoMM 3 HD already got this feature ready for ERA ![]() RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 15.07.2023 18:43 Nope. In HD mod troops really move, which is slow animation and thus NOT INSTANT. And clicking on stack does not pass turn to it immediately (some lag occurs). My script is much better. RE: [Скрипт] Мгновенная тактическая растановка - Archer30 - 16.07.2023 07:11 Ah I see, great one. I may be wrong, but I ask anyway if this bit of detail can also be improved: When switching turns to troops with different passabilities (wide or not, for example, current: Titan, switch to Ghost Dragons by clicking on them) + some obastacles placed at the edge of Tactics range, it can be seen that the hexes on the screen are updated more than once. I suppose hexes range are updated on every stack's turn between the current stack and the clicked stack? It's not very comfortable for eyes. Another problem is that wide unit sometimes cannot be placed, like in this situation: ![]() If you click on the position of the arrow pointed, the blood dragon won't be placed. It's only possible when clicking on the hex right to the arrow, which is not convenient, and counters intuition as the shadow already indicated a valid position for the Blood Dragons. RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 16.07.2023 15:31 I tried to play one map a long ago, downloaded daemon's assembly and found out, that for me it's quite uncomfortable to play without Phoenix mod features. Thus I had to semi-port at least two scripts for hit'n'run and instant tactics alignment. Anyway, as you can see from TODO lines, a few features were still missing: Code: ; TODO: Allow LMB on active stack, allow to place wide stack [here][W][W] and provide better acting side check for hot seat (non-real multiplayer) RE: [Скрипт] Мгновенная тактическая растановка - Archer30 - 16.07.2023 19:05 Very cool. I'd like to see more of this kind of script. RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 16.07.2023 19:57 Thanks. I hope, I'll be able to work on scripts engine a bit in August. RE: [Скрипт] Мгновенная тактическая растановка - Archer30 - 26.07.2023 09:05 I encountered a problem when using this script. It's not the problem of the script itself, but the multiplayer Synchronization. In MP, if a hero forgets his tactics skill just before initiating a battle, and then initiates a battle with another hero with tactics, this defending hero cannot place the troops correctly (coz (tacticsRange)=0). I checked the Tactics levels on the defender's PC, it shows both heroes have Expert Tactics, which isn't true coz the attacking hero has already forgotten Tactics skill. Here's my revised script. Allow LMB on active stack - fixed Allow LMB on opponent's stacks - fixed Place wide stack [here][W][W] - fixed Provide better acting side check for hot seat - fixed Introduce mouse_owner - not sure what it is The only remaining issue is the MP issue as I mentioned above - should be fixed in ERA. RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 26.07.2023 10:41 Archer30, great additions, thanks! I thought actual hero structures are synchronized right on battle start, thus any skill changes should be preserved. Maybe you mean script, changing skills in !?BA trigger? RE: [Скрипт] Мгновенная тактическая растановка - Archer30 - 26.07.2023 13:21 Quote:Maybe you mean script, changing skills in !?BA triggerNo. I forgot Tactic skills for my attacker with Valery's Trainer (HE:S). That's long before the !?BA. I thought the change should be reflected in the defender's PC, but surprisingly it didn't. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 22.10.2023 01:32 Странно, но только заметил этот скрипт ![]() Сперва, прочитав название скрипта, подумал что это аналог того "костыля", который я сделал для своего мода. Но, оказалось, что он производит иные действия. В сложных боях, когда приходится часто их переигрывать, игрок, раз за разом, тратит время и нервы на повтор тактической расстановки своих войск. Я, в событии !?FU(OnAfterTacticsPhase); считываю расстановку войск, а потом, при переигровке, в !?FU(OnKeyPressed);, по нажатии F8, через !!BM#:P; мгновенно её повторяю. Вот это действительно очень нужная для игроков фишка. Потому было бы замечательно, если бы её реализовали. Свой скрипт приводить не буду, так как работает он "не очень" ну и не тянет он на глобальность, а "заточен" на мои скромные нужды... ![]() P.S. В идеале эти скрипты объединить бы . RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 22.10.2023 02:50 SergOz, идея интересная, если расстановку игрок менять не хочет. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 22.10.2023 03:13 Berserker, так в чём проблема? Если захочет - поменяет, не нажимая F8 (условно). RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 22.10.2023 03:26 Я про то же. Один раз расставил — дальше горячая клавиша. Полностью поддерживаю идею. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 22.10.2023 03:31 Berserker, да, там ещё нужно обнулять данные, чтобы в следующей битве не воспроизводилась расстановка. Я думаю что нужно просто блокировать нажатие F8, если переменные нулевые RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 22.10.2023 23:33 Решил всё-таки показать свой код. Ну, чтобы указали на ошибки - ![]() P.S. А F8 то занята... а я хотел Она вкл/выкл тень перемещения. RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 23.10.2023 00:13 Номера монстров 145, 146, 147 можно заменить на константы вида (MON_XXX). В остальном особых придирок нет, скрипт рабочий ![]() RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 23.10.2023 00:18 Berserker, не понимаю в каком моменте обнулять данные, чтобы в следующем бою не использовались. Ну а (MON_XXX) не использовал здесь, чтобы была строка покороче) RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 23.10.2023 00:46 Ниже вариант, но не тестировал. Позиции хранятся в массиве на 42 слота. Перед боем он обнуляется. Нулевые координаты не используются при нажатии T. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 23.10.2023 04:38 Berserker, тесты показали что всё работает отлично. Спасибо. ![]() !!SN:V -где можно глянуть на эту команду? RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 23.10.2023 07:45 era iii changelog: Code: [+] Added VR:C alternative for SN:M arrays. New command !!SN:V#1/#2/$3...up to $21 allows to set/check/get/modify Мнемоника: V - Vector, вектор как таблица значений с одной строкой. Команда позволяет работать массово с элементами массива, начиная с определённого индекса. В простейшем случае аналогична SN:M. Отрицательные индексы означают «с конца массива». -1 — последний элемент, -2 → предпоследний. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 23.10.2023 20:32 Berserker, спасибо. Внедрение операций с массивами здорово упростило многие задачи в написании скриптов. Но до сих пор мне хватало !!SN:M. Никак не доберусь до этого чейнжлога. В основном из-за того, что он на английском. RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 23.10.2023 21:36 В скрипте выше можно SN:V заменить на SN:M. А так Яндекс переводчик сносно переводит уже документацию. Можно и гугловский проверить и сравнить. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 30.09.2024 01:51 Никак не соображу как "дополировать" скрипт. Всё работает отлично, только нужно добавить в перечень машин и Тележку (MON_AMMO_CART). А проблема в том, что если нажать "Q" (быстрая битва) во время тактической расстановки - не кликнув на кнопку "НАЧАТЬ БИТВУ" - комп сам как-то расставляет отряды и после, при переигровке, нажав "T" получаем схему расстановки от ИИ. Оно то понятно, что так никто играть не будет - можно сразу тиснуть на "Q" без заморочек с расстановкой, но хочется идеальной красоты кода ![]() А как заблокировать это машинное вмешательство черепок не варит ![]() RE: [Скрипт] Мгновенная тактическая растановка - Berserker - 30.09.2024 16:00 SergOz, приходит на ум только отслеживание клавиши Q и блокировка оной в тактической фазе. RE: [Скрипт] Мгновенная тактическая растановка - SergOz - 30.09.2024 16:27 Berserker, насколько я понимаю нужна не блокировка клавиши Q, а нужна блокировка заполнения массива, если нажата Q в тактической фазе. P.S. Просто я не знаю как определить в событии !?FU(OnAfterTacticsPhase); активен ли режим "быстрой битвы", чтобы сделать выход из функции |