inhuman89
offline
Опыт:
3,019Активность: |
Не создается юнит
Добрый вечер.
Я новичок в жассе, поэтому прошу сильно не ругать. Проблема такова:
Не хочет создаваться юнит, почему - не знаю. Я конвертнул этот триг в жасс, немного подправил и юнит перестал создаваться и добавляться в группу. Обьясните почему.
Заранее спасибо. PS. То что нада заменить локи на ху я знаю, и то что я в локалки помещаю то, что не по "правилам" тоже |
15.02.2010, 22:28 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Это все изза слипа. Меняй на таймеры
Bj, утечки... |
15.02.2010, 22:34 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Насчет утечек - добавлю еще и этот материал от ADOLF'a. И молодец, что знаешь, что в коде лишнее) Отредактировано ShadoW DaemoN, 16.02.2010 в 08:10. |
16.02.2010, 06:30 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
близы сломали паус триггер и он не работает с вейтами (иногда). |
16.02.2010, 07:47 | #4
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mr_ILYAS
Kicked by XimikS
offline
Опыт:
492Активность: |
ну ты жесть . . . с оптимизацией не работал
и вообще тут всё можно сделать гораздо проще.
2)Я не знаю зачем blizzard'ы придумали так много ненужных bj функций, ибо каждая из них ссылается на другую, лучше сразу писать конечную функцию (native), если это возможно . . .
По поводу TriggerSleepAction — забудь навсегда!
Изредка можно использовать call PolledWait(секунды) 3)В хеш-таблице ты не правильно сохранял данные
В BJ функция часто бывает, что все параметры считываются наоборот в отличии от native функций. Но ошибка в том, что ты ячейку называл как категорию, а категорию как ячейку называл. я убрал BJ и теперь всё стоит как надо (ну и еще udg_B_table поменял местами с переменными, потому что native) 4)Если ты ни для чего особого (для сложных операций) не используешь типы real или integer, то не нужно их создавать, пиши сразу туда где тебе нужны числа.
5)Заодно посмотри, как можно работать с таймерами.
Как видишь, для них создается отдельная функция, в которой будет делаться всё, что ты захочешь. Если поставить там false, то таймер сработает как однократный, если true, то действия будут поворяться с тем периодом который там стоит. Если ты будешь сохранять данные в хеш-таблице, чтобы перенести их в функцию для таймера
то для категории лучше использовать GetHandleId(этого таймера) 6)Скачай JassCraft и почитай в нём blizard.j, думаю будет тебе полезно
К тому же любую функции можно набрать в поиске JassCraft'a и посматреть что за функция и как лучше её написать. 7)когда создаешь переменную, то можно сразу ей присваивать значение
То есть, как видишь, я не только создал переменную, но и создал юнита и обозначил его этой переменной.
Тоже самое и с set bb= Ну а вот и мой вариант того что ты хотел:
Да, этот вариант более громоздкий но он более легкий для соображения компьютера.
Кстати я пробелы не ставлю вокруг символов: + = - ( ) , * / ' < > " Я понимаю, что они нужны для удобочитаемости кода, но я так пишу скрипты. Отредактировано ShadoW DaemoN, 17.02.2010 в 07:23. |
16.02.2010, 22:11 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Цитата:
FellGuard добавил: Учитывая число сохраняемых данных в хеш-таблице, лучше было бы всё затолкать в структуру, хотя дело вкуса. Хеш-таблицы не намного медленнее. |
|
17.02.2010, 07:07 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
хеш таблицы это для гуи на джаз структура + минимум хеш таблиц |
17.02.2010, 09:59 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mr_ILYAS
Kicked by XimikS
offline
Опыт:
492Активность: |
Кстати я структурами не умею, может кто научить или статью дать |
17.02.2010, 13:41 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|