XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Подсчет триггеров
Можно ли джассом подсчитать общее число триггеров. Нашел только подсчет queue триггеров (те которые в очереди)...
Старый 16.08.2007, 20:25
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Для чего?
Старый 16.08.2007, 20:27
adic3x

offline
Опыт: 108,439
Активность:
что то вроде:
Код:
function MyCreateTrigger takes nothing returns trigger
 set udg_TriggerCouner=udg_TriggerCouner+1
 return CreateTrigger()
endfunction
и потом напрямую использовать глобалку.
Старый 16.08.2007, 22:30
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Нет мне не нужен массив. Что нельзя сделать чтобы сразу выдавало число, как в ВЕ !!! CreateTrigger() здесь не к месту.
Старый 16.08.2007, 22:41
YellowStar
poon
offline
Опыт: 15,144
Активность:
Вот к чему эта Фича объясни а то фиг его знает тебе это зачем если хочешь узнать сколько их всего в карте то взгляни в менеджер объектов.
Старый 16.08.2007, 22:45
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Цитата:
Сообщение от NaRaYaN
Вот к чему эта Фича объясни а то фиг его знает тебе это зачем если хочешь узнать сколько их всего в карте то взгляни в менеджер объектов.

ахахахахахах
Старый 16.08.2007, 22:51
adic3x

offline
Опыт: 108,439
Активность:
ппц! я что написал??? замени в коде CreateTrigger() на MyCreateTrigger(), вставь ее в начале и создай глобалку udg_TriggerCouner (интегер) !
Старый 16.08.2007, 23:06
adic3x

offline
Опыт: 108,439
Активность:
млин, написал вам как посчитать любые тригеры, вы говорите непонятно что...
Старый 16.08.2007, 23:32
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Цитата:
их реально можно подсчитать в редакторе, и реально в менеджере обьектов(не редакторе(Хоткей F1 вроде у него)),но только гуишные триггеры

епта, про менеджер знает любой, кто первый раз открывает ВЕ.

ADOLF
Он будет считать и включенные, и выключенные? Скинь плз карту-пример в личку, я щас просто героями занят.
Старый 17.08.2007, 09:48
J
expert
offline
Опыт: 48,447
Активность:
Зевс тебе что надо? узнать количество включеных триггеров в игре? или просто в редакторе?

Jon добавил:
если тебе нужно вести подсчет абсолютно любых триггеров то делай так:
Код:
globals
    integer udg_AmountTriggers = 0
endglobals

function MyCreateTrigger takes nothing returns trigger
    set udg_AmountTriggers = udg_AmountTriggers + 1
    return CreateTrigger()
endfunction

function MyDestroyTrigger takes trigger trig returns nothing
    if trig != null then 
        set udg_AmountTriggers = udg_AmountTriggers - 1
        call DestroyTrigger(trig)
    endif
endfunction


если же только включенных триггеров, то так:

Код:
globals
    integer udg_AmountTriggers = 0
endglobals

function MyCreateTrigger takes nothing returns trigger
    set udg_AmountTriggers = udg_AmountTriggers + 1
    return CreateTrigger()
endfunction

function MyDestroyTrigger takes trigger trig returns nothing
    if trig != null then 
        if IsTriggerEnabled(trig) then      
            set udg_AmountTriggers = udg_AmountTriggers - 1
        endif
        call DestroyTrigger(trig)
    endif
endfunction

function MyEnableTrigger takes trigger trig returns nothing
    if (trig != null) and not IsTriggerEnabled(trig) then  
        set udg_AmountTriggers = udg_AmountTriggers + 1
        call EnableTrigger(trig)
    endif
endfunction

function MyDisableTrigger takes trigger trig returns nothing
    if (trig != null) and IsTriggerEnabled(trig) then  
        set udg_AmountTriggers = udg_AmountTriggers - 1
        call DisableTrigger(trig)
    endif
endfunction

Отредактировано Jon, 17.08.2007 в 13:26.
Старый 17.08.2007, 10:25
adic3x

offline
Опыт: 108,439
Активность:
жон развил мою мысль=)
Старый 17.08.2007, 11:37
J
expert
offline
Опыт: 48,447
Активность:
вся проблема в том что прийдется все гуи тригеры переводить в джаз чтобы подставить это...
да и вообще геморно както подставлять постояно...
Зевс просто так одной функцией взять и узнать количество включеных/всех тригеров нельзя
Старый 17.08.2007, 12:34
NETRAT

offline
Опыт: 83,712
Активность:
не обязательно - тут варианта два - либо заменить ГУИ триггерные функции в common.j (или где они лежат уже не помню =\) - тогда это будет работать только на твоем компе, либо заменить в описухе действий триггеров (текстовый файл worldedit*.txt), тогда ты будешь получать J скрипт картый который содержит счетчик триггеров
Старый 17.08.2007, 13:05
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Как все сложно( :)
Старый 17.08.2007, 14:16
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 05:45.