📄 ct_ramenu.lua
字号:
if ( this.scaleupdate <= 0 ) then
this.scaleupdate = 10;
if ( CT_RAMenu_Options["temp"]["WindowScaling"] ) then
local newScaling = CT_RAMenu_Options["temp"]["WindowScaling"];
for i = 1, 40, 1 do
if ( i <= 8 ) then
getglobal("CT_RAGroupDrag" .. i):SetWidth(CT_RAGroup1:GetWidth()*newScaling+(22*newScaling));
getglobal("CT_RAGroupDrag" .. i):SetHeight(CT_RAMember1:GetHeight()*newScaling/2);
getglobal("CT_RAGroup" .. i):SetScale(newScaling);
end
getglobal("CT_RAMember" .. i):SetScale(newScaling);
end
end
if ( CT_RAMenu_Options["temp"]["MTScaling"] ) then
local newScaling = CT_RAMenu_Options["temp"]["MTScaling"];
for i = 1, 10, 1 do
getglobal("CT_RAMTGroupMember" .. i):SetScale(newScaling);
getglobal("CT_RAPTGroupMember" .. i):SetScale(newScaling);
end
CT_RAMTGroup:SetScale(newScaling);
CT_RAPTGroup:SetScale(newScaling);
CT_RAMTGroupDrag:SetWidth(CT_RAMTGroup:GetWidth()*newScaling+(22*newScaling));
CT_RAMTGroupDrag:SetHeight(CT_RAMTGroupMember1:GetHeight()*newScaling/2);
CT_RAPTGroupDrag:SetWidth(CT_RAPTGroup:GetWidth()*newScaling+(22*newScaling));
CT_RAPTGroupDrag:SetHeight(CT_RAPTGroupMember1:GetHeight()*newScaling/2);
end
if ( CT_RAMenu_Options["temp"]["EMScaling"] ) then
local newScaling = CT_RAMenu_Options["temp"]["EMScaling"];
CT_RA_EmergencyFrame:SetScale(newScaling);
CT_RA_EmergencyFrameDrag:SetWidth(CT_RA_EmergencyFrame:GetWidth()*newScaling+(27.5*newScaling));
CT_RA_EmergencyFrameDrag:SetHeight(CT_RA_EmergencyFrame:GetHeight()*newScaling/5);
end
end
end
end
function CT_RA_SpellStartCast(spell)
if ( spell[1] == CT_RA_RESURRECTION or spell[1] == CT_RA_ANCESTRALSPIRIT or spell[1] == CT_RA_REBIRTH or spell[1] == CT_RA_REDEMPTION ) then
CT_RA_AddMessage("RES " .. spell[2]);
CT_RA_Ressers[UnitName("player")] = spell[2];
CT_RA_UpdateResFrame();
end
end
function CT_RA_SpellEndCast()
if ( CT_RA_Ressers[UnitName("player")] ) then
CT_RA_AddMessage("RESNO");
end
end
function CT_RAMenuMisc_OnEvent(event)
if ( event == "PLAYER_REGEN_ENABLED" ) then
CT_RA_InCombat = nil;
elseif ( event == "PLAYER_REGEN_DISABLED" ) then
CT_RA_InCombat = 1;
end
end
function CT_RAMenuAdditional_Scaling_OnShow(slider)
if ( not slider ) then
slider = this;
end
getglobal(slider:GetName().."High"):SetText("150%");
getglobal(slider:GetName().."Low"):SetText("50%");
if ( not CT_RAMenu_Options["temp"]["WindowScaling"] ) then
CT_RAMenu_Options["temp"]["WindowScaling"] = 1;
end
getglobal(slider:GetName() .. "Text"):SetText("小队缩放 - " .. floor(CT_RAMenu_Options["temp"]["WindowScaling"]*100+0.5) .. "%");
slider:SetMinMaxValues(0.5, 1.5);
slider:SetValueStep(0.01);
slider:SetValue(CT_RAMenu_Options["temp"]["WindowScaling"]);
end
function CT_RAMenuAdditional_Scaling_OnValueChanged()
CT_RAMenu_Options["temp"]["WindowScaling"] = floor(this:GetValue()*100+0.5)/100;
getglobal(this:GetName() .. "Text"):SetText("小队缩放 - " .. floor(this:GetValue()*100+0.5) .. "%");
local newScaling = CT_RAMenu_Options["temp"]["WindowScaling"];
for i = 1, 40, 1 do
if ( i <= 8 ) then
getglobal("CT_RAGroupDrag" .. i):SetWidth(CT_RAGroup1:GetWidth()*newScaling+(22*newScaling));
getglobal("CT_RAGroupDrag" .. i):SetHeight(CT_RAMember1:GetHeight()*newScaling/2);
getglobal("CT_RAGroup" .. i):SetScale(newScaling);
end
getglobal("CT_RAMember" .. i):SetScale(newScaling);
end
end
function CT_RAMenuAdditional_EM_OnShow(slider)
if ( not slider ) then
slider = this;
end
local id = slider:GetID();
if ( not CT_RAMenu_Options["temp"]["EMThreshold"] ) then
CT_RAMenu_Options["temp"]["EMThreshold"] = 0.9;
end
if ( not CT_RAMenu_Options["temp"]["EMScaling"] ) then
CT_RAMenu_Options["temp"]["EMScaling"] = 1;
end
local tbl = {
["hl"] = {
{ "99%", "25%" },
{ "150%", "50%" }
},
["title"] = {
"血量阀值 - " .. floor(CT_RAMenu_Options["temp"]["EMThreshold"]*100+0.5) .. "%",
"缩放 - " .. floor(CT_RAMenu_Options["temp"]["EMScaling"]*100+0.5) .. "%"
},
["tooltip"] = {
"当显示血量条时设置血量阀值。",
"缩放窗口使其放大或缩小。"
},
["minmax"] = {
{ 0.25, 0.99 },
{ 0.5, 1.5 }
},
["value"] = {
CT_RAMenu_Options["temp"]["EMThreshold"],
CT_RAMenu_Options["temp"]["EMScaling"]
}
};
getglobal(slider:GetName().."High"):SetText(tbl["hl"][id][1]);
getglobal(slider:GetName().."Low"):SetText(tbl["hl"][id][2]);
getglobal(slider:GetName() .. "Text"):SetText(tbl["title"][id]);
slider.tooltipText = tbl["tooltip"][id];
slider:SetMinMaxValues(tbl["minmax"][id][1], tbl["minmax"][id][2]);
slider:SetValueStep(0.01);
slider:SetValue(tbl["value"][id]);
end
function CT_RAMenuAdditional_EM_OnValueChanged()
if ( this:GetID() == 1 ) then
CT_RAMenu_Options["temp"]["EMThreshold"] = floor(this:GetValue()*100+0.5)/100;
getglobal(this:GetName() .. "Text"):SetText("血量阀值 - " .. floor(this:GetValue()*100+0.5) .. "%");
CT_RA_Emergency_UpdateHealth();
else
CT_RAMenu_Options["temp"]["EMScaling"] = floor(this:GetValue()*100+0.5)/100;
getglobal(this:GetName() .. "Text"):SetText("缩放 - " .. floor(this:GetValue()*100+0.5) .. "%");
local newScaling = CT_RAMenu_Options["temp"]["EMScaling"];
CT_RA_EmergencyFrame:SetScale(newScaling);
CT_RA_EmergencyFrameDrag:SetWidth(CT_RA_EmergencyFrame:GetWidth()*newScaling+(27.5*newScaling));
CT_RA_EmergencyFrameDrag:SetHeight(CT_RA_EmergencyFrame:GetHeight()*newScaling/5);
end
end
function CT_RAMenuAdditional_BG_OnShow(slider)
if ( not slider ) then
slider = this;
end
if ( not CT_RAMenu_Options["temp"]["BGOpacity"] ) then
CT_RAMenu_Options["temp"]["BGOpacity"] = 0.4;
end
getglobal(slider:GetName().."High"):SetText("75%");
getglobal(slider:GetName().."Low"):SetText("0%");
getglobal(slider:GetName() .. "Text"):SetText("背景透明度 - " .. floor(CT_RAMenu_Options["temp"]["BGOpacity"]*100+0.5) .. "%");
slider:SetMinMaxValues(0, 0.75);
slider:SetValueStep(0.01);
slider:SetValue(CT_RAMenu_Options["temp"]["BGOpacity"]);
end
function CT_RAMenuAdditional_BG_OnValueChanged()
CT_RAMenu_Options["temp"]["BGOpacity"] = floor(this:GetValue()*100+0.5)/100;
getglobal(this:GetName() .. "Text"):SetText("背景透明度 - " .. floor(this:GetValue()*100+0.5) .. "%");
CT_RA_UpdateRaidGroup(1);
end
function CT_RAMenuAdditional_Alpha_OnShow(slider)
if ( not slider ) then
slider = this;
end
if ( not CT_RAMenu_Options["temp"]["DefaultAlpha"] ) then
CT_RAMenu_Options["temp"]["DefaultAlpha"] = 1;
end
local val = CT_RAMenu_Options["temp"]["DefaultAlpha"];
local formattedVal = floor(val*100+0.5)
getglobal(slider:GetName().."High"):SetText("关");
getglobal(slider:GetName().."Low"):SetText("25%");
if ( formattedVal == 100 ) then
getglobal(slider:GetName() .. "Text"):SetText("帧混合 - 关 (100%)");
else
getglobal(slider:GetName() .. "Text"):SetText("帧混合 - " .. formattedVal .. "%");
end
slider:SetMinMaxValues(0.25, 1);
slider:SetValueStep(0.01);
slider:SetValue(val);
end
function CT_RAMenuAdditional_Alpha_OnValueChanged()
CT_RAMenu_Options["temp"]["DefaultAlpha"] = floor(this:GetValue()*100+0.5)/100;
local formattedVal = floor(this:GetValue()*100+0.5);
if ( formattedVal == 100 ) then
getglobal(this:GetName() .. "Text"):SetText("帧混合 - 关 (100%)");
else
getglobal(this:GetName() .. "Text"):SetText("帧混合 - " .. formattedVal .. "%");
end
-- Update the health specifically
for i = 1, 40, 1 do
CT_RA_UpdateUnitHealth(getglobal("CT_RAMember"..i));
end
end
function CT_RAMenuAdditional_ScalingMT_OnShow(slider)
if ( not slider ) then
slider = this;
end
getglobal(slider:GetName().."High"):SetText("150%");
getglobal(slider:GetName().."Low"):SetText("50%");
if ( not CT_RAMenu_Options["temp"]["MTScaling"] ) then
CT_RAMenu_Options["temp"]["MTScaling"] = 1;
end
getglobal(slider:GetName() .. "Text"):SetText("MT/PT缩放 - " .. floor(CT_RAMenu_Options["temp"]["MTScaling"]*100+0.5) .. "%");
slider:SetMinMaxValues(0.5, 1.5);
slider:SetValueStep(0.01);
slider:SetValue(CT_RAMenu_Options["temp"]["MTScaling"]);
end
function CT_RAMenuAdditional_ScalingMT_OnValueChanged()
CT_RAMenu_Options["temp"]["MTScaling"] = floor(this:GetValue()*100+0.5)/100;
getglobal(this:GetName() .. "Text"):SetText("MT/PT缩放 - " .. floor(this:GetValue()*100+0.5) .. "%");
local newScaling = CT_RAMenu_Options["temp"]["MTScaling"];
for i = 1, 10, 1 do
getglobal("CT_RAMTGroupMember" .. i):SetScale(newScaling);
getglobal("CT_RAPTGroupMember" .. i):SetScale(newScaling);
end
CT_RAMTGroup:SetScale(newScaling);
CT_RAPTGroup:SetScale(newScaling);
CT_RAMTGroupDrag:SetWidth(CT_RAMTGroup:GetWidth()*newScaling+(22*newScaling));
CT_RAMTGroupDrag:SetHeight(CT_RAMTGroupMember1:GetHeight()*newScaling/2);
CT_RAPTGroupDrag:SetWidth(CT_RAPTGroup:GetWidth()*newScaling+(22*newScaling));
CT_RAPTGroupDrag:SetHeight(CT_RAPTGroupMember1:GetHeight()*newScaling/2);
end
function CT_RA_GetLocale()
local locale = strsub(GetLocale(), 1, 2);
if ( locale == "fr" or locale == "de" ) then
return locale;
else
return "en";
end
end
function CT_RAMenu_Misc_PlaySound()
CT_RAMenu_Options["temp"]["PlayRSSound"] = this:GetChecked();
end
function CT_RAMenu_Misc_AggroNotifier()
CT_RAMenu_Options["temp"]["AggroNotifier"] = this:GetChecked();
if ( not this:GetChecked() ) then
CT_RAMenuFrameMiscNotificationsAggroNotifierSoundCB:Disable();
CT_RAMenuFrameMiscNotificationsAggroNotifierSound:SetTextColor(0.3, 0.3, 0.3);
else
CT_RAMenuFrameMiscNotificationsAggroNotifierSoundCB:Enable();
CT_RAMenuFrameMiscNotificationsAggroNotifierSound:SetTextColor(1, 1, 1);
end
end
function CT_RAMenu_Misc_AggroNotifierSound()
CT_RAMenu_Options["temp"]["AggroNotifierSound"] = this:GetChecked();
end
function CT_RAMenu_Additional_ShowEmergency()
CT_RAMenu_Options["temp"]["ShowEmergency"] = this:GetChecked();
if ( not this:GetChecked() ) then
CT_RAMenuFrameAdditionalEMPartyCB:Disable();
CT_RAMenuFrameAdditionalEMPartyText:SetTextColor(0.3, 0.3, 0.3);
CT_RAMenuFrameAdditionalEMOutsideRaidCB:Disable();
CT_RAMenuFrameAdditionalEMOutsideRaidText:SetTextColor(0.3, 0.3, 0.3);
else
CT_RAMenuFrameAdditionalEMPartyCB:Enable();
CT_RAMenuFrameAdditionalEMPartyText:SetTextColor(1, 1, 1);
CT_RAMenuFrameAdditionalEMOutsideRaidCB:Enable();
CT_RAMenuFrameAdditionalEMOutsideRaidText:SetTextColor(1, 1, 1);
end
CT_RA_Emergency_UpdateHealth();
end
function CT_RAMenu_Additional_ShowEmergencyParty()
CT_RAMenu_Options["temp"]["ShowEmergencyParty"] = this:GetChecked();
CT_RA_Emergency_UpdateHealth();
end
function CT_RAMenu_Additional_ShowEmergencyOutsideRaid()
CT_RAMenu_Options["temp"]["ShowEmergencyOutsideRaid"] = this:GetChecked();
CT_RA_Emergency_UpdateHealth();
end
function CT_RAMenu_Misc_SendRARS()
CT_RAMenu_Options["temp"]["SendRARS"] = this:GetChecked();
end
function CT_RAMenu_Misc_ShowAFK()
CT_RAMenu_Options["temp"]["ShowAFK"] = this:GetChecked();
CT_RA_UpdateRaidGroup(1);
end
function CT_RAMenu_Misc_ShowPTT()
CT_RAMenu_Options["temp"]["ShowPTT"] = this:GetChecked();
CT_RA_UpdatePTs();
end
function CT_RAMenu_Misc_ShowMTTT()
CT_RAMenu_Options["temp"]["ShowMTTT"] = this:GetChecked();
if ( not this:GetChecked() ) then
CT_RAMenuFrameMiscDisplayNoColorChangeCB:Disable();
CT_RAMenuFrameMiscDisplayNoColorChange:SetTextColor(0.3, 0.3, 0.3);
else
CT_RAMenuFrameMiscDisplayNoColorChangeCB:Enable();
CT_RAMenuFrameMiscDisplayNoColorChange:SetTextColor(1, 1, 1);
end
CT_RA_UpdateMTs();
end
function CT_RAMenu_Misc_NoColorChange()
CT_RAMenu_Options["temp"]["HideColorChange"] = this:GetChecked();
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -