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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Нужна помошь Хэш таблица
OverMouseДата: Суббота, 28 Июня 2014, 10:29:49 | Сообщение # 1
1 уровень
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Блокировки:
Создаю юнит на карте. Сохраняю в хэш-таблице (в я чейку 1х1). Удаляю юнита с карты.

Строка сохранения :
Хэш-таблица - Save Handle of (Triggering Unit) as 1 of 1 in Hash (*Условия триггера срабатывают)

Происходит некое событие...

Какие действия нужно совершить, чтобы сохраненный юнит появился на карте?

Как у меня...:
Set LoadUnit = (Load 1 of 1 in Hash)
Боевая единица - Create 1 (Unit-type of LoadUnit) for Игрок 1 ...и так далее.

... не получается.

P.s. LoadUnit Тип переменной: боевая единица.

Добавлено (28 Июня 2014, 10:29:49)
---------------------------------------------
Выгрузить юнита на карту получилось. Только если эти действия поставить в одном триггере.

Хэш-таблица - Save Handle of (Triggering Unit) as 1 of 1 in Hash
Set LoadUnit = (Load 1 of 1 in Hash)
Боевая единица - Create 1 (Unit-type of LoadUnit) for Игрок 1 ...и так далее.

Это действие происходить в другом триггере. Почему не работает в другом?

 

FEARKILLERДата: Суббота, 28 Июня 2014, 12:17:08 | Сообщение # 2
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Чувак, ты немного неправильные представления имеешь насчёт хэш-таблицы. ХТ может хранить в себе только числовые и строчные значения, кроме объектов, на объекты она может сохранить только ссылку, по которой потом просто найти нужный объект в игре и сделать что нибудь с ним.

Как я понял, ты просто берёшь юнита, сохраняешь его в ХТ, затем удаляешь с карты и пытаешься его загрузить с ХТ. Это выглядит примерно так: Ты берёшь исполняемый файл игры (*.exe) и создаёшь ярлык на рабочий стол для этого файла (чтобы удобней было запускать), и тут же удаляешь игру вместе с этим исполняемым файлом, а после пытаешься запустить ярлык и видишь ошибку о том, что объект на который ссылается ярлык, отсутствует! Тоже самое происходит и в твоём случае с хэш-таблицей.

Хочешь сохранить полностью юнита со всеми его шмотками и прочими статами? Пользуйся буфером игры, это что-то похожее на хэш-таблицу, правда работает только в синглплэере. Но я до сих пор так и не понял что ты хочешь сделать, мб тебе ни то и ни другое вовсе не нужно, если ты хочешь просто ненадолго скрыть\удалить юнита из игры, а потом снова показать.


Делаю из воды вино, хожу по воде...
 

SirNikolasДата: Суббота, 28 Июня 2014, 12:29:14 | Сообщение # 3
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата FEARKILLER ()
правда, работает только в синглплэере.
Нет. В синглплеере можно сохранять буфер на диск без костылей, и это единственное отличие от мультиплеера.


 

  • Страница 1 из 1
  • 1
Поиск:

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