9

» WarCraft 3 / Увеличенный урон по определенному типу юнитов через способоность

8gabriel8:
DarKRs, конкретизируй задачу, может что придёт в голову для 1.26 без мемхака...
Хорошо, если полностью описать что я хочу сделать то:
Существует условный тип войск Конница (к ним относятся многие юниты >5), юинты этого типа войск могут атаковать как вблизи (Всадники), так и с помощью дальнего боя (Конный лучник).
Я бы хотел им внести противодействие из юнитов начального развития, к этим юнитам относятся копейщики и их ответвления.
По сути, копейщики должны просто наносить больше урона Коннице(в процентном соотношении(125% или подобное)), но атаковать их стандартным уроном остальные типы войск(100%).
Классификацию не хочу трогать по двум причинам:
  1. Самоубийцы у меня уже корабли
  2. Я не уверен, но возможно переставив классификацию у Конницы мне придётся переделывать у всех атаку чтоб они могли её атаковать вообще. (Т.е. я не знаю какую классификацию им можно добавить чтобы разделить два типа атаки и чтобы при этом не "сломались" остальные юниты и могли все ещё атаковать Конницу)
9

» WarCraft 3 / Нужна модель? - Вам сюда!

Добрый день. Необходима моделька Биг-Бэн
  1. Биг-Бэн.
  2. Собственно одно из самых знаменитых строений. avatars.mds.yandex.net/get-pdb/1039768/84b83d42-65e3-42af-8b99-b...
  3. Анимации стандартные для здания
  4. Хотелось бы чтобы модель не "весила слишком много" в пределах 500kb если возможно
9

» WarCraft 3 / Иконки на заказ

Здравствуйте. можете пожалуйста сделать "политические иконки". Такие как
  1. Отправить запрос союза/нейтралитета
  2. Разрыв союза/Объявление войны
  3. Голосование за лидера (ООН)
  4. Голосование за принимающую сторону (ООН)
  5. Политический деятель (что то типо Профессии)
9

» Дневник Сильваны / Ландшафт

Доброго времени суток. Заказы все ещё актуальны? Если да то сколько средняя стоимость?
9

» WarCraft 3 / Скорость исследования в зависимости от.....

Extremator:
Почему он костыльный? И будет ли это нормально работать при большом кол-ве игроков?
9

» WarCraft 3 / Скорость постройки в зависимости от.....

PT153:
DarKRs, устанавливают прогресс строительства и улучшения строения соответственно.
Только что тестил. Но похоже я его не правильно использую (prntscr.com/oble9o и prntscr.com/oblebg) .... Можно пожалуйста пример?
9

» WarCraft 3 / Скорость постройки в зависимости от.....

PT153:
KaneThaumaturge, а как по-твоему сделана постройка башен в LTW? Именно через эту функцию.
native UnitSetConstructionProgress takes unit whichUnit, integer constructionPercentage returns nothing
native UnitSetUpgradeProgress takes unit whichUnit, integer upgradePercentage returns nothing
Объясните пожалуйста как конкретно эти функции работают? Они дают завершенность строящемуся зданию или ?
9

» WarCraft 3 / Возможность достраивать определенные здания

PT153:
Событие - Юнит получил приказ с юнитом-целью.
Условия:
  • ИЛИ
    • Отданный приказ равно Чинить.
    • Отданный приказ равно Правый клик.
  • ИЛИ
    • Тип юнита-цели равно X.
    • Тип юнита-цели равно Y.
Действия:
Поставить на паузу Triggering Unit.
Отдать приказ Stop Triggering Unit.
Отпаузить Triggering unit.
Благодарю
9

» WarCraft 3 / Возможность достраивать определенные здания

Astra:
делать проверку на тип юнита и отдавать приказ отмены строительства/ремонта
Да я так и планировал делать. Но не пойму какое событие должно быть
9

» WarCraft 3 / Диалоги. Непонятная ситуация

Что ещё за бж функции?
pro100master:
каждый день одно и тот же кнопка что в ней так сложного?
Когда каждый день её видишь и не понимаешь в чем проблема она становится сложнее
9

» WarCraft 3 / Помощь с диалогом

8gabriel8:
В-третьих, хотя не уверен, что проблема в этом, но может быть обработку остальных действий вызывает очистка диалога, попробуй переместить If/Then/Else первой кнопки в самый низ, чтобы очистка диалога срабатывала последней.
Благодарю, не понимаю как но именно из-за переноса в самый низ, оно починилось.
9

» WarCraft 3 / Обработка нажатия кнопки в цикле

Diaboliko:
если вам нужен тупо номер игрока в вычислениях - используйте переменную с номером игрока :)
Ну так я её и использую же. Не?
9

» WarCraft 3 / Обработка нажатия кнопки в цикле

Diaboliko:
От 1 до 11 это прогон как бы для каждого игрока? Кнопка - как и любой объект (юнит, для наглядности) по команде создать объект создается у каждого игрока (если, конечно, нет проверки на конкретного игрока, но в случае с юнитом это 100% десинк с одним исключением). Не нужно создавать по кнопке на игрока. По-моему так. Хотя я уже и не припомню наверняка.
Это же не создание кнопки, а проверка нажатия на нее.
9

» WarCraft 3 / Ошибка при выборе рандомного игрока (Jass)

function GetRandomPlayerIndex takes nothing returns integer
    set udg_Buf_A = 0
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = 11
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        if ( GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA())) == PLAYER_SLOT_STATE_PLAYING ) and (GetPlayerController(ConvertedPlayer(GetForLoopIndexA())) == MAP_CONTROL_USER ) and (udg_AccEmpPlayer[GetForLoopIndexA()] == false ) then
                set udg_PlayersPlay[udg_Buf_A] = ConvertedPlayer(GetForLoopIndexA())
                set udg_Buf_A = ( udg_Buf_A + 1 )
        else
        endif
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    set udg_Random = GetRandomInt(1,  udg_Buf_A ) - 1
    set udg_RndPlayer = udg_PlayersPlay[udg_Random]
    return GetConvertedPlayerId(udg_RndPlayer)
endfunction
C "and" ещё не тестил но вот
9

» WarCraft 3 / Ошибка при выборе рандомного игрока (Jass)

pro100master:
потому что не правильно ты получаеш рандом...
судя у тя прибавляет +1 если данный игрок найден. Значит рандом должен
GetRandomInt(1,udg_Buf_A) - 1 возврашает 0 если только 1 красный играет, а если красный и синый то 0,1
Данное исправление не помогло.
Zahanc:
Были ли проверки в многопользовательском режиме? Может компьютер просто находит лишь одного играющего человека в однопользовательском режиме.
Да по сети тесты проводились
И что такое udg_AccEmpPlayer?
Игрок являющийся принимающей стороной. И должен быть выбран другой рандомный игрок который ею не является. Только 1(один) игрок может быть принимающей стороной.
9

» WarCraft 3 / Рандомный игрок

Ладно, спасибо. Вы пытались помочь. Но я в упор не вижу как это реализовать
9

» WarCraft 3 / Рандомный игрок

Все ещё не могу догнать. Если в размер массива 6 (внесено 6 игроков) а зарандомилось 10. То это же выход за пределы массива?
9

» WarCraft 3 / Рандомный игрок

quq_CCCP:
Очевидно что занести всех играющих игроков в массив, а потом выбрать случаного игрока из массива с помощью GetRandomInt( 0, до макс игроков)
Если брать до макс игроков разве не может выйти за пределы массива? Да и вообще ваш ответ плохо понимаю. Я же получу от 0 до (допустим) 6 (игроков играет) а если игрок на 8й позиции или подобноее
9

» WarCraft 3 / Диалог возвращающий номер или имя выбранного игрока.

prog:
Напомните, какая инфа у нас есть в варе? Номер нажатой кнопки в диалоге? Только сама нажатая кнопка? Диалог?
Прежде всего, создаем по диалогу на игрока, вместо одного общего диалога на всех и показываем каждому игроку свой диалог. Это позволит показывать каждому игроку свою версию диалога и не зависеть от того, кто и когда открывает диалог.
Дальше заводим массив, в который по номеру игрока и номеру кнопки пишем привязаного к этой кнопке игрока (номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог) при открытии диалога.
При нажатии кнопки в диалоге получаем связаного с кнопкой игрока по тому-же индексу - номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог.
Оффсет равен максимальному кол-ву кнопок в диалоге и в данном случае это максимальное кол-во игроков минус один.
Если вар вдруг сам не дает номер нажатой кнопки (я не помню дает ли), то перебор по массиву кнопок.
При желании, эту-же систему можно использовать с любыми диалогами, не только со списками игроков, с минимальными изменениями.
Этот диалог в единственном числе нужен, а не для каждого
9

» WarCraft 3 / Диалог возвращающий номер или имя выбранного игрока.

PT153:
Вторую часть не cовсем понял. Т.е. вы имеете ввиду что новая кнопка может перезаписать старую?
Нет.
Пусть играют игроки 1, 2, 6.
Buf_B = 0.
Игрок 1 играет? Да, создаём кнопку, записываем в массив[0] и увеличиваем Buf_B.
Buf_B = 1.
Игрок 2 играет? Да, создаём кнопку, записываем в массив[1] и увеличиваем Buf_B.
Buf_B = 2.
Игрок 3 играет? Нет, пропускаем. Аналогично с 4 и 5.
Игрок 6 играет? Да, создаём кнопку, записываем в массив[2] и увеличиваем Buf_B.
Buf_B = 3.
Игрок 7 играет? Нет, пропускаем. Аналогично с 8-11.
Создаём ещё одну кнопку и записываем её в ячейку (Buf_B + 1), то есть в массив[4]. массив[3] остаётся пустым.
Получается будут пустые кнопки? Как этого избежать?