Немного похож на Леди Пустоту (вот ее лучше чуть реворкнуть и апнуть, она все-таки один из лучших героев сабжа с его старта, у меня уже была мысль нарезать ей антиспиральные звуки из Гуррен-Лаганна, при ульте там "Бесконечного большого взрыва - шторм!!!" и т. п., пока руки не доходят).
Из ванписа пока в BFS есть следующее:
Герой Луффи (альт Plastic Man) - правда, моделька чуть размытая, мб заменю, зато православно растягивается;
Герой Зоро (альты пост-таймскиповский и чиби версия), модельки норм, особенно основная;
альт-аватар Фрэнки (один из альтов Механика, ну который с моделькой тинкера), правда, моделька там мальца так себе;
альт-аватар Санджи (один из альтов Полиматрицы, ну она тоже ногами жи дерется), моделька норм, звуки от драконоястреба :D - мб потом сделаю его собственные, система уже есть;
Обдумывается Чоппер (с наибольшей вероятностью если кто из мугивар будет следующим, то он); частично взять от Лулу из Лиги - ульта типа кидает рамбл болл в союзника, союзник звереет, увеличивается в размерах, враги от него отталкиваются. И вот мб Боа Хэнкок будет с чем-нибудь типа спеллов Афродиты из Смайта + отчасти своих по мульту, для нее есть классные моделька и эффекты и иконки на тему любви, а звуки прямо из мульта порезать.
Про других мугивар хз. И музыкант, и скелет уже поюзаны в разных вариациях. Идеи Нами (волшебство с погодой, любовь к деньгам) тоже уже рассыпаны. Робин сложно реализовать в плане эффектов и скиллсет ей продумать. Усопп - пока максимум додумывались модифицированные спеллы Windranger (а что, вполне ему подходит по идее, третьей сматываться, остальным стрелять).
В общем, ванпис все же не единственный в Мультивселенной, а, блин, делать все сложнее, чем придумывать, ну время покажет.
Мета (пусть и сиречь игра с AI) сейчас ореховая. Орех на дохрена героев тащит. Ща только что гонялся орех на Мастере Клинка, + еще две рапиры и тапки и Круциатос (который типа дезоль). Расклад такой: если вовремя прожимает орех, инвиз, подбегает за 4 сек. и делает удар, то со следующего и убивает. Но и сам с 2 ударов дохнет, так что мб лучше орехом себя сразу и прикончить. Орех вообще топ 1 шмотка, которая в MOBA когда-либо существовала:
Acorn of Yggdrasil
+200 к макс. мане
Рагнарёк: пассивно, не суммируется - добавляет 1% Магической Воли за 2% отсутствующего здоровья.
Активно - потерять 400 здоровья (стоит -400 маны).
Магическая Воля - это повышает ваш дамаг в % маг. уроном по вражеским героям. Т. е. азарт ппц - чем меньше хитов у тебя, тем больше дамажишь. Еще круче, что орехом и засуицидиться можно (сиречь активкой).
Рубишь врага, рубишь другого, а Комментатор орет из видеоклипа
"Какие люди в Голливуде!
Сплошные звезды, а не люди,
Сплошной о'кей и вери гуд,
Нас приглашают в Голливуд!"
А участвуют во всем этом Марио, Луффи, Зоро, антропорфная пчела, Чо'Галл, летающая змейка с крылышками, Потерявшиеся Викинги и герой на основе MTG-шной колоды High Tide.
Топ кайф мира, ни одно запрещенное вещество не заменит.
Игра, где есть ВСЕ ВМЕСТЕ ЛЮБИМЫЕ КАЙФОВЫЕ ОЩУЩЕНИЯ.
Не сделаешь себе идеальный кайф сам, никто тебе не сделает!
Nosferoh, спасибо, только как-то по скрину лицо маской кажется. Какую-то жизнь бы в нем, эмоцию (хотя надо смотреть, как в игре будет в движении). Но все равно респект за старание.
Свой вариант уже есть (просто чуть подкорректированная текстура силлитида, в часть изображения копипастнуто лицо с той картинки вместо силлитидовского "лица"), довольно неплохо вышло, но если этот вариант доделать, он будет лучше.
Хотя бы просто зрачки в глазах, а не белые глаза, уже круто будет.
Я им тоже хорошо не владею. Но тут просто. Открываешь файл изображения, жмешь Ctrl + U, меняешь цвета (там просто мышкой водить). Все, реколор делается элементарно, а получается иногда очень красиво, бояться не надо.
Кстати, был где-то вроде же онлайн фотошоп, а, да, вот-вот же
Вот тебе красная мощь гор за 30 секунд через него: www.imageup.ru/img273/2646352/redmountainmight.jpg?nc
Тут вообще кучу иконок вара можно красиво перекрасить. Такое не годится как контент для распространения, потому что слишком просто сделать, но как контент для личного пользования - очень хорошо.
function SyncReal takes player p, real val returns real
if (GetLocalPlayer() == p) then
call StoreReal(cache, , , val)
endif
call TriggerSyncStart()
if (GetLocalPlayer() == p) then
call SyncStoredReal(cache, , )
endif
call TriggerSleepAction(2.)
call TriggerSyncReady()
return GetStoredReal(cache, , )
endfunction
function MySpell takes nothing returns nothing
local player p = GetOwningPlayer(GetTriggerUnit())
local real XCoord = SyncReal(p, GetMouseX())
local real YCoord = SyncReal(p, GetMouseY())
А как в таком случае вообще работает триггерслип? Ведь реалки в функции MySpell объявляются сверху. Если она, например, срабатывает на приведение способности в действие, то, пока синхронизация не пройдет, триг вообще действовать не будет у всех игроков? Т. е. там может задержаться после каста спелла его эффект на 3-4 сек, НО потом будет синхронизация БЕЗ десинка?
Тут было очень многобукаф, но все они удалены за ненадобностью.
Короче, если кто поможет сделать из этого кода (вываренного на основе изученной информации) то, что нам выдает в нижние реалки координаты мыши от контроллера юнита - спс.
Потому что сейчас очень сомневаюсь, что все как надо, но дальше котел уже не варит и до НГ конкретно не хочет, другие дела есть важные.
Но также есть и уверенность, что для знающего человека исправить - макс. несколько минут.
function SyncReal takes player p, real val returns real
if (GetLocalPlayer() == p) then
call StoreReal(cache, , , val)
endif
call TriggerSyncStart()
if (GetLocalPlayer() == p) then
call SyncStoredReal(cache, , )
endif
call TriggerSyncReady()
return GetStoredReal(cache, , )
endfunction
function MySpell takes nothing returns nothing
local player p = GetOwningPlayer(GetTriggerUnit())
local real XCoord = SyncReal(p, GetMouseX())
local real YCoord = SyncReal(p, GetMouseY())
Работает на всех, писали уже.
Верно понимаю, что GetMouseX, GetMouseY, GetMouseZ у разных игроков отлавливается по-разному и может вызвать десинк в сетевой при неправильном применении? То есть если я, например, по этим числам выведу координаты точки и использую ее для перемещения или создания объекта или определения направления - десинк, гг?
Скажу спасибо за образец кода, дающий возможность определить координаты мыши только для овнера определенного юнита без десинка в сетевой (ну чтоб там стрелять в направлении мыши, например).
Если условия нет, то имхо проще всех делать неуязвимыми через давание Avul и просто проверять наличие абилки.
Только лучше еще call UnitMakeAbilityPermanent использовать, а то морфы всякие удалят Avul.
Понятно, ладно, пока из всего остановлюсь на своем варианте выше, альтернативы приняты во внимание
Если вдруг у кого будут еще идеи - спасибо
Для себя все-таки тут подытожу недостатки собственного варианта:
Фактически происходит движение цели с места примерно на полсекунду, хотя в это время она и неуязвима и размер модельки обнулён, но если где-то есть что-то, что все равно может стриггериться на факт ее перемещения, оно пройдет. Так что лучше как-то это отразить в описании заклинания будет...
Надо там допрописать условия на все ордеры целевых спеллов (но это уже фигня, один раз пропишешь и готово).
Заклинания с нестандартно специально большим каст таймом и, ятп, чаннелы в пролете, но пох, фича.
Зато преимущества:
Работает со всеми заклинаниями в принципе, втч вновь создаваемыми и триггерными, если у них целевые Id стандартные.
По крайней мере эффекты молнии успевают красиво прорисоваться на все расстояние.
Корректно идет, что кастил именно наш герой и урон и все эффекты, соответственно, тоже от него.
Если эффект клэпа в момент полусекундного "пропадания" героя при касте не устраивает, он легко и безутечно заменяется на любой нужный.
А так все действует.
Теперь только при активации заклинания "все спеллы союзников действуют на всю карту" баффать союзников на время нестандартным баффом и в ифзенэлсах подобного триггера ещё добавить проверку на наличие этого баффа. Ну и в идеале подобный триггер включать или вообще создавать только на время действия подобного заклинания и регистрировать в нем только нужные объекты, чтобы постоянно он не нагружал карту проверкой на каждый ордер (а в тесткарте офк простейший неоптимальный вариант, но действенный).
"все время от spell_channel до spell_effect кастер должен ьбыть в ренже"
Понятно, спасибо. Значит, чаннелы обламываются, но это тоже еще ладно.
Ну так что насчет ячейки памяти?
Вот уже таки запилена собственная реализация через движение без мемхака - СМ. КАРТУ. Там на 3 ордера, расширяется изи.
Ну приемлемо. Но... в общем, смотрите сами недостатки. И чуть не полсекунды надо на некоторые спеллы кастеров держать, а то не успевают (хотя там мб можно играться с касттаймом, но хз). Зато молнии успевают разрисоваться на всю длину, как и желалось. Чисто так на четыре с минусом пойдет, но вот прямо сейчас в таком виде пилить не очень вдохновляет...
Файл
С даммиком там свои замороки будут, хочется, чтобы источником урона был герой, а не даммик, хочется, чтобы цепка от исходной точки через всю карту красиво шла.
А с движением у меня задумка такая:
Вот, допустим, зевс должен скастовать chain lightning на неогр. дистанцию.
Отлавливается, что герою отдается приказ chainlightning или как там его (ну уж для приказов целевых заклинаний БД запилить можно)
Зевс сразу же через координаты X/Y перемещается в позицию врага (чтобы, значит, дальности ему хватило, а приказ-то он получил и сразу кастить на врага типа пошел).
Вот тут главный вопрос - не тестировалось: сколько ему надо будет времени, чтобы замахнуться для каста и можно ли его сразу же или хотя бы через 0.01-0.05 секунды (не больше) переместить обратно в старые координаты X/Y. Чтобы скрыть и сгладить факт перемещения, на момент перемещения его можно сделать неуязвимым (чтобы всякие ульты бладсикера без подстраховочной части в коде не разрывали пополам) и модель прозрачной, а в исходной позиции создать типа эффекта какого-нибудь сияющего на те 0.01-0.05 секунды, откуда он там пропадет.
По истечению этого времени (в идеале 0 сек., приемлемо хотя бы не больше 0.2 сек.) переместить обратно по координатам X/Y.
Как я понимаю, это ДОЛЖНО работать, но в данном варианте вопрос в 2 вещах:
Насколько ему долго нужно ждать будет, чтобы замахнуться заклинанием и потом его можно было перемещать обратно, а заклинание не прервалось.
Насколько это в итоге все будет естественно смотреться для всех заклинаний, можно ли его так телепортнуть, чтобы реально он "моргнул" лишь на долю секунды и чтобы молния прорисовалась на всю дистанцию - т. е. он переместился, юзнул, обратно телепортировался, но для игрока это все почти не заметно, а эффект молнии успел продержаться от его руки и видимым что типа через всю дистанцию пролетел.
^ Не очень удобно, но некий смысл есть, ладно, в возможные варианты в крайнем случае
А что насчет варианта быстро двигать кастера туда-обратно по координатам после отлова приказа абилки?
Да так вот в том и прикол, что по Range вижу там только рендж атаки. Кстати, по-моему, эта функция у меня почему-то пока не работает (в РО дальность получения приказа выворачивалась на максимум - все равно рендж атаки не рос), но это уже оффтоп, мне сейчас безлимитный рендж каста интересен, а не рендж атаки.
В РО-то можно поставить безлимитный рендж абилки запросто. Но по умолчанию-то они должны быть с ограниченным ренджем!
Насколько я понимаю идею мемхака, раз в РО у абилки есть поле - должно быть и отвечающее за него значение памяти. Его и спрашиваю.
Понятно, ну т. е. кулдаун считается в момент запуска и потом со сменой времени перезарядки абилы уже пропорционально не меняется
Лучше и логичнее было бы, имхо, чтобы он пропорционально менялся, ну сойдет и так, спасибо, один хрен тут поле непаханое - можно, например, значение перезарядки абилы добавлять/убавлять к атаке и т. п., столько комб и идей, ну а основная идея - ппц повышать врагам перезарядки на время и понемногу постепенно, чтобы они вроде и не под салом были, а сделать НИЧО ПОЧТИ НЕ МОГЛИ ))) Ну и своим снижать, чтобы все раскастовывались как бристлбеки - кто когда говорил, что маги не лейт?
Офк баланс, да, ну тут уже бкб и антимагии всякие должны помогать
Запомнить как реалку перезарядку этой способности.
Через SetAbilityCD немедленно изменить ей перезарядку на 2 секунды (тогда, ятп, она успеет начать считаться как новое).
Через 0.2 секунды вернуть ей то значение перезарядки, которое было, из запомненной реалки.
Тогда перезарядка в этот раз уже пойдет как 2 секунды, но GetAbilityCD будет возвращать 10 (ну уже через те самые 0.2 секунды, когда перезарядка "фактически нормализуется на будущее").
Всё верно? Как понимаю, да.
Просто это можно ультовый бафф на союзника "все ваши способности перезаряжаются 2 секунды вместо действительной перезарядки". Ну или дебафф на врага, только там будет не 2 секунды, а 30 каких-нибудь.
P. S. Какого панциря даже через много дней последовательные сообщения от одного юзера склеиваются? Нелогично, да и правильность их плюсо-минусовой оценки тогда может быть сомнительной, оценивалось-то самое первое.
А где wait бывает полезен?
А то, например, алкоголь, удар по голове с размаху, змеиный яд иногда (в определенных ситуациях и/или количестве) тоже бывают полезны, но обычно есть куда лучшие способы достичь желаемого
Тогда это будет действовать на всех юнитов этого игрока сразу. А ТСу вряд ли так надо.
А что не получается-то? Все должно действовать, убрал при касте абилу и сразу добавил новую, не надо вейтов и прочей ереси.
Есть абила с перезарядкой 40 сек. Заюзалась у какого-то юнита. Её перезарядка дошла до половины, т. е. осталось бы 20 сек. по-нормальному и 20 сек. прошло, и в этот момент с помощью SetAbilityCD перезарядка этой абилы на этом уровне меняется с 40 секунд до 20 секунд. Через сколько секунд именно в этот раз у этого юнита завершится перезарядка этой абилы?
PS Предполагаемые мной варианты ответов:
двадцать
десять (склоняюсь к этому, и именно так было бы лучше и логичнее всего, хотя вообще допускаю все три варианта и все они приемлемы)
ноль
Важно, бо планирую мутить целого героя на замутах с перезарядками.
Но если есть желающие умельцы вытаскивать модели из ХотСа и переводить в вароформат, то я дико плюсую, тоже надо (хотя уже не Чо'Галла), более того, даже есть вариант предложить оплату, в перспективе большую, желающие пишите в ЛС, мб обсудим
» WarCraft 3 / Battle for Souls 3.2b
» WarCraft 3 / Battle for Souls 3.2b
Рагнарёк: пассивно, не суммируется - добавляет 1% Магической Воли за 2% отсутствующего здоровья.
Активно - потерять 400 здоровья (стоит -400 маны).
Сплошные звезды, а не люди,
Сплошной о'кей и вери гуд,
Нас приглашают в Голливуд!"
Игра, где есть ВСЕ ВМЕСТЕ ЛЮБИМЫЕ КАЙФОВЫЕ ОЩУЩЕНИЯ.
Ред. ClotPh
» WarCraft 3 / Нужна модель? - Вам сюда!
Хотя бы просто зрачки в глазах, а не белые глаза, уже круто будет.
» WarCraft 3 / Иконки на заказ
» WarCraft 3 / Иконки на заказ
Кстати, был где-то вроде же онлайн фотошоп, а, да, вот-вот же
Тут вообще кучу иконок вара можно красиво перекрасить. Такое не годится как контент для распространения, потому что слишком просто сделать, но как контент для личного пользования - очень хорошо.
» WarCraft 3 / Иконки на заказ
И можно их через Ctrl + U перефотошопить в нужный цвет.
Достаточно красиво и очень легко.
» WarCraft 3 / Хочу создать AoS карту + нужна наработка)
» WarCraft 3 / Как поменять эффект области у способности?
Попробуй, мб действительно так.
» WarCraft 3 / Хак на память Warcraft3
gamecache cache = InitGameCache("cache")
endglobals
if (GetLocalPlayer() == p) then
call StoreReal(cache, , , val)
endif
call TriggerSyncStart()
if (GetLocalPlayer() == p) then
call SyncStoredReal(cache, , )
endif
call TriggerSleepAction(2.)
call TriggerSyncReady()
return GetStoredReal(cache, , )
endfunction
local player p = GetOwningPlayer(GetTriggerUnit())
local real XCoord = SyncReal(p, GetMouseX())
local real YCoord = SyncReal(p, GetMouseY())
» WarCraft 3 / Хак на память Warcraft3
Короче, если кто поможет сделать из этого кода (вываренного на основе изученной информации) то, что нам выдает в нижние реалки координаты мыши от контроллера юнита - спс.
Потому что сейчас очень сомневаюсь, что все как надо, но дальше котел уже не варит и до НГ конкретно не хочет, другие дела есть важные.
Но также есть и уверенность, что для знающего человека исправить - макс. несколько минут.
gamecache cache = InitGameCache("cache")
endglobals
if (GetLocalPlayer() == p) then
call StoreReal(cache, , , val)
endif
call TriggerSyncStart()
if (GetLocalPlayer() == p) then
call SyncStoredReal(cache, , )
endif
call TriggerSyncReady()
return GetStoredReal(cache, , )
endfunction
local player p = GetOwningPlayer(GetTriggerUnit())
local real XCoord = SyncReal(p, GetMouseX())
local real YCoord = SyncReal(p, GetMouseY())
» WarCraft 3 / Хак на память Warcraft3
Верно понимаю, что GetMouseX, GetMouseY, GetMouseZ у разных игроков отлавливается по-разному и может вызвать десинк в сетевой при неправильном применении? То есть если я, например, по этим числам выведу координаты точки и использую ее для перемещения или создания объекта или определения направления - десинк, гг?
Скажу спасибо за образец кода, дающий возможность определить координаты мыши только для овнера определенного юнита без десинка в сетевой (ну чтоб там стрелять в направлении мыши, например).
» WarCraft 3 / Ребята, как отследить неуязвимого юнита?
Только лучше еще call UnitMakeAbilityPermanent использовать, а то морфы всякие удалят Avul.
Ред. ClotPh
» WarCraft 3 / Неограниченный рендж каста
Если вдруг у кого будут еще идеи - спасибо
Для себя все-таки тут подытожу недостатки собственного варианта:
Ред. ClotPh
» WarCraft 3 / Неограниченный рендж каста
Ну так что насчет ячейки памяти?
Ну приемлемо. Но... в общем, смотрите сами недостатки. И чуть не полсекунды надо на некоторые спеллы кастеров держать, а то не успевают (хотя там мб можно играться с касттаймом, но хз). Зато молнии успевают разрисоваться на всю длину, как и желалось. Чисто так на четыре с минусом пойдет, но вот прямо сейчас в таком виде пилить не очень вдохновляет...
Файл
» WarCraft 3 / Неограниченный рендж каста
» WarCraft 3 / Неограниченный рендж каста
А что насчет варианта быстро двигать кастера туда-обратно по координатам после отлова приказа абилки?
» WarCraft 3 / Неограниченный рендж каста
» WarCraft 3 / Обратка против дальнего боя.
Ред. ClotPh
» WarCraft 3 / Хак на память Warcraft3
Лучше и логичнее было бы, имхо, чтобы он пропорционально менялся, ну сойдет и так, спасибо, один хрен тут поле непаханое - можно, например, значение перезарядки абилы добавлять/убавлять к атаке и т. п., столько комб и идей, ну а основная идея - ппц повышать врагам перезарядки на время и понемногу постепенно, чтобы они вроде и не под салом были, а сделать НИЧО ПОЧТИ НЕ МОГЛИ ))) Ну и своим снижать, чтобы все раскастовывались как бристлбеки - кто когда говорил, что маги не лейт?
Офк баланс, да, ну тут уже бкб и антимагии всякие должны помогать
Так, а если так:
P. S. Какого панциря даже через много дней последовательные сообщения от одного юзера склеиваются? Нелогично, да и правильность их плюсо-минусовой оценки тогда может быть сомнительной, оценивалось-то самое первое.
» WarCraft 3 / Способность не добавляется
А то, например, алкоголь, удар по голове с размаху, змеиный яд иногда (в определенных ситуациях и/или количестве) тоже бывают полезны, но обычно есть куда лучшие способы достичь желаемого
» WarCraft 3 / помогите создать спсобность
А что не получается-то? Все должно действовать, убрал при касте абилу и сразу добавил новую, не надо вейтов и прочей ереси.
» WarCraft 3 / Способность не добавляется
» WarCraft 3 / Хак на память Warcraft3
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Нужна модель? - Вам сюда!