BesitzeRuf
offline
Опыт:
560Активность: |
Таймеры и теория о них, помогите, кто сечет в них)
Всем привет, скажите как сделать так, чтобы я мог кастовать один и тот же спелл несколько раз, и чтобы все потом созданные юниты перемещались.Вот мой код (на БЖ пока не смотрите, не трогал их еще)
Вот как должно работать (главное чтобы все в одном триге было). И такЖ юнит кастует спелл. перед ним создается юнит, потом этого юнита я перемещаю каждые 0,01 сек на 10 по определенному углу ... все вроде как нормально, но как только я его еще раз кастану, полетит второй юнит а первый остановиться... ((( ПОМОГИТЕ плиз.. Отредактировано ScorpioT1001, 13.05.2010 в 13:21. |
12.05.2010, 23:56 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Правильно, при первом цикле таймера таблица очищается =\
Nekit1234007 добавил: Код ужасен офк. |
12.05.2010, 23:58 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
да нет же, она серым цветом (это комент)
BesitzeRuf добавил:
перемещение работает (я доделал.. тепреь и урон наносит и т.д.) но вопрос в другом!!! почему кастанув второй раз (пока летит первый шарик) полетит второй а первый остановится ??? переменные же локальные... BesitzeRuf добавил: Все тему можно офф, проблема была в udg_Hash функции InitHashTaable() .... я ее перенес в тригер инициализации мапы. все работает так как надо ( теперь со спокойной душой можно приводить код в порядок ))) Я просто не знал, но догадывался, что эта функция как-то обновляеи ХТ??? или я не прав? |
13.05.2010, 01:28 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
Зачем локальная хэш таблица? Одной на всю карту хватит ( хоть подавись ) Рекомендую к прочтению ( или перепрочтению ) |
13.05.2010, 04:12 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
При дальнейшем рассмотрении кода, упал.
Што это такое?! Вот из-за этого говнокода и идёт всё ясно куда. Ещё создаёшь кучи локальных одноразовых точек, их не удаляешь и не обнуляешь О_О |
13.05.2010, 07:54 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
BesitzeRuf:
здесь глобалка а должна быть локалка по идеи |
13.05.2010, 08:00 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
ей ей ей... знаюююю ))) но что ты хочешь, я в джассе начал недавно программировать....Еще нет своего стиля написания кода.... а с переменными, ну почему нельзя понять, что когда что-то не работает, то надо что-то делать... а когда не знаешь почему, делать приходится все. Даже такие глупые вещи ))). И еще, [b]_Red[/b], Одной таблицы на всю игру хватит??? То есть не зачем мне создавать еще пару глобальных ХТ (не знаю, просто есть ли вероятность того, что ИД хендла совпадут.... а точнее, если ХТ может быть полностью заполенна? Хотя сам понимаю, что при количестве в 12 игроков, будет сложно ее заполнить, применяя спелы ))) |
13.05.2010, 08:49 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Arty3ooo
...
offline
Опыт:
3,125Активность: |
Уже не смешно ребята... юзайте include brains.txt Про хеш убило...
и.. если GetHandleId(t) используется больше одного раза, логично занести его в локалку.. Цитата:
это как так.? объявление локалок должно происходить перед кодом... и ты утверждаешь что это работает? unit dummy = CreateUnit(.............) Начинай любить XY |
|
13.05.2010, 09:27 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
Так, то что вверху работает, так как это БЖ )) и я же написал в конце, не смотрите вы на них, я код потом правлю...... выложил "мокрый код" ... А что заносить в локалку ХЕШ??? |
13.05.2010, 10:29 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
хеш должен храниться в глобалке, в локальном хеше нет никакого смысла :) |
13.05.2010, 11:11 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
Вот доработанный код....
Кстати, почему ББ коды не работают? Отредактировано ScorpioT1001, 13.05.2010 в 13:21. |
13.05.2010, 12:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Потому что либо включай старый способ или используй новый [+] замечание от ScorpioT1001: надеюсь, это опечатка :)
Отредактировано ScorpioT1001, 13.05.2010 в 13:18. |
13.05.2010, 12:44 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Если ты не используешь сж тогда локалки можно объявлять только вверху функции. Утечек все равно море. |
13.05.2010, 14:36 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
St1mPi
offline
Опыт:
93Активность: |
Код:
вот ответ на твой вопрос: "Почему юнит стоит" Код:
убери все что с этим связано Код:
лучше так: local unit dummy = CreateNUnitsAtLoc( 1, 'e000', GetOwningPlayer(GetTriggerUnit()), u_loc, angle ) Код:
Хеш инициализируй при запуске карты и работай только с глобальным хешем. |
13.05.2010, 16:20 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
St1mPi:
Ага, такой же фейл был у свдна, посмотри хотябы, что эта функция возвращает. |
13.05.2010, 16:29 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
St1mPi
offline
Опыт:
93Активность: |
Nekit1234007,
я имел ввиду, что локалки обьявляются вначале кода |
13.05.2010, 16:35 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
Arty3ooo, я еще не такого уровня ))) И всеже, может написать, что надо исправить????
А St1mPi, какая разница где будут локалки? мне, что бы все не искать, проще все локалки, которым сразу значение можно присвоить отправить на верх... |
13.05.2010, 17:17 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
St1mPi
offline
Опыт:
93Активность: |
BesitzeRuf, твой код работает??
|
13.05.2010, 17:29 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
да, видео сделать?? причем теперь все правильно, то есть если все время не прерывно кастовать кастовать, то все и дамажит и летит и удаляется )) а почему ты думаешь, что он не должен работать? |
13.05.2010, 18:20 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
BesitzeRuf, потому что St1mPi, не знает что в Cjass можно объявлять локальные переменные где угодно, и не только |
13.05.2010, 18:58 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|