Всем привет, форумчане!
На днях залез на старый добрый 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 само собой последний.
В любом случае постараюсь разобраться сам, но нужно бы сэкономить время, ибо оно сейчас у меня совсем в дифиците, поэтому буду очень благодарен за советы.
Карту прилагаю.

Думал использовать чисто для экономии времени. По хорошему конечно надо самому написать системки, да все руки не доходят.
Может тогда подскажите, есть ли готовые более менее пригодные для использования. Сам всегда делал через торнадо, разве это уже не модно?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
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 надо будет пилить на структурах
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.