Добавлен
Делал систему при которой юнит находящийся в радиусе от "юнит1" и в опр. группе, отправлялся в в опр. локацию, если их массивы совпадают.
"юнит1" - строится игроком по этому я сделал триггер через таймер.
Проблема в том что не работает функция "1_C1" точнее не работает она при вызове ее из функции "1_2". Нужна помощь.
триггер
function 1_C1 takes unit ruf returns integer
local integer i=0
local integer p
loop
exitwhen Zone[i]==null
if (IsUnitInGroup(ruf, group[i])==true ) then
set p=i
endif
set i=i+1
endloop
return p
endfunction
function 1_2 takes nothing returns nothing
local integer p=GetPlayerId(GetOwningPlayer(GetEnumUnit()))
local integer i=1_C1(GetEnumUnit())
if ( IsUnitInGroup(GetEnumUnit(), group[i]) == true ) then
call IssuePointOrderLoc(udg_OilTank, "move", Location(GetRectCenterX(Zone[i]), GetRectCenterY(Zone[i])))
call GroupRemoveUnit(group[i], GetEnumUnit())
endif
endfunction
function 1_1 takes nothing returns nothing
call ForGroupBJ( GetUnitsInRangeOfLocAll(300, GetUnitLoc(GetEnumUnit())), function 1_2 )
endfunction
function 1_A takes nothing returns nothing
local integer i=0
loop
exitwhen i>10
call ForGroupBJ( GetUnitsOfPlayerAndTypeId(Player(i), 'юнит1'), function 1_1 )
set i=i+1
endloop
endfunction
function InitTrig_1 takes nothing returns nothing
set gg_trg_1= CreateTrigger()
call TriggerRegisterTimerEvent(gg_trg_1, 1, true)
call TriggerAddAction( gg_trg_1, function 1_A )
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
silence_AZ:
Просто добавь в 1_2 :
call 1С_1(юнит которого берет функция)
-_-
И что из этого будет?
Совершенно ничего
9
Timoxxx:
Т.е. если функция 1_2 будет ниже чем 1С_1 - то обращаться к 1_2 из 1С_1 нельзя.
Выше ты написал полностью наоборот. К 1_2 из 1С_1 и так нет обращений.
silence_AZ:
Ой туплю =)), прошу прощения
Только вопрос : Как ты собрался вызвать функцию 1С_1 из 1_2 если в функции 1_2 нет действия вызова функции 1С_1?
local integer i=1_C1(GetEnumUnit())
Да но 1С_1 берет юнит а откуда ему взяться из 1_2 если он там не указывается?\
Я думаю именно в этом и проблема
5
съезд знатоков
Может что по делу скажешь? Ты же умнее любого из нас!
Не надоело еще плюсы огребать?)
Да но 1С_1 берет юнит а откуда ему взяться из 1_2 если он там не указывается?\
Я думаю именно в этом и проблема
"GetEnumUnit()" для чего тогда?
28
silence_AZ, короче тебе реально надо статьи читать
ты даже основ не знаешь
Buulichkaa, да просто боги кода собрались
Sergant1000, отладка где?
9
Buulichkaa:
съезд знатоков
Я не знаток,я вобще ландшафтер , и недавно начал изучать джасс потому что для меня это нашлось интересным.
Я пишу то что возможно поможет,так сказать пытаюсь помочь. Если мне удастся помочь то я наберусь немного опыта для решения таких ситуаций,не так ли?
28
и я 1 не понял зачем такой убогий способ если можно просто через юзер дату атачить инт
9
Timoxxx:
"GetEnumUnit()" для чего тогда?
А где ты видишь что бы "GetEnumUnit()" ссылался в 1С_1?
28
вердикт:
код переписать,автора отправить в статьи
silence_AZ, ты нуб?
GetEnumUnit() возвращает юнита
1С_1() берёт юнита
ты вобще такой бред пишешь
9
nvc123:
вердикт:
код переписать,автора отправить в статьи
silence_AZ, ты нуб?
GetEnumUnit() возвращает юнита
1С_1() берёт юнита
ты вобще такой бред пишешь
Я не знаток,я вобще ландшафтер , и недавно начал изучать джасс потому что для меня это нашлось интересным.
Я пишу то что возможно поможет,так сказать пытаюсь помочь. Если мне удастся помочь то я наберусь немного опыта для решения таких ситуаций,не так ли?
28
silence_AZ, нет
ты пишешь бред и этим самым вредишь
т.к. это путает людей
9
nvc123:
function 1_2 takes nothing returns nothing
local integer p=GetPlayerId(GetOwningPlayer(GetEnumUnit()))
local integer i=1_C1(GetEnumUnit())
if ( IsUnitInGroup(GetEnumUnit(), group[i]) == true ) then
call IssuePointOrderLoc(udg_OilTank, "move", Location(GetRectCenterX(Zone[i]), GetRectCenterY(Zone[i])))
call GroupRemoveUnit(group[i], GetEnumUnit())
endif
endfunction
Где тут написано что функция чтото возвращает?
nvc123:
silence_AZ, нет
ты пишешь бред и этим самым вредишь
т.к. это путает людей
А разве задача любого из нас отвечать на коменты?
Или все же на вопрос?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.