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

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

Закрытая тема
 
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Темная мана
В поиске был, ссылку знаю, вот она
Для Диода - без пруфа или законченного смысла в фразах можешь тут не писать. Буду рад уйти в сало на пару недель, если ты сможешь решить задачу в поставленных условиях.

Проблема

Есть десяток (десять, 10, ten) героев сделаных на одной основе, у которых отличаются цвета, размеры, родители, любимые женщины, собака и прочее.
Есть способность Темный (Chaos, 'Srtt' у хуманов), которая позволяет превратить любого из 10 героев в другого любого из 10 героев.
Есть предметная способность "Предмет: Дополнительная мана (75)", которая единовременно и одноразово увеличивает максимальный запас маны героя.
Что делается:
Герой получает предметную способность на увеличение маны и увеличивает её вполне успешно. Не плохое начало.
Затем Герой получает Темного на превращение в свое другое альтер-эго. Тоже вполне не плохо.
Развязка: Превращенный герой имеет рак головного мозга в виде внезапно увеличившегося запаса маны.
Повторное вручение способности Темный герою на превращение в любое другое альтер-эго удваивает его предыдущий максимальный запас маны со случайным увеличением.

Что делалось

Способность повышения запаса маны делалась перманентной.
Способность повышения запаса маны была двухуровневой и удалялась после применения.
Способность повышения запаса маны добавлялась героям изначально через РО.
Способность повышения запаса маны добавлялась героям изначально через РО и делалась перманентной при инициализации.

Что не походит как решение

Использование другого морфа, за исключением морфа, схожего с Темным по действию и не имеющего бага с маной/хп.

Вопрос

Как решить проблему?

Отредактировано Fakov, 07.05.2013 в 01:43.
Старый 07.05.2013, 01:34
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
а отнимать после морфа такое же кол-во маны не вариант?
Старый 07.05.2013, 01:40
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Hate,
Повторное вручение способности Темный герою на превращение в любое другое альтер-эго удваивает его предыдущий максимальный запас маны со случайным увеличением.
все было бы просто, если бы это была хотя бы прогрессия. А получается раковидное сложение неведомых чисел
Старый 07.05.2013, 01:44
Ancient
Щпаовапа
offline
Опыт: 38,370
Активность:
Запоминаем кол-во маны до морфа, морфим, ставим нужное кол-во маны после морфа. (с) КЭП.
Старый 07.05.2013, 01:47
Bornikkeny
Silenced by Bornikkeny
offline
Опыт: 24,410
Активность:
Интересно, это случается лишь с маной? А как ведет себя способность увеличения здоровья?
Для Диода - без пруфа или законченного смысла в фразах можешь тут не писать. Буду рад уйти в сало на пару недель, если ты сможешь решить задачу в поставленных условиях.
Жизненно.
Старый 07.05.2013, 03:00
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
А как ведет себя способность увеличения здоровья
аналогично
Старый 07.05.2013, 03:01
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
тогда база данных которая держит значения бонусов мп от предметов и скилов, после морфа устанавливаем на фиксированное значение мп юнита (сумма всех бонусов) через системку
пробни)
Прикрепленные файлы
Тип файла: w3x UnitMaxState.w3x (10.1 Кбайт, 3 просмотров )
Старый 07.05.2013, 03:12
Bornikkeny
Silenced by Bornikkeny
offline
Опыт: 24,410
Активность:
Fakov, у меня была такая же проблема, когда я делал героя "Тролль из доты" (знаю-знаю, делал свою доту, молодой глупый...) со здоровьем, однако, я сделал вариант с установлением уровня способности "Увеличение здоровье". У меня где-то была эта карта мб удолил, но алгоритм такой:
  1. находить все предметы которые увеличивают ХП\МП
  2. установить уровень способности Увеличения на (Количество предметов+1)*Количество из первого пункта (на 1 увеличения нет).
^ может быть все что я писал - бред, но у меня работало.
Bornikkeny добавил:
Да кстати, я тут покурил по форуму, и любопытства ради почел следующее:
» кат
» 19. Как изменить имя персонажа в процессе игры и сменить его модель?
Sca1 (Темный)
Добавление воину способности “Темный” превращает его в боевую единицу типа, определенного в соответствующем поле способности. Это может использоваться для изменения какого-либо параметра, например, имени модели боевой единицы в процессе игры либо просто для выполнения трансформирующих способностей в сочетании с “Каналом”. Не забудьте очистить поле “Технологии – Требования” в настройках способности “Темный”. Единственная проблема этой способности состоит в том, что она добавляет текущее значение бонусов защиты, урона, здоровья и маны, полученных от предметов, ауры и показатели силы, ловкости и разума превращаемой боевой единицы результирующей боевой единице. Это означает, что идею трансформировать героев, нельзя назвать хорошей. Обычная же боевая единица не подвергается влиянию предметов и показателей силы, ловкости и разума, поэтому камнем преткновения являются баффы, полученные от аур. Эти баффы могут быть легко удалены перед превращением, а затем автоматически добавлены, поэтому это не проблема.
call UnitRemoveAbility(u, 'BHab')
call UnitRemoveAbility(u, 'BUau')
call UnitRemoveAbility(u, 'BUav')
call UnitRemoveAbility(u, 'BEah')
call UnitRemoveAbility(u, 'BHad')
call UnitRemoveAbility(u, 'BEar')
call UnitRemoveAbility(u, 'BOae')
call UnitRemoveAbility(u, 'BOac')
call UnitRemoveAbility(u, 'Bapl')
call UnitRemoveAbility(u, 'Bplg')
call UnitRemoveAbility(u, 'Boar')
call UnitRemoveAbility(u, 'Babr')
call UnitRemoveAbility(u, 'Bakb')
call UnitAddAbility(u, <chaos ability id>) // где <chaos ability id> - равкод способности на основе "Темный"
Этот скрипт удалит все баффы ауры перед применением способности "Темный". Если у Вас в карте имеются нестандартные баффы, необходимо удалить и их.
Старый 07.05.2013, 03:54
quq_CCCP
Я белый и пушистый!
online
Опыт: 93,449
Активность:
Fakov, а если добавлять ману альтернативным способом, спеллбук со всеми стаками маны как я делал в Damage Modify System, перед морфом удалять этот спеллбук и все лишнее у героя, а затем уже после морфа добавлять, другое в голову не лезет...
Старый 07.05.2013, 07:50
Borodach

offline
Опыт: 5,837
Активность:
Fakov, Способность "Тёмный" бажная, ее лучше не использовать, особенно к героям. Я давал морф иллидана, кастовал и сразу удалял...
Старый 07.05.2013, 09:32
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Про темный в faq я читал в оригинале питзермайка от 2006 года. Я просто рассчитываю что исключительные самородки таки решили эту проблему.
quq_CCCP, хитрый не проверенный способ, ничего не могу сказать.
Borodach, это рак, так как нужна абилка морфа, не требующая указания начальной формы.
Старый 07.05.2013, 11:14
quq_CCCP
Я белый и пушистый!
online
Опыт: 93,449
Активность:
Fakov, ну пусть custom value юнита будет номером структуры st, ты создал спеллбук, и добавил в него допустим 10 абилок, которые в зависимости от своего уровня будут давать определённое количество маны либо не давать её совсем, ты сохраняешь в структуру st ид спеллбука, и уровни способностей, таким образом у нас будет бд всего что есть у юнита на данный момент, перед морфом ты берёшь из структуры id спеллбука и удаляешь его у юнита, проводишь морф, после добавляешь получившемуся юниту спеллбук, устанавливаешь уровни способностей в спеллбуке так как они были записаны в структуре, усё...
Старый 07.05.2013, 11:35
Borodach

offline
Опыт: 5,837
Активность:
quq_CCCP:
не требующая указания начальной формы.
Используй триггерный реплейс
Старый 07.05.2013, 11:53
DioD

offline
Опыт: 45,134
Активность:
я на буду постить замечательный метод который много где есть и называется StripBonuses(unit), каждый раз перед тем как морфить юнита следует применять этот метод, а про 2 недели это хорошо, я подумаю постить или нет.
DioD добавил:
а нет всётаки буду, пожалуста, как в условиях топикстартера
DioD добавил:
Fakov:
В поиске был, ссылку знаю, вот она
Для Диода - без пруфа или законченного смысла в фразах можешь тут не писать. Буду рад уйти в сало на пару недель, если ты сможешь решить задачу в поставленных условиях.

Проблема

Есть десяток (десять, 10, ten) героев сделаных на одной основе, у которых отличаются цвета, размеры, родители, любимые женщины, собака и прочее.
Есть способность Темный (Chaos, 'Srtt' у хуманов), которая позволяет превратить любого из 10 героев в другого любого из 10 героев.
Есть предметная способность "Предмет: Дополнительная мана (75)", которая единовременно и одноразово увеличивает максимальный запас маны героя.
Что делается:
Герой получает предметную способность на увеличение маны и увеличивает её вполне успешно. Не плохое начало.
Затем Герой получает Темного на превращение в свое другое альтер-эго. Тоже вполне не плохо.
Развязка: Превращенный герой имеет рак головного мозга в виде внезапно увеличившегося запаса маны.
Повторное вручение способности Темный герою на превращение в любое другое альтер-эго удваивает его предыдущий максимальный запас маны со случайным увеличением.

Что делалось

Способность повышения запаса маны делалась перманентной.
Способность повышения запаса маны была двухуровневой и удалялась после применения.
Способность повышения запаса маны добавлялась героям изначально через РО.
Способность повышения запаса маны добавлялась героям изначально через РО и делалась перманентной при инициализации.

Что не походит как решение

Использование другого морфа, за исключением морфа, схожего с Темным по действию и не имеющего бага с маной/хп.

Вопрос

Как решить проблему?
Прикрепленные файлы
Тип файла: w3x RCSDM E0.00a.w3x (23.7 Кбайт, 9 просмотров )
Старый 07.05.2013, 14:23
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
o/

Как было дело

  1. Запустил
  2. Выбрал Пала
  3. Взял Палом шмот на ману и сырца
  4. Ввел 3 - сменилась шкурка, сменился запас маны.
  5. Выкинул шмот на ману - запас маны упал но не до первоначального значения.
  6. Опять поднял тот же шмот на ману - запас поднялся
  7. Ввел 1.
  8. Ввел 4.
  9. Ввел 2.
  10. ПОТРАЧЕНО.
ну давай, теперь рассказывай что не так сделали.
Старый 07.05.2013, 15:26
DioD

offline
Опыт: 45,134
Активность:
начнём с того что про вещи ты не говорил, часть кода про вещи откоменчена, абилка на 75 маны уже прописана у героев, если бы ты внимательно смотрел данные объектов то заметил бы это.
Старый 07.05.2013, 15:27
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Это та часть про вещи, которая откомменчена?
    //call SetHeroStr(u, 0, false)
    //call SetHeroAgi(u, 0, false)
    //call SetHeroInt(u, 0, false)
абилка на 75 маны уже прописана у героев, если бы ты внимательно смотрел данные объектов то заметил бы это.
Видел. Толку только с этого никакого.
Насчет предметов - офк не говорил. Но вручение способности герою вполне себе подразумевает ее получение через предмет.
Герой получает предметную способность на увеличение маны и увеличивает её вполне успешно. Не плохое начало.
Затем Герой получает Темного на превращение в свое другое альтер-эго. Тоже вполне не плохо.
Развязка: Превращенный герой имеет рак головного мозга в виде внезапно увеличившегося запаса маны.
Повторное вручение способности Темный герою на превращение в любое другое альтер-эго удваивает его предыдущий максимальный запас маны со случайным увеличением.
Хотя значения это особого не несет - попытка героя кастовать Темный, имея при этом один или несколько эффектов от способности 'Almv' дает тот результат, что я показал на скрине. Весь первый пост об этом если что.
Старый 07.05.2013, 15:39
DioD

offline
Опыт: 45,134
Активность:
Гы лол, я сделал в точном соответствии с инструкцией:
Герой получает предметную способность на увеличение маны и увеличивает её вполне успешно. Не плохое начало.
Способность повышения запаса маны добавлялась героям изначально через РО.
Про то что предмет должен добавлятся через инвентарь ни слова не сказано.
Вопрос по вещах в инвентаре решается вызовом
    call UnitRemoveAbility(u,'AInv')
до выдачи хаоса
Старый 07.05.2013, 15:56
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Код раковый, так как не решает поставленную задачу.
Поясню задачу еще раз.
есть герой. Ему в случайные моменты времени перепадает способность 'Almv'. Запас маны уже отличается от начального.
Потом в какой-то случайный момент времени герою перепадает способность Темный ('Sca6' или 'Srtt'). происходит перевоплощение, которое сопровождается несанкционированным изменением запаса маны. Если после этого герою продолжает перепадать способность "Темный", то мана увеличивается в прогрессии, чем то напоминающую геометрическую.
В следствие этого то что ты скинул - похоже на финт ушами, ибо не ясно - что дает добавленная изначально способность 'Almv' героям и какое волшебство происходит при касте темного.
» тут в принципе проблема была описана.
Есть десяток (десять, 10, ten) героев сделаных на одной основе, у которых отличаются цвета, размеры, родители, любимые женщины, собака и прочее.
Есть способность Темный (Chaos, 'Srtt' у хуманов), которая позволяет превратить любого из 10 героев в другого любого из 10 героев.
Есть предметная способность "Предмет: Дополнительная мана (75)", которая единовременно и одноразово увеличивает максимальный запас маны героя.
Что делается:
Герой получает предметную способность на увеличение маны и увеличивает её вполне успешно. Не плохое начало.
Затем Герой получает Темного на превращение в свое другое альтер-эго. Тоже вполне не плохо.
Развязка: Превращенный герой имеет рак головного мозга в виде внезапно увеличившегося запаса маны.
Повторное вручение способности Темный герою на превращение в любое другое альтер-эго удваивает его предыдущий максимальный запас маны со случайным увеличением.
Старый 07.05.2013, 16:10
JaBeN_Симфер

offline
Опыт: 20,050
Активность:
морф от FellGuard, который используется в моей карте
Прикрепленные файлы
Тип файла: w3x 2priest.w3x (14.1 Кбайт, 3 просмотров )
Старый 07.05.2013, 16:31
Закрытая тема

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

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

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

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



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