30

» WarCraft 3 / Атака всех видимых врагов заклинанием

а в один прекрасный момент не заламывать руки
Я делаю проще и не пишу на гуях)
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

Потому что в GroupAddGroup() тоже есть эта проверка, а действие на выбор юнитов всех игроков использует эту функцию.
А какое дейтвие из гуи использует GroupAddGroup() внутри ForGroupBJ()?
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

обработает лишь юнитов красного игрока
С чего бы это?
function ForGroupBJ takes group whichGroup, code callback returns nothing
    // If the user wants the group destroyed, remember that fact and clear
    // the flag, in case it is used again in the callback.
    local boolean wantDestroy = bj_wantDestroyGroup
    set bj_wantDestroyGroup = false

    call ForGroup(whichGroup, callback)

    // If the user wants the group destroyed, do so now.
    if (wantDestroy) then
        call DestroyGroup(whichGroup)
    endif
endfunction
Загруженные файлы
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

И что тут сложного
//! zinc
library SpellDamageAllVisible {

    /* Настройки заклинания */
    
    constant integer SpellHero          = 'A000';   // Способность для героя.
    constant string SpellEffect         = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl";
    constant string SpellEffectAttach   = "origin";
    
    constant attacktype DamageAttackType = ATTACK_TYPE_MAGIC;   /* Тип урона:
                                                                    ATTACK_TYPE_CHAOS
                                                                    ATTACK_TYPE_HERO
                                                                    ATTACK_TYPE_MAGIC
                                                                    ATTACK_TYPE_MELEE
                                                                    ATTACK_TYPE_NORMAL
                                                                    ATTACK_TYPE_PIERCE
                                                                    ATTACK_TYPE_SIEGE
                                                                */
    
    // Указываем количество нанесённого урона
    function getDamage(integer level) -> integer {
        return level * 100;
    }
  
    /* ВСЁ, ЧТО НИЖЕ, ПРАВИТЬ НА СВОЙ СТРАХ И РИСК!!! */
    function onInit(){
        trigger t = CreateTrigger();
        integer i;
        
        for (0 <= i < bj_MAX_PLAYER_SLOTS) {
            TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null);
        }
        TriggerAddCondition(t, Condition( function() -> boolean { return SpellHero == GetSpellAbilityId(); }));
        TriggerAddAction(t, function(){
            group g = CreateGroup();
            unit target, caster = GetTriggerUnit();
            integer level = GetUnitAbilityLevel(caster, SpellHero);
            
            GroupEnumUnitsInRect(g, bj_mapInitialPlayableArea, Condition(function() -> boolean {
                return GetWidgetLife(GetFilterUnit()) >= 0.405;
            }));
           
            while (true) {
                target = FirstOfGroup(g);
                if (target == null) { break; }
                if (
                    IsPlayerEnemy(GetOwningPlayer(caster), GetOwningPlayer(target))
                    &&
                    IsUnitVisible(target, GetOwningPlayer(caster))
                ) {
                    DestroyEffect(AddSpecialEffectTarget(SpellEffect, target, SpellEffectAttach));
                    UnitDamageTarget(caster, target, getDamage(level), true, false, DamageAttackType, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS);                
                }
    
                GroupRemoveUnit(g, target);
            }
            
            DestroyGroup(g);
            g = null; caster = null;
        });

        t = null;
    }
}
//! endzinc
8gabriel8:
Странно вы группы удаляете, обычно перед перебором
set bj_wantDestroyGroup = true
Загруженные файлы
30

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

Кто не поленится сделать из этого изображения иконку?
Button Manager и можете клепать иконки из изображений хоть целый день)
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

Но проверь и ты, вдруг я где-то накосячил.
Я вот точно помню, что есть n+ подводных камней с видимотью на баффах. К сожалению сейчас просто нет времени, но самому интересно, потещу)
30

» Администрация XGM / Реклама на сайте

PT153:
Было пару раз, особенно с телефона.
Это я у дружище с инкогнито последнего хрома.
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

у меня работало и с невидимостью вроде как
Буду за компом, сделаю тесты. Самому интересно.
30

» WarCraft 3 / Атака всех видимых врагов заклинанием

Вкратце, необходима проверка Unit is Visible for .
Проверяет только Fog of War, нужно проверять все баффы невидимости, которых, к счастью, не так уж и много.
30

» The movement of the stars / Давайте поговори подробнее о...

Что вообще готово?
Присоединяюсь. Как бы проэкт не превратился в очередной долгострой((
30

» The movement of the stars / Нужна помощь проекту

Или смиритесь с моделью обычного варкрафтовского крестьянина
Только текстуру измените)
30

» The movement of the stars / Давайте поговори подробнее о...

Silverwing:
Можно будет ему подложить отравленную еду
Тогда остался самый главный вопрос, когда дэмку можно пощупать будет?)
30

» WarCraft 3 / Заказы на ландшафт

Здравствуйте, уважаемые ландшафтеры.
Нужен ландшафт/декор к проэкту.
  • Размер карты: 128x128
  • Тип ландшафта: любой не вырвиглазный
  • Климат/Природа: неважно
  • Стиль: свободный
  • Импорт: ~4мб
Единственное требование это симметричность проходимых участков карты и сохранение концепции трёх корридоров.
В качестве вознаграждения могу покодить вам заклинаний.
30

» The movement of the stars / Давайте поговори подробнее о...

Убивать НПС можно будет в поздних версиях
А можно будет подбросить НПС в карман динамиту, как в Arcanum было?
30

» The movement of the stars / Давайте поговори подробнее о...

Какой-то житель дал вам задание
А можно будет привязать его к стулу и выбить награду?
разруливать ситуации словесно
В Inquisitor можно вообще было людей пытать, у вас можно будет?
вы можете попытаться взломать замок ,но вряд ли получится
Вот вы собрались рушить устои РПГ, а функции раздолбать замок кувалдой, как в том же Icewind Dale не предусмотрено?
30

» The movement of the stars / The movement of the stars

Этот проект должен разрушить некоторые рамки типичных РПГ
Очень громкое заявление.
30

» WarCraft 3 / RenderEdge(memhak)

Где-то читал, что айкап не даёт хостить карты с мемхком но это неточно
30

» WarCraft 3 / Союз Рас

Я вообще могу прописать это всё не 12-ю, а 24-мя триггерами
Не плодите сущности сверх необходимого.
Есть прекрасная вещь Force, по гуишному Группа игроков. Создаёте четыре, по одной на каждую расу и останется каждый раз при смене альянса их перезаписывать.
30

» WarCraft 3 / Как отключить запрет на строительство?

Поставил галки, перезапустил, но оно не работает...
Забыл сказать, там немного бубна нужно:
  • Сохраняем карту, чтоб небыло * в названии
  • Выставляем галки в Customize Tile Pathability, и жмём OK
  • Ничего не трогаем и закрываем JNGP
  • ...
  • PROFIT!
Загруженные файлы
30

» WarCraft 3 / Подскажите как проще всего написать рандом >покупку< героя

LordDracula:
можно через массив. по индексу от 1 до количество героев записывать их id, и через функцию рандомного числа для массива получать героя
Это в том случае, если при покупке герой не исчезает.
Darknessay:
То есть априори придется записывать много каки, никак по легкому зарандомить покупку нельзя?
Можете вывести сообщение "закройте глаза и тыкайте наугад в клаву, пока не услышите звук"
30

» WarCraft 3 / Союз Рас

constant native GetPlayerAlliance takes player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting returns boolean
constant native GetPlayerRace takes player whichPlayer returns race
30

» WarCraft 3 / Конверт

Принятый ответ
MATRITSA:
set IsEnemyUnit = GetFilter Unit() == Target как я мог объяснить это когда думал что эта не логичиская а юнит переменая будет
constant native IsUnitEnemy takes unit whichUnit, player whichPlayer returns boolean
constant native GetFilterUnit takes nothing returns unit
Сложно в Function List заглянуть?