当前位置: 首页 > news >正文

World of Warcraft [CLASSIC] plugin lua

World of Warcraft [CLASSIC] plugin lua  魔兽世界lua脚本插件

World of Warcraft API - Wowpedia - Your wiki guide to the World of Warcraft

D:\World of Warcraft\_classic_\Interface\AddOns

zwf.lua

function CountdownFunc()CountdownFrame = CreateFrame("Frame") FrameScript = function() if GetTime() - MarkTime > 1 then if S == 0 then SendChatMessage(">>烟雾弹<<结束", "YELL") FrameScript = nil CountdownFrame:SetScript("OnUpdate",FrameScript) else SendChatMessage(S,"YELL") end MarkTime = GetTime() S = S - 1 end end MarkTime = GetTime() S = 5 CountdownFrame:SetScript("OnUpdate",FrameScript) SendChatMessage(">>烟雾弹<<已释放", "YELL") 
end MainFrame = CreateFrame("Frame") 
MainFrame:RegisterEvent("UNIT_SPELLCAST_SENT") 
MainFrame:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") 
MainFrame:SetScript("OnEvent", function(_, _, a, b, _, c) if a == "player" and b== "烟雾弹" then n = type(c) == "string" and c or CountdownFunc() end 
end)

zwf.toc

zwf.lua

==Console==

Console.lua

local PlayerName = GetUnitName("Player")
local _, PlayerClass = UnitClass("Player")
--print("ha")local Console = CreateFrame("Frame", nil, UIParent)
ConsolePointer = ConsoleConsole.isInit = false--Console:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
Console:RegisterEvent("PLAYER_LOGIN")
Console:RegisterEvent("ADDON_LOADED")
Console:SetScript("OnEvent", function(self,e,...) local func = self.HandleFunc[e]func(...)
end)
--[[
Console:SetScript("OnUpdate", function(self, elapsed)local func = self.HandleFunc["ON_UPDATE"]func(elapsed)
end
]]--
Console.HandleFunc = {ADDON_LOADED = function(...)local AddonName = ...if AddonName ~= "Console" then return end--Initialize Saved Variables if Necessaryif ConsoleData == nil then ConsoleData = {}ConsoleData.Position = {X = 335, Y = 155}if ConsoleData.CurrentText == nil then ConsoleData.CurrentText = ""endend--print("Spells:", type(ItIsReadyData["Spells"]))end,PLAYER_LOGIN = function (...)Console.Main = CreateFrame("Frame", nil, UIParent)Console.Main:SetHeight(500)Console.Main:SetWidth(500)Console.Main:SetBackdrop({bgFile = "Interface\\AddOns\\Sora's Threat\\Media\\Solid", -- 背景材质路径 insets = {left = 1,right = 1,top = 1,bottom = 1}, -- 背景收缩程度,单位为像素,例如,top = 1即背景材质的上边缘向内收缩1个像素 edgeFile = "Interface\\AddOns\\Sora's Threat\\Media\\Solid", -- 边框材质路径 edgeSize = 1, -- 边框宽度 })Console.Main:SetBackdropColor(0, 0, 0, 0.5)Console.Main:SetBackdropBorderColor(0, 0, 0, 0.7)Console.Main:SetPoint("BOTTOMLEFT", UIParent, "BOTTOMLEFT", ConsoleData.Position.X, ConsoleData.Position.Y)Console.Main:SetMovable(true)Console.Main:EnableMouse(true)Console.Main:RegisterForDrag("LeftButton")Console.Main:SetScript("OnDragStart", Console.Main.StartMoving)Console.Main:SetScript("OnDragStop", function()Console.Main:StopMovingOrSizing()ConsoleData.Position.Y = Console.Main:GetBottom() ConsoleData.Position.X = Console.Main:GetLeft() end)Console.Main.Title = Console.Main:CreateFontString(nil, "OVERLAY")Console.Main.Title:SetFont(GameTooltipText:GetFont(), 15, "THINOUTLINE")Console.Main.Title:SetText("Lua Console")Console.Main.Title:SetPoint("TOP" , Console.Main, "TOP", 0, -5)Console.ScriptFrame = CreateFrame("EditBox", nil, Console.Main)Console.ScriptFrame:SetSize(480, 450)--Console.ScriptFrame:SetPoint("CENTER", Console.Main, "CENTER", 0, 3)Console.ScriptFrame:SetBackdrop({bgFile = "Interface\\AddOns\\Sora's Threat\\Media\\Solid", -- 背景材质路径 insets = {left = 1,right = 1,top = 1,bottom = 1}, -- 背景收缩程度,单位为像素,例如,top = 1即背景材质的上边缘向内收缩1个像素 edgeFile = "Interface\\AddOns\\Sora's Threat\\Media\\Solid", -- 边框材质路径 edgeSize = 1, -- 边框宽度 })Console.ScriptFrame:SetBackdropColor(0, 0, 0, 0.8)Console.ScriptFrame:SetBackdropBorderColor(0, 0, 0, 0.8)Console.ScriptFrame:ClearFocus()Console.ScriptFrame:SetMultiLine(true)Console.ScriptFrame:SetMaxBytes(0)Console.ScriptFrame:SetMaxLetters(0)Console.ScriptFrame:SetAutoFocus(false)Console.ScriptFrame:SetFontObject(ChatFontNormal)Console.ScriptFrame:EnableMouse(true)Console.ScriptFrame:SetText(ConsoleData.CurrentText)Console.ScriptScroll = CreateFrame("ScrollFrame", "ScrollHandle", Console.Main, "UIPanelScrollFrameTemplate")Console.ScriptScroll:SetPoint("TOPLEFT", Console.Main, "TOPLEFT", 10, -22)Console.ScriptScroll:SetPoint("BOTTOMRIGHT", Console.Main, "BOTTOMRIGHT", -30, 25)Console.ScriptScroll:SetScrollChild(Console.ScriptFrame)Console.HideAndShowButton = CreateFrame("Button", "ConsoleDisplayControl", UIParent, "UIPanelButtonTemplate")Console.HideAndShowButton:SetText("Hide")Console.HideAndShowButton:SetScript("OnClick", function() local func = Console.HandleFunc["HIDE_SHOW_BUTTON_CLICK"]func()end)Console.HideAndShowButton:SetPoint("BOTTOMLEFT", Console.Main, "BOTTOMLEFT", 5, -24)Console.HideAndShowButton:SetSize(55, 22)Console.RunBotton = CreateFrame("Button", "RunBotton", Console.Main, "UIPanelButtonTemplate")Console.RunBotton:SetText("Run!")Console.RunBotton:SetScript("OnClick", function()local func = Console.HandleFunc["RUN_BOTTON_CLICK"]func()end)Console.RunBotton:SetPoint("BOTTOMRIGHT", Console.Main, "BOTTOMRIGHT", -5, 2)Console.RunBotton:SetSize(55, 22)Console.ReloadUIButton = CreateFrame("Button", "ReloadUIButton", Console.Main, "UIPanelButtonTemplate")Console.ReloadUIButton:SetText("ReloadUI")Console.ReloadUIButton:SetScript("OnClick", function() ConsoleData.CurrentText = Console.ScriptFrame:GetText()ReloadUI()end)Console.ReloadUIButton:SetPoint("BOTTOMLEFT", Console.Main, "BOTTOMLEFT", 5, 2)Console.ReloadUIButton:SetSize(75, 22)print("Console has inicialized")--print(type(ConsoleData.CurrentText))end,HIDE_SHOW_BUTTON_CLICK = function()if Console.Main:IsShown() thenConsole.Main:Hide()Console.HideAndShowButton:SetText("Show")elseConsole.Main:Show()Console.HideAndShowButton:SetText("Hide")endend,RUN_BOTTON_CLICK = function()local code =  Console.ScriptFrame:GetText()--code = string.gsub(code, "\t", "___")print(">> "..code)local f = assert(loadstring(code))f()end}

Console.toc

## Interface: 50300
## Version: 0.0.1
## Author: Wing
## Title: lua Console
## Notes: allows you to directly type lua script and run it in WOW
## SavedVariablesPerCharacter: ConsoleDataConsole.xml

Console.xml

<Ui xmlns="http://www.blizzard.com/wow/ui/"><Script file="Console.lua"/><Script file="Slash.lua"/></Ui>

Slash.lua

--[[SLASH_SAYSOMETHING1 = "/sayit"
SLASH_SAYSOMETHING2 = "/si"SlashCmdList["SAYSOMETHING"] = function(...)local msg = ...print(msg)ItIsReadyData.msg = msg
endSLASH_LOADSOMETHING1 = "/loadit"SlashCmdList["LOADSOMETHING"] = function(...)print(ItIsReadyData.msg)
end
]]--SLASH_RELOADUISHORT1 = "/rl"SlashCmdList["RELOADUISHORT"] = function(...)ReloadUI()
endlocal Console = ConsolePointer
local help_info1 = "\t To add spell watch, enter /iir add {spell id}.\n To remove spell watch, enter /iir rm {spell id}.\n To list all watch, enter /iir list.\n To open/close debug, enter /iir debug.\n"
local help_info2 = "\t To add spell watch group, enter /iir addg {group name}.\n To remove spell watch group, enter /iir rmg {group name}.\n To select a group, enter /iir sel {group name}"function Console:releaseOnUpdate()self:SetScript("OnUpdate", function(self, elapsed) end)
endSLASH_ITISREADY1 = "/console"
SLASH_ITISREADY2 = "/cmd"SlashCmdList["CONSOLE"] = function (...)local arg, var = ...arg, var = strsplit(" ", arg)--print(arg)--print(var)if arg == "add" then end
endConsole.SlashHandleFunc = {}

==督军战士,督军猎人==

相关文章:

World of Warcraft [CLASSIC] plugin lua

World of Warcraft [CLASSIC] plugin lua 魔兽世界lua脚本插件 World of Warcraft API - Wowpedia - Your wiki guide to the World of Warcraft D:\World of Warcraft\_classic_\Interface\AddOns zwf.lua function CountdownFunc()CountdownFrame CreateFrame("Fram…...

背靠广汽、小马智行,如祺出行打得过滴滴和百度吗?

©自象限原创 作者丨艾AA 编辑丨薛黎 北京时间6月14日凌晨&#xff0c;在特斯拉股东大会上&#xff0c;马斯克阐述了对Robotaxi&#xff08;自动驾驶出租车&#xff09;商业模式的构想——特斯拉不仅会运营自己的无人驾驶出租车车队&#xff0c;还可以让特斯拉车主们的爱…...

CCSP自考攻略+经验总结

备考攻略 备考攻略准备阶段通读阶段精度阶段总复习阶段刷题阶段命运审判 写到最后 备考攻略 趁着对ssp知识点的理解还在&#xff0c;开始ccsp的考证之路&#xff0c;文章结构还是按照cissp备考篇的结构梳理。本次备考和cissp的离职在家备考不同&#xff0c;ccsp是在职利用非工…...

面试突击:ArrayList源码详解

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 前言 哈喽&#xff0c;大家好&#xff0c;我是 DanMu。ArrayList 是我们日常开发中不可避免要使用到的一个类&#xff0c;并且在面试过程中也是一个非常高频的知识点&#…...

力扣每日一题:2734. 执行子串操作后的字典序最小字符串

题目链接 脑子比较笨&#xff0c;分三种情况考虑&#xff1a; 以a开头。xxa&#xff0c;a在中间。 对于情况2还有两种可能&#xff1a; 1. 全是a&#xff0c;最后一个元素需要替换成z&#xff0c;因为必须执行一次操作。 2. aaaxxa&#xff0c;中间有一段非a&#xff0c;将这…...

C++11中std::thread的使用

C11 引入了 std::thread&#xff0c;它是用于创建和管理线程的标准库类。以下是详细的讲解&#xff0c;包括如何使用 std::thread 进行线程创建、管理和参数传递等操作。 1. 包含必要的头文件 在使用 std::thread 前&#xff0c;需要包含 <thread> 头文件&#xff1a; …...

酷瓜云课堂(内网版)v1.1.5 发布,局域网在线学习+考试系统

更新内容 更新layui-v2.9.10更新docker国内镜像地址增加导入镜像构建容器的方式教师不批阅非首次考试试卷轮播图增加专栏类型目标链接增加课程能否发布检查去除初始化kindeditor语言文件去除选择题EF选项优化富文本内容显示样式优化内容图片点击放大监听优化试题题干答案等图片…...

大数据之Hadoop部署

文章目录 服务器规划服务器环境准备1. 网络测试2. 安装额外软件包3. 安装基础工具4. 关闭防火墙5. 创建用户并配置权限6. 创建目录并设置权限7. 卸载JDK8. 修改主机名9. 配置hosts文件10. 重启服务器 配置免密登录安装Java安装Hadoop1. Hadoop部署2. 配置Hadoop3. 格式化Hadoop…...

Java异常处理中的“throw”与“throws”的区别

在Java中&#xff0c;throw 和 throws 是两个用于处理异常的关键词&#xff0c;它们的使用场景和目的有所不同 1. throw throw 关键字用于在Java程序中显式地抛出一个异常。当你检测到某些条件&#xff08;通常是错误条件&#xff09;时&#xff0c;你可以使用 throw 来抛出一…...

英语智汇学习系统

目 录 1 软件概述 1.1 项目研究背景及意义 2 系统相关技术 2.1 HTML、WXSS、JAVASCRIPT技术 2.2 Vanilla框架 2.3 uni-app框架 2.4 MYSQL数据库 3 需求分析 3.1 可行性分析 3.2 功能需求分析 3.3 系统用户及用例分析 3.4 非功能需求分析 3.5 数据流图…...

ExtractAItoTEXT 提取Adobe illustrator AI文件中的文字到文本文件翻译并写回到Adobe illustrator AI文件

Extract Text from Adobe illustrator to text for translate and write back to Adobe illustrator after translate in text file. Originally script from marceloliaohotmail.com during his work in SDL. Updated by me. 从Adobe illustrator中提取文本以进行翻译&#x…...

ms17-010 ms12-020 ms-08-067

MS17-010是一个由微软发布的安全公告编号&#xff0c;它指代了一个严重级别的安全漏洞&#xff0c;该漏洞存在于Microsoft Windows的Server Message Block 1.0 (SMBv1)协议处理中。这个漏洞被命名为“永恒之蓝”&#xff08;EternalBlue&#xff09;&#xff0c;因为它最初是由…...

【海思Hi3403V100】多目拼接相机套板硬件规划方案

海思Hi3403V100 是专业超高清智能网络摄像头 SoC。该芯片最高支持四路 sensor 输入&#xff0c;支持最高 4K60fps 的 ISP 图像处理能力&#xff0c;支持 3F 、WDR、多级降噪、六轴防抖、硬件拼接、多光谱融合等多种传统图像增强和处理算法&#xff0c;支持通过AI 算法对输入图像…...

AI的赚钱风向,彻底变了!

从2023年3月起&#xff0c;生成式AI技术的浪潮席卷全球&#xff0c;让不少人开始焦虑中国AI技术与美国的差距。然而&#xff0c;最近的趋势显示&#xff0c;AI创业的盈利模式已经发生了根本性的变化。今年&#xff0c;我们见证了AIGC&#xff08;人工智能生成内容&#xff09;企…...

服务器重启后jenkins任务内容不见了,并且新建任务也不见了

服务器centos7.4 背景&#xff1a;服务器异常重启后&#xff0c;jenkins上面的任务只剩下一些前端项目&#xff0c;后端的任务都不展示了&#xff0c;jenkins版本是Jenkins 2.346.3 解决方案&#xff1a;根据显示&#xff0c;jenkins很多的插件引用失败&#xff0c;显示需要升…...

如何选择合适的WordPress主机?

选择合适的WordPress主机需要考虑多个因素&#xff0c;包括性能、速度、存储空间、带宽、硬件配置、操作系统、支持的软件版本以及安全性等。以下是一些详细的建议&#xff1a; 性能和速度&#xff1a;选择一个能够提供快速加载速度和稳定性能的主机至关重要。快速加载的网站不…...

面试突击:Java 集合知识体系梳理

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 前言 哈喽&#xff0c;大家好&#xff0c;我是 DanMu。在 Java 开发中&#xff0c;集合类对象绝对是被使用最频繁的对象之一。因此&#xff0c;深入了解集合类对象的底层数…...

AI智能管理系统设计文档

AI智能管理系统设计文档 1. 引言 本设计文档旨在开发一套全面的AI智能管理系统&#xff0c;以优化生产运营效率和决策质量。该系统将利用先进的AI技术和数据分析能力&#xff0c;提供自动化流程控制、预测性维护、智能决策支持等功能。 2. 需求分析与目标设定 2.1 业务需求…...

干涉阵型成图参数记录【robust】

robust 这个玩意经常忘记&#xff0c;就是取2的时候是更加显示大尺度的结构&#xff0c;取-2更加显示小尺度结果&#xff0c;一般取0就是正常就好了...

React Native工程运行时下载gradle超时问题

React Native工程在运行Android的时候会下载gradle&#xff0c;但是由于众所周知的问题&#xff0c;总是下载失败&#xff0c;这时可以通过修改 <APP_ROOT>/android/wrapper/gradle-wrapper.properties 文件中 distributionUrl 参数使用国内 gradle 镜像来提高下载速度。…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...