Всем привет, форумчане!
На днях залез на старый добрый wc3c.net, покопался по Jass ресурсам, решил использовать готовые библиотеки для облегчения написания способностей да и сэкономить время было бы хорошо.
Наткнулся на библиотеки ABuff www.wc3c.net/showthread.php?p=951180&fromattachment=951180#9...
Карта открылась, запустилась и все работало отлично. Но при сохранении в WE у меня отказывается компилировать с ошибкой "Invalid typecast" на строке "set this2aBuff[integer(this)]=eventBuff". Я в общем то понимаю как должна работать библиотека, но быстро разобраться в проблеме не могу, увы пока очень плохо ориентируюсь в кодинге.
Собственно вопрос: возможно то-то уже использовал такие системы или маестро Vexorian'а, возможно в компиляторе нет чего-то, хотя опять же со страницы обновил JassHelper до нужной версии, JNGP само собой последний.
В любом случае постараюсь разобраться сам, но нужно бы сэкономить время, ибо оно сейчас у меня совсем в дифиците, поэтому буду очень благодарен за советы.
Карту прилагаю.

Думал использовать чисто для экономии времени. По хорошему конечно надо самому написать системки, да все руки не доходят.
Может тогда подскажите, есть ли готовые более менее пригодные для использования. Сам всегда делал через торнадо, разве это уже не модно?
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
Как бы так всё толково сформулировать в тексты)
Лично хз что да как, но методом тыка, снял флаг с "Enable AdicParser" во вкладке "cJass" всё ок, сохраняет, теперь.
7
Хм, интересно. Вот что мне выдает без АдикХелпера:
! external ObjectMerger w3a Adef lvdt anam "Leave Detect" aart "" arac 0
при этом действительно сохранил карту. Хотелось бы понять причину, т.к. не хотелось бы отключать АдиХелпер, возможно буду все же использовать cJass
28
ерунда эта система, там все бафы сделаны через ауру торнадо (и добавлению её юниту), а если мне например надо промахи кинуть или сало?
32
Собственно почему нельзя добавить юниту скилл ауры торнадо без какой либо системы и удалить в нужный момент? Темболее там так и остались минусы аур (уровни на баффе и ээфект при появлении будет всегда 1 уровня, после бафф обновится до текущего уровня, через 1-2 сек.) Подобие стандартным баффам активных способностей кроме диспела я не увидел, ни тебе рассеивание при неуязвимости или невосприимчивости к магии, тупо добовление удаление абилки юниту.
7
Думал использовать чисто для экономии времени. По хорошему конечно надо самому написать системки, да все руки не доходят.
Может тогда подскажите, есть ли готовые более менее пригодные для использования. Сам всегда делал через торнадо, разве это уже не модно?
Принятый ответ
32
А что требуется, к примеру для ледяного замедления очень хорошо подходят ледяные стрелы, юнит синеет, но в отличии от фрост новы там можно настроить фактор замедления, можно налепить тучу ледяных слоу баффов.
Для сала у нас 5 спеллов, безмолвие, туман, союлберн( пламя обреченности вроде), винные пары, Печать преисподней, как бы есть где разгуляться.
Для дизарма отлично подходит 'Abun', а для баффа в статусе та же самая аура торнадо.
Баффа стунов, делаются стунами, для аое станов без деформации рельефа отлично подходит ракетный удар и огненный голем.
Не знаю что там за система на хайве которая по размеру кода тянет уже на полноценную карту и зачем она нужна:?
28
Ambruziy, nocjass юзай
или как он там называется
короче запрети сиджасс для этой либы
7
quq_CCCP, нет, ну я уж не настолько нуб)))) Там системы аля XE Vexorian'а, например для вращения в 3х координатах, для создания метательных снарядов и т.д., упрощает создание спелов, не надо переписывать сто раз одно и то же. При том для меня было очень познавательно посмотреть применение структур на деле, интерфейсов, кейвордсов и т.д.
nvc123, ок, да так в итоге и поступил, спасибо!
P.S. в общем тему можно закрывать, сем спасибо народ!
28
Ambruziy, интерфейсы реализованы через триггеры из за чего вызывают неслабые лаги
7
Хм, не думал об этом. Хорошо, надо будет от них отказаться, благодарю
28
Ambruziy, с другой стороны тут как всегда вопрос количества ресурсов и получившихся триггеров
7
nvc123, этот вопрос вечен) Я раньше не задумывался о нем серьезно. Например использовал hashtable для создания тех же метательный снарядов, теперь же решил делать через структуры, они насколько я понимаю менее ресурсоемки. Но тут и другой вопрос: где-то тут на форуме читал, мол есть максимальное кол-во строк кода 8190 (насколько я понял уже скомпилированного). И тут через хештаблицы можно сэкономить, т.к. по мне структуры очень объемны в коде. Те же библиотеки ABuff будут занимать не меньше 1000. Как пока реализованы интерфейсы мало понимаю (надо бы учить английский получше), читал только в переводе Адольфа, но там совсем немного.
28
Ambruziy,
замена всего на структуры не имеет смысла, а уж для не большой карты и подавно, делай спокойно на хэш таблицах, проверено на себе.
28
максимальное кол-во строк кода 8190
тогда 50% карт в варкрафте не рабочие
включая доту в которую все играют
значит либо у всех массовые галлюцинации либо на форуме писали бред

16GB, во первых тут зависит от количества обращений к таблице/структуре
во вторых тем кто привык к ооп структуры намного удобнее хэштейблов
в третьих большинство тех кто юзает хэштейблы делают это не правильно(создают по отдельному потоку для каждого объекта) от чего даже на современных компах при большом количестве объектов возникают такие лаги что хочется закрыть вар и удалить карту
28
nvc123,
я думаю он имел ввиду размер массива
nvc123:
во первых тут зависит от количества обращений к таблице/структуре
ну обычные спелы например, с таймером, что тут с количеством обращений?
от чего даже на современных компах при большом количестве объектов возникают такие лаги что хочется закрыть вар и удалить карту
Ну покажи мне такую карту даже интересно
(создают по отдельному потоку для каждого объекта)
это как?
28
библиотеки ABuff будут занимать не меньше 1000
насколько я понял уже скомпилированного
структуры очень объемны в коде
думаю он имеет ввиду код
16GB:
это как
это когда есть спелл с таймером и этот спел работает 10 секунд
и если применить его 100 раз за 1 секунду(создать 100 таймеров работающих параллельно) вар ляжет
16GB:
Ну покажи мне такую карту даже интересно
во многих картах где могло быть подобное всё исправили до релиза с помощью перебора
из известных мне неисправленных осталось только cruiser command
16GB, но могу сделать простейший пример чтобы продемонстрировать как весело лагает вар при большом количестве потоков
28
это когда есть спелл с таймером и этот спел работает 10 секунд
и если применить его 100 раз за 1 секунду(создать 100 таймеров работающих параллельно) вар ляжет
Ну это смотря что за спелл, если в движением многих даммиков, да фпс просядет у меня где-то до 45 с 64. Ну опять же 100 раз за секунду, это надо чтоб десять человек по 10 спелов за секунду дали, такое вряд ли будет. В дотке той же сделано на хэш таблицах, если там в замесах не лагает, значит всё норм, (привожу её в пример ибо в мою ты вряд ли играл), так вот поэтому нету смысла задрачивать оптимизацию, лучше на создании карты сконцентрироваться. Гонясь за оптимизацией я бы никогда свою карту не сделал, а ей уже 6 лет.
16GB, но могу сделать простейший пример чтобы продемонстрировать как весело лагает вар при большом количестве потоков
ну так это всё по сути в теории, на практике ( в картах такого не случается)
28
16GB, смотря где использовать
бывают случаи когда существует более 100 дамиков одновременно
кроме того на структурах писать намного быстрее чем на хэштейблах
16GB:
на практике ( в картах такого не случается)
если в карте присутствует система снарядов/движения то случается
кроме того намного удобнее написать 1 раз на структурах и юзать полученную систему во всех спелах чем каждый раз писать всё заного
28
nvc123,
если в карте присутствует система снарядов/движения то случается
Ну опять же когда автор видит что карта лагает то он переделывает, я лично не видел карт где было много снарядов и это лагало, это же основной аспект в таких картах.
кроме того намного удобнее написать 1 раз на структурах и юзать полученную систему во всех спелах чем каждый раз писать всё заного
Такое видел разве что у тоадкопа, смысла писать такие мощные системы для не очень сложных спелов? нету смысла.
28
16GB, смысл в экономии времени
системку написать быстрее чем 1 спелл на хэштейблах
7
Да, я имел ввиду именно код, а не массив. Благодарю за ответ, нужно мне будет более внимательно читать форум и не доверять всему, что пишут)
Структуры лично мне интересны именно для создания систем, которые можно применять многократно, это не только спеллы. Да, на данный момент мне лично очень удобно работать на хештаблах, я к ним привык. Но с ними например я не представляю создания некоторых способностей. Например: хочу создать спелл аля замедление времени под куполом, замедление пусть в 5 раз. Нужно, чтобы снаряды спеллов замедлялись в 5 раз внутри купола. На хештаблицах не знаю как это сделать, а на конструкциях проще, ибо метательный снаряд можно сделать конструкцией, отдельным объектом, и при проверке даммика в области загружать его конструкцию и изменять скорость в 5 раз.
Как по мне конструкции удобнее, но пока для меня менее понятные что ли. Если нет разницы в ресурсах, то думаю буду комбинировать и таблицы и конструкции, Действительно, переписывать все в структуры не нужно будет)
А если отойти от спеллов и например заняться поведением компьютера. В одной своей теме писал уже об этом. Если периодически (с малым периодом) нужно будет перебирать юнитов компа и рассчитывать его самое выгодное действие, тут с одной стороны нужны таблицы (для сбора статистики на юнитах), с другой стороны при малом периоде и многих юнитах наверно имеет смысл задуматься о изменении таблиц на структуры
28
Ambruziy, структуры можно вешать через юзердату
вообще по тестам обращение к таблице в 1,5 раза медленнее обращения к структуре
если ты пишешь типодоты с не муи скилами без большого количества обращений то делай как удобнее
а вот если делаешь ресурсоёмкие системы для модификации игры (система снарядов например) то лучший выбор это структуры
7
nvc123, слово "дота" у меня вызывает отрицательные эмоции, не стоит их произносить_)
Безусловно время простых игр AOS прошло, теперь уже как-то стыдно будет производить "типодоты") А вообще конечно делаю затратную систему, и экономия ресурсов мне ой как не помешает .
Возможно спеллы буду иногда и таблами, но систему AI надо будет пилить на структурах
Чтобы оставить комментарий, пожалуйста, войдите на сайт.