Сейчас 18:52:39 Суббота, 20 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » Return bug на пенсию.
Return bug на пенсию.
ЭллесарДата: Пятница, 17 Июля 2009, 13:12:36 | Сообщение # 1
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Ув. Jass'еры, вот близарды решили устранить этот баг, убив все карты где он использовался))
Радуют, что близарды дали замену РБ, по их словам она намного быстрее РБ. к примеру фунцкия GetHandleId аналог H2I, переводит хендл в число.

Особо говорить не буду, все уже было сказанно) вот фунции которые будут в новой версией Варкрафта.

Code
InitHashtable
GetHandleId
StringHash

SaveInteger
SaveReal
SaveBoolean
SaveStr
SavePlayerHandle
SaveWidgetHandle
SaveDestructableH    andle
SaveItemHandle
SaveUnitHandle
SaveAbilityHandle
SaveTimerHandle
SaveTriggerHandle
SaveTriggerConditionHandle
SaveTriggerActi o nH  andle
SaveTriggerEventHandle
SaveForceHandle
SaveGroupHandle
SaveLocationHandle
SaveRectHandle
SaveBooleanExprHandle
SaveSoundHan  dle
S  aveEffectHandle
SaveUnitPoolHandle
SaveItemPoolHandle
SaveQuestHandle
SaveQuestItemHandle
SaveDefeatConditionHandle
SaveTimerD  ialogHan  dle
SaveLeaderboardHandle
SaveMultiboardHandle
SaveMultiboardItemHandle
SaveTrackableHandle
SaveDialogHandle
SaveButtonHandl  e
SaveTex  tTagHandle
SaveLightningHandle
SaveImageHandle
SaveUbersplatHandle
SaveRegionHandle
SaveFogStateHandle
SaveFogModifierHand  le

LoadIn  teger
LoadReal
LoadBoolean
LoadStr
LoadPlayerHandle
LoadWidgetHandle
LoadDestructableHandle
LoadItemHandle
LoadUnitHan  dle
LoadAbili  tyHandle
LoadTimerHandle
LoadTriggerHandle
LoadTriggerConditionHandle
LoadTriggerActionHandle
LoadTriggerEventHandle
L  oadForceHandle
L  oadGroupHandle
LoadLocationHandle
LoadRectHandle
LoadBooleanExprHandle
LoadSoundHandle
LoadEffectHandle
LoadUnitPoo  lHandle
LoadItemPo  olHandle
LoadQuestHandle
LoadQuestItemHandle
LoadDefeatConditionHandle
LoadTimerDialogHandle
LoadLeaderboardHandle    
LoadMultiboardHandl  e
LoadMultiboardItemHandle
LoadTrackableHandle
LoadDialogHandle
LoadButtonHandle
LoadTextTagHandle
LoadLightn in gHandle
LoadImageHandl  e
LoadUbersplatHandle
LoadRegionHandle
LoadFogStateHandle
LoadFogModifierHandle

HaveSavedInteger
HaveSavedR  eal
HaveSavedBoolean
Ha  veSavedString
HaveSavedHandle

RemoveSavedInteger
RemoveSavedReal
RemoveSavedBoolean
RemoveSavedString
Rem  oveSavedHandle

FlushPa rentHashtable
FlushChildHashtable

Добавлено (17-07-2009, 11:51)
---------------------------------------------
-----------------------------------------------

Попробую показать как это работает:
Нужно инициализировать таблицу.
hehtbl = InitHashtable()

И так таблица занесена в переменную, теперь можно пользоваться.

У нас возникла надобность присвоить несколько чисел к юниту U.

call SaveInteger (hehbl, GetHandleId(U), 1, 5 )
call SaveInteger (hehbl, GetHandleId(U), 2, 26 )
call SaveInteger (hehbl, GetHandleId(U), 3, -412 )
И так мы присвоили несколько чисел к нашему юниту.

что бы считать число используем:

call LoadInteger (hehbl, GetHandleId(U), 1 )
call LoadInteger (hehbl, GetHandleId(U), 2 )
call LoadInteger (hehbl, GetHandleId(U), 3 )

Вроде бы тоже самое, что и раньше, когда юзали КеШ... да в принцыпе да, но НАМНОГО быстрее... по функциям указаным выше видно, что можно присвоить почти все...

Ну пример я дал :) теперь переводите свои карты...
Новички: если в какой либо наробатке вы не можете перевести в Хештаблицы, то сразу выкладывайте сюда... )

Лично я уже всё заменяю на ХеШ... прощай ретурн баг.... здраствуй таблицы...


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE


Сообщение отредактировал Эллесар - Пятница, 17 Июля 2009, 13:14:29
 

DragoNДата: Пятница, 17 Июля 2009, 14:22:48 | Сообщение # 2
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Эллесар, а разве об этом agentex не писал в теме про патч?
правда он показал весь список нативок,и описал hashtable


El Psy Congroo
 

agentexДата: Пятница, 17 Июля 2009, 17:15:22 | Сообщение # 3
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
как бы я создавал такую же тему. в использвании хештаблов нет ничего особенного (достаточно знать жасс вцелом) - хз зачем и для кого это расписывать.
 

ЭллесарДата: Пятница, 17 Июля 2009, 20:17:59 | Сообщение # 4
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
agentex, А хештабл это тоже самое, что двухмерный массив ?

Добавлено (17-07-2009, 20:17)
---------------------------------------------
agentex, А хештабл это тоже самое, что двухмерный массив ?


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

agentexДата: Пятница, 17 Июля 2009, 21:16:10 | Сообщение # 5
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
по сути да, хэштабл это таблица данных в памяти, доступ к элементам осуществляется расчетом по формуле в зависимости от ключей
 

ЭллесарДата: Пятница, 17 Июля 2009, 21:24:46 | Сообщение # 6
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
agentex, Их сколько можно объявлеть, сколько макс элементов, не в курсе ?

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

agentexДата: Пятница, 17 Июля 2009, 23:42:58 | Сообщение # 7
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
вроде бы сколько интегеров и существует.. хотя мб и оганичили.. это надо у близов спрашивать =\
Quote

Их сколько можно объявлеть

макс хештаблиц? ну я думаю 256 или 128 гдето в районе этого
 

DragoNДата: Пятница, 17 Июля 2009, 23:45:08 | Сообщение # 8
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
а макс кол-во значений в хэш-таблице?

El Psy Congroo
 

agentexДата: Пятница, 17 Июля 2009, 23:50:16 | Сообщение # 9
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
Dragon93, если
Quote

вроде бы сколько интегеров и существует

, то макс значений - это число в квадрате, это же элементарно

Добавлено (17-07-2009, 23:50)
---------------------------------------------
в любом случае ты даже представить не сможешь себе это число..

 

ELD@RДата: Суббота, 18 Июля 2009, 08:43:14 | Сообщение # 10
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 1
Блокировки:
Quote (agentex)
макс хештаблиц? ну я думаю 256 или 128 гдето в районе этого

по мне дак 1-ой за глаза
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » Return bug на пенсию.
  • Страница 1 из 1
  • 1
Поиск:

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