Копировать ссылку
Открыть сообщение
Меня часто спрашивают что делать с скриптами, в какую модификацию их вставлять и как это вообще делается. В данной теме я вам предложу и расскажу написать свою модификацию для игры, которая будет заменять десятки других модификаций, научу пользоваться скриптам, постараюсь предоставить обширную базу пользовательских скриптов.
Для работы с любыми пользовательскими скриптами лучше всего использовать свою модификацию, которую вы будете править по своему усмотрению.
Модификации в Мире Варкрафта хранятся и имеют такой вид:
TOC файл в папке с модификацией несет основные настройки и имеет в обычном случае данный вид:
## Title: MyAddOn
## Interface: 50300
MyAddOn. lua
Немножко остановлюсь на этом и поясню что к чему. Первая строка отвечает за отображение названия модификации в самой игре. Вторая — за версию модификации, что бы в игре данная модификация не обозначалась как «Устаревшая модификация», нужно вовремя править версию интерфейса. Третья строка — это имя главного файла с кодом (скриптом) модификации.
Если вам лень создавать данную заготовку или я что-то непонятно описал, то вот вам уже готовая, качайте, распаковывайте в папку с игрой и пользуйтесь.
http://rghost. ru/47134678
Так же существует вот такой сайт http://addon. bool. no/. который сделает за вас всю грязную работа. Впишите нужные скрипты и качайте уже готовый аддон.
Если вам необходимо использовать какой то пользовательский скрипт, то просто открываете файл MyAddOn. lua и в конце вставляете скрипт, сохраняете и в игре прописываете команду /reload. То есть для внесения изменений в данный файл даже ненужно выходить из игры, достаточно просто перезагрузить интерфейс после изменений.
Начну пожалуй со скриптов которыми пользуюсь сам, потом буду добавлять остальные скрипты которые предложите вы или найду сам.
Изменение расстояние от игрока до камеры:
SetCVar(«cameraDistanceMax», 25)
Отключение слежения за персонажем на который направлено ваше потоковое заклинание:
SetCVar(«cameraSmoothTrackingStyle», 0)
Отключение отображения имени игрока создавшего вещь:
ITEM_CREATED_BY = «»
Исправление бага обновления стандартного рейдового интерфейса после добавления\исключения игрока из рейда и бага связанного с неправильным выбором игроков:
if not IsAddOnLoaded(«Blizzard_CompactRaidFrames») then return end
if not FixRaidTaint then
local container = CompactRaidFrameContainer
discrete = «flush»,
flush = «discrete»,
local function OnEvent(self)
if issecurevariable(«CompactRaidFrame1») or InCombatLockdown() or not container:IsShown() then return end
local mode = container. groupMode
CompactRaidFrameContainer_SetGroupMode(container, t[mode])
CompactRaidFrameContainer_SetGroupMode(container, mode)
end
local f = CreateFrame(«Frame», «FixRaidTaint»)
f:RegisterEvent(«PLAYER_REGEN_ENABLED»)
f:SetScript(«OnEvent», OnEvent)
f. version = 0.2
end
Отключаем отображение фреймов арены на полях боя. Использую модификацию BattlegroundTargets, поэтому лишние фреймы с дублирующей информацией мне не нужны.
local frame=CreateFrame(«Frame»)
local function BGEventHandler(self, event, arg. )
local inInstance, instanceType = IsInInstance()
if event == «ADDON_LOADED» then
if arg == «Blizzard_ArenaUI» then
if (inInstance and (instanceType == «pvp»)) then
ArenaEnemyFrames:SetAlpha(0)
ArenaEnemyFrame1:SetAlpha(0)
ArenaEnemyFrame2:SetAlpha(0)
ArenaEnemyFrame3:SetAlpha(0)
ArenaEnemyFrame4:SetAlpha(0)
ArenaEnemyFrame5:SetAlpha(0)
ArenaEnemyFrame1CastingBar:SetAlpha(0)
ArenaEnemyFrame2CastingBar:SetAlpha(0)
ArenaEnemyFrame3CastingBar:SetAlpha(0)
ArenaEnemyFrame4CastingBar:SetAlpha(0)
ArenaEnemyFrame5CastingBar:SetAlpha(0)
end
if (inInstance and (instanceType == «arena»)) then
ArenaEnemyFrames:SetAlpha(100)
ArenaEnemyFrame1:SetAlpha(100)
ArenaEnemyFrame2:SetAlpha(100)
ArenaEnemyFrame3:SetAlpha(100)
ArenaEnemyFrame4:SetAlpha(100)
ArenaEnemyFrame5:SetAlpha(100)
ArenaEnemyFrame1CastingBar:SetAlpha(100)
ArenaEnemyFrame2CastingBar:SetAlpha(100)
ArenaEnemyFrame3CastingBar:SetAlpha(100)
ArenaEnemyFrame4CastingBar:SetAlpha(100)
frame:RegisterEvent(«PLAYER_ENTERING_WORLD»)
frame:RegisterEvent(«PLAYER_ENTERING_BATTLEGROUND»)
frame:RegisterEvent(«ZONE_CHANGED_NEW_AREA»)
frame:RegisterEvent(«ARENA_OPPONENT_UPDATE»)
frame:RegisterEvent(«ADDON_LOADED»)
frame:SetScript(«OnEvent», BGEventHandler)
Затемняем стандартный интерфейс, уровень затемнения меняется в строчке «local ocolor = <.4. 4. 4, 1>«:
local ocolor = <.4. 4. 4, 1>
local eventframe=CreateFrame(«Frame»)
eventframe:RegisterEvent(«ADDON_LOADED»)
eventframe:RegisterEvent(«PLAYER_ENTERING_WORLD»)
TargetFrameTextureFrameTexture,
PetFrameTexture,
PartyMemberFrame1Texture,
PartyMemberFrame2Texture,
PartyMemberFrame3Texture,