Bes
Posts: 5422
|
согласен, это не замедлит игру никак (мс уже не учитываем)
решение выглядит вполне оправданным. Но нужно на практике смотреть, насколько это графически будет смотреться - телепорт перед самим боем.
+ когда герой побеждает, потративший ДО боя mp, которые скрипт последней клетки забирает фактически и это может не понравится игроку. Либо нужно компенсировать те заветные (100/144 или др.) очки хода.
А если это атака с подземных ворот/телепорта? а герой в итоге будет насильно сдвинут?
|
|
09.01.2021 22:15 |
|
SergOz
Posts: 1315
|
Bes, я проверил скрипт на карте: графически никак не изменяется.
Телепорта никакого нет, ну то есть герой "сдвигается" только если загрузить сейв сохранения перед битвой. Нюансы, такие как наличие жёлтой клетки, нужно учитывать уже в самом моде сохранения перед боем.
Возможно в строке
!!HE-1:P?y1/?y2/?y3; получаем координаты героя (до его шага)
нужно добавлять проверку на мувы героя, расширив динамический массив до 4-х ячеек, и возвращать их (мувы) при загрузке сейва.
Карта-мод "Война на Холсте"
(This post was last modified: 09.01.2021 22:33 by SergOz.)
|
|
09.01.2021 22:21 |
|
SergOz
Posts: 1315
|
daemon_n, насколько я понимаю - нельзя напасть на двух монстров сразу. Идёт очерёдность по кругу. Если клетка атаки принадлежит двум/нескольким монстрам - выбирается только один. Ели игрок, по какой-то причине хочет переиграть последний бой - его атакующего героя героя возвратят на клетку, с которой он атаковал, и повторится та же ситуация, которая была перед первым нападением.
Ещё раз подчёркиваю: возврат атакующего героя на исходную клетку произойдёт только при загрузке сейва BattleSave или как он там называется..
В любом случае это лучше чем то что есть сейчас. Сейчас - просто ... (нет слов)
Или же, как сказал Berserker нужно удалить этот мод со всех сборок
Карта-мод "Война на Холсте"
(This post was last modified: 09.01.2021 23:09 by SergOz.)
|
|
09.01.2021 23:05 |
|
wessonsm
Posts: 792
|
SergOz, я вот что подумал только что.
Ты напал на монстра, записался batlesave, после этого походил другой игрок своими героями (или даже этот же игрок другим героем), и в массив записались уже другие координаты.
И после этого ты загружаешь battlesave. Что будет?
Надо для каждого героя делать отдельный массив.
Правильная реализация думаю возможна, но не так проста как кажется.
(This post was last modified: 09.01.2021 23:12 by wessonsm.)
|
|
09.01.2021 23:09 |
|
SergOz
Posts: 1315
|
wessonsm, ты работал с динамическими массивами?
Туда запишется ход/атака последнего героя. Они не ходят все сразу!
Просто возьмите мой код и проверьте на тестовой карте
Карта-мод "Война на Холсте"
(This post was last modified: 09.01.2021 23:15 by SergOz.)
|
|
09.01.2021 23:10 |
|
wessonsm
Posts: 792
|
(09.01.2021 23:10)SergOz Wrote: wessonsm, ты работал с динамическими массивами?
Туда запишется ход/атака последнего героя. Они не ходят все сразу!
Если ход последнего был без атаки?
В массиве - координаты последнего, а атаковал предпоследний...
|
|
09.01.2021 23:16 |
|
SergOz
Posts: 1315
|
|
09.01.2021 23:17 |
|
wessonsm
Posts: 792
|
(09.01.2021 23:17)SergOz Wrote: wessonsm, в триггере !?HM-1нет понятия предпоследний. Там только последний
Именно, а в триггере !?OB - есть.
То есть так:
Срабатывает триггер !?HM несколько раз для героя №1,
после этого срабатывает !?OB для героя №1,
после этого несколько раз срабатывает !?HM уже для героя №2.
Еще и GM0 сюда впихнуть, соляночка такая получается.
(This post was last modified: 09.01.2021 23:25 by wessonsm.)
|
|
09.01.2021 23:20 |
|
SergOz
Posts: 1315
|
wessonsm, в триггере !?OB мы считываем данные с массива, но никак их не меняем. Тем более данные с массива наверняка будут считываться с какого-то OnBeforeBattle или т.п.
Если честно я устал доказывать. Я не настаиваю на 100% реализации идеи. Я просто подкинул идею.
Моих знаний не хватает, чтобы учесть все "подводные камни". Пусть гуру форума вынесут вердикт.
Карта-мод "Война на Холсте"
(This post was last modified: 09.01.2021 23:47 by SergOz.)
|
|
09.01.2021 23:25 |
|
SergOz
Posts: 1315
|
daemon_n, несколько раз с одной точки можно напасть при нынешнем положении дел. Если в сейве будет реализован возврат на предыдущую, перед нападением, точку карты, то это станет невозможным.
Карта-мод "Война на Холсте"
|
|
09.01.2021 23:31 |
|
wessonsm
Posts: 792
|
SergOz, идея реализуема (я думаю), но реализация не так уж проста.
(This post was last modified: 09.01.2021 23:38 by wessonsm.)
|
|
09.01.2021 23:35 |
|
Raistlin
Posts: 1349
|
(09.01.2021 22:02)SergOz Wrote: wessonsm, в данном случае, в триггер !?HM-1; фактически добавляется одна команда - !!SN:M1/0/y1M1/1/y2M1/2/y3; так как если этот триггер уже существует на карте/в моде/плагине то там по-любому идёт считывание координат героя, иначе зачем он нужен, этот триггер.
Одна команда никак не повлияет на быстродействие кода.
У меня в моде имеется этот триггер, и там после него идет 7-8 команд. Он оказывает совершенно жуткое влияние на быстродействие, и этих нескольких команд на самом деле вполне достаточно, чтобы были фризы. На новых версиях Эры они не так сильно заметны, но вот в обычном WoG это была катастрофа... Если такая запись в массив будет находиться сама по себе, это не вызовет беды, но в сочетании с чужим кодом она может стать серьёзным балластом.
И кстати, это не одна, а 3 команды, просто они одинаковые.
Создал новый глобальный мод: WoG Ultra Edition
|
|
10.01.2021 00:04 |
|
wessonsm
Posts: 792
|
Угу, после скрипта Разведка II из WoG я вообще стараюсь этот триггер нигде не использовать, потому собственно и написал.
Жуткие были тормоза, как и сказал Raistlin.
И в моде LORD тоже с этим столкнулся.
(This post was last modified: 10.01.2021 00:15 by wessonsm.)
|
|
10.01.2021 00:12 |
|