Вы находитесь на сайте модмейкеров.
Пятница, 18.08.2017, 11:51
Участники · Правила форума · ПОИСК!
Страница 3 из 3«123
Форум » Редактор WorldEditor » Вопросы и помощь по картостроению » JASS - Циклы (без ответа)
JASS - Циклы
RatssorДата: Суббота, 05.09.2015, 20:26 | Сообщение # 21



Сообщений: 417

Я то сам принцип работы знаю, и как оно работает,
- я просто не знаю что означает некоторые записи в самом скрипте ...

Extremator, есть небольшой вопрос - тоже по циклам(относится к тем же триггерам):
какая функция есть для такого случая - "Ждать смерти юнита"?
(или на подобе (не событие, а именно ждать!))
я предлагаю такую хитрость :



Dead Area(14%) 14.10.2015

MY ACCOUNT VK
Мои файлы и наработки


Сообщение отредактировал Ratssor - Суббота, 05.09.2015, 20:40
--
RatssorДата: Понедельник, 07.09.2015, 23:54 | Сообщение # 22



Сообщений: 417

где все ?
почему молчите ?


Dead Area(14%) 14.10.2015

MY ACCOUNT VK
Мои файлы и наработки
--
zipДата: Четверг, 10.09.2015, 08:09 | Сообщение # 23



Сообщений: 35

Ratssor, Сформулируй вопрос заново на что ещё не ответили?
--
RatssorДата: Четверг, 10.09.2015, 18:14 | Сообщение # 24



Сообщений: 417

Цитата zip ()
Сформулируй вопрос заново
ты имеешь в виду новую тему ?


Dead Area(14%) 14.10.2015

MY ACCOUNT VK
Мои файлы и наработки
--
NekoriDesДата: Четверг, 10.09.2015, 20:16 | Сообщение # 25



Сообщений: 204

Цитата Ratssor ()
ты имеешь в виду новую тему ?

Просто заново задай вопрос, он имеет в виду.
--
RatssorДата: Четверг, 10.09.2015, 20:49 | Сообщение # 26



Сообщений: 417

какая функция есть для такого случая - "Ждать смерти юнита"?

что бы вставить ее в цикл после этих 2 строк (Jass)
    call CreateNUnitsAtLoc( 1, 'h004', GetOwningPlayer(GetTriggerUnit()), l, bj_UNIT_FACING )
    call UnitApplyTimedLifeBJ( 5.00, 'BTLF', GetLastCreatedUnit() )
    ...


Dead Area(14%) 14.10.2015

MY ACCOUNT VK
Мои файлы и наработки


Сообщение отредактировал Ratssor - Четверг, 10.09.2015, 20:51
--
NekoriDesДата: Четверг, 10.09.2015, 22:38 | Сообщение # 27



Сообщений: 204

Wait (ждать условия) просто, нет?
Либо можно запустить многократный таймер, по истечению которого совершаются действия, если выполнены условия.

Вот например:
Код
function Trig_trigger1_Actions takes nothing returns nothing
     local timer t = CreateTimer()
     call TimerStart( t, 0.1, true, function MYFUNC)  
     set t = null
endfunction
//===========================================================================
function InitTrig_trigger1 takes nothing returns nothing
     set gg_trg_trigger1 = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_trigger1, EVENT_PLAYER_UNIT_PICKUP_ITEM )
     call TriggerAddAction( gg_trg_trigger1, function Trig_trigger1_Actions )
endfunction

и
Код
function MYFUNC takes nothing returns nothing
   local timer t = GetExpiredTimer()  
   local integer id = GetHandleId(t)  
   if GetTimeOfDay() == 6.00 then
   call KillUnit( gg_unit_Hpal_0002 )
endif
   set t = null
endfunction


Первый код - герой поднимает итем и запускается таймер.
В кастом коде карты код с функцией MYFUNC после каждого истечения таймера проверяет, сколько сейчас времени. Если 6.00 - убить паладина.


Пользуясь случаем тоже задам вопрос. Почему у меня функция myfunc работает только если ее в кастом коде юзать? Как сделать все в одном триггере?
--
ExtrematorДата: Суббота, 12.09.2015, 10:18 | Сообщение # 28



Сообщений: 144

в условие выхода из цикла добавить "юнит мёртв"
и тогда цикл будет прерываться если
- закончится счётчик (твои 75)
- юнит окажется мёрт

Цитата Ratssor ()
loop
exitwhen i<=75 or IsUnitType(u,UNIT_TYPE_DEAD)
. . .
endloop
--
Форум » Редактор WorldEditor » Вопросы и помощь по картостроению » JASS - Циклы (без ответа)
Страница 3 из 3«123
Поиск:

W3 - Всё для картостроения. 2017-2010 |