|
|
|
|
Патч 1.24
|
|
agentex | Дата: Четверг, 11 Июня 2009, 00:05:41 | Сообщение # 1 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| Хм странно что еще не создали такой темы. Буду первым. Ладно, ближе к делу. Суть в том что грядущий патч 1.23b не только закрывает дырку для вирусов, распространяемых через карты, но попутно и убивает Return Bug (кто бы сомневался ^_^). Однако есть плюсы: Близы на редкость расщедрились и подарили нам аж 97 новых функций с новым патчем, основные из которых служат для работы с новым типом - hashtable. Ниже полный список (сори я не вкурсе, работает ли тут [cut]) Code type hashtable extends handle
native GetHandleId takes handle h returns integer native StringHash takes string s returns integer
native InitHashtable takes nothing returns hashtable
native SaveInteger takes hashtable table, integer parentKey, integer childKey, integer value returns nothing native SaveReal takes hashtable table, integer parentKey, integer childKey, real value returns nothing native SaveBoolean takes hashtable table, integer parentKey, integer childKey, boolean value returns nothing native SaveStr takes hashtable table, integer parentKey, integer childKey, string value returns boolean native SavePlayerHandle takes hashtable table, integer parentKey, integer childKey, player whichPlayer returns boolean native SaveWidgetHandle takes hashtable table, integer parentKey, integer childKey, widget whichWidget returns boolean native SaveDestructableHandle takes hashtable table, integer parentKey, integer childKey, destructable whichDestructable returns boolean native SaveItemHandle takes hashtable table, integer parentKey, integer childKey, item whichItem returns boolean native SaveUnitHandle takes hashtable table, integer parentKey, integer childKey, unit whichUnit returns boolean native SaveAbilityHandle takes hashtable table, integer parentKey, integer childKey, ability whichAbility returns boolean native SaveTimerHandle takes hashtable table, integer parentKey, integer childKey, timer whichTimer returns boolean native SaveTriggerHandle takes hashtable table, integer parentKey, integer childKey, trigger whichTrigger returns boolean native SaveTriggerConditionHandle takes hashtable table, integer parentKey, integer childKey, triggercondition whichTriggercondition returns boolean native SaveTriggerActionHandle takes hashtable table, integer parentKey, integer childKey, triggeraction whichTriggeraction returns boolean native SaveTriggerEventHandle takes hashtable table, integer parentKey, integer childKey, event whichEvent returns boolean native SaveForceHandle takes hashtable table, integer parentKey, integer childKey, force whichForce returns boolean native SaveGroupHandle takes hashtable table, integer parentKey, integer childKey, group whichGroup returns boolean native SaveLocationHandle takes hashtable table, integer parentKey, integer childKey, location whichLocation returns boolean native SaveRectHandle takes hashtable table, integer parentKey, integer childKey, rect whichRect returns boolean native SaveBooleanExprHandle takes hashtable table, integer parentKey, integer childKey, boolexpr whichBoolexpr returns boolean native SaveSoundHandle takes hashtable table, integer parentKey, integer childKey, sound whichSound returns boolean native SaveEffectHandle takes hashtable table, integer parentKey, integer childKey, effect whichEffect returns boolean native SaveUnitPoolHandle takes hashtable table, integer parentKey, integer childKey, unitpool whichUnitpool returns boolean native SaveItemPoolHandle takes hashtable table, integer parentKey, integer childKey, itempool whichItempool returns boolean native SaveQuestHandle takes hashtable table, integer parentKey, integer childKey, quest whichQuest returns boolean native SaveQuestItemHandle takes hashtable table, integer parentKey, integer childKey, questitem whichQuestitem returns boolean native SaveDefeatConditionHandle takes hashtable table, integer parentKey, integer childKey, defeatcondition whichDefeatcondition returns boolean native SaveTimerDialogHandle takes hashtable table, integer parentKey, integer childKey, timerdialog whichTimerdialog returns boolean native SaveLeaderboardHandle takes hashtable table, integer parentKey, integer childKey, leaderboard whichLeaderboard returns boolean native SaveMultiboardHandle takes hashtable table, integer parentKey, integer childKey, multiboard whichMultiboard returns boolean native SaveMultiboardItemHandle takes hashtable table, integer parentKey, integer childKey, multiboarditem whichMultiboarditem returns boolean native SaveTrackableHandle takes hashtable table, integer parentKey, integer childKey, trackable whichTrackable returns boolean native SaveDialogHandle takes hashtable table, integer parentKey, integer childKey, dialog whichDialog returns boolean native SaveButtonHandle takes hashtable table, integer parentKey, integer childKey, button whichButton returns boolean native SaveTextTagHandle takes hashtable table, integer parentKey, integer childKey, texttag whichTexttag returns boolean native SaveLightningHandle takes hashtable table, integer parentKey, integer childKey, lightning whichLightning returns boolean native SaveImageHandle takes hashtable table, integer parentKey, integer childKey, image whichImage returns boolean native SaveUbersplatHandle takes hashtable table, integer parentKey, integer childKey, ubersplat whichUbersplat returns boolean native SaveRegionHandle takes hashtable table, integer parentKey, integer childKey, region whichRegion returns boolean native SaveFogStateHandle takes hashtable table, integer parentKey, integer childKey, fogstate whichFogState returns boolean native SaveFogModifierHandle takes hashtable table, integer parentKey, integer childKey, fogmodifier whichFogModifier returns boolean
native LoadInteger takes hashtable table, integer parentKey, integer childKey returns integer native LoadReal takes hashtable table, integer parentKey, integer childKey returns real native LoadBoolean takes hashtable table, integer parentKey, integer childKey returns boolean native LoadStr takes hashtable table, integer parentKey, integer childKey returns string native LoadPlayerHandle takes hashtable table, integer parentKey, integer childKey returns player native LoadWidgetHandle takes hashtable table, integer parentKey, integer childKey returns widget native LoadDestructableHandle takes hashtable table, integer parentKey, integer childKey returns destructable native LoadItemHandle takes hashtable table, integer parentKey, integer childKey returns item native LoadUnitHandle takes hashtable table, integer parentKey, integer childKey returns unit native LoadAbilityHandle takes hashtable table, integer parentKey, integer childKey returns ability native LoadTimerHandle takes hashtable table, integer parentKey, integer childKey returns timer native LoadTriggerHandle takes hashtable table, integer parentKey, integer childKey returns trigger native LoadTriggerConditionHandle takes hashtable table, integer parentKey, integer childKey returns triggercondition native LoadTriggerActionHandle takes hashtable table, integer parentKey, integer childKey returns triggeraction native LoadTriggerEventHandle takes hashtable table, integer parentKey, integer childKey returns event native LoadForceHandle takes hashtable table, integer parentKey, integer childKey returns force native LoadGroupHandle takes hashtable table, integer parentKey, integer childKey returns group native LoadLocationHandle takes hashtable table, integer parentKey, integer childKey returns location native LoadRectHandle takes hashtable table, integer parentKey, integer childKey returns rect native LoadBooleanExprHandle takes hashtable table, integer parentKey, integer childKey returns boolexpr native LoadSoundHandle takes hashtable table, integer parentKey, integer childKey returns sound native LoadEffectHandle takes hashtable table, integer parentKey, integer childKey returns effect native LoadUnitPoolHandle takes hashtable table, integer parentKey, integer childKey returns unitpool native LoadItemPoolHandle takes hashtable table, integer parentKey, integer childKey returns itempool native LoadQuestHandle takes hashtable table, integer parentKey, integer childKey returns quest native LoadQuestItemHandle takes hashtable table, integer parentKey, integer childKey returns questitem native LoadDefeatConditionHandle takes hashtable table, integer parentKey, integer childKey returns defeatcondition native LoadTimerDialogHandle takes hashtable table, integer parentKey, integer childKey returns timerdialog native LoadLeaderboardHandle takes hashtable table, integer parentKey, integer childKey returns leaderboard native LoadMultiboardHandle takes hashtable table, integer parentKey, integer childKey returns multiboard native LoadMultiboardItemHandle takes hashtable table, integer parentKey, integer childKey returns multiboarditem native LoadTrackableHandle takes hashtable table, integer parentKey, integer childKey returns trackable native LoadDialogHandle takes hashtable table, integer parentKey, integer childKey returns dialog native LoadButtonHandle takes hashtable table, integer parentKey, integer childKey returns button native LoadTextTagHandle takes hashtable table, integer parentKey, integer childKey returns texttag native LoadLightningHandle takes hashtable table, integer parentKey, integer childKey returns lightning native LoadImageHandle takes hashtable table, integer parentKey, integer childKey returns image native LoadUbersplatHandle takes hashtable table, integer parentKey, integer childKey returns ubersplat native LoadRegionHandle takes hashtable table, integer parentKey, integer childKey returns region native LoadFogStateHandle takes hashtable table, integer parentKey, integer childKey returns fogstate native LoadFogModifierHandle takes hashtable table, integer parentKey, integer childKey returns fogmodifier
native HaveSavedInteger takes hashtable table, integer parentKey, integer childKey returns boolean native HaveSavedReal takes hashtable table, integer parentKey, integer childKey returns boolean native HaveSavedBoolean takes hashtable table, integer parentKey, integer childKey returns boolean native HaveSavedString takes hashtable table, integer parentKey, integer childKey returns boolean native HaveSavedHandle takes hashtable table, integer parentKey, integer childKey returns boolean
native RemoveSavedInteger takes hashtable table, integer parentKey, integer childKey returns nothing native RemoveSavedReal takes hashtable table, integer parentKey, integer childKey returns nothing native RemoveSavedBoolean takes hashtable table, integer parentKey, integer childKey returns nothing native RemoveSavedString takes hashtable table, integer parentKey, integer childKey returns nothing native RemoveSavedHandle takes hashtable table, integer parentKey, integer childKey returns nothing
native FlushParentHashtable takes hashtable table returns nothing native FlushChildHashtable takes hashtable table, integer parentKey returns nothing Собственно как вы уже догодались, хэш таблицы - полноценная замена мультиплеерному кешу и СЦВ, притом и работает это быстрее чем кеш, так как в качестве ключей выступают числа, а не строки. Про H2I также не забыли - теперь РБ легализован, и адрес хендла можно спокойно получить с помощью GetHandleId. Но вот обратных функций нету, что огорчает =( Так что если хотите чтобы в вашу карту играли в батл нете, готовьтесь переписывать системы и спелы, использующие SCV и ретурн баг в частности под Хэш. Вотъ вам, инфа для раздумья )
|
|
|
|
Gam_Over | Дата: Четверг, 11 Июня 2009, 16:19:40 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
| класная новость. лично я рб не сильно воспринимал как сильно крутое средство из за его багов и глюков теперь с помощью хеша можно будет наеврное много вкусностей делать. интересно массивы круче или нет надо будет посмотреть. а этот патч вроде как неофициал, не через батл.нет? или я не прав? или какие то еще изменения?
|
|
|
|
agentex | Дата: Четверг, 11 Июня 2009, 17:28:54 | Сообщение # 3 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| самый официальный официал) но его еще не запустили, наверно дорабатывают. по неподтвержденным данным в июне должен выйти. даже если массивы и быстрее (а скорее всего это так) все равно МУИ спеллы намного лучше писать на Хэштаблах, потому что возможности их огромны.Добавлено (11-06-2009, 17:27) --------------------------------------------- а новичек сразу и не разберется как сделать параллельные массивы и индексацию элементов. Добавлено (11-06-2009, 17:28) --------------------------------------------- ах да, чтобы пропали все сомнения, вот ссыль на источник: http://forums.battle.net/thread.html?topicId=17730193178&sid=3000
|
|
|
|
Gam_Over | Дата: Четверг, 11 Июня 2009, 18:39:31 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
| agentex, а ну да. тогда получается патч для обычных игроков не имеет смысла
|
|
|
|
DragoN | Дата: Четверг, 11 Июня 2009, 19:06:56 | Сообщение # 5 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| agentex, читал уже на xgm,с темой обогнал =) патч конечно радует, не только возможностью избавиться от SCV так же будем ждать новый Jass New Pack Gen =) кто-нибудь уже слышал новости от векса?
El Psy Congroo
|
|
|
|
agentex | Дата: Четверг, 11 Июня 2009, 19:30:24 | Сообщение # 6 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| Gam_Over, ну разве что они не смогут играть в некоторые карты) Quote так же будем ждать новый Jass New Pack Gen =) кто-нибудь уже слышал новости от векса? ну надо постоянно следить за его постами на кампах, тогда моно чето выловить)
|
|
|
|
DragoN | Дата: Четверг, 11 Июня 2009, 19:47:44 | Сообщение # 7 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| agentex, следим прямо из профиля
El Psy Congroo
|
|
|
|
Prottector | Дата: Понедельник, 15 Июня 2009, 15:15:43 | Сообщение # 8 |
4 уровень
Группа: Заблокированные
Сообщений: 88
Награды: 0
Репутация: 11
Блокировки:
| Я вот не врублюсь никак SCV тоже же не будет?
<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
|
|
|
|
ХАОС | Дата: Понедельник, 15 Июня 2009, 15:20:49 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 466
Награды: 0
Репутация: 125
Блокировки:
| Quote (Dragon93) agentex, следим прямо из профиля хоссссподи чуть не вывернула местная шапка анимэ эльфийка представляет варкрафт.......нет я ничего против неимею но мой браузер данный адрес забыл навсегда (сорьте за офтоп)
|
|
|
|
agentex | Дата: Понедельник, 15 Июня 2009, 15:56:35 | Сообщение # 10 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| Quote Я вот не врублюсь никак SCV тоже же не будет? Ога, наконец это зло подохнет. Вы никак не поймете, хештаблицы в 1000 раз круче всяких сцв, потому что сохраняется не ссылка на обьект в виде строки, а сам хендл сохраняется.Добавлено (15-06-2009, 15:56) --------------------------------------------- ХАОС, не понял ни слова из твоего явно оффтопного поста
|
|
|
|
Gam_Over | Дата: Понедельник, 15 Июня 2009, 16:03:40 | Сообщение # 11 |
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
| Quote (agentex) Ога, наконец это зло подохнет. Вы никак не поймете, хештаблицы в 1000 раз круче всяких сцв, потому что сохраняется не ссылка на обьект в виде строки, а сам хендл сохраняется. а эта тема, намного лучше всяких переменных
|
|
|
|
MaSer | Дата: Понедельник, 15 Июня 2009, 16:10:18 | Сообщение # 12 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (agentex) Но вот обратных функций нету, что огорчает =( Да ну, нормально (: На крайняк она выводится :\ Бтв, каким образом убивать то ришили РБ? Просто ошибку будет выдавать или чистый ноль всегда?
|
|
|
|
agentex | Дата: Вторник, 16 Июня 2009, 17:49:54 | Сообщение # 13 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| MaSer, вроде бы компил прорускает 2 ретурна, но возвращать такая функция будет 0.. если хочешь подробнее - го на кампы)
|
|
|
|
DragoN | Дата: Среда, 01 Июля 2009, 20:53:49 | Сообщение # 14 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Модеры,перенесите темку в создание карт что ли...
El Psy Congroo
|
|
|
|
MaSer | Дата: Среда, 01 Июля 2009, 21:10:06 | Сообщение # 15 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Dragon93, спрашивается, зачем?
|
|
|
|
DragoN | Дата: Среда, 01 Июля 2009, 21:34:01 | Сообщение # 16 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| MaSer, это великое дело не только для джасса но и для всего картостроя
El Psy Congroo
|
|
|
|
Malfatto | Дата: Воскресенье, 05 Июля 2009, 04:18:56 | Сообщение # 17 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| Нафига RB фиксить? Dragon93, как раз таки для жасса.
|
|
|
|
agentex | Дата: Воскресенье, 05 Июля 2009, 23:50:16 | Сообщение # 18 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| Dragon93, не тупи, вся соль в жассе чтобы нельзя было абузить вызов кода и сооттветсвенно распростронение вирусов..
|
|
|
|
Malfatto | Дата: Понедельник, 06 Июля 2009, 03:08:41 | Сообщение # 19 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| Какие нафиг вирусы, память все равно зачищается после закрытия вара... Или я тебя не так понял
|
|
|
|
DragoN | Дата: Понедельник, 06 Июля 2009, 12:33:29 | Сообщение # 20 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Zak, вроде после загрузки карты и начала игры запускается процесс,который можешь внедрятся в другие области памяти и делать определённые действие(к примеру воровать CD key)
El Psy Congroo
|
|
|
|
agentex | Дата: Вторник, 07 Июля 2009, 20:38:53 | Сообщение # 21 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| Zak, новости читай иногда
|
|
|
|
ELD@R | Дата: Среда, 08 Июля 2009, 15:22:37 | Сообщение # 22 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 1
Блокировки:
| Quote (agentex) Ога, наконец это зло подохнет. Вы никак не поймете, хештаблицы в 1000 раз круче всяких сцв, потому что сохраняется не ссылка на обьект в виде строки, а сам хендл сохраняется. ну вобщем то сам принцып работы не чем не будет отличатся от SCV, все также данные будут сторится на хендл
|
|
|
|
agentex | Дата: Среда, 08 Июля 2009, 22:59:07 | Сообщение # 23 |
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
| ELD@R, не совсем. в сцв ты как достаешь юнита к примеру: из хендла в интегер, из интегера в строку, лоад из кеша, из полученного значения в хендл посредством обратного рб. А тут ты напрямую вызываешь Code local timer t = GetExpiredTimer() local unit u = LoadUnitHandle(table, 0, GetHandleId(t)) то есть хендл в инт - и сразу лоад! в 2 раза меньше действий! Скорость налицо!
|
|
|
|
ELD@R | Дата: Четверг, 09 Июля 2009, 06:05:15 | Сообщение # 24 |
1 уровень
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 1
Блокировки:
| agentex, ну принцып то все рано тот же
|
|
|
|
DragoN | Дата: Четверг, 09 Июля 2009, 17:03:28 | Сообщение # 25 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Как я понял после выхода 1.23б смысл системы XAT отпадает?
El Psy Congroo
|
|
|
|
|
|
|
|
|
|
|