Добавлен
Пишу я первый скилл на jass, и тут сталкиваюсь с этим, не могу понять где мой косяк, уже все нервы исчерпал, ткните мне пожалуйста
Компилятор выдаёт

Принятый ответ

ForGroup использует в аргументы группу и адрес функции. Аргументы ты передать не можешь.
Пиши ForGroup(твоя группа, function название функции)

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
7 лет назад
0
Похожие вопросы:

ответ
Может надо переустановить варик? Просто в Way of Others'е у меня было именно так я переустановил его и всё нормально.
А карту сохранить в другой папке.

0
7
7 лет назад
Отредактирован Raised
0
Для тех, кому нужен полный код
код
function Trig_QStartTaimerA_Func001A takes nothing returns nothing
    local unit enumunit= GetEnumUnit()
    local real x = GetUnitX(enumunit)
    local real y = GetUnitY(enumunit)
    call MoveUnit(enumunit,GetUnitFacing(enumunit),10)
    call GroupEnumUnitsInRange(udg_enemygroup,x,y, 64.00, Condition(EnemyFilter()))
    call ForGroup(udg_enemygroup,function SomeFunc(enumunit))
endfunction

function SomeFunc takes unit witcunit returns nothing
local unit Thisunit = GetEnumUnit()
local real x=GetUnitX(witcunit)
local real y=GetUnitY(witcunit)
call RemoveUnit(witcunit)
call CreateUnit( GetOwningPlayer(witcunit), bj_STRELAQWeerEffect ,x,y, 0 )
call UnitApplyTimedLife(bj_lastCreatedUnit, 'BTLF', 1.00)
endfunction

function Trig_QStartTaimerA_Actions takes nothing returns nothing
    call ForGroup( udg_GroupQWeer, function Trig_QStartTaimerA_Func001A)
endfunction

//===========================================================================
function InitTrig_QStartTaimerA takes nothing returns nothing
    set gg_trg_QStartTaimerA = CreateTrigger(  )
    call TriggerRegisterTimerExpireEventBJ( gg_trg_QStartTaimerA, udg_TaimerQStart )
    call TriggerAddAction( gg_trg_QStartTaimerA, function Trig_QStartTaimerA_Actions )
endfunction
говорит ошибка тут
Загруженные файлы
замечание от GF RaiseD: Используй пожалуйста форматирование: http://xgm.guru/p/help/txt2
1
15
7 лет назад
Отредактирован Raised
1
ForGroup использует в аргументы группу и адрес функции. Аргументы ты передать не можешь.
Пиши ForGroup(твоя группа, function название функции)
Принятый ответ
0
7
7 лет назад
0
EnergyFrost:
ForGroup использует в аргументы группу и адрес функции. Аргументы ты передать не можешь.
Пиши ForGroup(твоя группа, function название функуии)
а что делать, если мне аргумент нужен?
1
29
7 лет назад
1
Записывать его в глобальные или перебирать группу циклом.
0
7
7 лет назад
Отредактирован WoLLFeR
0
EnergyFrost:
Ну началось, только убрал аргумент, сразу другие косяки
Doc:
Записывать его в глобальные или перебирать группу циклом.
Хорошая идея, сейчас попробую
Загруженные файлы
0
15
7 лет назад
Отредактирован EnergyFrost
0
WoLLFeR, Клыц на функцию ctrl+ЛКМ (вроде так) и смотришь. Там, где написано code - функция без аргументов пишется.
Вот смотри: ой не дописал
1
29
7 лет назад
1
Condition(function EnemyFilter)
0
7
7 лет назад
0
Спасибо, минутку ребят, я исправляю
1
15
7 лет назад
Отредактирован EnergyFrost
1
Вот пример:
bool FuncCondition(){
return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO)
}

void FuncAction(){
SetUnitState(GetEnumUnit(),UNIT_STATE_LIFE,0)
}
void mainFunct(){
group g=CreateGroup()
GroupEnumUnitsInRange(g, 0 ,0 ,100, function FunctCondition)
ForGroup(g,FuncAction)
DestroyGroup(g)
g=null
}
Это типа убивает всех героев в радиусе 100 (центр окружности в координатах x=0 , y=0)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.