XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
iiiCpu

offline
Опыт: 509
Активность:
Трекайблы на 1.24
Насколько я знаю (нинасколько), все функции трекайблов так или иначе завязаны на багреторне. А его пофиксали... Подскажите недалёкому, как теперь использовать трекабли, быстро и (без)болезненно?
Старый 16.08.2009, 22:18
J
expert
offline
Опыт: 48,447
Активность:
какие функции? ты имеешь ввиду атачь на трекабл его позиции поворота модели и пр.? ну дык, это можно сделать и нативным рб
Старый 16.08.2009, 22:26
iiiCpu

offline
Опыт: 509
Активность:
да, про них. Хотелось бы минимум - создать, отловить событие и узнать, кто это был... из 200 штук. И вопрос 2: лучше по-прежднему хранить трэки в кеше или в хеш переносим?
Старый 16.08.2009, 22:31
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
iiiCpu, пока лучше затаиться и ждать, ждать пока близзы выпустят патч 1.24б.
Старый 16.08.2009, 22:55
iiiCpu

offline
Опыт: 509
Активность:
Hellfim, угу :)
Но я тут решил помацать комон и чёт неврубаюсь... Нет, Н2И они удачно заменили, но вот что-то GetHandleId как то странно работает... неважно. Но я ещё как-то неврубаюсь в работу этой хэша и треКАБЕЛЯ вместе... И смущает меня вот что: если использовать стандартный новый хэшовый способ, то трекабель мы не запоминаем, GetHandleId даёт число больше максимального интегера (8к). Получается, нужно использовать смещения \арифметику\ для записи. И что было бы быстрее: писать в кеш или считать в хэш? И менее проблемно: максимальные рамки хендлов трэкейблов я не знаю, а вдруг что...
Так, это ужос. Чем точнее я формулировал вопрос, тем меньше мне требовалось от вас в виде ответа =\
ЗЫ: выложите мне код тригера, ловящий наведение и нажатие на трекабель. не, вы не думайте, я не нуб, я нупп. Просто целые тригеры. 2 штука. без условий и действий. можно?
Старый 16.08.2009, 23:23
Ranger21
I love beatiul days XD
offline
Опыт: 13,274
Активность:
iiiCpu, вообще-то тут применяется метод вычитания из числа получаемого с помощью GetHandleId(H2I) минимального возможного числа хендлов.
А для размещения в массивы больше макс индекса применяются парралельные массивы, а можно просто реализовать перекидывание хендлов по разным массивам (Используя арифметику опять же).
Индексировать с помощью несколько массивов. =)
АХ чуть не забыл, в новом патче 1.24 у хэштаблиц нету ограничения и можно смело прямо использовать GetHandleId как ключ!
Старый 16.08.2009, 23:43
iiiCpu

offline
Опыт: 509
Активность:
Ranger21, ну, во-первых, патч не вышел до конца.
Во-вторых, пытался я записать в хэш переменную по адресу трекабла - хрен тебе, iiiCpu, дважды.
В-третьих, логично предположить, что лучше аккуратно использовать арифметику...
И в четвёртых, Я дождусь от вас помощи в виде РАБОЧЕГО ОДИНОЧНОГО ТРИГЕРА С СОБЫТИЕМ "СПАСИБО, ТЫКНУЛ!"??? _(сори за кэпсы)_
Старый 17.08.2009, 00:23
Ranger21
I love beatiul days XD
offline
Опыт: 13,274
Активность:
iiiCpu, Патч уже вышел оффициально, хэштаблицы работают отлично и все баги с ними исключительно из-за рук.
Или неправильного применения o_O
Старый 17.08.2009, 00:31
ZeToX2007

offline
Опыт: 7,009
Активность:
Например когда пишешь в ключах нули, возращает что то ужасное, хотя эти можно пользоваться.
Старый 17.08.2009, 01:37
iiiCpu

offline
Опыт: 509
Активность:
=_=
про нули приму на заметку. Опять баг, ИМХО.
всё ещё жду помощи в виде РАБОЧЕГО ОДИНОЧНОГО ТРИГЕРА С СОБЫТИЕМ "СПАСИБО, ТЫКНУЛ!"???
Старый 17.08.2009, 07:34
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
iiiCpu:
GetHandleId даёт число больше максимального интегера (8к).
ну у инта макс число не 8к =\
а по сути создай тракабль, запиши в переменную его номер и отнеми еденицу , это будет стартовый номер тракаблей , затем чтобы выдернуть что-то юзай GetHandleId( h ) - StartHandle, чо то типо таго
ELDAR добавил:
но запомни что при загрузке надо обновить число StartHandle , так как оно может изменится ( наверно оО )
Старый 17.08.2009, 10:47
J
expert
offline
Опыт: 48,447
Активность:
iiiCpu
максимального интегера (8к)
кто тебе сказал такую глупость, интегер в варе 32-ух битный, а значит может содержать значения от -2147483648 и до 2147483647
Во-вторых, пытался я записать в хэш переменную по адресу трекабла - хрен тебе,
значит плохо пытался, хеш это тоже самое что и кеш, один в один, просто них разные хеш функции, какое еще нафиг ограничение, да у них могут быть коэффициенты заполненности, но ограничение по размеру ключа у них откуда?...
ах и да... как сказал ELDAR делать не нужно
Старый 17.08.2009, 11:06
iiiCpu

offline
Опыт: 509
Активность:
угу, плоха пытался... сёня всё норм. А интегер я с массивом перепутал лимит ячеек =/ кароче нынче уже всё гут. хотя чувствую явные проблемы незнания структуры языка... Всем спасибо за обсуждение бреда =)
Старый 17.08.2009, 12:29
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:17.