Здравствуйте..
Quote:чтобы, перед окончательной победой на карте, были музыка, песни и танцы.
было бы просто замечательно, если бы подобные вещи можно было бы реализовать только через скрипт, ну что бы как-то отличалась победа в скриптовой карте от победы в обычной карте без поддержки ERM
Ребята, снова обращаюсь за советом / помощью.. Пол недели назад стал воплощать одну задумку по блокировки рюкзака в игровой процесс, но столкнулся в с некоторыми недочётами, которые так и не смог никак решить!
Эти недочёты опишу ниже после самого скрипта
Цель скрипта: заблокировать рюкзак всем героям, кроме компьютера, но с каждым повышением уровня на 5 рангов освобождать ячейки в рюкзаке по 5 или 6 штук, начиная с 19 ячейки и заканчивая 82, то есть изначально даётся герой со всем заблокированным рюкзаком, а на 5-ом уровне может пользоваться уже 6 ячейками с 19-25, а на 10 уровне уже с 19 – 31 и т. д. Якобы герой неопытный не имеет право владеть всем рюкзаком
Мой код
Недочёты в работе кода:
1. Замки не воспринимаются как преграда для блокировки рюкзака (если я снимаю с себя артефакт, то он спокойно ложится в рюкзак, а замки раздвигаются в стороны, освобождая место тому артефакту, что я снял с героя и положил в рюкзак)
2. Если на замок навести левой кнопкой мыши, то этот самый замок как бы цепляется к указателю мыши и передвигается с ним. Я думал это избежать и делал триггеры !?CM2 и !?CM3, но они не сработали..
Что не так – сам не могу сообразить! Может и должно работать всё именно так! Сам не знаю..
Заранее благодарю за совет или помощь...
SergOz, если только ЕРМ хуком на место определения победы, которое нужно найти.
Хоспаде...
В рюкзаке невозможны заблокированные слоты. Да и сама блокировка слотов так не делается.
Quote:В рюкзаке невозможны заблокированные слоты. Да и сама блокировка слотов так не делается.
- жаль что заблокировать в рюкзаке слоты нельзя! А можно уточнить у Вас
MOP, а каким способом её тогда лучше сделать? Просто я больше никакого способа кроме этого не знаю..
Лучше? Да никаким. Обработка заблокированных слотов в рюкзаке во всех игровых диалогах потянет на нехилую такую библиотеку с кучей программного кода. Кому-то из программистов оно сильно надо?
А то, что выше - никакой не способ, а размещение в рюкзаке бланкового артефакта-145, кадр которого разработчики выбрали для визуализации заблокированного слота.
fatsawhorse, может тебя устроит вариант, когда Герой 1-го уровня может иметь один арт, герой второго уровня - 2 арта и т.д. Не в рюкзаке, а вообще - какой уровень - столько и артов нести может. По-моему так легче сделать...
(29.11.2020 23:26)fatsawhorse Wrote: [ -> ]А можно уточнить у Вас MOP, а каким способом её тогда лучше сделать? Просто я больше никакого способа кроме этого не знаю..
Можно просто не давать класть артефакты в рюкзак для человека. Ну или скидывать обратно на карту в триггере передвижения героя (типа нёс-нёс и потерял

).
MOP я понял, что это просто бесполезная картинка из Ваших слов и никакой особый вес она не несёт для рюкзака.. Позавчера на какой-то момент мне показалось именно также.. Жаль конечно..
писал
SergOz Quote:fatsawhorse, может тебя устроит вариант, когда Герой 1-го уровня может иметь один арт, герой второго уровня - 2 арта и т.д. Не в рюкзаке, а вообще - какой уровень - столько и артов нести может. По-моему так легче сделать...
- Мммм, так-то довольно интересное решение проблемы, но 2-й уровень хотя бы должен брать тогда все арты на себя, а в рюкзак да, лучше тогда ему не допускать, а когда он станет уровня 5, то разрешить ему 5 артов положить не более, а при достижении 11 уровня 6 артов и так далее.. Опять же всё это будет не просто реализовать и для меня уж точно..
писал
XEPOMAHT Quote:Можно просто не давать класть артефакты в рюкзак для человека. Ну или скидывать обратно на карту в триггере передвижения героя (типа нёс-нёс и потерял).
- здорова, но игрок-человек должен будет получить арты при раскачке! Если 2 уровень, то надо чтобы на него можно было надеть все арты, ну заполнить все слоты в герое, кроме рюкзака, ну а то, что в рюкзак не плохо бы сделать через тригер движения всадника, что всё имеющееся потерял при ходьбе, но опять же до 5-го уровня, что выше пятого, надо чтобы рюкзак постепенно расширялся для героя.. Ну что-то этого типа...
А как вообще и через какой ресейвер можно герою запретить подбирать арт я даже не знаю? Чувствую задача будет сложна, хотя задумки мне эти нравятся..
(30.11.2020 18:04)fatsawhorse Wrote: [ -> ]А как вообще и через какой ресейвер можно герою запретить подбирать арт я даже не знаю?
Если с карты, то можно изменить тип подбора артефакта и тогда он браться не будет. Или хуком можно добавить собственное условие подбора артефактов (в MoP даже опция такая есть, активирующая RoE-условия подбора).
(30.11.2020 18:04)fatsawhorse Wrote: [ -> ]А как вообще и через какой ресейвер можно герою запретить подбирать арт я даже не знаю? Чувствую задача будет сложна, хотя задумки мне эти нравятся..
Скрипт не проверял. Но, надеюсь саму тему ты понял
XEPOMAHT, я не такой сообразительный как участники этого форума и мне трудно это понять
Quote:Если с карты, то можно изменить тип подбора артефакта и тогда он браться не будет.
- а можно пожалуйста с примером

или это так как написал
SergOz ?
SergOz да, задача мне ясна и суть в вашем коде улавливается..
При загрузке ошибки выдаёт

и с первым и со вторым условием. Думаю наверное ошибка где-то здесь !!re i/7/143: ;
А можно мне детали по этому коду уточнить, а то самостоятельно чувствую я их не разберу
!!re i/7/143: ; - мне эта функция не ясна, 7 и 143 я не знаю что это такое?
!!VRy5:Sy5+y4 - здесь y5 прибавляется в формуле но её до этого не было? Просто y5 неизвестна!
(30.11.2020 18:53)fatsawhorse Wrote: [ -> ]а можно пожалуйста с примером
или это так как написал
В хелпе внимательно прочитать статью про контрольные слова к объектам. Далее где-нибудь в инструкции карты пройтись циклом по всем артефактам и установить им в первый байт контрольного слова например 666. Смотреть результат в игре и если артефакт не берётся, значит всё сделано правильно.
fatsawhorse, я не поставил ; в конце строчки - потому и глючило. Исправил.
!!re i/7/143: ; циклическая функция. Цикл начинается с 7 - номер секиры кентавра и заканчивается 143 - Сила монстра
!!HEy3:A2/i/?y4/d; проверка наличия всех артов у активного героя
!!VRy5:Sy5+y4; в y5 суммируем все арты имеющиеся у героя и в конце цикла получим их общее количество. Изначально, по молчанию y5=0.
!!en: ; конец цикла
Добавь !!IF:M^%Y5^; и ты наглядно увидишь сколько их
P.S. А можно сделать и так, как написал ХЕРОМАНТ, но так для тебя сложнее.
Читай Хелп - там всё есть. Поверь, если ты освоил циклы !!DO, то с !!re всё намного проще
SergOz Quote:я не поставил ; в конце строчки - потому и глючило. Исправил.
- нет все равно где-то ошибка!
Я изначально сам убрал слитные строки !!HE-1:E?y1/?y
2N?y3
и поставил точку с запятой в конце условия также !!VRy5:Sy5+y4
;
и что-то всё равно не пошло

У меня подозрения на этот цикл !!re
i/7/143: ; ц
там пробел смущает меня и после двух точек нет буквы или числа - перед точкой с запятой - может так и должно быть!
XEPOMAHT писал
Quote:В хелпе внимательно прочитать статью про контрольные слова к объектам. Далее где-нибудь в инструкции карты пройтись циклом по всем артефактам и установить им в первый байт контрольного слова например 666. Смотреть результат в игре и если артефакт не берётся, значит всё сделано правильно.
- звучит довольно сложно для меня

Да и без примеров я не смогу сделать подобное!
Вариант от
SergOz мне показался куда проще - здесь для человека при поднятии арта его свойства отключаются
!!re - это что-тьо из ЭРЫ, а я по справочнику ВОГа работаю
Просто если я даже самостоятельно не могу ошибку отыскать в уже готовом коде от
SergOz, то что даже думать мне о самостоятельной разборке помощника, где в большинстве случаем отсутствуют примеры

fatsawhorse,
во-первых: ничего не меняй в моём скрипте - скопируй тупо как он есть.
Во-вторых: на какой Эре ты играешь?
Загрузи в конце концов хотя бы 2.9.14 и не парься.Там есть новый Хелп со всеми (почти) новшествами.
Нельзя помочь человеку, который сам себе не хочет помочь
Это мой новый афоризм. При употреблении ссылка на автора не обязательна