32

» WarCraft 3 / Если не задан параметр функции

Viktor19, таков синтаксис, сначала объяви функцию, а потом вызови и дай аргумент!
Функция может возвращать константное значение (частенько юзается в картах близзардов).
constant function A takes nothing returns integer nothing
	return 5
endfunction

function B takes integer i returns nothing
//some code
endfunction

call B( A()) 
// можно сделать еще так
function B takes integer i returns nothing
if i == 0 then
	set i = A( ) // ну можно пользоваться просто глобальной переменной, на хайве это считается эталоном - юзать константные функции для установки //настроек
endif
// some code
endfunction
endfunction
32

» WarCraft 3 / Кокон разрушает, но не выполняет функции

Убери условие, указывай конкретные коконы, а лучше вовсе сделай их из юнитов...
32

» WarCraft 3 / Создание текстового файла

Preload exploit в помощь, ну или вам нужно совсем сложно?
DracoL1ch, а что если вызвать функцию из storm.dll CreateMPQ? Игра же как то создает карты в папке? Это мпк архивы, в storm.dll есть функции для работы с мпк, в game.dll их явно нету...
32

» WarCraft 3 / Карты, в которых есть триггеры на джассе не запускаются.

Art35372, ну значит ошибки в коде, ищи ошибки - ибо это явно ваш косяк, т.к все ваши гуи переводятся jass при сохранении карты и хранятся в war3map.j файле, с которым и работает игра, а не с гуи писульками которые можно удалить и карта будет нормально работать.
32

» WarCraft 3 / Как уменьшить хитбокс юнита?

Правда стоит помнить что для карты путей используется приблизительный размер, а именно 4х4, 8x8, 16x16 и так далее, меньше вы квадрат пути не сделайте. Реальнмй размер юзается для скиллов.
32

» WarCraft 3 / Полноценный Антимапхак.

okfinch, on Hiveworkshop posted a DracoLich's memory hack and antimap hack, anti keys (software - meepokey, invoker key )
The examples of protection against cheaters laid out on hiveworkshop do not suit you?
32

» WarCraft 3 / Как сделать два типа юнита?

Oxotnak, ну раз тупой скрин не поможет....
Идем читать статьи про РО.
Будет несомненно полезно ссылка
32

» WarCraft 3 / И снова о GetAbilityCD и многострадальной Психопомпе

ClotPh, не может же просто так фаталить, лог чтоли сделай, мб было что то общее во всех играх с фаталом, что не такое уж и очивидное...
Ну пока с ли чем открыли новый флаг криттера = ), не знаю когда он будет свободен.
32

» WarCraft 3 / Как сделать два типа юнита?

Oxotnak, Инвиз то нужен для героя с иконочкой? Ну для иконки которую можно изучить и тыкать юберется любая пассивка которая ничего не дает, ну или её эффект можно убрать, чародейская аура с 0.01 мп\сек. регеном, промахи с 1% шансом и так далее. Далее следим триггером за тем что выучит герой, если это наша пустышка то вручаем ему перманентную невидимость, можно еще по другому, изначально поставить герою в способностях перманентный инвиз с несколькими уровнями, но на 1 уровне убрать все бонусы, время ухода в инвиз -1, там и так далее, при изучении пустышки поднимать уровень инвиза на 1.
32

» WarCraft 3 / Как сделать два типа юнита?

ImbaStyle, Что за нуботня? какие таймеры? Блин пассивка волков - Постоянная невидимость...
  1. морф в другого юнита, с бонусом хп меньше нуля, если макс хп юнита будет меньше или равно 0 то юнит никогда не умрет, он будет стоять, им можно управлять, его будут бить и он будет получать урон но никогда не умрёт.
32

» WarCraft 3 / аналог перста смерти

Сквозь иммунитет к магии бьют все ульты ( скилл героя с требованием уровня изучения 2 и выше)
32

» WarCraft 3 / аналог перста смерти

Цепь молний, разветвеллная молния, канал + триггерное нанесение урона.
32

» WarCraft 3 / Юниты игрока в области мертвы

Событие - юнит игрока умирает, действие посчитать юнитов в области, если юнитов меньше 1 то делай свои действия, чувак как то не круто...
Примитив же? Разве нет?
32

» WarCraft 3 / И снова о GetAbilityCD и многострадальной Психопомпе

ClotPh, а чем это плохо? Глобалки? Создавать каждый раз группу глупо, достаточно одной для всех дейсвий, брать всех и перебирать в цикле? Нафиг надо, это не быстрее,не лучше ни коим образом, разве что удобнее, так же у меня везде есть проверки на корректность результатов выполнения функций, чего у тебя нету, RMaxBJ - не даст поставить юниту 0 хп если что то пойдет не так, хил возможен только выше 1.00.
Так же зачем брать кд абилки каждый раз, это не шибко быстрая функция, лучше запиши её результат в переменную.
Фильтр удалять ненужно, он не утекает, 1 и тот же boolexpr можно использовать многократно для разных целей.
Так же отсеиваем клонов.
DracoL1ch, у тебя же у самого была проблема с GetTriggerEventId() С возвращением.
32

» WarCraft 3 / И снова о GetAbilityCD и многострадальной Психопомпе

ClotPh, ты нормально напиши как я скинул спелл, то если у тебя весь код такой, не удивительно что проблемы...
32

» WarCraft 3 / И снова о GetAbilityCD и многострадальной Психопомпе

Фильтр страннооватый, сначала берёшь всех потом проверяешь на уровень абилки, сначала проверь что живые, не клоны. А потом смотри уже абилку. И почему одни юзы Gettriggerunit(), Getunitabilitylevel, заноси вначале триггера все значения в переменные, функции могут возвращать не то значение если вызвать повторное срабатывание триггеров.
globals
    unit bj_lastFilterUnit = null
    group TEMP_GROUP = CreateGroup( )
    real TEMP_REAL = 0.00
endglobals

function IsUnitDead takes unit u returns boolean
    return IsUnitType( u, UNIT_TYPE_DEAD ) or GetUnitTypeId( u ) < 1
endfunction

function Cond_Find_Alive_Hero_Units takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return IsUnitType( UNIT_TYPE_HERO bj_lastFilterUnit ) and not( IsUnitIllusion( bj_lastFilterUnit ) or IsUnitDead( bj_lastFilterUnit ) )
endfunction

function Group_Add_Effect_Enum takes nothing returns nothing
    local unit hero = GetEnumUnit( )
    local integer level = GetUnitAbilityLevel( hero, 'A27T'  )

    if  level > 0 then
        call DestroyEffect(AddSpecialEffectTarget("Psychopomp4.mdx", hero, "origin"))
        call SetUnitState( hero, UNIT_STATE_LIFE, GetUnitState( UNIR_STATE_LIFE ) + RMaxBJ( TEMP_REAL * level, 1.01  ) )
    endif
    
    set hero = null
endfunction


function PerceptionEffect takes nothing returns nothing
    local unit cast = GetSpellAbilityUnit( )
    local integer id = GetSpellAbilityId( )
    local integer level = GetUnitAbilityLevel( cast, id )
    local real cooldown 

    if level > 1 and not IsUnitDead( cast ) then
        set cooldown =  GetAbilityCD( id, level, cast ) 
    else
        set cooldown = 0.00
    endif

    if cooldown >= 1.01 then
        call GroupClear( TEMP_GROUP )
        call GroupEnumUnitsInRect( TEMP_GROUP, bj_mapInitialPlayableArea, Condition( function Cond_Find_Alive_Hero_Units ) )
        set TEMP_REAL = cooldown
        call ForGroup( TEMP_GROUP, function Group_Add_Effect_Enum )
    endif
    
    set cast = null
endfunction
Попробуй вот так, на вид куда понятнее, да и покороче...
32

» WarCraft 3 / Аура ХП-регена (лайфсорс)

Бери другую основу или юзай импорт, у многих скиллов хардкодные данные, т.е он прописаны в коде и спел не берет из из слк таблицы, хоть ты что измени. Так у аватара нельзя изменить бафф в настройках, а только отредактировать дефолт.
Юзай ауру смерти ("Unholy aura") или еще что, но не ауры фонтанов и лечащего варда, там ничего низя изменить, да и бафф там висит случайные 2-4 сек.
32

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

Спелл магнуса из доты? Ну движение по векторам с малым периодом, довольно примитивый спелл. Таймером двигаем юнита к цели + следим что цель жива, так же ищем союзников в радиусе и добавляем их в группу, при каждом тике таймера двигаем кастера с юнитами в группе к цели.
32

» WarCraft 3 / Эмпатия для врагов

ClotPh, ничего там не работает, уже 10 раз сказали, точка. Хер вы что сделайте с эмпатией, это хардкодный спелл который работает только так как задумали близзарды и никак иначе! Её нельзя использовать в качестве связки варлока из доты, хоть вы там за настраивайтесь!