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

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

Закрытая тема
 
Chiters
Хирург Сскальпелем в руке
offline
Опыт: 2,989
Активность:
Создание переменных
Как создать локальную переменную, которая бы работала на два триггера?
Старый 06.07.2009, 19:28
J
expert
offline
Опыт: 48,447
Активность:
никак
Старый 06.07.2009, 19:29
Chiters
Хирург Сскальпелем в руке
offline
Опыт: 2,989
Активность:
Ну, а как тогда делают 2 триггера которые работают с друг другом?
Старый 06.07.2009, 19:33
J
expert
offline
Опыт: 48,447
Активность:
глобальные переменные\кэш\хэш таблица и т.д.
Старый 06.07.2009, 19:39
Chiters
Хирург Сскальпелем в руке
offline
Опыт: 2,989
Активность:
Пример можно?
Старый 06.07.2009, 19:54
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Chiters создаёшь глобалку и передаёшь нужные данные через неё
кэш:сторишь значения найденные через рб или юнитов на кэш с определённым именем,в другой функции вытаскиваешь...(вроде так,если мне память не изменяет)
Старый 06.07.2009, 23:40
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
Цитата:
кэш:сторишь значения найденные через рб или юнитов на кэш с определённым именем,в другой функции вытаскиваешь...(вроде так,если мне память не изменяет)

не слушай его ( я про рб конешь )
Код:
globals
unit array u
integer count = 0
timer t = CreateTimer()
endglobals

function xXx takes nothing returns nothing
local integer i = 1
      loop
            exitwhen i > count
            call SetUnitX(u[i],GetUnitX(u[i])+20)
            call SetUnitY(u[i],GetUnitY(u[i])+20)
            if GetUnitX(u[i])>100 or GetUnitY(u[i]) > 100 then
                  call KillUnit(u[i])
                  set u[i] = u[count]
                  set u[count] = null
                  set count = count - 1
                  set i = i - 1
            endif
            set i = i + 1
      endloop
      if count == 0 then
            call TimerPause(t)
      endif
endfunction

function xxx takes nothing returns nothing
      set count = count + 1
      set u[count] = CreateUnit(Player(0),'hpea',0,0,0)
      if count == 1 then
            call TimerStart(t,0.1,true,function xXx)
      endif
endfunction

Отредактировано ELDAR, 07.07.2009 в 16:20.
Старый 07.07.2009, 06:48
J
expert
offline
Опыт: 48,447
Активность:
ELDAR не рассуждать о вещах в который не разбираешься совершено, и не давай ссылки на статьи которые не понимаешь, и в которых описываются совершено другие проблемы
вместо юзер даты можно использовать рб + хеш таблица, или рб + кеш, это естественно будет универсальные, просто патч пока вышел в форме rc, и примеры я делаю не на нем, чтобы работало

J добавил:
ну и по теме, у b]Chiters[/b] вроде мало опыта еще так что самое оптимальное что он может сделать это передавать все что нужно через кеш хотя и то врятли, ссылку на статью я ему давал когда он обращался в приват, так что все зависит от него

Отредактировано J, 07.07.2009 в 12:33.
Старый 07.07.2009, 12:27
Закрытая тема

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

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

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

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



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