Нужны деньги.
Нужны технологии.
Нужен харасс.
Нельзя просто иметь план развития и побеждать чисто из-за этого. Имхо, нет ничего стабильней ДК+лича с могильщиками. По началу все-равно особо не поубиваешь, хоть койлами похилить. Благо маны не шибко много жрут. Но на крестьян силёнок хватит даже у скелетов, да :) Не убить - так замедлить. Когда лич и хилящие дестры подъедут - уже пофиг будет на пехоту. Ну а на стрелков могильщикам априори пофиг. По крайней мере устроить экстерминатус возможному экспаншену точно можно. Если противник не вольет нужное количество золота в башни - не видать его паладину кача. Ну или своих рабов, тут уж какие у него приоритеты... Вольёт - пресуем, фармим нейтралов, выходим в летающих дестров. А там он вряд ли до грифонов доживет. Дешевле всего убивть дестров стрелками(ну и раскачанными героями-магами, с чем у такого паладина будет туго), а им нужны рыцари, иначе могильщики просто поплюют на них. А рыцарям нужны апгрейды брони. Да и стрелкам разок не лишним будет. А на апгрейды нужна древесина. Много древесины. И золота! :) А когда стрелки с рыцарями станут угрозой - готовый стак дестров будет просто откусывать куски от их базы.
Я бы определял принадлежность центров квадрата некой окружности. Не так интуитивно-однозначно как проверка принадлежности всех точек квадрата окружности, но гораздо удобнее с точки зрения реализации. Далее для каждой строки поочередно прогоняем алгоритм заливки(в случае, если заливка подразумевает заливку текстурой почвы - стоит учитывать что каждый квадрат почвы имеет размеры 32/32 и центры мелких квадратиков имеют смещение в 16.), закрашивая почву в пределах новоопределенных ректов. Поочередно построчно, т.к. возможно у вас возникнет ситуация черное-белое-черное-белое и вторая строка (если весь массив прогонять подряд, а не построчно) начнется с черного квадрата. Не вижу каких-либо вытекающих неудобств при разработке..
Перечитывал-перечитывал, но так и не понял что вы хотите получить в игре и с какими проблемами вы столкнулись. Возможно всё описанное логично, но, имхо, оно требует переформулировки.
Русификация вас погубит. Раздел Отряд работает с группами юнитов. Вы при входе юнита 12 игрока создаете группу юнитов и заносите в нее всех юнитов в вашей области. Вместо этого используйте рвздел боевой единицы.
Если UNIT_STR не является уникальной генерируемой строкой, то в этом фрагменте кода нечего бояться, поскольку осуществляется только чтение из ХТ. По крайней мере, так подсказывает здравый смысл
Diaboliko, аз не ведаю, как другим надумалось о том, что заложил автор Re:Zero в своё произведение. Но — для меня это просто некий садизм над зрителем (ну и читателем, если аниме строго по манге шло), сплошные "Я ничего не смог с этим поделать, раз я возвращаюсь в исходную точку, то попробую опять, главное чтобы аля эффект бабочки от ведьмы не спал, дар не исчез.." Как так, но белый кит, снова это китобойная маниакальность "японской мудрости". Хотя, автор сделал творение, - неким оригинальным "Эффектом Бабочки".
Небольшой спойлер
Незрелость главного героя в итоге стирается, персонажи "взрослеют" в плане роста над собой. Без соплей никуда, но это не плохо. По крайней мере ГГ не будет зацикливаться на своей ничтожности. Брутальность борьбы за выживание ГГ зашкаливает. Короче дальше - лучше. Очень многое меняется в ходе 4 арки, так что не рентабельно судить о ней не прочитав.
Есть один вариант - выдать юниту другой предмет с тем же ID, но другим кд (напрмиер, поставить 2й уровень абилке, где кулдаун будет 0.5), заставить юнита кастануть предмет, и снова выкинуть его
Смотрел аниме по нему, не понравился сюжет. В книге не знаю как, не читал.Скорее всего так-же, не люблю таких хлюпливых персонажей, которые рожают долго свою хоробость. Да ещё Re:Zero мне показалось довольно таки банальным, от части. Однако, там были и хорошие моменты.
Все концепты персонажей явно заранее продуманы автором, что позволяет ему крутить и вертеть мыслями читателя, скармливая небольшие кусочки информации дабы, в конечном итоге, сложился пазл всей картины (а, по факту, автор изначально продумал очень многое. Не хватает, разве что, опубликованной карты местности как в не безызвестной "алмазный меч, деревянный меч" ).
Периодически проскакивают ~10 частей подряд, в которых персонаж "осваивается" в новой обстановке и всё выглядит довольно скучно и не слишком будоражаще (хотя это и к лучшему, однозначно). А потом опять начинается большой полярный лис и ты уже не можешь остановиться от чтения.
Наблюдать за тем как обычный день превращается в апокалипсис или как в плане персонажа проявляются несоответствия с действительностью в виде неожиданных персонажей или их неожиданных ролей/черт характера, а потом кое-как на волоске от гибели эти ситуации разрешаются - очень увлекательно.
Я явно не выдержу ожидания переводов 5й арки, если продолжу, так что отвлекаюсь как могу, изредка поглядывая на спиноффы и детали, опущенные в экранизации. К линии основного сюжета претензий по минимуму. Не жалею о затраченном на чтение времени.
Переменная типа timer позволяет ссылаться на таймеры, но таймеры необходимо создавать отдельно. Вероятно, мгновенный рес связан с отсутствием таймера как такового.
Т.е. я могу благодаря структурам сохранить юнита, который умирает, сохранить его положение и потом на его месте создать такого же?
Структуры - фишка vJass. Вам не обязательно использовать именно их чтобы достичь желаемой цели. В итоге вжасс конвертируется в обычный жасс. Но, если осилите - вам и карты в руки. Как средство разработки - вжасс эффективнее чем жасс.
вы создаете новых юнитов в центре карты. Используйте создание по координатам (в JNGP функции, подсвечиваемые красным цветом, являются наработками (зачастую кривыми) близов. Если желаете прогресса - для начала прекратите использовать их) (вероятно, "CreateUnit")
Варкрафт перед запуском скриптов, реагирующих на событие, устанавливает какие-то свои переменные на нужные значения. Значения этих переменных получаются игроком через методы. Спустя 10 секунд после начала события никто не гарантирует что нужные значения останутся в системных переменных. Движок может использовать переменные для разных целей. Гарантируется лишь правильное поведение в предусмотренных разрабами случаями. Вам необходимо где-то сохранять умерших юнитов и использовать сохраненную информацию спустя 10 сек. Также, учитывайте что все массивы в вц3 имеют размер массива = 8192 ячейкам. Если вы намереваетесь просто сохранять в массив и использовать спустя 10 сек - позаботьтесь о переработке ячеек массива. Избыточно много значений тоже не стоит брать, поскольку игровые объекты не удаляются из памяти до тех пор, пока на них ссылается хотя бы одна переменная (за поштучными исключениями, движок правильность своей работы гарантирует, так что следите только за собой)
Если вы хотите научиться использованию чистого жасса - лучше изъявите свое желание поучаствовать в проекте хоть немного шарящего человека. Сумеете лицезреть более-менее адекватный код и учиться. Учиться методом проб и ошибок эффективно, но долго. На форуме всегда найдут время указать на ваши косяки и ошибки, так что лучше обучайтесь жассу как естесственному языку - сперва учитесь говорить как окружающие, а потом учитесь говорить правильно.
Сопоставляем массив юнитов с юнитами через SetUnitUserData
Пехотинец с UUD = 10
integer array UnitDBUnits
set UnitDBUnits[10] = Пехотинец
Плюс можно параллельно фигачить переменные вроде
real array UnitDBUnitMagicLifesteel
и использовать его для отхила на % наносимого магического урона. Если, конечно, не лень делать систему отлова такого урона :)
Но под сабж подходит. Из инта получаем юнита.
Почему бы просто не реализовать все адекватно, а не через индусские костыли? Авось и проблема исчезнет.
Элсо - ордерить "stop" через 0.19 сек — это подло. А вдруг играть будут микроменеджмент крабы, которые сами прожимают стоп?
Элсо,
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))//ссылка на таймер еще не обнулена, так что, возможно, GetHandleId(t) возвращает не 0, но я не уверен. Если нуль - хештейбл разрастается со временем.
код выполняется на каждой машине в отдельности. Обрабатывая SelectUnit без условия - юнит будет выбран для любого игрока, исполняющего код. GetLocalPlayer возвращает игрока, сидящего за машиной. Им также может быть и бот. Почитайте статьи по GetLocalPlayer.
Сохрани карту, пропусти все ошибки, перезапусти редактор и попробуй два раза сохранить карту
Здесь суть в том, что при создании нового триггера парсер его, почему-то, либо совсем не воспринимает, либо ставит куда-нибудь не туда по коду (а вызвать можно только функцию, находящуюся выше по коду). Переоткрытие карты в редакторе фиксит эту проблему. пояснения на будущее
Есть задумка по использованию модели хелс-бара, мана-бара и еще пары оверлей-баров (щит и статусный эффект). Ничего нового в этой идее нет, но реализовать ее хотелось бы не через даммиков (двигать 4 даммика с малым периодом для юнита - само по себе не слабая нагрузка), а через аттач-эффектов. Проблема встает в проигрывании анимаций эффекта по индексу.
Обоснованная критика/помощь?
Для решения вопросов выше всегда использовалась одна формула - формула камень-ножницы-бумага. Правда часто ее не просто осуществить и мало кто с этим справляется нормально.
Red alert 3 использовал этот подход. Мультиплеер получился очень убогий. Но для кампании норм.
» Fa_losophy / Мапперская дуэль имени меня
» WarCraft 3 / Тактика за нежить против неоригинального хумана.
Нужны технологии.
Нужен харасс.
Нельзя просто иметь план развития и побеждать чисто из-за этого. Имхо, нет ничего стабильней ДК+лича с могильщиками. По началу все-равно особо не поубиваешь, хоть койлами похилить. Благо маны не шибко много жрут. Но на крестьян силёнок хватит даже у скелетов, да :) Не убить - так замедлить. Когда лич и хилящие дестры подъедут - уже пофиг будет на пехоту. Ну а на стрелков могильщикам априори пофиг. По крайней мере устроить экстерминатус возможному экспаншену точно можно. Если противник не вольет нужное количество золота в башни - не видать его паладину кача. Ну или своих рабов, тут уж какие у него приоритеты... Вольёт - пресуем, фармим нейтралов, выходим в летающих дестров. А там он вряд ли до грифонов доживет. Дешевле всего убивть дестров стрелками(ну и раскачанными героями-магами, с чем у такого паладина будет туго), а им нужны рыцари, иначе могильщики просто поплюют на них. А рыцарям нужны апгрейды брони. Да и стрелкам разок не лишним будет. А на апгрейды нужна древесина. Много древесины. И золота! :) А когда стрелки с рыцарями станут угрозой - готовый стак дестров будет просто откусывать куски от их базы.
» WarCraft 3 / Алгоритм для создания круговой области
» WarCraft 3 / Алгоритм для создания круговой области
» WarCraft 3 / Юниты входящие в область идут,хотя не должны
» WarCraft 3 / Создание триггерных иллюзий
» Naadir / Главная страница
» WarCraft 3 / Группа способностей
» WarCraft 3 / Выделение памяти при работе с хэш-таблицей
» В гостях у Эльрата / Re:Zero
» WarCraft 3 / Сброс перезарядки предмета.
Отредактирован Эльрат
» В гостях у Эльрата / Re:Zero
Периодически проскакивают ~10 частей подряд, в которых персонаж "осваивается" в новой обстановке и всё выглядит довольно скучно и не слишком будоражаще (хотя это и к лучшему, однозначно). А потом опять начинается большой полярный лис и ты уже не можешь остановиться от чтения.
Наблюдать за тем как обычный день превращается в апокалипсис или как в плане персонажа проявляются несоответствия с действительностью в виде неожиданных персонажей или их неожиданных ролей/черт характера, а потом кое-как на волоске от гибели эти ситуации разрешаются - очень увлекательно.
Я явно не выдержу ожидания переводов 5й арки, если продолжу, так что отвлекаюсь как могу, изредка поглядывая на спиноффы и детали, опущенные в экранизации. К линии основного сюжета претензий по минимуму. Не жалею о затраченном на чтение времени.
» WarCraft 3 / Рес юнитов
» WarCraft 3 / 14. Структуры
» WarCraft 3 / Рес юнитов
» WarCraft 3 / I2H как сконвертировать
Пехотинец с UUD = 10
integer array UnitDBUnits
set UnitDBUnits[10] = Пехотинец
Плюс можно параллельно фигачить переменные вроде
real array UnitDBUnitMagicLifesteel
и использовать его для отхила на % наносимого магического урона. Если, конечно, не лень делать систему отлова такого урона :)
Но под сабж подходит. Из инта получаем юнита.
Отредактирован Diaboliko
» WarCraft 3 / I2H как сконвертировать
» WarCraft 3 / Продолжение: фатал из-за переполнения памяти
Элсо - ордерить "stop" через 0.19 сек — это подло. А вдруг играть будут микроменеджмент крабы, которые сами прожимают стоп?
Элсо,
» WarCraft 3 / Принцап работы команды
» WarCraft 3 / Импорт нестандартных заклинаний в карту-2
UrsaBoss:
Отредактирован Diaboliko
» WarCraft 3 / Импорт нестандартных заклинаний в карту-2
пояснения на будущее
Отредактирован Diaboliko
» WarCraft 3 / Хак на память Warcraft3
» WarCraft 3 / Хак на память Warcraft3
Обоснованная критика/помощь?
» WarCraft 3 / Как тригерно отследить юнитов, попавших под действие безмолвия?
» Четвёртая война / Система войск