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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Хеш-таблицы (подкиньте статейку)
Хеш-таблицы
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 - если я не ответил - пишите ПМ
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Хеш-таблицы (подкиньте статейку)
  • Страница 1 из 1
  • 1
Поиск:

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