Elf_Stratigo
offline
Опыт:
4,699Активность: |
в карте удобно смотреть, но времени мало
в крации - замени функцию Gravity_Boll_Filter:
если увидишь надпись "excepted", а её увидишь, это значит что по этому адрессу в хеше лежит НЕ юнит (вроде там таймер записывается), такчто вердикт мой сохранён :)
проверь функцию, которая запускает таймер
пишешь ты, мы токо подсказываем, такчто можешь не беспокоиться, никчему не возвращаемся
не признаю хеш, не потомучто неудобно, а потомучто медленный, да и всётаки запутаться легко вообще вроде фильтры для групп создают через Filter, а оно у тя работает оО
учись отлаживать свой код, это статистически самая большая работа программиста по времени |
14.09.2010, 21:48 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Elf_Stratigo:
Бред,имхо.Самое трудно создать код,а отладить дело времени и желания. |
14.09.2010, 23:09 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Revo1teR
offline
Опыт:
146Активность: |
Неа +) я сейчас кое что проверил) так вот, почему-то, когда останавливаем таймер.. все что было записано в хеш этого таймера обнуляется..(set "переменная"=null) в связи с этим, когда я удалил команду call PauseTimer(t), excepted больше не появляется.. т.е все я правильно записал, но если таймер t не останавливается, то что же выходит ? шар не летит это точно.. и по логике таймер несколько раз запустить нельзя один и тот же в одной и той же функции.. НО все равно call ForGroup ничего зараза не делают =).
И лично я этой "медленности хеша" не замечаю.. шар летит динамично? - динамично, ну вот и отлично меня вполне устраивает.
Windrunner а тут уже ты не прав =).Он разве говорил что-то про "трудность"? "самая большая работа программиста по времени" =) просто это занимает больше времени вот и все.
Хотя с этим тоже можно поспорить), но я не стал бы. |
15.09.2010, 00:08 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JassMan
свободен
offline
Опыт:
4,193Активность: |
Не надо трогать хеш, ибо не такой уж он и медленный как говорят, чуть медленней глобалок, но не на много. По поводу удобства, а что тут неудобного? —Сохранил - выгрузил . . . |
15.09.2010, 14:52 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
JassMan, он медленнее массивов.Как говорили примерно в 21 раз,в игре этого офк не заметно,но сам принцип должен тебе мешать пользоватся более медленным.Но по идее в больших мапах это имеет большое значение |
15.09.2010, 16:06 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Revo1teR
offline
Опыт:
146Активность: |
ем.. тогда как я понимаю это и удобно и вобще полезно =).Можно ссылку на ресурс где можно обучится =), или нет такой "училки". |
15.09.2010, 19:05 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Revo1teR, Нет это не столько удобно сколько полезно.Многие "Папки"(не в обиду им) считают,что мапмейкер делает все не эффектно.Слишком просто по просту говоря.По сути способ заключается в переборе массивов.Насчет статей не знаю,поищи на статьях.Я этому сам обучался=) Расскажу основу 1)Создаешь массив и заносишь все что надо,при этом юзай паралельные массивы(ака структуры) т.е у тебя есть 3 массива unit u,int i,item it тогда ты заносишь юнита u[1] и число i[1] и предмет it[1] и создаешь одну переменную типа int(целочисленная) для того,чтобы указать системе сколько у тебя данных структур. Занесение будет выглядеть примерно так: count = count + 1 set u[count] = unit set i[count] = int set it[count] = item 2)Делаешь простенький цикл вроде int i = 0 loop exitwhen i > count Все действия с каждым элементом. endloop По сути это тяжелее,но там а)Быстрее б)Если верить им(папкам),то не приводит к относительной деградации=) Надеюсь ты понял,что я пытался донести=) |
15.09.2010, 19:17 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
вот прототип моих последних заклинаний:
» [cJass]
Отредактировано Elf_Stratigo, 16.09.2010 в 14:08. |
15.09.2010, 20:54 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Elf_Stratigo, Покажу твои ошибки.
Во 1-ых Работать с локалками медленнее т.к там отделяется время на создание локалки и ее присвоение.ТОесть не юзай локалки в данном случае~Elf_Stratigo: Тут лучше паузить таймер~Elf_Stratigo: Совершенно не нужное действие Elf_Stratigo: Не юзаешь все возможности cJass надо так
Хотя это дело выбора=) |
15.09.2010, 21:15 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
Windrunner,
локалки - имеется ввиду, что ниже будет набор действий с переменной "с" - а это быстрее, чем обращение к ячейке в массиве паузить таймер может и лучше, но как показывает практика - не безопасней - допустим у Revo1teR это приводит к обнулению записей в хеше (скорее к потери), по крайне мере он так говорит может получиться так, что это заклинание не будет использовано (изучено) ни разу за игру - зачем выделять ему память?! это здесь есть только новый таймер, в нужных случаях может быть гораздо больше разных объектов
|
15.09.2010, 21:50 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Elf_Stratigo, нет,использование массива(созданного и инициализированного обьекта) быстрее чем использование локалки,ты спутал использование локалки vs некоторые ф-ции. Если пауза приводит к потере,то это тоже приведет. А зачем делать систему если ничего не будет юзать ее?=) |
15.09.2010, 21:52 | #31
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
наш спор конечно уже не в тему... что быстрее? SetWidgetLife(c,GetWidgetLife(c)+GetUnitLevel(c)) или: SetWidgetLife(caster[i],GetWidgetLife(caster[i])+GetUnitLevel(caster[i])) тут честно отвечу - не знаю. если паузить, то поидее должен быть резюм гдето, а такого нет ИМХО, не такие уж и большие затраты произойдут может конечно пауза и будет верной она может быть не задействована в текущей игре, если не выбрали героя, к которой она относится. загляни dota opensource забыл обнулить локалку >< |
16.09.2010, 14:07 | #32
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Elf_Stratigo:
это быстрее Elf_Stratigo: есть Elf_Stratigo: ты останавливаешь таймер,если кол-во мелкое,но хуже от этого не будет |
16.09.2010, 15:43 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
пруфлинк в студию в реале могут быть группы, триггеры и тд, просто в примере один таймер |
16.09.2010, 17:37 | #34
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|