Ув. 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 )
Вроде бы тоже самое, что и раньше, когда юзали КеШ... да в принцыпе да, но НАМНОГО быстрее... по функциям указаным выше видно, что можно присвоить почти все...
Ну пример я дал теперь переводите свои карты...
Новички: если в какой либо наробатке вы не можете перевести в Хештаблицы, то сразу выкладывайте сюда... )
Лично я уже всё заменяю на ХеШ... прощай ретурн баг.... здраствуй таблицы...