Добавлен
Делал систему при которой юнит находящийся в радиусе от "юнит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
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
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, нет
ты пишешь бред и этим самым вредишь
т.к. это путает людей
А разве задача любого из нас отвечать на коменты?
Или все же на вопрос?
5
Я пишу то что возможно поможет,так сказать пытаюсь помочь.
Лучше себе помоги. =) без обид)
Где тут написано что функция чтото возвращает?
Это тут причем вообще?
А разве задача любого из нас отвечать на коменты?
Или все же на вопрос?
Тут никто на вопросы не отвечает. Только посылают статьи читать.
21
Timoxxx, Потому что все со статей учились, а не с вопросов.
9
Timoxxx:
Я пишу то что возможно поможет,так сказать пытаюсь помочь.
Лучше себе помоги. =) без обид)
Себе я помогаю пытаюсь решить этот вопрос
Где тут написано что функция чтото возвращает?
Это тут причем вообще?
Как мне сказал nvc123 что оно возвращает (GetEnumUnit())
А разве задача любого из нас отвечать на коменты?
Или все же на вопрос?
Тут никто на вопросы не отвечает. Только посылают статьи читать.
В данный момент да=))
Buulichkaa:
Timoxxx, Потому что все со статей учились, а не с вопросов.
А может и не все?=)) кто знает?
21
silence_AZ, Те, кто учились не со статей, так и не выучились.
9
Buulichkaa:
silence_AZ, Те, кто учились не со статей, так и не выучились.
А вы не подумали что те кто учился не со статей и написали эти статьи?
21
Итак, полный разбор полетов -_\\ Я не могу понять что нужно автору, объясни мне, что надо сделать и я подскажу как лучше.
быдлокод
function 1_C1 takes unit ruf returns integer
//ИНФОРМАТИВНОЕ НАЗВАНИЕ ФУНКЦИИ??
local integer i=0
local integer p
// ПЕРЕМЕННАЯ НЕ ИНИЦИАЛИЗИРОВАНА
// ПРИ НЕКОТОРЫХ УСЛОВИЯХ ЕЙ ТАК И НЕ УСТАНОВИТСЯ ЗНАЧЕНИЕ                                    
loop
exitwhen Zone[i]==null
//ЧТО ТАКОЕ Zone[i] ДАЖЕ БОГ НЕ ЗНАЕТ
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
//ОПЯТЬ? 1_2 КЛАСС! Я СРАЗУ ПОНЯЛ ЧТО ОНО ДЕЛАЕТ
local integer p=GetPlayerId(GetOwningPlayer(GetEnumUnit()))
local integer i=1_C1(GetEnumUnit())
if ( IsUnitInGroup(GetEnumUnit(), group[i]) == true ) then
//ФУНКЦИЯ GetEnumUnit() ВЫЗЫВАЕТСЯ УЖЕ ТРЕТИЙ РАЗ, МОЖНО БЫЛО ЗАНЕСТИ ЕЁ В ПЕРЕМЕННУЮ
call IssuePointOrderLoc(udg_OilTank, "move", Location(GetRectCenterX(Zone[i]), GetRectCenterY(Zone[i])))
//ПОЧЕМУ НЕ КООРДИНАТЫ?
//ЧТО ТАКОЕ udg_OilTank
//УТЕЧКА ТОЧКИ?
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
silence_AZ, это было давно и неправда, а вам уже дают все на блюдечке, так что сейчас не время задавать вопросы. Тем более глупые.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.