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

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

Ответ
 
dizel_inactive
D13`ZEL
offline
Опыт: 1,701
Активность:
Item Charges update
Как сделать, чтобы при покупки одних и тех же предметов увеличиволось не их кол-во в инвентаре, а кол-во зарядов (charges). Т.е. покупаю я зелье маны. Потом ещё одно. И теперь не два бутылька в инвентаре, а один, но с 2 зарядами, как такое сделать?
Геморойных способов не предлагать.
Старый 25.08.2004, 07:23
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Хм. В проекте Алекса я сделал такое одним триггером для всех видов предметов.Хотя сам по себе алгоритм не мой.
Если герой поднимает какой-нибудь предмет:
  1. Если у предмета нет зарядов - выход , в противном случае - продолжаем
  2. Заставляем героя бросить плднятый предмет (drop item)
  1. Определяем есть ли у героя другой артифакт типа поднятый предмет
  2. Если есть, то ставим число зарядов в имеющемся предмете равным числу зарядов в предмете + число зарядов в поднятом предмете
  3. Если нет, то создаем предмет с тем же числом зарядов, что и в поднимаемом предмете
  4. Удаляем поднимаемый предмет из игры.

Отредактировано Sergey, 25.08.2004 в 09:41.
Старый 25.08.2004, 09:30
X-monster

offline
Опыт: 15,699
Активность:
Только геморрой в том, что нужно создавать итемы с 1,2,3,4,5 и т.д. зарядами. А дизель просил без геморроя:)
Старый 25.08.2004, 10:33
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Итему по любому должны быть с зарядами - иначе как их складывать? Это не геморр, а требование проф. пригодности :)
Старый 25.08.2004, 11:31
X-monster

offline
Опыт: 15,699
Активность:
А как насчёт сделать невидимого юнита который несколько раз юзает зелье с 10 зарядами? Потом дропает его и даёт герою. Достаточно одного предмета с достаточно большим кол-вом зарядов
Старый 25.08.2004, 11:55
zibada

offline
Опыт: отключен
Цитата:
4. Если нет, то создаем предмет с тем же числом зарядов, что и в поднимаемом предмете
5. Удаляем поднимаемый предмет из игры.

вообще не понял, а это зачем?!
Если взяли предмет, которого еще нет... так пусть так и добавится со всеми своими зарядами.
А если есть - делаем SetItemCharges(GetManipulatedItem(), GetItemCharges(GetManipulatedItem()) + GetItemCharges([другой итем такого же типа])) и все.. (сорри за джасс, то же самое можно легко сделать на обычных триггерах)
Старый 25.08.2004, 13:46
dizel_inactive
D13`ZEL
offline
Опыт: 1,701
Активность:
Sergey твой алоритм не может работать, тк не правильно срабатывает проверка ("Определяем есть ли у героя другой артифакт типа поднятый предмет" ), дело в том, что она не находит ДРУГОЙ предмет, а видит тот который подобрали. По крайней мере через триггеры не получится, сам проверял... И ещё, почему я ставлю drop item в начале и игра просто напросто вылитает и не выдает при этом никаких сообщений???

X-monster наврят ли такое получится, особенно когда надо много предметов купить за 1 момент...

Вобщем снова геморой получился, блин.......

[D]iZe/\ добавил:
Как сделать имено ДРУГОЙ предмет того го же типа???
Старый 25.08.2004, 13:51
Sergey
Старейший
offline
Опыт: 44,363
Активность:

Да все она находит. Если есть желание - глянь проект Алекса, хотя на нашем форуме есть только устаревшая версия (там ведется обработка каждого типа предмета по отдельности). Тема WOW где-то в картах.
Старый 25.08.2004, 20:49
shang tsung
Пандарен Шодо
offline
Опыт: 3,502
Активность:
я тоже пробовал и тоже правда вылетает1
Старый 26.08.2004, 00:36
D.RUid
True Neutral
offline
Опыт: 104
Активность:
А у меня все пахало и до этого топика :D правда, драл я эту наработку непосредственно из WoW, если там убрать проверку на тип предмета, то будет работать с любыми, лишь бы у них заряды были.. Иногда, правда, сильно хочется эту кучку поделить на пару-тройку более мелких, но это уже проще (хотя если по умному делать, то тоже подумать, видимо, придется)) )
Старый 26.08.2004, 19:47
X-Error-X
"Питомец" XGM
offline
Опыт: 1,525
Активность:
я-же это делал!!! вот: мана и жизни до 20 штук в одном!
Старый 27.08.2004, 01:09
dizel_inactive
D13`ZEL
offline
Опыт: 1,701
Активность:
Чувак ты с какой планеты упал????????????? Я реально афуел когда увидел 20 бутылков и 30 триггеров. Заряды у бутыльков можно легко менять через триггеры. Нет, твой способ не подходит, ты представляешь какой гемор будет, если мне нужны все предметы у которых есть заряды.....
Старый 27.08.2004, 09:22
X-Error-X
"Питомец" XGM
offline
Опыт: 1,525
Активность:
Во первых я ни откуда не падал ;) ну поробуй сделать так чтобы все это работало...
Старый 27.08.2004, 17:40
dizel_inactive
D13`ZEL
offline
Опыт: 1,701
Активность:
Я не знаю как:)
Старый 27.08.2004, 17:48
X-Error-X
"Питомец" XGM
offline
Опыт: 1,525
Активность:
вово ) мой вариант хоть очень мудреный и большой но зато работает )))))
Старый 27.08.2004, 17:52
remal
нечто
offline
Опыт: 2,087
Активность:
1)вам же русским языком написали!
2)Sergey, извени, но удалять предмет надо в конце, а не в начале, это ускорит алгоритм
3)основные траблы(а): дело в том, что при передаче предмета и тд заряды, кот устанавливались триггером НЕ сохраняются, поэтому наилучшим вариантом было бю сделать всё это ч/з Custom Value - в нём просто сохраняете кол-во зарядов.

писать алгоритм полностью не буду по одной простой причине: я проггер и считаю, что этого должно быть достаточно. от дальнейших коментов воздержусь.
Старый 28.08.2004, 12:44
Sergey
Старейший
offline
Опыт: 44,363
Активность:
<Вздох> пока не покажешь - хоть убейся, ничего не объяснишь.
remal - предмет удаялется и так в самом конце алгоритма. Что касается обнуления зарядов, установленных триггерами, скорее всего это миф. Видел я в одном месте это обнуление - оно было вызвано просто неправильной алгоритмизацией. Во всяком случае на карте Алекса этой проблемы не возникло.
Старый 28.08.2004, 13:43
vlad_C0M
Босс DarkSkyTeam
offline
Опыт: 10,459
Активность:
Sergey : Есть идея ...... Куда писать? В секретные наработки или Сюда????!
Старый 30.08.2004, 15:54
Sergey
Старейший
offline
Опыт: 44,363
Активность:
В секретные или в ЛС. В аське я все равно сейчас не могу появиться... И не знаю, когда смогу.
Старый 30.08.2004, 17:59
dizel_inactive
D13`ZEL
offline
Опыт: 1,701
Активность:
Большое спасибо Sergey
Старый 31.08.2004, 05:48
Ответ

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

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

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

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



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