alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Отловить событие
Народ, что то я седня долго сижу уже в ВЕ и ни как не могу придумать, как отследить, что конкретный юнит дропнул какой-то предмет в какую-то точку. И сразу как еще заставить юнита дропнуть предмет в конкретную точку? Кустом инвентарь не предлагать.
|
04.03.2011, 11:50 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Вроде ивент был unit drop item, но хз коряво работало... Мб ордеры хукать... |
04.03.2011, 11:59 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
у меня хукаются все ордеры. И не происходит события с дропом предмета.
Дроп да есть такой, но он вроде срабатывает только когда айтем уже исчез из слота. А мне надо событие, когда ты выбрал предмет и далеко дропнул, он побежал. Что то типа Юнит начал выбрасывать предмет =) |
04.03.2011, 12:05 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
alexprey, это не отлавливается никак но можно поставить дистанцию выброса предмета (как-то так в константах) на всю карту и отлавливать событие дропа |
04.03.2011, 12:35 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Hanabishi, а координаты? А может как нить сделать, чтобы можно было дропать только под собой?
|
04.03.2011, 13:01 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Мона по-изварщенски периодически пикать итемы по всей карте) -> переход на кустом инвентарь... |
04.03.2011, 13:01 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
AdamanTX, видимо да придется переходить. Ну просто это такой гемор...
alexprey добавил: Hanabishi, а координаты то можно отследить =))) GetItemX(GetManipulatedItem()) О дааа... Но как то не круто дропать предмет по всей карте =) Ща попробую так сделать |
04.03.2011, 13:07 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Versus
Miss me?
offline
Опыт:
17,736Активность: |
Ничего не поделаешь... Попробуй сделать не через дроп, а через заклинание в предмете, целью которого является точка, тогда можно будет отловить цель заклинания, и потом мувить вручную куда угодно) |
04.03.2011, 13:08 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Хммм. Странно, когда пытаюсь взять координаты предмета, то меня выкидывает с игры
alexprey добавил: Вот такой вот код Код:
|
04.03.2011, 13:41 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
это происходит при попытке выяснить координаты, если предмет в инвентаре получается в этот момент предмет ещё в инвентаре нужно немного времени после события |
04.03.2011, 13:54 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
методом тыка нашел, что вылетает на этой функции call UnitAddItem(gg_unit_Hamg_0001,itm)
alexprey добавил: Парадокс, но чем дальше предмет от героя тем меньше расстояние Оо alexprey добавил: А координаты он походу возвращает старые, которые были у предмета, до того как он попал в инвентарь. Может Wait решит проблему? |
04.03.2011, 13:58 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
попробуй ждать 0.01
Hanabishi добавил: лучше таймером |
04.03.2011, 14:04 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Все подправил этот триг. Вот окончательный код, может кому пригодиться. Кст Wait в данном случае решает
Код:
alexprey добавил: Hanabishi, удивишься, но я ждал 0. сек |
04.03.2011, 14:04 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|