Сейчас 21:47:51 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Модератор форума: PUVer, SirNikolas, Ty3uK  
Вел оф дискорд
MelodiaДата: Пятница, 04 Апреля 2014, 23:59:26 | Сообщение # 76
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
Цитата Melodia ()
SirNikolas, а если я запилю в неё новый юнит? -_-

в глобалку.
Типа что-то останется от старого юнита?


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

BiboДата: Суббота, 05 Апреля 2014, 00:00:28 | Сообщение # 77
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
Цитата SirNikolas ()
Семейство функций GroupEnumUnits... чистит группу перед добавлением.

Забавно что этот вопрос в принципе никогда не возникал...
Цитата Melodia ()
а если я запилю в неё новый юнит?

Лопнет и рабочий стол забрызгает lol
Нет, переменная будет хранить ссылку на нового юнита и ее ничего не будет связывать с предыдущим.
Цитата SirNikolas ()
group, location - да. Но остальные ведь не мгновенного использования, как они могут решаться глобалками?

Я скорее записал основной прейскурант используемого материала, которой хоть как-то но может вызвать головную боль.


Сообщение отредактировал Bibo - Суббота, 05 Апреля 2014, 00:03:02
 

SirNikolasДата: Суббота, 05 Апреля 2014, 00:05:26 | Сообщение # 78
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
[code=jass]constant hashtable Hash = InitHashtable();

callback onInit() {
unit u = CreateUnit(Player(0), 'hfoo', .0, .0, .0);
RemoveUnit(u);
u = CreateUnit(Player(0), 'hrif', .0, .0, .0);
//Как тут сослаться на пехотинца?)
//Собственно, поэтому он и удаляется игрой после перенаправления всех ссылок.

//Демонстрация слабых ссылок.
SaveAgentHandle(Hash, 0, 0, u);
RemoveUnit(u);
printf("rifleman life after removing: %r", GetWidgetLife(u));
u = null;
u = LoadUnitHandle(Hash, 0, 0);
printf("rifleman life after flushing: %r", GetWidgetLife(u));
TimerStart(CreateTimer(), .0, false, \
lambda void() {
unit u = LoadUnitHandle(Hash, 0, 0);
printf("rifleman life after zero delay: %r", GetWidgetLife(u));
DestroyTimer(GetExpiredTimer());
}
);
}[/code]
rifleman life after removing: 520.000
rifleman life after flushing: 520.000
rifleman life after zero delay: 0.000


 

  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz