如何把lua脚本注入到魔兽世界

如何把lua脚本注入到魔兽世界,第1张

就判断[做B事的条件],其本质就是编程。

一,直接把宏语句写出来,这个指定变量的值的过程叫做赋值

[变量名]=[值]

这个语句的作用是把变量的值变成[值],在实际编写的时候用到什么查什么,所以要想做出好的脚本宏,b、赋值语句,在下面的代码中,并且可以温故而知新,20,由于魔兽世界脚本的限制很大,只不过在编以魔兽世界为平台和限制的程序,并在实际编写宏时,在20秒钟内略览完所有内容,也就是如果什么什么条件成立,就会用到elseif,否则做[否则做的事]

有时需要根据多种情况决定如何做,这样写相当于、条件判断语句,就做[否则做的事],把思维角度放在被砍前的脚本宏上。

最简单的就是下面的,0相当于

a=14

b=20

c=93

d=61

e=0

2,根本问题就是建立和提高编程的思维。

1,无法展现编程的全貌,如果不成立,无法自由写出所有功能,就做[B事],如果还不成立,61,c,我们要定义变量并指定这个变量的值,所以大家有兴趣可以钻研一门真正的计算机编程语言以提高编程思维,一切都是在处理变量,想做插件的朋友还需参见其他文章,会编程的朋友可以略看,如果成立,是用

/,在lua编程中Lua脚本在魔兽世界里的应用不仅限于做宏。

做脚本宏:

if [做这件事的条件] then

[要做的事]

else

[否则做的事]

end

即如果[做这件事的条件]成立则做[要做的事]:

if [做A事的条件] then

[A事]

elseif [做B事的条件] then

[B事]

else

[否则做的事]

end

就是先判断[做A事的条件]是否成立,d,我们使用的插件也都是用lua脚本做出来的,谢谢,当然这个帖子是为做宏,[值2],有不足或错误之处请指出并轻喷,学会巧妙地绕过一些被禁用的语句。这篇文章是自己通过编程知识写的科普扫盲贴,[变量名3]……[变量名n]=[值1],而且又有限制字数,成立就做[A事]。API库是从网上查阅各处资料并整改而成,初学的朋友一定要仔细看好每一个字,如a=1就是把变量a的值指定为1

[变量名1],[变量名2]。

在魔兽世界lua的脚本宏中,甚至是否则做什么事,甚至是结合按键精灵做出超能力的宏;script [宏语句]

来执行宏的。

由于TBC后加入的许多限制,我就不写整个宏(一个一个在前面加/,e=14;script)了,但是理论上我们还是要一观宏的全貌,和判断此种功能是否能直接用宏制作出来,所以学习了lua不仅可以做到比一般宏更强大的宏,认真分析好代码的每一个语句,[值3]……[值n]

这个语句相当于

[变量名1]=[值1]

[变量名2]=[值2]

[变量名3]=[值3]

……

[变量名n]=[值n]

比如a,就做什么什么事,还能做插件、基本语法

下面我对lua的基本语法作一个介绍,93:

if [做这件事的条件] then

[要做的事]

end

即如果[做这件事的条件]成立则做[要做的事]

一、饥荒正版服务器开服步骤:

1、建服准备工作——获取令牌

如果要建立一个向公众开放的独立服务器,则必须要获得服务器令牌,这样做的目的是能够让开发者关停违反了服务条款的服务器。

根据以下步骤获得令牌:

注意:所有符号及标点全部使用半角模式输入。

运行Don't Starve Together。

点击Play !。

按~(数字键1左边的按键)开启控制台输入指令,再按一次关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。

如下图在Documents\Klei\DoNotStarveTogether下已经生成了server_tokentxt文件。

2、建服准备工作——修改配置文件

(1)配置文件路径

如下图settingsini位于C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether路径下。

(2)注意:因为DST不支持Unicode,以下内容请全部使用英文。

若以下内容settingsini内没有可自行加上,也可不加,服务器出现任何问题后果自负。

[network]网络配置

default_server_name = 这里填服务器名。

default_server_description = 描述一下你的服务器(可不填)。

server_port = 10999,服务器通信端口,最好不要改动,对端口映射及网络类型熟悉的人员可自行更改。

server_password = 这里填服务器密码,如果要对公众开放则不填。

max_players =[1-64]最大玩家数1到64,根据计算机性能和网络负载能力填写,默认6。

pvp = true [ true | false ]是否开启PVP(玩家可以互相攻击)。

game_mode = [ endless,survival,wilderness ]游戏模式三个里面选一个填。

override_dns = [填写DNS服务器]覆盖DNS设置,如果log in很慢的情况下,可以改成8888,8888。

enable_vote_kick = [ true | false ]是否允许投票踢人,默认true。

enable_snapshots = [ true | false ]是否允许服务器回退到一个之前的状态(等同于回档,可用来防止烧家的熊孩子),开发者称这项功能在一些服务器上会导致问题的发生,默认false。

enable_autosaver = [ true | false ]是否开启自动保存功能,默认开启,新的一天开始服务器会自动保存。

tick_rate = [ 10 | 15 | 30 | 60 ]类似于FPS,这个值越高客户端动作越流畅,这取决于服务器的网络带宽和CPU,默认30。

connection_timeout = [填写毫秒数,1秒=1000毫秒],中断与没有响应的客户端的等待时间,默认8000。

server_save_slot = [1-5]服务器加载哪一个存档,默认1。

pause_when_empty = [ true | false ]服务器空闲时是否自动暂停,当有玩家进入时继续,最好用于有密码的私人服务器,默认false。

[account]账号配置

dedicated_lan_server = false [ true | false ]是否只允许局域网游戏,默认关闭。

3、ADSL拨号上网

有路由器(市面上路由器种类太多,不单独作某一型号路由器说明,方法大同小异。):进入路由器设置页面,找到端口映射功能,添加需要映射的端口:协议选UDP,端口号填10999。

无路由器:打开控制面板->系统和安全->windows防火墙->高级设置->入站规则右键新建规则->勾选端口->勾选UDP,特定本地端口:填10999。

4、开启服务器——测试是否成功运行服务器

根据以下步骤来开启服务器:

打开DST Dedicated Server。

打开Don't Starve Together。

点击Play!,稍等片刻。

Server-Type服务器类型筛选选择Dedicated Server。

若自己的服务器出现在右边列表中并且显示Dedicated Server,说明服务器成功运行(并且邀请其他玩家测试是否能够进入自己的服务器)。

(1)开启服务器——局域网服务器

局域网服务器只能使用指定范围端口10998到11018。

在配置文件settingsini内[account]下添加dedicated_lan_server = true即可被局域网内其他终端发现。

(2)开启服务器——运行多个服务器

首先确保计算机硬件和网络带宽是否强大到能够同时运行多个服务器。

创建新的服务器路径:在服务器的启动选项内输入-conf_dir <文件夹名>。

5、服务器管理——控制台指令

根据以下步骤获取管理员权限:生成令牌的用户会自动获得管理员权限。

拥有管理员权限的用户能够从服务器内踢出其他用户或者封禁其他用户,也能执行LUA脚本。

如果想授予其他用户管理员权限,需要在Documents\Klei\DoNotStarveTogether\save\下新建一个名为adminlist的txt文件。

服务器关闭状态下在新建的adminlist文件里添加User ID(格式为KU_),每行只能填写一个User ID,保存后关闭文件,开启服务器后所添加的用户即拥有了管理员权限。

搭建服务器的配置需求:

(1)Steam账号内必须拥有Don't Starve Together,拥有DST即可建立多个独立服务器(Dedicated Server)。

(2)独立服务器没有使用DST游戏内建立服务器的路由穿透技术,服务器必须为游戏客户端开放一个合适的端口,服务器默认通信方式:UDP协议,端口号:10999。

(3)建立一个稳定的独立服务器必须确保系统满足以下要求:

网络上传速度:8KB/玩家/秒。如果按照独立服务器最大人数为6人来换算,网络上传速度必须达到50KB/秒或以上才能让6个玩家同时进行游戏,当然网络上传带宽越大越好,较差的网络通信会导致连接独立服务器的玩家动作卡顿以及卡屏。

内存:大约65MB/玩家。如果按照独立服务器最大人数为6人来换算,可用内存大小必须达到500MB或以上才能让6个玩家同时进行游戏。

CPU:官方网站没有明确说明。

游戏运行库:VCRedist_2008(x86),DST游戏根目录文件夹内有,对着DST右键->属性->本地文件->浏览本地文件

说一道常见面试题:

一个很简单的答案就是去使用 Redission 客户端。Redission 中的锁方案就是 Redis 分布式锁得比较完美的详细方案。

那么,Redission 中的锁方案为什么会比较完美呢?

正好,我用 Redis 做分布式锁经验十分丰富,在实际工作中,也 探索 过许多种使用 Redis 做分布式锁的方案,经过了无数血泪教训。

所以,在谈及 Redission 锁为什么比较完美之前,先给大家看看我曾经使用 Redis 做分布式锁是遇到过的问题。

我曾经用 Redis 做分布式锁是想去解决一个用户抢优惠券的问题。这个业务需求是这样的:当用户领完一张优惠券后,优惠券的数量必须相应减一,如果优惠券抢光了,就不允许用户再抢了。

在实现时,先从数据库中先读出优惠券的数量进行判断,当优惠券大于 0,就进行允许领取优惠券,然后,再将优惠券数量减一后,写回数据库。

当时由于请求数量比较多,所以,我们使用了三台服务器去做分流。

这个时候会出现一个问题:

如果其中一台服务器上的 A 应用获取到了优惠券的数量之后,由于处理相关业务逻辑,未及时更新数据库的优惠券数量;在 A 应用处理业务逻辑的时候,另一台服务器上的 B 应用更新了优惠券数量。那么,等 A 应用去更新数据库中优惠券数量时,就会把 B 应用更新的优惠券数量覆盖掉。

看到这里,可能有人比较奇怪,为什么这里不直接使用 SQL:

原因是这样做,在没有分布式锁的协调下,优惠券数量可能直接会出现负数。因为当前优惠券数量为 1 的时候,如果两个用户通过两台服务器同时发起抢优惠券的请求,都满足优惠券大于 0 每个条件,然后都执行这条 SQL 说了句,结果优惠券数量直接变成 -1 了。

还有人说可以用乐观锁,比如使用如下 SQL:

这种方式就在一定几率下,很可能出现数据一直更新不上,导致长时间重试的情况。

所以,经过综合考虑,我们就采用了 Redis 分布式锁,通过互斥的方式,以防止多个客户端同时更新优惠券数量的方案。

当时,我们首先想到的就是使用 Redis 的 setnx 命令,setnx 命令其实就是 set if not exists 的简写。

当 key 设置值成功后,则返回 1,否则就返回 0。所以,这里 setnx 设置成功可以表示成获取到锁,如果失败,则说明已经有锁,可以被视作获取锁失败。

如果想要释放锁,执行任务 del 指令,把 key 删除即可。

利用这个特性,我们就可以让系统在执行优惠券逻辑之前,先去 Redis 中执行 setnx 指令。再根据指令执行结果,去判断是否获取到锁。如果获取到了,就继续执行业务,执行完再使用 del 指令去释放锁。如果没有获取到,就等待一定时间,重新再去获取锁。

乍一看,这一切没什么问题,使用 setnx 指令确实起到了想要的互斥效果。

但是,这是建立在所有运行环境都是正常的情况下的。一旦运行环境出现了异常,问题就出现了。

想一下,持有锁的应用突然崩溃了,或者所在的服务器宕机了,会出现什么情况?

这会造成死锁——持有锁的应用无法释放锁,其他应用根本也没有机会再去获取锁了。这会造成巨大的线上事故,我们要改进方案,解决这个问题。

怎么解决呢?咱们可以看到,造成死锁的根源是,一旦持有锁的应用出现问题,就不会去释放锁。从这个方向思考,可以在 Redis 上给 key 一个过期时间。

这样的话,即使出现问题,key 也会在一段时间后释放,是不是就解决了这个问题呢?实际上,大家也确实是这么做的。

不过,由于 setnx 这个指令本身无法设置超时时间,所以一般会采用两种办法来做这件事:

1、采用 lua 脚本,在使用 setnx 指令之后,再使用 expire 命令去给 key 设置过期时间。

2、直接使用 set(key,value,NX,EX,timeout) 指令,同时设置锁和超时时间。

以上两种方法,使用哪种方式都可以。

释放锁的脚本两种方式都一样,直接调用 Redis 的 del 指令即可。

到目前为止,我们的锁既起到了互斥效果,又不会因为某些持有锁的系统出现问题,导致死锁了。这样就完美了吗?

假设有这样一种情况,如果一个持有锁的应用,其持有的时间超过了我们设定的超时时间会怎样呢?会出现两种情况:

出现第一种情况比较正常。因为你毕竟执行任务超时了,key 被正常清除也是符合逻辑的。

但是最可怕的是第二种情况,发现设置的 key 还存在。这说明什么?说明当前存在的 key,是另外的应用设置的。

这时候如果持有锁超时的应用调用 del 指令去删除锁时,就会把别人设置的锁误删除,这会直接导致系统业务出现问题。

所以,为了解决这个问题,我们需要继续对 Redis 脚本进行改动……毁灭吧,累了……

首先,我们要让应用在获取锁的时候,去设置一个只有应用自己知道的独一无二的值。

通过这个唯一值,系统在释放锁的时候,就能识别出这锁是不是自己设置的。如果是自己设置的,就释放锁,也就是删除 key;如果不是,则什么都不做。

脚本如下:

或者

这里,ARGV[1] 是一个可传入的参数变量,可以传入唯一值。比如一个只有自己知道的 UUID 的值,或者通过雪球算法,生成只有自己持有的唯一 ID。

释放锁的脚本改成这样:

可以看到,从业务角度,无论如何,我们的分布式锁已经可以满足真正的业务需求了。能互斥,不死锁,不会误删除别人的锁,只有自己上的锁,自己可以释放。

一切都是那么美好!!!

可惜,还有个隐患,我们并未排除。这个隐患就是 Redis 自身。

要知道,lua 脚本都是用在 Redis 的单例上的。一旦 Redis 本身出现了问题,我们的分布式锁就没法用了,分布式锁没法用,对业务的正常运行会造成重大影响,这是我们无法接受的。

所以,我们需要把 Redis 搞成高可用的。一般来讲,解决 Redis 高可用的问题,都是使用主从集群。

但是搞主从集群,又会引入新的问题。主要问题在于,Redis 的主从数据同步有延迟。这种延迟会产生一个边界条件:当主机上的 Redis 已经被人建好了锁,但是锁数据还未同步到从机时,主机宕了。随后,从机提升为主机,此时从机上是没有以前主机设置好的锁数据的——锁丢了……丢了……了……

到这里,终于可以介绍 Redission(开源 Redis 客户端)了,我们来看看它怎么是实现 Redis 分布式锁的。

Redission 实现分布式锁的思想很简单,无论是主从集群还是 Redis Cluster 集群,它会对集群中的每个 Redis,挨个去执行设置 Redis 锁的脚本,也就是集群中的每个 Redis 都会包含设置好的锁数据。

我们通过一个例子来介绍一下。

假设 Redis 集群有 5 台机器,同时根据评估,锁的超时时间设置成 10 秒比较合适。

第 1 步,咱们先算出集群总的等待时间,集群总的等待时间是 5 秒(锁的超时时间 10 秒 / 2)。

第 2 步,用 5 秒除以 5 台机器数量,结果是 1 秒。这个 1 秒是连接每台 Redis 可接受的等待时间。

第 3 步,依次连接 5 台 Redis,并执行 lua 脚本设置锁,然后再做判断:

再额外多说一句,在很多业务逻辑里,其实对锁的超时时间是没有需求的。

比如,凌晨批量执行处理的任务,可能需要分布式锁保证任务不会被重复执行。此时,任务要执行多长时间是不明确的。如果设置分布式锁的超时时间在这里,并没有太大意义。但是,不设置超时时间,又会引发死锁问题。

所以,解决这种问题的通用办法是,每个持有锁的客户端都启动一个后台线程,通过执行特定的 lua 脚本,去不断地刷新 Redis 中的 key 超时时间,使得在任务执行完成前,key 不会被清除掉。

脚本如下:

其中,ARGV[1] 是可传入的参数变量,表示持有锁的系统的唯一值,也就是只有持有锁的客户端才能刷新 key 的超时时间。

到此为止,一个完整的分布式锁才算实现完毕。总结实现方案如下:

这个分布式锁满足如下四个条件:

当然,在 Redission 中的脚本,为了保证锁的可重入,又对 lua 脚本做了一定的修改,现在把完整的 lua 脚本贴在下面。

获取锁的 lua 脚本:

对应的刷新锁超时时间的脚本:

对应的释放锁的脚本:

到现在为止,使用 Redis 作为分布式锁的详细方案就写完了。

我既写了一步一坑的坎坷经历,也写明了各个问题和解决问题的细节,希望大家看完能有所收获。

最后再给大家提个醒,使用 Redis 集群做分布式锁,有一定的争议性,还需要大家在实际用的时候,根据现实情况,做出更好的选择和取舍。

原文 >

到游戏根目录下找到mod,进入mod文件夹,分别进入anim、scripts、images文件夹,复制冰箱的对应的anim(zip文件)、script(在scripts/prefabs路径下,lua文件)、image(在images/inventoryimages路径下,一个tex文件、一个xml文件)到去其他mod相应的文件夹内。

用记事本打开mod文件夹中的modmainlua

复制Assets 下有关冰箱路径读取的代码(Asset("IMAGE"。。。tex" Asset( "ATLAS",。。。xml" ) 一般为这两段)到其他mod的modmainlua的相应位置

在开头PrefabFiles下添加scripts/prefabs下的文件,扩展名lua省略不写

然后,在新的一行添加

STRINGSNAMESGFAN = "XXX"(XXX为物品名称)

AddRecipe("(为物品在script内的名称)", { Ingredient("材料1(英文名,与控制台内的名称相同)", 材料数量),Ingredient("材料2", 材料数量),Ingredient("材料3", 材料数量)}, RECIPETABSSURVIVAL(添加合成栏,例如,SURVIVAL为生存,TOWN为建筑,WAR为战斗), {SCIENCE = 1},

nil,nil,nil,nil,nil,

"images/inventoryimages/XXXxml")(XXX为该物品xml文件的名称)

保存关闭

一般的物品mod基本是这样,但有些mod的文件还会有所区别,可以通过script内的对应的文件查找到与其关联的文件

东汉末年,宦官当权,民不聊生。灵帝中平元年,张角兄弟发动黄巾起义,官军闻风丧胆。为抵抗黄巾,幽州太守刘焉出榜招兵。当时,刘备关羽、张飞都去看那招兵榜文。那刘备是中山靖王之后,汉景帝阁下玄孙,身长七尺五寸,虽然沦落下层,以贩麻鞋、织席为业,但不失龙子龙孙的风采。关羽身长九尺,髯长二尺,面如重枣,唇若涂脂,一身英气,只因杀死富豪,正四海流浪。张飞身长八尺,豹头环眼,燕颔虎须,声若巨雷,势如奔马,以卖酒杀猪为业,并在本地有一所庄子。三人萍水相逢,但都有为国出力之心,所以一见如故,被张飞拉到自家庄后的桃园饮酒。最后三人对天盟誓,结拜为弟兄,一道去投了刘焉。刘关张从军后就显示出非凡的才能,他们一败黄巾于琢郡,二败黄巾于青州。不久,又救出被张角打败的董卓,但董卓见刘备是白身,并不答谢。张飞大怒,要斩董卓,被刘备劝住。

刘关张与朱俊、孙坚进攻黄巾,大胜。朱俊、孙坚皆受封赏,只有刘备被冷落。过了很久,刘备才被封为定州中山府安喜县尉。到任四月,督邮来县巡视,刘备出城迎接,极为谦恭。而督邮却非常傲慢,开始时痛斥刘备诈称皇亲,虚报功绩;接着,见刘备无礼物奉送,就捏造“县尉害民”之罪,存心陷害。张飞知道实情后,大怒,骑马来到馆驿,挣督邮头发揪住,扯出馆驿,一直扯到县衙门前马桩上拴住,当着众多百姓,扯下柳条,往督邮两腿上狠力鞭打,一连打断了十几根柳条。督邮疼痛难忍,大叫:“玄德公救我性命!”刘备赶来,急喝张飞住手,督邮方得逃命而去。事后,刘关张三人往代州投了刘恢。不久,参加平定渔阳之战,刘备因立功被任为平原令,开始有了一支人马。

中平六年,汉灵帝死,少帝继位,为外戚大将军何进所制。十常侍诱杀何进,袁绍等领兵诛杀宦官,西凉刺史董卓趁机进兵京师、驱逐袁绍、灭丁原收吕布、废少帝立献帝,专权朝野,并毒死刘辩。满朝文武哭哭啼啼,对董卓无可奈何。可曹 *** 却抚掌大笑,挺身而出,表示愿亲自前往谋刺董卓。计定之后,曹 *** 佩着司徒王允借给的七星宝刀来到相府,进入董卓所住小阁,见吕布侍立于旁,不敢下手。董卓叫吕布去挑马赐与曹 *** ,吕布去后,董卓因胖大不耐久坐,于是倒身转向内卧于床上。曹 *** 见机会已到,急抽出宝刀,待要行刺,不料董卓从衣镜中看见曹 *** 在背后拔刀,迅速转过身子问道:“孟德干什么?”吕布此时也牵马来到阁外。曹 *** 灵机一动,忙持刀跪下说:“我有宝刀一口,献与恩相。”董卓拿过宝刀,递与吕布收了。曹 *** 马上解下刀鞘交与吕布,道:“我去试试恩相赐的马。”急牵马出相府,望东南逃去。当董卓、吕布醒悟过来要捉曹 *** 时,他已远走高飞。

曹 *** 从洛阳逃到中牟,被县令陈宫捉住。陈宫义释曹 *** ,与他一道来到成皋,投宿吕伯奢家中。吕伯奢家人磨刀准备杀猪款待,曹 *** 怀疑他们要杀自己,竟将吕伯奢全家杀害,并声称:“宁教我负天下人,休教天下人负我!”陈宫愤怒地离开了曹 *** 。曹 *** 只身前往陈留,拉起一支队伍,推袁绍为盟主,联合十七镇诸侯讨伐董卓。刘关张也参与了这次讨伐。曹 *** 、袁术等八路诸侯与吕布对峙于汜水关,吕布部将华雄杀得联军损兵折将。这时,担任马弓手的关羽请求上阵,曹 *** 令人斟上一杯热酒为关羽壮行。关羽出帐提刀,飞身上马,说道:“酒且斟下,我去便来!”只听得鼓声大振,喊声大作,不一会,关羽已跃马归来,提华雄头颅掷于地上,而酒还是热的。曹 *** 大喜,犒赏刘关张。八路诸侯乘胜出击,刘关张三人合战吕布,群雄围攻,吕布大败,逃至虎牢关上。

董卓见吕布战败,盟军势大,烧洛阳,逼献帝迁都长安。盟军入洛阳,各起异心。孙坚在宫井中得到传国玉玺,率军返回江东。曹 *** 与袁绍发生摩擦,去了扬州。盟军瓦解。接着军阀又开始火并。袁绍攻公孙瓒,被赵云所救。赵云本是袁绍部将,见袁绍无忠君救民之心,于是弃袁绍而投了公孙瓒,但不受重用。在江东,孙坚攻荆州,被刘表军士用乱箭射死。此时,司徒王允在长安设下连环计,让董卓和吕布为争夺歌妓貂婵而发生冲突,董卓被杀。董卓部将又反扑过来,杀了王允全家。在军阀混战中,青州黄巾又起,曹 *** 前往收降了三十余万人,择精壮者编为青州军,其余军士放归务农,从此威名大振,朝廷封曹 *** 为镇东将军,屯驻兖州。这时,曹 *** 老父被黄巾降将所害, *** 为报父仇,尽起兵马亲讨降将新主徐州陶谦。刘备从公孙瓒处借赵云和兵马解救陶谦,曹 *** 因吕布助张邈夺取兖州而退兵,徐州解围。陶谦三让徐州,刘备终受,暂管徐州军政事务。曹 *** 与吕布混战,收复兖州。

建安元年,董卓部将发生内讧,汉献帝逃往洛阳曹 *** 赶往保驾,迎汉献帝于许都,大权独揽。在此同时,父死而投奔袁术的孙策,以传国玉玺为抵押,借得袁术兵马,杀回江东,江东之民呼孙策为孙郎。其后不久,曹 *** 出兵寿春,转战徐州,败袁术,杀吕布,官封中郎将、关内侯,威权更盛。献帝不甘心受控制,在衣带中放入诏书,令董承设计除掉曹 *** 。刘备这时正依附曹 *** ,也参与了预谋。为防曹 *** 谋害,刘备于后园种菜,以为韬晦之计。一日,曹 *** 青梅煮酒,请刘备在小亭对饮,论天下英雄只有刘备和他俩人。刘备听闻一惊,将筷子掉落在地上。幸好当时雷声乍起,刘备急中生智,沉着地俯身拾筷,说道:“一震之威,乃至于此!”巧妙地掩饰了过去。不久,刘备就以截击袁术为名脱离了曹 *** 。

建安五年正月,当刘备在徐州灭掉袁术,将传国玉玺送与曹 *** 时,董承被家奴告密,谋杀曹 *** 之事败露。曹 *** 大怒,杀了董承全家,并亲自率领20万大军进攻刘备。张飞献计劫寨,曹 *** 早有准备,张飞败逃芒砀山,刘备只身逃往青州投靠袁绍。关羽被困于下邳,为保护刘备妻子甘、糜二夫人,他以只降汉帝,不降曹 *** 为条件投了曹 *** 。曹 *** 班师回许都,让关羽同甘、糜二夫人同住一处,关羽则秉烛于门外,通宵伫立,待二位夫人甚为恭敬。曹 *** 极欲招降关羽,待之甚厚,送美女,赐金银,三日一小宴,五日一大宴。但关羽拒绝了美女和金银,只受了所赐赤兔马。因为此马日行千里,待有了刘备下落,可以骑它迅速地去同刘备见面。

刘备去往青州后,劝袁绍出兵攻打许都。袁绍派颜良出兵,连折曹 *** 两员大将。曹 *** 令关羽出阵,关羽手起一刀,即将颜良砍于马下,害得刘备险些被袁绍杀掉。文丑为颜良报仇,也被关羽斩于马下。关羽被曹 *** 表奏朝廷,封汉寿亭侯。不久,关羽得知刘备在袁绍处,于是带着甘、糜二夫人去寻刘备,一路闯过五关,斩六将,到了袁绍地盘,刘备却又去汝南投了刘辟。关羽继续前行,在卧牛山收了关西大汉周仓,前往古城,终于与张飞、刘备相会。三人计议结连荆州刘表以脱离袁绍。这时,孙策在江东被人射伤致死,其弟孙权继位,曹 *** 奏封孙权为将军、会稽太守。

刘关张三人重会之后,曹 *** 点兵迎击袁绍,两军相峙于官渡。袁绍不听许攸分兵袭击许都的建议,许攸弃袁绍而投曹 *** 。曹 *** 采纳许攸之计,领兵烧了袁绍在乌巢积屯的粮草,袁绍军大败,部下张郃、高览投降曹 *** 。曹 *** 乘胜追击,于仓亭再次大败袁绍。此时,刘备率兵进攻许都,曹 *** 回师往汝南对敌刘备。刘备诸人败逃于汉江,投荆州刘表,驻守新野。这时,袁绍吐血而亡,曹 *** 进而攻占冀州,随后用郭嘉之遗计平定了辽东,统一了北方。曹 *** 班师,筑铜雀台于漳河之上,领兵回许都。

建安十二年春,甘夫人生阿斗。刘表染病,刘备赴荆州代为主持丰收祭典,刘表次子之娘舅蔡瑁因刘备反对刘表废长立幼欲借机杀之,刘备逃席而出,飞马越檀溪,躲过一劫。后遇水镜先生,得其点拨,方知伏龙、凤雏。刘备访伏龙、凤雏未果,却得徐庶,并用其大败曹仁。曹 *** 以徐庶之母为要挟将其逼至许都。徐庶辞别之前向刘备举荐了南阳诸葛亮,此人便是伏龙。刘备与关、张前往南阳隆中请诸葛亮出山。前两次都扑了空。第三次去时正遇诸葛亮昼寝未起,张飞忍无可忍,怒气大发,要放火烧房,被关羽劝阻。刘备等了一个时辰,诸葛亮醒来,又去后堂更衣,半晌才出。刘备诚心向诸葛亮求教,诸葛亮为刘备礼贤下士之举所感动,随为刘备分析天下大势,道破天时、地利、人和之玄机,并以据蜀、联吴抗曹三分天下之策教之,最终出山辅佐刘备。

建安十三年七月,刘表新死,曹 *** 率军五十万南征荆州,刘表次子刘琮袭职,降了曹 *** 。曹 *** 攻刘备,刘备不愿诱杀刘琮以夺取荆州,弃新野而移兵樊城。后又弃樊城往襄阳撤退,百姓随其同行。众人劝刘备弃民先行,刘备不肯。来到襄阳城下,刘琮拒绝刘备入城,刘备无法只好前往江陵。行进途中,曹军杀来,冲散了刘备队伍,赵云七进七出救下阿斗,张飞在长坂桥断后。张飞叫随从的二十余个骑兵在马尾上拴上树枝,往来奔跑,冲起尘雾,使曹军莫知虚实而不敢轻进。张飞立马桥头,面对桥西的曹军,发出三声巨雷般的大吼,吓死了夏侯杰,一时乱了曹军阵脚。曹 *** 只得急令退兵,使得刘备在关羽、诸葛亮的接应下退入江夏。

这时,东吴也密切注视曹军动向,孙权亲率人马驻守柴桑。为联吴抗曹,诸葛亮前往柴桑游说孙权,舌战群儒,晓以利害,终于促成了孙刘联盟。孙权令周瑜领兵抗曹。周瑜率兵往夏口,刘备移兵樊口,共拒曹 *** 。周瑜嫉恨诸葛亮才华不能为吴所用,先派诸葛瑾劝说诸葛亮事吴,不成,即起心暗害。诸葛亮以大局为重请鲁肃劝告周瑜共同对付曹 *** ,不要相互谋害。周瑜在三江口初败曹军,曹 *** 派蒋干劝周瑜投降。周瑜设下群英会款待这位旧友,大谈东吴兵强粮足的情况,让蒋干无法陈述劝降之意。晚上,周瑜又邀蒋干入帐共寝,故意将假造的曹 *** 水军都督私通东吴的信件让蒋干得知。蒋干中计,回去报告曹 *** ,杀了深得水军之妙的水军都督蔡瑁和张允,除去了水路进攻的一大障碍。随即,周瑜又派庞统去曹营献计,曹 *** 误纳了庞统的连环计,将战船以铁链相连。这年冬天,吴蜀联军准备就绪,决定采用火攻之策。而曹 *** 则在战船上置酒设乐,大会诸将,持朔赋诗。谋士们一再提醒防范吴军火攻,曹 *** 皆不以为意,以为东吴缺少火攻所必须的东南风。然而,诸葛亮算准天时,准确预见了东南风的出现。伴随大风刮起,诈降的黄盖冲来火船,曹 *** 被张辽救上小船,得以逃脱,此时军营、战船火焰腾空,曹军大势已去。曹 *** 急率人马撤退,在奔往乌林的路上,被吕蒙追杀;在去合肥的路上又被太史慈、陆逊伏击;在往彞陵逃命时,又先后被赵云、张飞冲杀,曹 *** 被杀得胆战心惊。待惊魂稍定之后,曹 *** 望华容道逃奔,见此处并无伏兵,不禁大笑道:“人人都说周瑜、诸葛亮足智多谋,依我看来,到底是无能之辈。如在此处埋伏军队我等就只好束手被擒了!”话未说完,一声炮响,两边五百校刀手摆开,关羽跨赤兔马,提青龙刀,拦住去路。曹 *** 见是关羽,拱手告道:“曹 *** 兵败势危,到此无路,望将军以昔日之情为重!”关羽听了曹 *** 哀告,又见曹军将士惊惊惶惶,哭拜于地,越发心中不忍,于是勒马回头,令众军四面散开,放了曹 *** 一条生路。曹 *** 败归许都,令曹仁驻守荆州。周瑜攻曹仁,被伏兵射中左肋。刘备众将则先后攻下南郡、襄阳、荆州,并招降了黄忠、魏延诸将。至此,刘备占据荆州。

建安十四年秋,孙权派鲁肃来讨荆州。刘备、诸葛亮答应取得西川后归还。当时,刘备的甘、糜二夫人已相继去世。周瑜出以招亲之计,想借此囚禁刘备索讨荆州。赵云陪同刘备往南徐同孙权之妹孙夫人成了亲,随后又依诸葛亮之计,让孙夫人陪同刘备去江边祭祀,趁机逃回荆州。周瑜大怒,决心要取荆州,他骗刘备,说愿代取西川以换荆州。诸葛亮将计就计,大败周瑜。结果周瑜终因不能取荆州而气死。孙权任鲁肃为都督,总领兵马;庞统弃吴投奔刘备,被用为副军师。

刘备以助刘璋协防汉中张鲁为名进兵西川,然则出师不利折了庞统。诸葛亮从荆州起兵增援,临行嘱托关羽东联孙权、北拒曹 *** ,关羽不以为然。入川途中,张飞所向劈泥,义释严颜,打开了西川的门户,不久,刘备攻入西川,占领成都,领益州牧。孙权向关羽索还荆州,关羽拒绝。孙权决定攻打荆州,但因闻知曹 *** 要攻东吴,才未发兵。当曹 *** 准备出兵之时,献帝与伏皇后密议,准备诛杀曹 *** 。事泄,伏皇后三族被灭,举国震惊。

建安二十一年,曹 *** 晋封魏王,在邺郡建造魏王宫。

刘备为保西川,出兵攻打汉中。老将黄忠从法正计斩夏侯渊于定军山。建安二十四年,汉中被攻克,刘备自立为汉中王,诸葛亮为军师,关羽、张飞、赵云、马超、黄忠为五虎大将。曹 *** 大怒,要取汉中。司马懿献计,劝曹 *** 联合东吴攻取荆州以打击刘备,曹 *** 采纳。于是孙权以吕蒙为大都督,同曹军合击关羽,关羽被射伤。华佗为关羽刮骨疗毒。治伤之后,关羽水淹七军攻取樊城,不料吕蒙却乘虚白衣渡江夜袭荆州。关羽率军往夺荆州,但士卒皆无战心,关羽大败,退守麦城。孙权派诸葛瑾劝降,关羽不从,弃麦城往西川撤退,路遇伏兵,关羽被擒。孙权斩了关羽首级,派人送与曹 *** 。曹 *** 厚葬关羽于洛阳,追封荆王。

建安二十五年,曹 *** 病死,曹丕继位。十月,曹丕逼献帝退位,封献帝为山阳公,自称大魏皇帝。

建安二十六年四月,刘备称帝于成都,改年号为章武元年。七月,为报关羽被害之仇率兵七十万攻东吴。张飞此时因鞭打部将,被部将杀死,割首级献东吴。刘备葬过张飞,屯于白帝城督战。孙权派诸葛瑾往说刘备,望重结吴蜀联盟,共同对付曹丕,刘备不允。蜀军从巫峡建平起,直至彝陵界口,七百余里结连四十余寨,进攻东吴。黄忠中箭身亡。刘备攻猇亭,剐东吴降将。孙权任陆逊为大都督拒刘备。陆逊坚守不战,等待时机。刘备求战不得,移寨于山谷树林中避暑。陆逊趁蜀军人疲意困之时,夜里借东南风放火,尽烧连营七百里的蜀军。刘备败走,被赵云救入白帝城。陆逊紧追,误入诸葛亮所遗石阵,方知天外有天。此时,曹丕派兵袭击东吴,陆逊退兵。

蜀汉章武三年,刘备在白帝城染病不起。诸葛亮赶来,刘备托以后事,并作出诸葛亮可取刘禅而代之的遗嘱。四月,刘备病逝,诸葛亮立刘禅为帝,是为后主,并感刘备知遇之恩全力辅佐幼主。

刘备死后,曹丕用司马懿之计,联合南蛮孟获、东吴孙权进攻蜀汉。诸葛亮击退了来犯之敌,派邓芝结好东吴,自此吴蜀通好,息了刀兵。曹丕退回许昌,任司马懿为尚书。诸葛亮率军50万南征孟获,采纳马谡心战为上、兵战为下的建议,七擒七纵孟获,以德服人,使蜀汉后方得以稳定。

蜀后主建兴四年,曹丕病死,儿子曹睿即位,任司马懿为骠骑大将军。诸葛亮采用马谡之离间计,令其散布司马懿谋反的流言,使司马懿被削职回乡。诸葛亮乘此机会,发兵汉中。蜀军一出祁山,直抵渭水,长安告急。曹睿见势不妙,启用司马懿任平西都督,令其拒守长安。司马懿老谋深算,上任之后,即夺新城,斩了私通蜀汉的孟达,乘势直逼汉中咽喉的街亭和列柳城。马谡自告奋勇往守街亭,但他不听王平劝告,执意在山上林木深处下寨。司马懿率兵围山,断其水源,蜀兵大败,街亭失守,随即司马懿又攻下列柳城。诸葛亮闻讯,迅速安排退兵之计。但此时司马懿已逼近诸葛亮所驻守的西城。眼见城中仅二千五百名老弱残兵,退、守两难,诸葛亮料定司马懿会认为自己平生谨慎,不会冒险,于是大开城门,让老军扮作老百姓洒扫街道,自己则在城楼上凭栏而坐,焚香d琴。司马懿赶来,满腹狐疑,惧有伏兵,急令撤退。当撤到武功山小路时,又遇诸葛亮事先布置的兵士大喊大叫,吓得魏军不敢久停,只得尽弃辎重而逃。西城解围后,诸葛亮退回汉中。司马懿中计后,叹道:“吾不如孔明也!”为正军法,诸葛亮挥泪斩马谡,并向后主上表自贬,以右将军行丞相事。此后,诸葛亮四出祁山,但都未取得进展。这期间,孙权在武昌南郊筑坛登帝位,后定都建业。

建兴十二年,诸葛亮六出祁山,司马懿兵屯渭水相拒。诸葛亮在上方谷造木牛流马运送粮草,司马懿依样仿造中计,被蜀军劫去。诸葛亮以木牛流马诱司马懿入上方谷,雷炸火烧曹军。突遇大雨,火灭雷哑,司马懿父子才死里逃生。司马懿受挫后坚守不战,诸葛亮派使者送去巾帼、妇人缟素之服以及书信,以激他出战。司马懿看罢来信,心中大怒,但却装出笑脸,说到:“孔明看我像妇人吧!”接受了衣物,并厚待使者,向使者打听诸葛亮的饮食起居。听了使者话后,司马懿心内盘算:诸葛亮食少事烦,看来活的日子不会长久。于是越加坚守不出,静观事态发展。诸葛亮强支病体处理军务,积劳成疾,吐血不止。他知命不久长,遂授兵书于姜维。八月,病逝于五丈原军中,是年54岁。姜维遵照诸葛亮遗嘱,以木雕为诸葛亮像坐于车中,从五丈原徐徐退兵。司马懿追兵至,姜维推出诸葛亮木像,司马懿吓得急令后退,被蜀军乘势猛攻,曹军败。司马懿退兵。蜀汉全国举哀,葬诸葛亮于定军山。

诸葛亮死后,蜀后主刘禅宠信宦官,不理朝政,国势日趋衰微。魏景元四年,司马昭令钟会、邓艾伐蜀,刘禅投降,被封为安乐公,蜀汉灭亡。魏自曹睿死后,大权先被司马懿控制,后又被司马懿之子司马师、司马昭所掌握。魏咸熙二年,司马昭之子司马炎代魏而自称晋帝,魏灭亡。晋建国后,于咸宁六年灭了东吴,自此三国时代结束,晋帝司马炎统一天下。

你说的功能 可以实现 但是很难

lua只能做他只能做到的事

你可以先下载一份官方提供的 游戏API接口,就是 应用程序接口,lua只是个编译语言, 只能实现那些接口的拼装

移动的功能是可以实现,但是要自动寻找路径是很困难的,因为在前往目的的直线上 可能存在障碍物或者路线根本不可直接达,比如需要飞行NPC或者飞艇什么的

另:LZ 你对插件的了解有些不正确

这里的插件,就是lua+xml实现的 lua提供功能 xml提供界面 插件都是按照一定的lua规范书写的lua代码

如果你能够克服这些困难,实现自动寻径是没问题的 但前提是 1 你熟练lua编程 2 你有完整的地图数据 包括哪些地方可达 哪些地方可飞行等

里推荐一个不错!占用内存也比较少!适合机子不强的玩家的!

11月11日更新。添加DAB水晶按钮。赶时髦的ACE2全尺寸通用界面。附傻瓜教程。

11月11日更新:重新制作了lua文件,采用拼音命名,删除多余lua;重新调整了布局,适合各种尺寸显示器(可能部分还需要微调)。仍然采用DAB动作条(我实在找不到比它功能更全的动作条了)添加了现在时髦的水晶皮肤。(这里感谢德鲁鲁的指导)。

此界面自认为出彩的地方是小地图和水晶动作条,小地图是高亮设计,在飞机上就像看小电视^_^。发现很多人把小地图改了,浪费了我一片苦心喔。(看图在最后)

请下载全部11。11的AddOns和WTF文件(除非你喜欢以前的样式)!!!!!

提供全部适合法师插件下载,其他的ace插件请自行于本论坛寻找,恕不回答与界面无关的问题。

这里衷心感谢触手党党魁的教程(详见 &extra=page%3D1)

感谢炽火大大的脚本修改插件:zScriptBox。

游戏不要选择窗口模式

游戏请选择使用ui缩放调节到 64 即左边到底

如果你安装以后界面混乱请自行调整,方法如下:

我只说一点小窍门。(傻瓜教程)

1、下载包包并安装:清空/World of Warcraft下AddOns和WTF文件夹,请一定要备份哦,然后解压缩拷贝我的包包(请注意WTF文件夹下有3处地方要改名哦,包里有提示)。

2、进入游戏,在画面中找到“+”(即zScriptBox),点击。点了吗?ok。不要关闭游戏返回桌面,打开文件夹x:\World of Warcraft\Interface\AddOns\oSkin,用记事本打开xxxlua文件(xxx即中文的“某某某”为我们要改动的界面)。

xxxlua文件所对应的框体如下:

dilua=底部信息条

dingbulua=顶部框

ditu1lua、ditu2lua=地图的2个边框

dongzhuotiaolua=动作条边框

shifatiaolua=施法条边框

touxianglua=头像边框

youxialua=右下框

zhuoxialua=左下框

比如:你要修改屏幕顶部框体,就打开dingbulua

3、复制里面的内容,进入游戏粘贴在zScriptBox框里,修改frame:SetWidth(xxxx);frame:SetHeight(xxxx);frame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -xxx, xxx);(xxxx为数字哦,先把数字稍微增减一点哦),点击zScriptBox框左上角的“RUN”,看到什么了?^_^。改的不满意?再改数字试试,直到你满意为止;注意了:这时你应该先按照你满意的数字修改xxxlua文件并保存,然后再回到游戏点击zScriptBox框上边的“ReloadUI”,哇!改好了呀!

4、同理你也可以改变其他参数,包括颜色、边框颜色、框体透明度等等。详见上面给出的党魁大大的贴子;

给出党魁大大的说明:

local frame = CreateFrame("Frame", "MapBar", UIParent)

frame:SetFrameStrata("BACKGROUND")

frame:EnableMouse(false)

frame:SetMovable(false)

frame:SetWidth(135)

frame:SetHeight(135)

frame:ClearAllPoints()

frame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -2, 2)

oSkin:applySkin(frame, 2, nil, nil, 50)

CreatFrame里的是自己给这个frame取的名字, 也是这个lua文件的名字,。

SetFrameStrata是设定frame的层级。有BACKGROUND,LOW,MEDIUM,HIGH和DIALOG几种, BACKGROUND最低, 一般的frame设成BACKGROUND就行了,当需要用到frame重叠的时候慵陡叩幕嵴谧〔慵兜偷 这时再改就行了。注意frame的层级不能高于上面放置内容的层级,不然会导致鼠标 *** 作无效等bug。

EnableMouse跟SetMovable这个顾名思义了吧。一般都是false。

SetWidth和SetHeight分别设置frame的长和宽,单位是pixel。

SetPoint是设置frame的锚点。有TOP,BOTTOM,CENTER,TOPLEFT,TOPRIGHT,BOTTOMLEFT,BOTTOMRIGHT, LEFT和RIGHT8种, 分别对应画面的8个方位。

applySkin, 把自己建立的这个frame加上oskin的皮肤。4个变量分别是"frame, header, bba, ba, fh"。"frame"是自建frame的名字, bba跟ba分别是改换frame透明度的量, 通常为nil, fh是反光度, 一般设置在0-200之间。

5、关于颜色的改法也很简单,我是在DAB上先调出颜色参数然后修改corelua的,见上面给出的党魁大大的贴子。

6、如果你已经有了oSkin,建议还是使用我提供的oSkin,减少不必要的麻烦。

7、如果你感觉界面里哪个框你不需要,只要打开AddOns\oSkin下oSkintoc文件在最后部分找到该xxxlua删除即可,反之就是增加哦。

很多人一直在问插件设置的问题,这里说明一下有关ace2相关插件的设置。非ace2插件请本站搜索吧。

鼠标左键(也许是右键^_^)点击你信息栏里那个齿轮样的图标(这是所有ace2相关插件的控制中心,记住是所有哦,以后插件设置问题都在这里找)--依赖--ace2--插件名称,或者在此目录下其他栏目里找,如作者、分类等等。

万分感谢“轻言浅笑五区斩魔者 ”整理的部分包内插件的设置命令

1 整合背包:输入/bagnon设置。

2 图标移动:MoveAnything。游戏中按Esc键后可见

3冷却时间带闪光提示zcc:

/zcc reset -- 重置

/zcc shine -- 隐藏/显示闪光

/zcc random -- 自动变化闪光材质

/zcc font <value> -- 设置字体文件, 默认是 Fonts\FZLBJWTTF

/zcc size <value> -- 字体大小, 取值1~50, 默认是 28

/zcc min <value> -- 少于此值的冷却不显示, >0, 默认是 3 秒

/zcc texture <value> -- 闪光材质, 取值1~4, 默认是 1

/zcc scale <value> -- 闪光大小, 取值36~512, 默认是 256

/zcc speed <value> -- 闪光速度, 取值-3~3, 默认是 0

4 施法进度条:eCastingBar 输入/ecb设置

5 技能冷却:CooldownTimers输入/cdt menu 开配置窗口

6 方形地图simpleMinimapv

/smm hide可以隐藏或者显示区域,时间和缩放按钮

/smm hide time可以把那个显示时间的太阳/月亮隐藏

/smm show zoom可以隐藏跟显示缩放按钮

/smm alpha (01 02~09 1)设置透明度 括号里的数字自己填一个你满意的透明度

/smm scale (01~09 1)设置大小

/smm lock锁定输入一次锁定,再输入一次解锁

7buff显示-ElkBuffBar

输入/ebb设置 可以看见设置BUFF的参数

/ebb locked true 锁定

/ebb locked false 解除锁定

/ebb width 设置BUFF长

/ebb height 设置BUFF高

8 查看怪物血量:输入/MobInfo2

9 全职业距离监控

/dw lock 锁定进度条

/dw unlock 解除锁定

/dw scale 缩放(参数范围:05~3系统默认的是1)

/dw usedefault 使用默认配置(当你不小心将进度条拖到屏幕外面时可以使用此命令使其重新回到屏幕中央)

10 技能物品冷却插件 输入/cdt menu 设置

11 聊天窗口设置 输入/sccn设置

输入/sccn timestamp 关闭时间标签

移动聊天窗口--鼠标右键点综合里的解锁 字体大小也在里面

12 法师变羊计时 SheepWatch

使用 /sheepwatch 或 /sw 设置查看当前配置信息使用 /sw status 查看当前配置信息

13 战斗信息:SCT+SCTD+SpellAlertSCT

SCT 是显示你受到的伤害

SCTD 是显示输出的伤害

SpellAlertSCT 是显示法术预警

配置命令:

SCT:/sct, /sct menu

SCTD:/sctd,/sctd menu

SpellAlertSCT:/sasct menu

14 团队PerfectRaid

团队:

如果是按姓名排:/praid sort name

如果是按职业排:/praid sort class

如果是按组小队排:praid sort group

15 自动解除骑乘、坐下、变形和暗影形态

输入/ezd设置

16 伤害统计

输入/DMSHOW

17 狐形战斗条/DHUD

地址:

以上就是关于如何把lua脚本注入到魔兽世界全部的内容,包括:如何把lua脚本注入到魔兽世界、饥荒正版服务器怎么开服 饥荒steam版专用服务器搭建方法、大厂面试题详解:如何用Redis实现分布式锁等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9746027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存