10

» WarCraft 3 / Помогите (ошибка)

Я там корочи э карту делаю хощу играю и тут хабум бдыш ашыбка что делать помогите я хощу а там ашыбка что делать ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Обычный краш варика. Либо бекапы искать, либо смотреть при каких обстоятельствах вызван краш и изучать триггеры, которые могли бы сработать в этот момент.
10

» WarCraft 3 / Про перенос warhammer 40000: Horus heresy в warcraft III

Так в чем проблема? Уже кучу раз доп. кампании создавались, редактор удобный есть, ток модельки найти или самому создавать. Наверно лучше сборник из 54 кампаний. Дополнение как по мне это хрень, устанавливать мало кому будет охота, а доп кампанию закинул в папку и все - играй.
10

» WarCraft 3 / Как сделать чтобы крипы бежали по указанной линии ?

Принятый ответ
Это прожевали 100500 раз, почему нельзя просто в интернетике забить "ы как сделатъ чтобы крипы шли по линии как в доте варыкрафт тры". я реально так забил, на первом же сайте решение
Если у тебя нет интернета (ты не умеешь им пользоваться) то вот:
Событие - каждые 30 сек
Условие
Действие:
TempPoint = центр (твоя область)
Создать юнита ... в TempPoint
RemoveLocation(TempPoint)
TempPoint = центр (твоя область в которую ему надо идти)
Приказать (последний созданный юнит) перейти нападая в TempPoint
RemoveLocation(TempPoint)
Бинго!
10

» WarCraft 3 / Как накренить декорацию?

В РО есть строчка "угол крена"
человек 3 карты выпустил, а элементарщину не знает... А, точно - милишники.
Загруженные файлы
10

» WarCraft 3 / Даммик не кастует способность

Tredor46, дезинформируете, товарищ. Канал работает при событии "юнит применяет способность" EVENT_PLAYER_UNIT_SPELL_EFFECT
10

» WarCraft 3 / Изменение типа доступности, замена зданий при строительстве

Принятый ответ
Я нашел такую функцию в гуи за 15 секунд, хотя не пользовался ей никогда. В чем проблема просто поискать?
Если даже это не помогло тебе, и ты не допетрил, что нужно делать то вот:
  1. добавляешь в РО рабочим оба здания и А, и Б
  2. в инициализации запрещаешь строить Б для всех игроков
  3. триггер "игрок сделал улучшение" -> сделанное улучшение == (твое улучшение) -> разблокировать строительство Б для (игрок триггера) и заблокировать строительство здания А для (игрок триггера)
  4. Бинго!
Загруженные файлы
10

» WarCraft 3 / Как сделать триггерный поджог?

Я не знаю как условить, что урон был нанесен именно заклинанием. У меня получилось поджигать юнита при любом нанесении урона. В событие добавил только паладина, чтобы работало на всех нужно сделать отдельный триггер "юнит вошел в область (вся карта) -> добавить событие триггеру (gg_trg_DetectFireDamage). В триггере сообщения для дебага есть, можешь удалить. Если есть вопросы, помощь в освоении жасса - контакты в профиле, пиши.
Вот код, карту также прикрепил ниже
function Trig_DetectFireDamage_Conditions takes nothing returns boolean
    return GetUnitTypeId(GetEventDamageSource()) == 'Hblm' //наш огненный... как там его... А, точно - еврей
endfunction

function TimerFire takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local unit u = LoadUnitHandle(udg_HASH, GetHandleId(t),StringHash("fireUnit"))
    local unit u2 = LoadUnitHandle(udg_HASH, GetHandleId(t),StringHash("fireSource"))
    local trigger trig = LoadTriggerHandle(udg_HASH, GetHandleId(t),StringHash("fireTrigger"))
    local integer count = LoadInteger(udg_HASH, GetHandleId(t),StringHash("fireСount"))
    local real damage = LoadReal(udg_HASH, GetHandleId(t),StringHash("fireDamage"))
    
    call DisplayTextToForce( GetPlayersAll(), "count" + I2S(count) )
    
    call DisableTrigger( gg_trg_DetectFireDamage ) //выключаем триггер, чтоб опять не сработал и горение не зациклилось
    //наносим урон. использую БЖ функцию, т.к. в нативке много непонятных страшных аргументов я не буду лезть в это дерьмо
    call UnitDamageTargetBJ( u2, u, damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE )
    call EnableTrigger( gg_trg_DetectFireDamage ) //вкл триггер
    
    //какой нибудь эффект бахнуть к юниту
    call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Items\\AIfb\\AIfbSpecialArt.mdl",u, "head" ))
    
    call SaveInteger(udg_HASH, GetHandleId(t),StringHash("fireСount"),count-1) //уменьшаем количество срабатываний
    if count <= 1 then
        call DisplayTextToForce( GetPlayersAll(), "destroy" )
        call FlushChildHashtable(udg_HASH, GetHandleId(t))//очищаем хеш
        call PauseTimer(t)
        call DestroyTimer(t) //удаляем наш таймер, мол все, гореть больше не будет
    endif
    set t = null
    set trig = null
    set u = null
    set u2 = null
endfunction

function Trig_DetectFireDamage_Actions takes nothing returns nothing
    local timer t = LoadTimerHandle(udg_HASH, GetHandleId(GetTriggerUnit()),StringHash("fireTimer")) //загружаем таймер который будет переодически бить поджегом
    call DisplayTextToForce( GetPlayersAll(), "1" )
    
    if t == null then //если такого таймера нет, то создадим его
        set t = CreateTimer()
        call SaveTimerHandle(udg_HASH, GetHandleId(GetTriggerUnit()),StringHash("fireTimer"),t)
    endif
    
    call SaveReal(udg_HASH, GetHandleId(t),StringHash("fireDamage"),20) //урон
    call SaveInteger(udg_HASH, GetHandleId(t),StringHash("fireСount"),3) //количество срабатываний
    call SaveUnitHandle(udg_HASH, GetHandleId(t),StringHash("fireUnit"),GetTriggerUnit()) //юнит которому наносим урон
    call SaveUnitHandle(udg_HASH, GetHandleId(t),StringHash("fireSource"),GetEventDamageSource()) //юнит от которого наносим урон
    call SaveTriggerHandle(udg_HASH, GetHandleId(t),StringHash("fireTrigger"),GetTriggeringTrigger())
    
    call TimerStart(t,1, true,function TimerFire) //переодический таймер в котором мы будем наносить урон
    
    set t = null
endfunction

//===========================================================================
function InitTrig_DetectFireDamage takes nothing returns nothing
    set gg_trg_DetectFireDamage = CreateTrigger(  )
    call TriggerRegisterUnitEvent( gg_trg_DetectFireDamage, gg_unit_Hpal_0001, EVENT_UNIT_DAMAGED )
    call TriggerAddCondition( gg_trg_DetectFireDamage, Condition( function Trig_DetectFireDamage_Conditions ) )
    call TriggerAddAction( gg_trg_DetectFireDamage, function Trig_DetectFireDamage_Actions )
endfunction
Загруженные файлы
10

» WarCraft 3 / Проседает фпс. Как лечить?

FDG89K, у тебя какой то странный варик, ты пробовал православный 1.26? Рефордж вроде у всех лагает, так как разрабы дауны
10

» WarCraft 3 / Проседает фпс. Как лечить?

Для проверки фпс есть команда /fps - немного сверху в центре экрана будет надпись.
Лагает на каких картах? Если непонятные неоптимизированные кастомки, то естественно будет лагать.
10

» WarCraft 3 / Простой атаки приказ для всех юнитов

Пуньк-сруньк, какии та англисикие букавы ничиво нипонятна.
Выбрать всех юнитов игрока (твой игрок) при условии (соответствующий юнит != рабочий) -> приказать (выбранный юнит) идти в (точка твоя) атакуя. Капец как сложно 2 строчки в ГУИ натыкать.
10

» WarCraft 3 / Cruiser Command

Drakemor_888, Если прям в списке карт выбрать нельзя, то скорее всего у тебя не та версия варика. У меня стоит 1.26, в рефе вроде тоже работает
10

» WarCraft 3 / Cruiser Command

Drakemor_888, Сейчас проверил - карта работает. Скорее всего у тебя варик не патченный и имеет ограничение 8мб на карты. В интернете есть много способов его обойти, у меня кастомный гейм.длл. Кинуть в папку с вариком с заменой. Также можно использовать функционал коннектора Урины бот.
Загруженные файлы
10

» WarCraft 3 / Cruiser Command

Drakemor_888, Одному нельзя, но есть ИИ если поставить бота на слот. Кеп и инж будут выполнять функции роботов-помощников, а пилоты копать руду.
10

» WarCraft 3 / Как начать писать свой код ИИ?

Если варик выдал тебе ошибку, то в чем проблема ее прочесть? Тебе черным по белому написано - нет такой функции Sleep(). В джассе есть функция TriggerSleepAction(), которая триггер на паузу ставит, скорее всего ее имеет ввиду автор. Такое могло произойти если автор на другой версии варкрафта сделал гайд.
10

» WarCraft 3 / Не запускает карты свыше 8мб. по локальной сети.

Установите кастомный гейм длл для снятия лимита, в чем проблема? А карты некоторые не видит скорее всего потому что они для других версий вара.
10

» WarCraft 3 / Как сделать полоску хп у юнита/здания невидимой?

Самым простым способом будет в РО в "графика - шкала выбора" поставить минусовое значение. это делается через шифт, может кто не знал. Хпбары будут скрыты у всех юнитов выбранного типа, поэтому он не подходит, если надо удалить хпбар только отдельного юнита.
10

» WarCraft 3 / Запрос актуальной информация по моддингу warcraft 3 TFT

Svintus, Создавай отдельные вопросы, чо ты все в один пихаешь. Тем более ты этот вопрос уже закрыл