Ads by Google
Ads by Google

Lua

Продолжается обсуждение вышедшего на днях трейлера нового дополнения — Mists of Pandaria. Не забудьте принять участие в голосовании за ваши любимые трейлеры.

А Mahotsukai сделал любопытную подборку скриншотов из трейлера и игры: По следам вступительного ролика Mists of Pandaria

Продолжается работа над классовыми гайдами Mist of Pandaria. На сайте уже опубликованы следующие из них:

| Комментарии (14)
, ,  Просмотры: 10537
5.0/5.0 (оценки: 7)

Разработка аддонов для World of WarcraftДанная статья является продолжением цикла статей об аддонах. Предыдущая часть: Как написать аддон для ВоВ. Сохранение настроек. Значения по умолчанию. Слэш команды.

В университете меня очень напрягало отсутствие прикладной состовляющей некоторых наук. Т.е. идёт очень большое количество теории и абсолютно не ясно, как и где это можно применить на практике. Много позже я сталкивался в работе или в жизни с реальными примерами и брал в руки учебник. Надо заметить — учёба шла значительно быстрее.

Посему, я решил отойти от примера «Hello World» и сразу сделать что–то полезное в реальной жизни.

Готовый автоинвайтер можно скачать тут:

| Комментарии (14)
, ,  Просмотры: 34372
0.0/5.0 (оценки: 0)

Разработка аддонов для World of WarcraftДанная статья является продолжением цикла статей об аддонах. Предыдущая часть: Как написать аддон для ВоВ. API. XML. События.

Сохранение настроек


Многие аддоны должны уметь сохранять свои настройки между вашими входами в игровой мир. Реализовать эту возможность в вашем аддоне крайне легко. Это делается с помощью специальной директивы из файла toc.

Сохранение настроек может происходить на уровне учетной записи, или на уровне персонажа. В разных ситуациях вам могут понадобиться различные подходы.

| Комментарии (1)
, ,  Просмотры: 13032
0.0/5.0 (оценки: 0)

Разработка аддонов для World of WarcraftДанная статья является продолжением цикла статей об аддонах. Предыдущая часть: Как написать аддон для ВоВ. Введение.

Элементы XML


Для проектирования интерфейса вашего аддона, вам понадобятся стандартные элементы — окна, кнопки и т.п. Они могут быть определены в XML файле с помощью стандартных элементов. Список элементов можно найти здесь: XML

По мере написания статей, буду переводить описание различных элементов на русский язык.

Так же XML файлы могут содержать код на языке LUA, описывающий реакцию элементов интерфейса на те или иные события. См. ниже.

| Комментарии (1)
, ,  Просмотры: 17147
0.0/5.0 (оценки: 0)

Разработка аддонов для World of WarcraftОбстоятельства сложились так, что мне нужно написать аддон для нашей базы данных. Аддоны я никогда не писал, но хотел. И идеи были. Но не было времени. А теперь — нужно. Под это дело я начинаю цикл статей, который познакомит желающих с тем, как пишутся аддоны для World of Warcraft. Очень надеюсь на помощь и советы тех, кто аддоны уже писал или правил, вобщем — разбирается.

Скажу сразу, что данный цикл статей будет ориентирован на людей знакомых с программированием, или способных разобраться в программировании самостоятельно. Т.е. основ тут не будет. В идеале вам нужно иметь опыт работы с парой различных языков, JavaScript и представление о формате XML.

| Комментарии (4)
, ,  Просмотры: 22811
0.0/5.0 (оценки: 0)

Общее


Lua — это скриптовый язык программирования, используемый для расширения интрефейса ВоВ. Название языка происходит от португальского слова Луна. В настоящее время реализована официальная спецификация языка 5.1., которой хватает для реализации аддонов. Дополнительная информация может быть найдена в ЧаВо по языку Lua.

Справочники по программированию


Существует не так много руководств, но по существующим у нас можно разобраться в том, как писать аддоны или использовать язык Lua в макросах. Для освоения Lua вам понадобятся базовые знания по программированию.

Как написать аддон для ВоВ. Введение. — цикл статей на нашем сайте, посвященный написанию аддонов.

Официальное руководство — содержит базовое описание синтаксиса и команд. Это руководство трудно использовать тем, кто не имеет опыта программирования вообще.

Программирование на Lua — Руководство по языку Lua от Роберто Иерусалимичи (Roberto Ierusalimschy). Онлайн версия.

LUA-Users — группа новостей, включающая wiki, которая содержит ЧаВо, руководства и расширенную помощь по многим темам. Группа так же имеет лист рассылки (включая архив) и канал IRC (#lua на irc.freenode.net).

Редакторы Lua


Файлы на языке Lua можно писать в любом текстовом редакторе. Но специализированные редакторы могут иметь дополнительные возможности. См. редакторы Lua.

Использование Lua в ВоВ


Посмотрите следующие темы:

  • WoWBench — практически полный эмулятор интерфейса ВоВ.
  • Lua 5.1.1 WoW — дистрибутив, созданный cogwheel–ом, включающий всё необходимое для разработки аддонов.

Ссылки


Комментарии (7)
, ,  Просмотры: 14271
0.0/5.0 (оценки: 0)

OnClick
 —
это событие виджета, генерируемое при клике мышкой по фрейму.

Параметры обработчика:

  • self — ссылка на фрейм, получивший событие
  • button (string) — идентификатор кнопки мыши. Может принимать любое значение, но для стандартных мышей значения следующие:
    • LeftButton
    • RightButton
    • MiddleButton
    • Button4
    • Button5

  • down (boolean) — истина, если кнопка мыши все ещё нажата, ложь в противном случае.

См. также:

Комментарии (0)
, ,  Просмотры: 2328
0.0/5.0 (оценки: 0)

OnEvent
 —
это событие виджета, генерируемое при срабатывании любого события игрового мира, зарегистрированного с помощью функции RegisterEvent.

Параметры обработчика:

  • self — ссылка на фрейм, получивший событие
  • event — название события
  • … — аргументы события, различные для разных событий.

См. также:

Комментарии (0)
, ,  Просмотры: 2667
0.0/5.0 (оценки: 0)

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

GlueXML 0x0 SET_GLUE_SCREEN 0x1 START_GLUE_MUSIC 0x2 DISCONNECTED_FROM_SERVER 0x3 OPEN_STATUS_DIALOG 0x4 UPDATE_STATUS_DIALOG 0x5 CLOSE_STATUS_DIALOG 0x6 ADDON_LIST_UPDATE 0x7 CHARACTER_LIST_UPDATE 0x8 UPDATE_SELECTED_CHARACTER 0x9 OPEN_REALM_LIST 0xA GET_PREFERRED_REALM_INFO 0xB UPDATE_SELECTED_RACE 0xC SELECT_LAST_CHARACTER 0xD SELECT_FIRST_CHARACTER 0xE GLUE_SCREENSHOT_SUCCEEDED 0xF GLUE_SCREENSHOT_FAILED 0x10 PATCH_UPDATE_PROGRESS 0x11 PATCH_DOWNLOADED 0x12 SUGGEST_REALM 0x13 SUGGEST_REALM_WRONG_PVP 0x14 SUGGEST_REALM_WRONG_CATEGORY 0x15 SHOW_SERVER_ALERT 0x16 FRAMES_LOADED 0x17 FORCE_RENAME_CHARACTER 0x18 FORCE_DECLINE_CHARACTER 0x19 SHOW_SURVEY_NOTIFICATION 0x1A PLAYER_ENTER_PIN 0x1B CLIENT_ACCOUNT_MISMATCH 0x1C PLAYER_ENTER_MATRIX 0x1D SCANDLL_ERROR 0x1E SCANDLL_DOWNLOADING 0x1F SCANDLL_FINISHED 0x20 SERVER_SPLIT_NOTICE 0x21 TIMER_ALERT 0x22 ACCOUNT_MESSAGES_AVAILABLE 0x23 ACCOUNT_MESSAGES_HEADERS_LOADED 0x24 ACCOUNT_MESSAGES_BODY_LOADED 0x25 CLIENT_TRIAL 0x26 PLAYER_ENTER_TOKEN 0x27 GAME_ACCOUNTS_UPDATED 0x28 CLIENT_CONVERTED FrameXML 0x0 UNIT_PET 0x2 UNIT_PET 0xC UNIT_TARGET 0x10 UNIT_DISPLAYPOWER 0x11 UNIT_HEALTH 0x12 UNIT_MANA 0x13 UNIT_RAGE 0x14 UNIT_FOCUS 0x15 UNIT_ENERGY 0x16 UNIT_HAPPINESS 0x18 UNIT_RUNIC_POWER 0x19 UNIT_MAXHEALTH 0x1A UNIT_MAXMANA 0x1B UNIT_MAXRAGE 0x1C UNIT_MAXFOCUS 0x1D UNIT_MAXENERGY 0x1E UNIT_MAXHAPPINESS 0x20 UNIT_MAXRUNIC_POWER 0x2F UNIT_LEVEL 0x30 UNIT_FACTION 0x34 UNIT_FLAGS 0x35 UNIT_FLAGS 0x37 UNIT_ATTACK_SPEED 0x38 UNIT_ATTACK_SPEED 0x39 UNIT_RANGEDDAMAGE 0x3F UNIT_DAMAGE 0x40 UNIT_DAMAGE 0x41 UNIT_DAMAGE 0x42 UNIT_DAMAGE 0x46 UNIT_PET_EXPERIENCE 0x47 UNIT_PET_EXPERIENCE 0x48 UNIT_DYNAMIC_FLAGS 0x4E UNIT_STATS 0x4F UNIT_STATS 0x50 UNIT_STATS 0x51 UNIT_STATS 0x52 UNIT_STATS 0x5D UNIT_RESISTANCES 0x5E UNIT_RESISTANCES 0x5F UNIT_RESISTANCES 0x60 UNIT_RESISTANCES 0x61 UNIT_RESISTANCES 0x62 UNIT_RESISTANCES 0x63 UNIT_RESISTANCES 0x64 UNIT_RESISTANCES 0x65 UNIT_RESISTANCES 0x66 UNIT_RESISTANCES 0x67 UNIT_RESISTANCES 0x68 UNIT_RESISTANCES 0x69 UNIT_RESISTANCES 0x6A UNIT_RESISTANCES 0x6B UNIT_RESISTANCES 0x6C UNIT_RESISTANCES 0x6D UNIT_RESISTANCES 0x6E UNIT_RESISTANCES 0x6F UNIT_RESISTANCES 0x70 UNIT_RESISTANCES 0x71 UNIT_RESISTANCES 0x75 UNIT_ATTACK_POWER 0x76 UNIT_ATTACK_POWER 0x77 UNIT_ATTACK_POWER 0x78 UNIT_RANGED_ATTACK_POWER 0x79 UNIT_RANGED_ATTACK_POWER 0x7A UNIT_RANGED_ATTACK_POWER 0x7B UNIT_RANGEDDAMAGE 0x7C UNIT_RANGEDDAMAGE 0x7D UNIT_MANA 0x84 UNIT_MANA 0x8B UNIT_STATS 0x8E UNIT_AURA 0x8F UNIT_COMBAT 0x90 UNIT_NAME_UPDATE 0x91 UNIT_PORTRAIT_UPDATE 0x92 UNIT_MODEL_CHANGED 0x93 UNIT_INVENTORY_CHANGED 0x94 UNIT_CLASSIFICATION_CHANGED 0x95 UNIT_COMBO_POINTS 0x96 ITEM_LOCK_CHANGED 0x97 PLAYER_XP_UPDATE 0x98 PLAYER_REGEN_DISABLED 0x99 PLAYER_REGEN_ENABLED 0x9A PLAYER_AURAS_CHANGED 0x9B PLAYER_ENTER_COMBAT 0x9C PLAYER_LEAVE_COMBAT 0x9D PLAYER_TARGET_CHANGED 0x9E PLAYER_FOCUS_CHANGED 0x9F PLAYER_CONTROL_LOST 0xA0 PLAYER_CONTROL_GAINED 0xA1 PLAYER_FARSIGHT_FOCUS_CHANGED 0xA2 PLAYER_LEVEL_UP 0xA3 PLAYER_MONEY 0xA4 PLAYER_DAMAGE_DONE_MODS 0xA5 PLAYER_TOTEM_UPDATE 0xA6 ZONE_CHANGED 0xA7 ZONE_CHANGED_INDOORS 0xA8 ZONE_CHANGED_NEW_AREA 0xA9 MINIMAP_UPDATE_ZOOM 0xAA MINIMAP_UPDATE_TRACKING 0xAB SCREENSHOT_SUCCEEDED 0xAC SCREENSHOT_FAILED 0xAD ACTIONBAR_SHOWGRID 0xAE ACTIONBAR_HIDEGRID 0xAF ACTIONBAR_PAGE_CHANGED 0xB0 ACTIONBAR_SLOT_CHANGED 0xB1 ACTIONBAR_UPDATE_STATE 0xB2 ACTIONBAR_UPDATE_USABLE 0xB3 ACTIONBAR_UPDATE_COOLDOWN 0xB4 UPDATE_BONUS_ACTIONBAR 0xB5 PARTY_MEMBERS_CHANGED 0xB6 PARTY_LEADER_CHANGED 0xB7 PARTY_MEMBER_ENABLE 0xB8 PARTY_MEMBER_DISABLE 0xB9 PARTY_LOOT_METHOD_CHANGED 0xBA SYSMSG 0xBB UI_ERROR_MESSAGE 0xBC UI_INFO_MESSAGE 0xBD UPDATE_CHAT_COLOR 0xBE CHAT_MSG_ADDON 0xBF CHAT_MSG_SYSTEM 0xC0 CHAT_MSG_SAY 0xC1 CHAT_MSG_PARTY 0xC2 CHAT_MSG_RAID 0xC3 CHAT_MSG_GUILD 0xC4 CHAT_MSG_OFFICER 0xC5 CHAT_MSG_YELL 0xC6 CHAT_MSG_WHISPER 0xC7 CHAT_MSG_WHISPER_INFORM 0xC8 CHAT_MSG_EMOTE 0xC9 CHAT_MSG_TEXT_EMOTE 0xCA CHAT_MSG_MONSTER_SAY 0xCB CHAT_MSG_MONSTER_PARTY 0xCC CHAT_MSG_MONSTER_YELL 0xCD CHAT_MSG_MONSTER_WHISPER 0xCE CHAT_MSG_MONSTER_EMOTE 0xCF CHAT_MSG_CHANNEL 0xD0 CHAT_MSG_CHANNEL_JOIN 0xD1 CHAT_MSG_CHANNEL_LEAVE 0xD2 CHAT_MSG_CHANNEL_LIST 0xD3 CHAT_MSG_CHANNEL_NOTICE 0xD4 CHAT_MSG_CHANNEL_NOTICE_USER 0xD5 CHAT_MSG_AFK 0xD6 CHAT_MSG_DND 0xD7 CHAT_MSG_IGNORED 0xD8 CHAT_MSG_SKILL 0xD9 CHAT_MSG_LOOT 0xDA CHAT_MSG_MONEY 0xDB CHAT_MSG_OPENING 0xDC CHAT_MSG_TRADESKILLS 0xDD CHAT_MSG_PET_INFO 0xDE CHAT_MSG_COMBAT_MISC_INFO 0xDF CHAT_MSG_COMBAT_XP_GAIN 0xE0 CHAT_MSG_COMBAT_HONOR_GAIN 0xE1 CHAT_MSG_COMBAT_FACTION_CHANGE 0xE2 CHAT_MSG_BG_SYSTEM_NEUTRAL 0xE3 CHAT_MSG_BG_SYSTEM_ALLIANCE 0xE4 CHAT_MSG_BG_SYSTEM_HORDE 0xE5 CHAT_MSG_RAID_LEADER 0xE6 CHAT_MSG_RAID_WARNING 0xE7 CHAT_MSG_RAID_BOSS_WHISPER 0xE8 CHAT_MSG_RAID_BOSS_EMOTE 0xE9 CHAT_MSG_FILTERED 0xEA CHAT_MSG_BATTLEGROUND 0xEB CHAT_MSG_BATTLEGROUND_LEADER 0xEC CHAT_MSG_RESTRICTED 0xEE CHAT_MSG_ACHIEVEMENT 0xEF CHAT_MSG_GUILD_ACHIEVEMENT 0xF0 LANGUAGE_LIST_CHANGED 0xF1 TIME_PLAYED_MSG 0xF2 SPELLS_CHANGED 0xF3 CURRENT_SPELL_CAST_CHANGED 0xF4 SPELL_UPDATE_COOLDOWN 0xF5 SPELL_UPDATE_USABLE 0xF6 CHARACTER_POINTS_CHANGED 0xF7 SKILL_LINES_CHANGED 0xF8 ITEM_PUSH 0xF9 LOOT_OPENED 0xFA LOOT_SLOT_CLEARED 0xFB LOOT_CLOSED 0xFC PLAYER_LOGIN 0xFD PLAYER_LOGOUT 0xFE PLAYER_ENTERING_WORLD 0xFF PLAYER_LEAVING_WORLD 0x100 PLAYER_ALIVE 0x101 PLAYER_DEAD 0x102 PLAYER_CAMPING 0x103 PLAYER_QUITING 0x104 LOGOUT_CANCEL 0x105 RESURRECT_REQUEST 0x106 PARTY_INVITE_REQUEST 0x107 PARTY_INVITE_CANCEL 0x108 GUILD_INVITE_REQUEST 0x109 GUILD_INVITE_CANCEL 0x10A GUILD_MOTD 0x10B TRADE_REQUEST 0x10C TRADE_REQUEST_CANCEL 0x10D LOOT_BIND_CONFIRM 0x10E EQUIP_BIND_CONFIRM 0x10F AUTOEQUIP_BIND_CONFIRM 0x110 USE_BIND_CONFIRM 0x111 DELETE_ITEM_CONFIRM 0x112 CURSOR_UPDATE 0x113 ITEM_TEXT_BEGIN 0x114 ITEM_TEXT_TRANSLATION 0x115 ITEM_TEXT_READY 0x116 ITEM_TEXT_CLOSED 0x117 GOSSIP_SHOW 0x118 GOSSIP_CONFIRM 0x119 GOSSIP_CONFIRM_CANCEL 0x11A GOSSIP_ENTER_CODE 0x11B GOSSIP_CLOSED 0x11C QUEST_GREETING 0x11D QUEST_DETAIL 0x11E QUEST_PROGRESS 0x11F QUEST_COMPLETE 0x120 QUEST_FINISHED 0x121 QUEST_ITEM_UPDATE 0x122 TAXIMAP_OPENED 0x123 TAXIMAP_CLOSED 0x124 QUEST_LOG_UPDATE 0x125 TRAINER_SHOW 0x126 TRAINER_UPDATE 0x127 TRAINER_DESCRIPTION_UPDATE 0x128 TRAINER_CLOSED 0x129 CVAR_UPDATE 0x12A TRADE_SKILL_SHOW 0x12B TRADE_SKILL_UPDATE 0x12C TRADE_SKILL_CLOSE 0x12D MERCHANT_SHOW 0x12E MERCHANT_UPDATE 0x12F MERCHANT_CLOSED 0x130 TRADE_SHOW 0x131 TRADE_CLOSED 0x132 TRADE_UPDATE 0x133 TRADE_ACCEPT_UPDATE 0x134 TRADE_TARGET_ITEM_CHANGED 0x135 TRADE_PLAYER_ITEM_CHANGED 0x136 TRADE_MONEY_CHANGED 0x137 PLAYER_TRADE_MONEY 0x138 BAG_OPEN 0x139 BAG_UPDATE 0x13A BAG_CLOSED 0x13B BAG_UPDATE_COOLDOWN 0x13C LOCALPLAYER_PET_RENAMED 0x13D UNIT_ATTACK 0x13E UNIT_DEFENSE 0x13F PET_ATTACK_START 0x140 PET_ATTACK_STOP 0x141 UPDATE_MOUSEOVER_UNIT 0x142 UNIT_SPELLCAST_SENT 0x143 UNIT_SPELLCAST_START 0x144 UNIT_SPELLCAST_STOP 0x145 UNIT_SPELLCAST_FAILED 0x146 UNIT_SPELLCAST_FAILED_QUIET 0x147 UNIT_SPELLCAST_INTERRUPTED 0x148 UNIT_SPELLCAST_DELAYED 0x149 UNIT_SPELLCAST_SUCCEEDED 0x14A UNIT_SPELLCAST_CHANNEL_START 0x14B UNIT_SPELLCAST_CHANNEL_UPDATE 0x14C UNIT_SPELLCAST_CHANNEL_STOP 0x14D UNIT_SPELLCAST_INTERRUPTIBLE 0x14E UNIT_SPELLCAST_NOT_INTERRUPTIBLE 0x14F PLAYER_GUILD_UPDATE 0x150 QUEST_ACCEPT_CONFIRM 0x151 PLAYERBANKSLOTS_CHANGED 0x152 BANKFRAME_OPENED 0x153 BANKFRAME_CLOSED 0x154 PLAYERBANKBAGSLOTS_CHANGED 0x155 FRIENDLIST_UPDATE 0x156 IGNORELIST_UPDATE 0x157 MUTELIST_UPDATE 0x158 PET_BAR_UPDATE 0x159 PET_BAR_UPDATE_COOLDOWN 0x15A PET_BAR_SHOWGRID 0x15B PET_BAR_HIDEGRID 0x15C PET_BAR_HIDE 0x15D MINIMAP_PING 0x15E MIRROR_TIMER_START 0x15F MIRROR_TIMER_PAUSE 0x160 MIRROR_TIMER_STOP 0x161 WORLD_MAP_UPDATE 0x162 WORLD_MAP_NAME_UPDATE 0x163 AUTOFOLLOW_BEGIN 0x164 AUTOFOLLOW_END 0x166 CINEMATIC_START 0x167 CINEMATIC_STOP 0x168 UPDATE_FACTION 0x169 CLOSE_WORLD_MAP 0x16A OPEN_TABARD_FRAME 0x16B CLOSE_TABARD_FRAME 0x16C TABARD_CANSAVE_CHANGED 0x16D GUILD_REGISTRAR_SHOW 0x16E GUILD_REGISTRAR_CLOSED 0x16F DUEL_REQUESTED 0x170 DUEL_OUTOFBOUNDS 0x171 DUEL_INBOUNDS 0x172 DUEL_FINISHED 0x173 TUTORIAL_TRIGGER 0x174 PET_DISMISS_START 0x175 UPDATE_BINDINGS 0x176 UPDATE_SHAPESHIFT_FORMS 0x177 UPDATE_SHAPESHIFT_FORM 0x178 UPDATE_SHAPESHIFT_USABLE 0x179 UPDATE_SHAPESHIFT_COOLDOWN 0x17A WHO_LIST_UPDATE 0x17B PETITION_SHOW 0x17C PETITION_CLOSED 0x17D EXECUTE_CHAT_LINE 0x17E UPDATE_MACROS 0x17F UPDATE_TICKET 0x180 UPDATE_CHAT_WINDOWS 0x181 CONFIRM_XP_LOSS 0x182 CORPSE_IN_RANGE 0x183 CORPSE_IN_INSTANCE 0x184 CORPSE_OUT_OF_RANGE 0x185 UPDATE_GM_STATUS 0x186 PLAYER_UNGHOST 0x187 BIND_ENCHANT 0x188 REPLACE_ENCHANT 0x189 TRADE_REPLACE_ENCHANT 0x18A TRADE_POTENTIAL_BIND_ENCHANT 0x18B PLAYER_UPDATE_RESTING 0x18C UPDATE_EXHAUSTION 0x18D PLAYER_FLAGS_CHANGED 0x18E GUILD_ROSTER_UPDATE 0x18F GM_PLAYER_INFO 0x190 MAIL_SHOW 0x191 MAIL_CLOSED 0x192 SEND_MAIL_MONEY_CHANGED 0x193 SEND_MAIL_COD_CHANGED 0x194 MAIL_SEND_INFO_UPDATE 0x195 MAIL_SEND_SUCCESS 0x196 MAIL_INBOX_UPDATE 0x197 BATTLEFIELDS_SHOW 0x198 BATTLEFIELDS_CLOSED 0x199 UPDATE_BATTLEFIELD_STATUS 0x19A UPDATE_BATTLEFIELD_SCORE 0x19B AUCTION_HOUSE_SHOW 0x19C AUCTION_HOUSE_CLOSED 0x19D NEW_AUCTION_UPDATE 0x19E AUCTION_ITEM_LIST_UPDATE 0x19F AUCTION_OWNED_LIST_UPDATE 0x1A0 AUCTION_BIDDER_LIST_UPDATE 0x1A1 PET_UI_UPDATE 0x1A2 PET_UI_CLOSE 0x1A3 ADDON_LOADED 0x1A4 VARIABLES_LOADED 0x1A5 MACRO_ACTION_FORBIDDEN 0x1A6 ADDON_ACTION_FORBIDDEN 0x1A7 MACRO_ACTION_BLOCKED 0x1A8 ADDON_ACTION_BLOCKED 0x1A9 START_AUTOREPEAT_SPELL 0x1AA STOP_AUTOREPEAT_SPELL 0x1AB PET_STABLE_SHOW 0x1AC PET_STABLE_UPDATE 0x1AD PET_STABLE_UPDATE_PAPERDOLL 0x1AE PET_STABLE_CLOSED 0x1AF RAID_ROSTER_UPDATE 0x1B0 UPDATE_PENDING_MAIL 0x1B1 UPDATE_INVENTORY_ALERTS 0x1B2 UPDATE_INVENTORY_DURABILITY 0x1B3 UPDATE_TRADESKILL_RECAST 0x1B4 OPEN_MASTER_LOOT_LIST 0x1B5 UPDATE_MASTER_LOOT_LIST 0x1B6 START_LOOT_ROLL 0x1B7 CANCEL_LOOT_ROLL 0x1B8 CONFIRM_LOOT_ROLL 0x1B9 INSTANCE_BOOT_START 0x1BA INSTANCE_BOOT_STOP 0x1BB LEARNED_SPELL_IN_TAB 0x1BC DISPLAY_SIZE_CHANGED 0x1BD CONFIRM_TALENT_WIPE 0x1BE CONFIRM_BINDER 0x1BF MAIL_FAILED 0x1C0 CLOSE_INBOX_ITEM 0x1C1 CONFIRM_SUMMON 0x1C2 CANCEL_SUMMON 0x1C3 BILLING_NAG_DIALOG 0x1C4 IGR_BILLING_NAG_DIALOG 0x1C5 MEETINGSTONE_CHANGED 0x1C6 PLAYER_SKINNED 0x1C7 TABARD_SAVE_PENDING 0x1C8 UNIT_QUEST_LOG_CHANGED 0x1C9 PLAYER_PVP_KILLS_CHANGED 0x1CA PLAYER_PVP_RANK_CHANGED 0x1CB INSPECT_HONOR_UPDATE 0x1CC UPDATE_WORLD_STATES 0x1CD AREA_SPIRIT_HEALER_IN_RANGE 0x1CE AREA_SPIRIT_HEALER_OUT_OF_RANGE 0x1CF PLAYTIME_CHANGED 0x1D0 UPDATE_LFG_TYPES 0x1D1 UPDATE_LFG_LIST 0x1D2 UPDATE_LFG_LIST_INCREMENTAL 0x1D3 START_MINIGAME 0x1D4 MINIGAME_UPDATE 0x1D5 READY_CHECK 0x1D6 READY_CHECK_CONFIRM 0x1D7 READY_CHECK_FINISHED 0x1D8 RAID_TARGET_UPDATE 0x1D9 GMSURVEY_DISPLAY 0x1DA UPDATE_INSTANCE_INFO 0x1DB SOCKET_INFO_UPDATE 0x1DC SOCKET_INFO_CLOSE 0x1DD PETITION_VENDOR_SHOW 0x1DE PETITION_VENDOR_CLOSED 0x1DF PETITION_VENDOR_UPDATE 0x1E0 COMBAT_TEXT_UPDATE 0x1E1 QUEST_WATCH_UPDATE 0x1E2 KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS 0x1E3 KNOWLEDGE_BASE_SETUP_LOAD_FAILURE 0x1E4 KNOWLEDGE_BASE_QUERY_LOAD_SUCCESS 0x1E5 KNOWLEDGE_BASE_QUERY_LOAD_FAILURE 0x1E6 KNOWLEDGE_BASE_ARTICLE_LOAD_SUCCESS 0x1E7 KNOWLEDGE_BASE_ARTICLE_LOAD_FAILURE 0x1E8 KNOWLEDGE_BASE_SYSTEM_MOTD_UPDATED 0x1E9 KNOWLEDGE_BASE_SERVER_MESSAGE 0x1EA ARENA_TEAM_UPDATE 0x1EB ARENA_TEAM_ROSTER_UPDATE 0x1EC ARENA_TEAM_INVITE_REQUEST 0x1ED HONOR_CURRENCY_UPDATE 0x1EE KNOWN_TITLES_UPDATE 0x1EF NEW_TITLE_EARNED 0x1F0 OLD_TITLE_LOST 0x1F1 LFG_MATCH_REQUEST 0x1F2 LFG_MATCH_CANCEL 0x1F3 LFG_PENDING_REQUEST 0x1F4 LFG_PENDING_CANCEL 0x1F5 LFG_UPDATE 0x1F6 COMBAT_RATING_UPDATE 0x1F7 MODIFIER_STATE_CHANGED 0x1F8 UPDATE_STEALTH 0x1F9 ENABLE_TAXI_BENCHMARK 0x1FA DISABLE_TAXI_BENCHMARK 0x1FB VOICE_START 0x1FC VOICE_STOP 0x1FD VOICE_STATUS_UPDATE 0x1FE VOICE_CHANNEL_STATUS_UPDATE 0x1FF UPDATE_FLOATING_CHAT_WINDOWS 0x200 RAID_INSTANCE_WELCOME 0x201 MOVIE_RECORDING_PROGRESS 0x202 MOVIE_COMPRESSING_PROGRESS 0x203 MOVIE_UNCOMPRESSED_MOVIE 0x204 VOICE_PUSH_TO_TALK_START 0x205 VOICE_PUSH_TO_TALK_STOP 0x206 GUILDBANKFRAME_OPENED 0x207 GUILDBANKFRAME_CLOSED 0x208 GUILDBANKBAGSLOTS_CHANGED 0x209 GUILDBANK_ITEM_LOCK_CHANGED 0x20A GUILDBANK_UPDATE_TABS 0x20B GUILDBANK_UPDATE_MONEY 0x20C GUILDBANKLOG_UPDATE 0x20D GUILDBANK_UPDATE_WITHDRAWMONEY 0x20E GUILDBANK_UPDATE_TEXT 0x20F GUILDBANK_TEXT_CHANGED 0x210 CHANNEL_UI_UPDATE 0x211 CHANNEL_COUNT_UPDATE 0x212 CHANNEL_ROSTER_UPDATE 0x213 CHANNEL_VOICE_UPDATE 0x214 CHANNEL_INVITE_REQUEST 0x215 CHANNEL_PASSWORD_REQUEST 0x216 CHANNEL_FLAGS_UPDATED 0x217 VOICE_SESSIONS_UPDATE 0x218 VOICE_CHAT_ENABLED_UPDATE 0x219 VOICE_LEFT_SESSION 0x21A INSPECT_TALENT_READY 0x21B VOICE_SELF_MUTE 0x21C VOICE_PLATE_START 0x21D VOICE_PLATE_STOP 0x21E ARENA_SEASON_WORLD_STATE 0x21F GUILD_EVENT_LOG_UPDATE 0x220 GUILDTABARD_UPDATE 0x221 SOUND_DEVICE_UPDATE 0x222 COMMENTATOR_MAP_UPDATE 0x223 COMMENTATOR_ENTER_WORLD 0x224 COMBAT_LOG_EVENT 0x225 COMBAT_LOG_EVENT_UNFILTERED 0x226 COMMENTATOR_PLAYER_UPDATE 0x227 PLAYER_ENTERING_BATTLEGROUND 0x228 BARBER_SHOP_OPEN 0x229 BARBER_SHOP_CLOSE 0x22A BARBER_SHOP_SUCCESS 0x22B BARBER_SHOP_APPEARANCE_APPLIED 0x22C CALENDAR_UPDATE_INVITE_LIST 0x22D CALENDAR_UPDATE_EVENT_LIST 0x22E CALENDAR_NEW_EVENT 0x22F CALENDAR_OPEN_EVENT 0x230 CALENDAR_CLOSE_EVENT 0x231 CALENDAR_UPDATE_EVENT 0x232 CALENDAR_UPDATE_PENDING_INVITES 0x233 CALENDAR_EVENT_ALARM 0x234 CALENDAR_UPDATE_ERROR 0x235 CALENDAR_ACTION_PENDING 0x236 VEHICLE_ANGLE_SHOW 0x237 VEHICLE_ANGLE_UPDATE 0x238 VEHICLE_POWER_SHOW 0x239 UNIT_ENTERING_VEHICLE 0x23A UNIT_ENTERED_VEHICLE 0x23B UNIT_EXITING_VEHICLE 0x23C UNIT_EXITED_VEHICLE 0x23D VEHICLE_PASSENGERS_CHANGED 0x23E PLAYER_GAINS_VEHICLE_DATA 0x23F PLAYER_LOSES_VEHICLE_DATA 0x240 PET_FORCE_NAME_DECLENSION 0x241 LEVEL_GRANT_PROPOSED 0x242 SYNCHRONIZE_SETTINGS 0x243 PLAY_MOVIE 0x244 RUNE_POWER_UPDATE 0x245 RUNE_TYPE_UPDATE 0x246 ACHIEVEMENT_EARNED 0x247 CRITERIA_UPDATE 0x248 PET_RENAMEABLE 0x249 KNOWN_CURRENCY_TYPES_UPDATE 0x24A CURRENCY_DISPLAY_UPDATE 0x24B COMPANION_LEARNED 0x24C COMPANION_UPDATE 0x24D UNIT_THREAT_LIST_UPDATE 0x24E UNIT_THREAT_SITUATION_UPDATE 0x24F GLYPH_ADDED 0x250 GLYPH_REMOVED 0x251 GLYPH_UPDATED 0x252 GLYPH_ENABLED 0x253 GLYPH_DISABLED 0x254 USE_GLYPH 0x255 TRACKED_ACHIEVEMENT_UPDATE 0x256 ARENA_OPPONENT_UPDATE 0x257 INSPECT_ACHIEVEMENT_READY 0x258 RAISED_AS_GHOUL 0x259 PARTY_CONVERTED_TO_RAID 0x25A PVPQUEUE_ANYWHERE_SHOW 0x25B PVPQUEUE_ANYWHERE_UPDATE_AVAILABLE 0x25C QUEST_ACCEPTED 0x25D PLAYER_TALENT_UPDATE 0x25E ACTIVE_TALENT_GROUP_CHANGED
Комментарии (0)
, ,  Просмотры: 4194
0.0/5.0 (оценки: 0)

Функция SetScript позволяет установить конкретный обработчик на хендлер для фрейма:

frame:SetScript("handler", function);

Аргументы:

  • handler (string) — хендлер события, к которому привязывается функция (OnShow, OnEvent и т.п.)
  • func (функция) — функция, которая должна быть вызвана для обработки хендлера. Для снятия обработчика, этот параметр должен быть равен nil. Функция будет вызвана со следующими аргументами: (frame, arg1, arg2,…). Для хендлера OnEvent arg1 будет равен event).

Пример:

for i = 1, 4 do local frame = getglobal("PartyMemberFrame"..i) frame:SetScript("OnShow", frame.Hide) end

Результат:

Все фреймы группы будут скрыты при появлении.

Комментарии (3)
, ,  Просмотры: 2415
0.0/5.0 (оценки: 0)

Функция UnregisterEvent снимает отслеживания определенного события с объекта.

obj.UnregisterEvent("event");

Аргументы:

  • event — имя события, которое больше не должно обрабатываться объектом. См. События API

Возвращает:

  • nil

Пример:

myChatAddon:UnregisterEvent("CHAT_MSG");

Результат:

Код в разделе <OnEvent> больше не будет выполнятся, когда вы получаете сообщение в чат.

См. также:

Комментарии (0)
, ,  Просмотры: 1413
0.0/5.0 (оценки: 0)

Функция RegisterEvent позволяет задать, какое событие ваш объект хочет отслеживать. Это позволяет сделать так, что код в разделе <onEvent> не вызывается без дела, а только тогда, когда нужно. События получают только те фреймы, которые запросили этого.

obj:RegisterEvent(event);

Аргументы:

  • event — имя события, которое хочет отслеживать объект. См. События API

Возвращает:

  • nil

Пример:

myChatAddon:RegisterEvent("CHAT_MSG");

Результат:

Теперь вы можете добавить код в раздел <OnEvent> в вашем аддоне, и каждый раз, когда вы будете получать сообщение в чат, будет выполняться ваш код.

См. также:

Комментарии (0)
, ,  Просмотры: 2083
0.0/5.0 (оценки: 0)

Вы можете зарегистрировать событие, которое должен получать ваш фрейм с помощью функции frame:RegisterEvent(«eventName»). Когда это событие произойдёт, их получит ваш обработчик OnEvent, который можно установить с помощью функции frame:SetScript(«onEvent», handlerFunction). Чтобы отключить обработку события, вы можете воспользоваться функцией frame:UnregisterEvent(«eventName»).

Список игровых событий можно найти здесь: Список событий игрового клиента

Список хендлеров событий для различных объектов можно найти здесь: http://www.wowwiki.com/Widget_handlers

Комментарии (0)
, ,  Просмотры: 1834
0.0/5.0 (оценки: 0)

API
 —
англ. абб. application programming interface — совокупность функций, предоставляемых клиентом World of Warcraft для разработчиков аддонов.

Клиент предоставляет 3 различных API, помимо стандартных функций LUA: WOW API, Widget API, Macro API.

Функции WOW API:

См. также:

Комментарии (0)
, ,  Просмотры: 3935
0.0/5.0 (оценки: 0)

Атрибуты XML при описании интерфейса могут быть следущими:

  • string — простая строка
  • boolean — true или false, соответственно правда и ложь
  • int — целое знаковое число
  • float — знаковое число с плавающей запятой

Не забывайте, что по правилам XML, вне зависимости от типа атрибута, он должен быть заключён в двойные кавычки.

Комментарии (0)
, ,  Просмотры: 1256
0.0/5.0 (оценки: 0)

© 2009-2014 Александр Евстигнеев

Переводные и авторские материалы являются собственностью Автора/Переводчика и сайта WowRaider.Net
Распространение в любом виде возможно только с разрешения обоих правообладателей.

Rambler's Top100

Реклама на сайте

На сайте использованы материалы, принадлежащие Blizzard Entertainment
На сайте использованы материалы, переведённые с сайтов mmo-champion.com, wowwiki.com

Дизайн сайта osp-design.ru