Dreii, выложите пожалуйста версию кода пригодную для чтения. И впредь используйте эту программу: Jass Craft поскольку Blizzard Entertainment не встроила в TriggerEditor подсветку синтаксиса, проверку синтаксиса, список функций и т.п..
Добавлено (15-12-2010, 21:19) --------------------------------------------- От того, что ты триггеры переведешь в код производительность не изменится -_-
Dreii, забудь о "Правка>Преобразовать в текст", сначала научись с элементарными триггерами работать. Всему своё время. Начинай с малого и постепенно перейдёшь на другой уровень.
[san9], а в JNGP расписанно? PUVer, работало все отлично,но что - то случилось, я не знаю что)
Короче нужно всех игроков от 1 до 10 переместить из gg_rct_shop в случайную точку gg_rct_arena
Добавлено (15-12-2010, 22:31) --------------------------------------------- [san9], Работало все когда переносило всех игроков на арену,но при этом переносился и фантан. я поставил эт условие и се сломалось)
Code
call ForGroupBJ( GetUnitsInRectMatching(gg_rct_shop, Condition(function Trig_startarena_Func001001002)), function Trig_startarena_Func001A )
Короче нужно всех игроков от 1 до 10 переместить из gg_rct_shop в случайную точку gg_rct_arena
Ну дак это на триггерах элементарно делается И никогда не выкладывай подобный код. Он не читабелен и разбираться в нём никто не станет. Или высылай скрин тригга или нормальный код.
Dreii, Пиши наподобии этого что-бы глаза не резало:
Code
function TSAB takes nothing returns boolean local unit u=GetEnumUnit() if(GetOwningPlayer(u)!=Player(15)) set u=null return true endif set u=null return false endfunction function TSAC takes nothing returns nothing local unit u=GetEnumUnit() call SetUnitX(u,GetRandomReal(GetRectMinX(gg_rct_arena),GetRectMaxX(gg_rct_arena)) call SetUnitY(u,GetRandomReal(GetRectMinY(gg_rct_arena),GetRectMaxY(gg_rct_arena)) set u=null endfunction function TSAA takes nothing returns nothing local boolexpr b=function TSAB local group g=GroupEnumUnitsInRect(g,gg_rct_shop,b) local real array l local player p=Player(10) local integer i=0 call KillDestructable(gg_dest_B000_1446) call KillDestructable(gg_dest_B001_1443) call KillDestructable(gg_dest_B001_1442) call KillDestructable(gg_dest_B000_0969) call DestructableRestoreLife(gg_dest_B000_0969,GetDestructableMaxLife(gg_dest_B000_0969),true) call DisableTrigger(gg_trg_tp) call DisableTrigger(gg_trg_go) call DestroyTimerDialog(udg_widow) call ForGroup(g,function TSAC) set l[0]=GetRectCenterX(gg_rct_go1) set l[1]=GetRectCenterY(gg_rct_go1) set l[2]=GetRectCenterX(gg_rct_go2) set l[3]=GetRectCenterY(gg_rct_go2) set l[4]=GetRectCenterX(gg_rct_go3) set l[5]=GetRectCenterY(gg_rct_go3) set l[6]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go1)) set l[7]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go1)) set l[8]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go2)) set l[9]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go2)) set l[10]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go3)) set l[11]=GetRandomReal(GetRectMinX(gg_rct_go1),GetRectMaxX(gg_rct_go3)) loop exitwhen i>9 call CreateNUnitsAtLoc(p,udg_units[udg_wawes],l[0],l[1],270.) call CreateNUnitsAtLoc(p,udg_units[udg_wawes],l[2],l[3],270.) call CreateNUnitsAtLoc(p,udg_units[udg_wawes],l[4],l[5],270.) set i=i+1 endloop call CreateUnit(p,udg_boss[udg_wawes],l[6],l[7],270.) call CreateUnit(p,udg_boss[udg_wawes],l[8],l[9],270.) call CreateUnit(p,udg_boss[udg_wawes],l[10],l[11],270.) call DestroyGroup(g) call DestroyBoolExpr(b) set g=null set b=null endfunction function InitTrig_startarena takes nothing returns nothing set gg_trg_startarena=CreateTrigger() call TriggerRegisterTimerExpireEvent(gg_trg_startarena,udg_taimer) call TriggerAddAction(gg_trg_startarena,function TSAA) endfunction
p.s.
Quote (Dreii)
[san9], а в JNGP расписанно?
JNGP глаза режет. Зрение быстро посадишь с таким текстовым редактором.
Местами здесь.
Сообщение отредактировал EdiTTORR - Среда, 15 Декабря 2010, 22:43:15
function Trig_startarena_ForGroup takes nothing returns nothing call SetUnitPosition(GetEnumUnit(),GetRandomReal(GetRectMinX(gg_rct_arena),GetRectMaxX(gg_rct_arena)),GetRandomReal(GetRectMinY(gg_rct_arena),Get RectMaxY(gg_rct_arena))) endfunction
function Trig_startarena_Actions takes nothing returns nothing local integer i = 1 local group g = CreateGroup()
if GetDestructableLife(gg_dest_B000_1446) > 0 then call KillDestructable(gg_dest_B000_1446) endif call SetDestructableAnimation(gg_dest_B000_1446,"death alternate")
if GetDestructableLife(gg_dest_B001_1443) > 0 then call KillDestructable(gg_dest_B001_1443) endif call SetDestructableAnimation(gg_dest_B001_1443,"death alternate")
if GetDestructableLife(gg_dest_B001_1442) > 0 then call KillDestructable(gg_dest_B001_1442) endif call SetDestructableAnimation(gg_dest_B001_1442,"death alternate")
if GetDestructableLife(gg_dest_B000_0969) <= 0 then call DestructableRestoreLife(gg_dest_B000_0969,GetDestructableMaxLife(gg_dest_B000_0969),true) endif call SetDestructableAnimation(gg_dest_B000_0969,"stand")
Это не редактор вара. Это программа для написания кода Jass. File - new новый файл. View - Native list - это типо хелпера. Пишеш функцию,он её находит. Подсказывает как её заполнять. F9 Проверка на ошибки и т.д
Dreii, Тут могут некоторые сказать что бред. Но я делал так. Делаеш действие на тригерх. С,У и Д. переводиш в текст. Смотриш функции и открыаеш jasscraft. Открываеш нативе лист и вписываеш в поисковик функцию. Там находиш BJ и Native. А там уже написано как заполнять.