Сейчас 21:10:07 Среда, 30 ноября, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


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


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, это великое дело не только для джасса но и для всего картостроя :D

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, не тупи, вся соль в жассе
Quote

Нафига RB фиксить?

чтобы нельзя было абузить вызов кода и сооттветсвенно распростронение вирусов..
 

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
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » Патч 1.24 (обсуждаем патчег и его влияние на картострой)
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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