Хеш-таблицы
|
|
Ralex | Дата: Воскресенье, 05 Сентября 2010, 19:30:36 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Мне нужно побольше узнать про них, я просто не врубаюсь, для чего handle нужен, наскок понимаю с таблицами расширяются возможности))) Мне либо статейку подкиньте (вот эта - не то http://warcraft3ft.info/forum/29-14225-1), либо сами попробуйте объяснить
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
Ralex | Дата: Понедельник, 06 Сентября 2010, 11:29:12 | Сообщение # 2 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Таааак, то есть с помощью них предположим, можно убрать героя на время, а потом восстановить уже с той же маной, хп, опытом и тд?
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
xGaDx | Дата: Понедельник, 06 Сентября 2010, 14:01:19 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
| Vova5009, а не буфер игры для этого служит? хэш табл своего рода переменная ток я в ней не шарю.
|
|
|
|
Ralex | Дата: Понедельник, 06 Сентября 2010, 15:04:49 | Сообщение # 4 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| xGaDx, вот вот, и я не врубаюсь, например зачем ОБЫЧНОЕ число целое, вводить в таблицу, если есть переменные
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
xGaDx | Дата: Понедельник, 06 Сентября 2010, 15:10:47 | Сообщение # 5 |
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
| Она вроде работает как локалка, то есть создаешь одну и она используется для всех игроков или юнитов.
|
|
|
|
Pa3apT | Дата: Понедельник, 06 Сентября 2010, 15:32:35 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| Хеш таблица не переменная, а ассоциативный массив. Статья
|
|
|
|
Ralex | Дата: Понедельник, 06 Сентября 2010, 16:56:21 | Сообщение # 7 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Pa3apT, Блин, да читал я эту статью, я не понимаю как и для чего использовать handle Quote (Pa3apT) Хеш таблица не переменная, а ассоциативный массив Это понятно, что там не одно значение, а дофига, и с разными типами
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
Pa3apT | Дата: Понедельник, 06 Сентября 2010, 17:19:32 | Сообщение # 8 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| Ralex, хендл энто ссылка на объект. Quote Это понятно, что там не одно значение, а дофига, и с разными типами Там 1 значение в 1 ячейке, а не дофига. Выглядит примерно так: hash[%ячейка%, %параметр%]=%значение% Вместо %ячейка% мы подставляем хендл объекта(юнита, спец эффекта, таймера и т.д.), вместо %параметр% мы ставим любую строку.
|
|
|
|
Ralex | Дата: Понедельник, 06 Сентября 2010, 17:24:29 | Сообщение # 9 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Pa3apT, А ячеек сколько, м? Дофига) Добавлено (06-09-2010, 17:24) --------------------------------------------- Я просто попросил статью, которая не показывает новые функции, а объясняет их
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
Pa3apT | Дата: Понедельник, 06 Сентября 2010, 18:11:29 | Сообщение # 10 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| Ох щет... Статья и объясняет все ф-ции... Читай полностью, а не только то, где тебе буквы нравятся -.-
|
|
|
|
Ralex | Дата: Понедельник, 06 Сентября 2010, 20:36:50 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Pa3apT, Ты меня не понимаешь, Получение Handle объекта Если мы хотим присваивать объектам какие-либо значения, то нам необходим хендл данного объекта. Получить его мы можем с помощью функции “GetHandleId”. В качестве аргумента мы передаём любой игровой объект и получаем число типа “Целочисленное (integer) ”. Пример: Код: local integer ObjectHadle set ObjectHadle = GetHandleId(udg_Unit) В данном примере мы присвоили переменной “ObjectHadle” хендл юнита, заранее занесённого в переменную “udg_Unit” Мне не надо узнавать, как его находить, мне надо узнать как и для чего его использовать Лан пофиг, сам разберусь
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|
Pa3apT | Дата: Понедельник, 06 Сентября 2010, 23:41:39 | Сообщение # 12 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| Ralex, он используется как указатель на ячейку, типа: Code hash[<хендл юнита>, <сила заклинаний>]=156 hash[<хендл юнита>, <защита>]=10578 Только энто записывается так: Code call SaveReal(udg_Hash, GetHandleId(udg_Unit), StringHash("сила заклинаний"), 156.00) call SaveReal(udg_Hash, GetHandleId(udg_Unit), StringHash("защита"), 10578.00) И грузится аналогично: Code local real spd = LoadReal(udg_Hash, GetHandleId(udg_Unit), StringHash("сила заклинаний")) local real arm= LoadReal(udg_Hash, GetHandleId(udg_Unit), StringHash("защита"))
Сообщение отредактировал Pa3apT - Понедельник, 06 Сентября 2010, 23:41:55 |
|
|
|
Ralex | Дата: Вторник, 07 Сентября 2010, 13:16:57 | Сообщение # 13 |
6 уровень
Группа: Проверенные
Сообщений: 213
Награды: 0
Репутация: 6
Блокировки:
| Ок спс разберусь
1 - я практически всё пишу по памяти 2 - если я не ответил - пишите ПМ
|
|
|
|