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

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

 
not_name

offline
Опыт: 1,021
Активность:
нет !
Старый 28.11.2009, 23:40
RazArt

offline
Опыт: 11,197
Активность:
Вот когда установишь лицензионку, ну мб купишь или на худой конец скачаешь образы, тогда и отпишишься :)
Старый 29.11.2009, 09:32
Чебурашка

offline
Опыт: 5,460
Активность:
RazArt:
Я не думаю что муи будет с этим работать, так как по сути они будут перезаписываться...
Можно использовать так:
call SaveReal(udg_Hash, GetHandleId(udg_Unit), StringHash("<Имя_абилки>"+"<Параметр>"), “2.00”)
set test = LoadReal(udg_Hash, GetHandleId(udg_Unit), StringHash("<Имя_абилки>"+"<Параметр>"))
Будет МУИ. Ведь первый аргумент у меня - хендл таймера или триггера
Старый 02.12.2009, 12:51
RazArt

offline
Опыт: 11,197
Активность:
Цитата:
А вот я во втором аргументе использую StringHash("название_спелла+передаваемый_параметр")

То есть SaveReal(udg_Hash, StringHash("<Имя_абилки>"+"<Параметр>"), 0, “2.00”), всегда будет записываться в 1 ячейку
Старый 02.12.2009, 15:01
Da_VAS_rK

offline
Опыт: 394
Активность:
А можно ли в хэш втащить массив юнитов и как?
Старый 12.01.2010, 20:50
agentex

offline
Опыт: 34,834
Активность:
всмысле ссылку на него? по видимому, нет
Старый 12.01.2010, 21:09
Da_VAS_rK

offline
Опыт: 394
Активность:
Ну да, как мы записываем в хэш допустим целые числа и потом ссылаемся на хэш, также вытянуть из него только массив.
И ещё вопросы, поясните что к чему =) :
1.Насколько я понял хэш удобен для того, чтоб в триггере в др функциях не использовать глобальные переменные, а вместо этого исп-ть хэш?
  1. Можно ли данные, записанные в хэш в одном триггере, исп-ть в другом, ведь по идее создаётся глобальная переменная Hash - хэш таблица?
Старый 12.01.2010, 23:58
RazArt

offline
Опыт: 11,197
Активность:
1) Да
2) Для этого он и нужен, только корректнее будет сказать не в разных тригерах, а в разных ф-циях
3) udg_Hash в примере, да это хеш-таблица
Старый 13.01.2010, 00:01
Sergarr

offline
Опыт: 4,677
Активность:
Ну да, иначе хэш не имел бы смысла... Цель хэша - сопоставлять каждому из элементов численного массива набор переменных, определяемых jass'ером. Удобство хэша как раз в том, что одному значению (номеру юнита, например) несколько каких угодно игровых переменных, например, юнита, или регион. Или Х/Y и использовать.
Массив юнитов - хмм, нельзя ли использовать строковое значение как имя переменной? Тогда можно будет записывать имя переменной как строку и потом сразу получать доступ к массиву. Правда, я боюсь, что этого сделать нельзя...
Старый 13.01.2010, 00:04
DioD

offline
Опыт: 45,134
Активность:
чтобы записать в хеш массив юнитов надо записать в него всех юнитов из массива по очереди.

потом циклом юнитов извлекать, как только будет достан последний, вы узнаете по возврату нулевого юнита.

только это кошмарно неээфективно, куда проще писать в хеш указание на первого и последнего юнита из некого статичного массива и пикают юнитов между этими числами при необходимости.
Старый 13.01.2010, 00:05
Da_VAS_rK

offline
Опыт: 394
Активность:
спс за ответы ))
DioD, по ходу придётся на первых порах попотеть ))
П.с. А если массив не статичный и может в течение несколиких секунд изменяться?
Извините, но я так и не понял насчёт триггеров. Вот допустим я втащил массив в хэш вышеописанным способом. Массив я выдрал из триггера к примеру Lol. Есть второй триггер под названием Inoob. Могу ли я во второй триггер втащить массив из хэша. Т.е. как бы получиться что я взял данные из первого триггера через хэш =) Просто нужно это дело уточнить, чтоб потом таких тупых вопросов у меня не возникало )
Старый 13.01.2010, 00:13
DioD

offline
Опыт: 45,134
Активность:
если массив не статичный то тебе придётся самому написать функцию управления памятью, так, чтобы данные в массиве шли последовательно (или иным образом) и не перезаписывались при последующих вызовах.

если ты не можешь сделать это самостоятельно то тебе оно не нужно, так как полноценное использование будет невозможным.
Старый 13.01.2010, 01:27
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
У меня такой вопрос возник - можно ли В ХешТаблице хранить другие ХешТаблицы? Ну или использовать их в качестве ключей? Или запихивать ХешТаблицу в структуру? Никто еще не извращался подобными способами? Если нет, то я первым испытаю садистское удовольствие над вариком в этом плане))))
Старый 20.01.2010, 06:38
DioD

offline
Опыт: 45,134
Активность:
что мешает хранить хеш таблицу в массиве, а в другой хеш таблице номер ячейки?
Старый 20.01.2010, 09:26
RazArt

offline
Опыт: 11,197
Активность:
JamesBlack, и зачем?)
Старый 21.01.2010, 16:08
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
DioD, не номер ячейки, номер таблицы... По идее разница? все равно просто целочисленное.

Ну так вот, а как у нас дела со структурами? Можно ли их хранить в хеш-таблице?

JamesBlack добавил:
Ведь они вроде тоже как интом являются, но просто, релизовано ли это щас в JNGP?

JamesBlack добавил:
RazArt, для любителей объектно-ориентированного программирования - надо))) Я лично за инкапсуляцию обеими руками и ногами, а тут предоставляют самое слабое средство - структуры...
Старый 25.01.2010, 05:33
Nekit1234007

offline
Опыт: 11,916
Активность:
Цитата:
Сообщение от JamesBlack
а как у нас дела со структурами? Можно ли их хранить в хеш-таблице?

Пример.
Старый 25.01.2010, 10:06
bobok1

offline
Опыт: 1,213
Активность:
Вопрос по теме:
Можно ли сохранить в хеш-таблицу code?
Старый 04.04.2010, 13:03
RazArt

offline
Опыт: 11,197
Активность:
Что такое code?
Старый 04.04.2010, 16:34
DioD

offline
Опыт: 45,134
Активность:
можно, только его сначала надо будет превратить в кондишин
Старый 04.04.2010, 19:02

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

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

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

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



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