FellGuard
Losyash
offline
Опыт:
39,547Активность: |
RemoveItem bug
ВступлениеРечь пойдет в данной теме об очередном чудодейственном баге в игрушке Варкрафт. Баг был обнаружен в прошлом году, когда Jon выложил пример по отлову стоимости предмета, но не был "рентабильным". Почему - объясню дальше По сути багаПо своему действию баг напоминает свойства спеллбука Сергея, тоесть позваляет добавлять способности юнитам, не занимающие места на интерфэйсе. Плюсы
Минусы
Аспекты
МеханизмПринцип работы простой - при покупке предмета в лавке, очевидно, существует отличный от Create & GiveItemToHero механизм создания предмета для героя - если мы уберем предмет из игры RemoveItem при событии продажи предмета из лавки EVENT_PLAYER_UNIT_SELL_ITEM предмет удаляется, НО абила предмета остается у героя . Очевидно при реакции сначала создается абила, а потом добавляется предмет, предмет мы убираем, не создав а абила успевает проскочить, не будучи привязаной к предмету. Нерентабельным этот баг был до поры, пока Warden не выложил функцию по триггерной продаже предмета из лавки, так что мы теперь можем спрятав магазин и увеличив радиус определения героя для магазина мы можем сэмулировать добавление абилы нашим багом. Более полно в карте Отписывайтесь по механизму, ведь механизм еще почти неисследован. Отредактировано FellGuard, 11.04.2007 в 09:16. |
16.02.2007, 17:04 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
61,843Активность: |
С системкой знаком) Всем советую втыкать... Пока научились юзать только пасивки, но мб и до активок ухитримся... Красную стрелочку пофиксил? |
16.02.2007, 17:31 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Нед, стрелочка нужна для определения героя - которому даем абилу. При селекте др. героя стрелочка переключается
FellGuard добавил: Думаю стрелку убрать легко. Для справки - вся соль системы в Функции Код:
|
16.02.2007, 17:35 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
61,843Активность: |
Я подумал убрать то ее легко, но вот убрать так чтобы обычные стрелочки от магазина остались работать это уже проблема... |
16.02.2007, 17:39 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
А, ты об способности для стандартных и нестандартных магазинов Ну этот трабл решается созданием нестандартной абилы Выбрать героя
FellGuard добавил: Мой косяк, должен был пофиксить FellGuard добавил: Вапще уже из сэмпла видно, как можно добавлять всевозможные бонусы :) Имхо играбельный получился сэмпл FellGuard добавил: Простите за нескромность) |
16.02.2007, 17:50 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bladehamster
offline
Опыт:
3,660Активность: |
хмм лол... в этом случае активные абилы будут работать на кнопочки нампада (1-7) |
16.02.2007, 17:55 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Не будут. Проверено. Аесли бы работали - вот вам идеи по управлению юнитами :)
FellGuard добавил: О, нашел еще один плюс - ауры стакаются :) Это конечно useless, но теперь нет проблем со стаканьем сфер и эффектов - помните сколько было вопросов по поводу. FellGuard добавил: Хм выяснилось по сферам - атака и эффект суммируются, но вот сфера проклятия ведет себя неадекватно - после добавления второй раз сфера перестает проклинать врагов при атаке и начинает проклинать атакованых друзей :) Отредактировано FellGuard, 09.05.2007 в 23:53. |
16.02.2007, 18:31 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
дело в том что система работает с запозданием во первых на событие выбора юнита игроком, во вторых на определение шопом героя.
Собственно что и было ранее определено.
ну и само собой из за этих задержек одним шопом 2 игрока свободно пользоваться не смогут.
про не пассивки...
вроде как можно их юзать через ордер айди, для теста достаточно дать абилу основаную на той что у юнита уже есть, как вам известно абилы накладываются, и скорее всего юнит применит скрытую абилу, тут та и ордер айди можно будет поймать |
16.02.2007, 18:31 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Если б ты помог - у меня толи руки кривые толи я просто не смог отследить ордер. Ни order ни orderById здесь не подходят.
Нетрат вродебы сейчас занимется тестом на каст ордеры, но в варе механизм юзания предмета идет через native UnitUseItem - она в отношении и ордера, и ид предмета, и абилы не имеет эффекта - как и IssueOrder:\. По поводу героя - просто к каждому герою аттачить по магазину, это не трудно. Да и при смене владельца путем IssueNeutralTargetOrder(u, "smart", target) проходит меньше 0.1 |
16.02.2007, 18:36 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Еще минус - на присвоение абилы требуется время, то есть по циклу это сделать не получится
NETRAT добавил: Нет, ничем я щаз не занимаюсь - это я вам предложил проверить все абилы (нацеленные, ненацеленные, автокаст) на ордеры |
16.02.2007, 18:42 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Если ты о тормозах при присвоении абилы с предметом первый раз герою - это решается добавлением предметов до начала игры какому-нибудь герою с последующим перемещением их из инвентаря и из игры - preload.
Если ты по stock regen. - то значение 0 в пополнении стока делает покупку не столь тормозной FellGuard добавил: Ну а лууп наверное правда будет подтормаживать. |
16.02.2007, 18:45 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
дело в том что ВСЁ имеет приказ, даже когда крипы спать ложатсяониполучают приказ на сон, когда юнит оглушен онполучает приказ на стун |
16.02.2007, 19:03 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Слышал :) Вот как их еще ловить.. Из триггеров за юз предмета отвечает
UnitUseItem. Очевидно, нативка берет либо предмет, либо его абиллист. Это плохо, итем то у нас отсутствует :\ |
16.02.2007, 19:19 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AnD
Weighted Companion Cube
offline
Опыт:
7,401Активность: |
с фантазией у мну тяжко... но подскажите пару вещей в РПГ где мона сию фичу заюзать? |
17.02.2007, 13:47 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
61,843Активность: |
Добавление спеллов которые невидимы для игрока в неограниченном количестве... |
17.02.2007, 13:53 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Нашел еще особенности - поверх уже добавленной нашим методом копии абилы, триггерно (вместе с интерфэйсом) добавить такуюже не получится - надо ремувить все копии. Поверх триггерной "графической" абилы, нашим методом копии спокойно накладываются.
Цитата:
Узнать текущий уровень абилы можно так же, тупо триггером :) Level of Ability for unit(гуи) или GetAbilityLevel() FellGuard добавил: Вместе с этим известием приходит и известие о возможности добавления кастуемых абил Тоесть, когда я проверял уовень не пассивок после добавления он был равен 1. Осталось только вычислить ордер приказа.. Отредактировано FellGuard, 17.02.2007 в 15:15. |
|
17.02.2007, 14:58 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Warden
:::...
offline
Опыт:
21,706Активность: |
FellGuard - зацени : http://xgm.guru/forum/attachment.php?attachmentid=18643
|
06.08.2007, 13:50 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|