XArt制作图形界面教程

作者: 发布时间:July 3, 2007 分类:游戏 No Comments

Part1.XArt插件介绍: XArt插件是一款ACE2类型的界面制作插件,功能强大,占用内存情况不明(- -!自己用的2G的内存条,所以内存占用什么的从来不考虑,有心人可以测试一下)需要的可以使用WowAceUpdater上直接下载安装。
下载下来的XArt文件包内包含以下文件:

图片附件: [pic1] pic1.jpg (2007-7-2 05:15, 37.71 K)

libs文件夹:自带的库文件,如使用急云大大的库,此文件夹可删除,完全兼容。
Textures文件夹:XArt素材包。里面包含XArt所调用的.tga素材文件。关于素材制作部分会在后面详细介绍。
.source
Changeitem-XArt-r41195
embeds
以上3个文件我也不知道是什么(- -!)反正不关你的事儿,我们要的只是制作和谐的界面,不是研究插件工作原理...
XArt.lua文件:根据我的理解这个应该就是XArt的主要程序文件了,里面包括了制作界面的各种参数,此部分依旧会在后面详细介绍.耐心~耐心~
XArt.toc文件:恩...这个文件我真不知道该怎么介绍,用最通俗的话说就是,XXXX.lua文件相当于小兵,而XArt.toc相当于指挥官,进入游戏后靠这个文件决定调用哪个.lua文件,派哪个小兵上阵...Sorry,我笨嘴拙舌的,希望大家能够理解,后面我会举例说明,一看就懂.
Part1部分到此结束,下面是Part2!!

Part2.素材的制作——.tga文件介绍:
关于.tga文件,专业的介绍我就不说了,求知欲望强的同学请点击以下网址http://www.baidu.com
.tga文件可以用Photoshop软件来制作编辑。此软件功能强大,下载站点众多(最新的Photoshop CS3简体中文版将于7月10如正式发布!!激动啊!!)唯一的缺点是上手比较难。这个我就没办法教你了,我只能尽可能的把素材制作部分介绍给大家。
废话不多少,直接进入主题.tga文件制作的素材最重要的2个注意事项就是:
1、素材用的.tga图片的长和宽的象素数值必须是2的N次方,比如2,4,8...128,256,512...以此类推,如果不是的话,游戏的界面上就不会显示出来。切记!我最初开始做界面就是被这个问题困扰了半天(baidu真强大!!)至于这是这个插件的要求呢还是.tga本身的特点呢我还没有深究,貌似是后者。反正你知道就可以了。图片长宽的象素值必须是2的N次方!!
2、这部分内容比较难懂一些,我尽量用最通俗地语言讲清楚,希望大家耐心看下去。
以Xart官方素材包中的royalbar2-1.tga文件为例,如图2所示:

图片附件: [pic2] pic2.jpg (2007-7-2 05:19, 26.24 K)

这是一张512X256大小的图片,我们打开看到这张图可以看到,在游戏中我们希望它显示的只是下面的部分,而上面黑色部分我们希望它在游戏中是透明的部分,那如何实现呢?这就要用到Photoshop的通道了(关于什么是通道我不说了,我贴图你照做吧)
点击Photoshop右边面板通道按钮(我用的是英文版,Layers是图层,Channels是通道,Paths是路径)

图片附件: [pic3] pic3.jpg (2007-7-2 05:21, 41.5 K)

可以看到一张完整的素材.tga文件的通道是有这几部分组成的。其中上面的4个层你不用管它,决定图片哪部分透明的关键就在于最下面那个Alpha 1层(无论Photoshop的中英文版中都叫Alpha 1)
Alpha层的作用就是决定图片的透明度。其中,纯白表示透明度为100%,也就是图片中这一部分完全显示;而纯黑就是相反,表示图片中这一部分完全透明。
说的再简单一点就像是一张图片上盖了一张纸(Alpha 1层),你想下面哪部分能看到呢,就把盖在上面的那张纸的对应部分剪掉(涂成白色),不想被看到呢,上面那部分就保留黑色。不知道我这么说你懂不懂了再贴张图吧…会用Photoshop或者懂遮罩原理的人一定一说就明白的…要是这样还不懂…残念…

图片附件: [pic4] pic4.jpg (2007-7-2 05:23, 45.01 K)

一张普通的.jpg图像文件是不包含Alpha1这个层的,那么一张.jpg格式的图片如何制作成素材包中的文件呢。同样是点击通道按钮,然后点击新建图层按钮(下图中红色圆圈圈出的按钮)便可兴建一个Alpha 1图层。

图片附件: [pic5] pic5.jpg (2007-7-2 05:24, 47.37 K)

新建的Alpha 1图层是全黑的,素材内容在游戏中全部的透明度为0,也就是说素材在游戏中全部不会显示,你要做的只是把要想要显示的部分在Alpha 1图层中涂成白色就OK啦!至于怎么图…画笔阿,填充阿…这个我实在不知道怎么教了,自己领悟吧…在将Alpha 1图层制作好后选择另存为,将图片保存为.tga格式,一个素材文件就完成啦!!当然,你的屏幕可能有1024宽,可能有1680宽,一张图肯定不合适,那么就把一张完整的图切割成每张512宽度的几个小部分,分别命名为pic1,pic2,pic3….每张小图的处理过程都如上所述。
有的朋友会问,照你这么做了,那只有完全显示和完全不显示2种阿,我想在游戏中显示的部分半透明怎么办呢。Easy!Alpha 1图层中白色表示透明度为100%,黑色表示透明度为0%,那白色与黑色中间的灰色就可以实现半透明了。灰的偏白那么游戏中显示的透明度就低,偏黑那么透明度就高。照此方法那种晶莹剔透的水晶面板就很容易制作了。
Part2部分到此结束,累啊累啊累啊!!

Part3.XArt.lua与XArt.toc文件介绍:
先说XArt.toc吧。在Part1中说道了,XArt.toc文件就相当于一个指挥,告诉哪个XXX.lua文件在游戏中需要被调用,在官方的XArt版本中显示如下:
## Interface: 20100
## Author: Moonsorrow
## Title: XArt |cff7fff7f -Ace2-|r
## Notes: Provides a background texture at the bottom
## Version: 1.12.1
## DefaultState: Enabled
## X-Build: $Revision: 41195 $
## X-ReleaseDate: "$Date: 2007-06-22 04:29:18 +0200 (Fri, 22 Jun 2007) $"
## X-Category: Miscellaneous
## X-eMail: moonsorrow@gmx.de
## X-Website: http://www.for-the-horde.de
## SavedVariables: XArtDB

embeds.xml

XArt.lua
最后面那个XArt.lua就是告诉它进入游戏后需要调用XArt.lua文件。然而,官方的版本中的界面是只有下面部分是美化的,而上面部分没有。如果你需要在画面顶端也进行美化一下,那你只需新建一个TopArt.lua文件(文件内容下面介绍),然后再XArt.toc文件的最下面添加一行TopArt.lua即可。如下:
## Interface: 20100
## Author: Moonsorrow
## Title: XArt |cff7fff7f -Ace2-|r
## Notes: Provides a background texture at the bottom
## Version: 1.12.1
## DefaultState: Enabled
## X-Build: $Revision: 41195 $
## X-ReleaseDate: "$Date: 2007-06-22 04:29:18 +0200 (Fri, 22 Jun 2007) $"
## X-Category: Miscellaneous
## X-eMail: moonsorrow@gmx.de
## X-Website: http://www.for-the-horde.de
## SavedVariables: XArtDB

embeds.xml

XArt.lua
TopArt.lua
这样,进入游戏后就能调用出你美化过的上半部分了。
接下来就是关键的XArt.lua文件的内容了,在这里首先感谢netcookies同学,他写的教程详细而又易懂,省了我不少劲。
XArt.lua文件内容如下:

--[[
Full credits of the textures go to nbistudio from ui.worldofwar.net!
Description: Adds a texture at the bottom of the UI and moves the
Minimap and right ActionBars.
]]
XArt = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceDB-2.0", "AceConsole-2.0")
function XArt:OnInitialize()
self:RegisterDB("XArtDB")
self:RegisterChatCommand({"/xart"})
如果文件名为XArt.lua这里就是/xart,如果是TopArt.lua就是/TopArt
end
function XArt:OnEnable()
self:CreateArtFrame()
self:AlignTexture()
self:MoveMinimap()
开启自定义小地图位置功能
self:MoveActionbars()
开启自定义动作条位置功能,以上两项建议在self:前面加一个“--”关闭此功能
end
function XArt:OnDisable()
self.frame:Hide()
self.frame = nil
end
function XArt:CreateArtFrame()
self.frame = CreateFrame("Frame", "XArtFrame", UIParent)
创建一个FRAME
self.frame:SetFrameStrata("BACKGROUND")
设置FRAME的层次,默认在最下层
self.frame:EnableMouse(false)
允许鼠标反应,不建议开启
self.frame:SetMovable(false)
允许移动,不建议开启
self.frame:SetWidth(1680)
设置这块FRAME的宽,只要等等能放得下你的素材就行,注意设置成2的N次方
self.frame:SetHeight(512)
设置高
self.frame:ClearAllPoints()
self.frame:SetPoint("BOTTOMLEFT", UIParent, "BOTTOMLEFT", 0, 0)
for i=1,4 do
这里的4为你总共要放几块素材在这个FRAME里
self["art"..i] = self.frame:CreateTexture("$parentArt"..i,"BACKGROUND")
self["art"..i]:SetWidth(512) 每块素材的宽
self["art"..i]:SetHeight(512) 每块素材的高
self["art"..i]:SetTexture("Interface\\Addons\\XArt\\Textures\\Bg"..i)
素材名字,我的素材是BG1到BG4所有前面写BG,i为变量
self["art"..i]:ClearAllPoints()
if i == 1 then
self["art"..i]:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 0, 0)
else
self["art"..i]:SetPoint("BOTTOMLEFT", self["art"..i-1], "BOTTOMRIGHT", 0, 0)
end
self["art"..i]:Show()
end
self.frame:Show()
end
这下面是素材的缩放大小
function XArt:AlignTexture()
self.frame:SetScale(UIParent:GetWidth()/1680)
这的1680为我的四块素材可见部分加起来的宽。总共是四块,前三块都是512 最后一块只用了靠左边的144宽的空间,所以我需要显示的总大小为512+512+512+144=1680
end

主体部分到此结束,如果你没有关闭自定义小地图位置和自定义动作条位置的功能那就需要下面的话
function XArt:MoveMinimap()
local mmc = getglobal("MinimapCluster")
mmc:ClearAllPoints()
mmc:SetPoint("BOTTOMLEFT", UIParent, "BOTTOMLEFT",XXX,XXX)
其中XXX,XXX为横纵坐标,可自行修改到合适位置
end
function XArt:MoveActionbars()
local mbr = getglobal("MultiBarRight")
mbr:ClearAllPoints()
mbr:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", XXX,XXX)
其中XXX,XXX为横纵坐标,可自行修改到合适位置
End

XArt.lua部分介绍完毕,如果需要制作TopArt.lua,只需要复制以上内容,并改动相应部分的参数。其中
if i == 1 then
self["art"..i]:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 0, 0)
else
self["art"..i]:SetPoint("BOTTOMLEFT", self["art"..i-1], "BOTTOMRIGHT", 0, 0)
end
改为
if i == 1 then
self["art"..i]:SetPoint("TOPLEFT", self.frame, " TOPLEFT ", 0, 0)
else
self["art"..i]:SetPoint("TOPLEFT", self["art"..i-1], "TOPRIGHT", 0, 0)
end

Part3结束,终于…

Part4:总结语:
好了,基本就这么多了,终于结束了!没想到写个教程居然这么累!希望我整晚的努力能给界面制作爱好者们带来一点帮助。说实话,制作界面并不是什么技术含量很高的活儿,看完这篇教程自己试一下,掌握了原理真的很简单,关键还是创意!
以下是我制作的界面,素材包已经放出了,欢迎大家拍砖
【7月1日】华丽的奔向TBC吧!Spark自制和谐界面【Xart素材包放出】

反亡灵修改新办法[转载]

作者: 发布时间:June 28, 2007 分类:游戏 No Comments

我看了有人在论坛里面说的那个办法自己试了下真的行了,我是用的9C的客户端进的TF,进去后看到的WL都是被和谐了的,死了也只是一个墓碑没尸体了,我后来用了那位高人的方法后真的回到没和谐的样子了,下面言归正转。

先到要把WOW这个文件转移个位置,然后启动Repair,选择重置并检查文件选项,不用等,只要开始执行了,你就关掉,然后再把WOW文件弄回来,你再进去就能开到我们喜欢的WL了,目前我只是进的TF,不知道这样弄了,能不能进9C的了,但是WL是真的回到和谐前的样子了,喜欢现在WL样子的快点行动哦.

============================================

经过本人测试,发现修改过后有些东西无法使用,是否修改自己决定

装备修改教学TBC威力加强版[转载]

作者: 发布时间:June 28, 2007 分类:游戏 No Comments

威力在哪?一点也不威,但对新手可是威到家了……

-
工具全部在置顶里,自己下载,杀毒杀马启动没问题之后

大家慢慢看……

1.文件夹结构的变化

装备、坐骑、NPC、技能等的 m2blp 全部集中到了common.MPQ

Patch.mpq 现在的作用类似于以前的 patch-2.mpq,所以对应的好消息就是可以多一个修改位置……

DBFilesClientInterface 集中到了 locale-zhCN.mpqlocale-enCN.mpq

-
2.用什么方法改?

现有的工具在CWOW上显示出了一堆BUG

所以,如果要改装备,简单的替换 m2blp 是行不通了

DBC成为不二选择

-
3.可以从以前的文件包里继承什么?

装备编号、坐骑编号 都没有变动

技能因为有所调整,各职业的少数技能都有发生变化,比如盗贼的毒药,代码从19一跃到了5100

有过修改经验的人,翻出自己的装备坐骑编号都不是什么难事吧?

但是,仅仅是编号不变而已,编号之后的一整行代码,都有变动

特别是与生物相关的 CreatureDisplayInfo.dbc

另外,blp可以继承比如林无双的金色AL,m2不行,m2几乎全部重新构建了

如果有人是盗贼的话,一定已经看到自己的邪恶攻击、出血、切割、都带上了明显得多的剑光

所以,不管什么包,重新开工吧

开始
-
4.具体修改过程A

和我以前的教学没什么区别……

那么,编号不是问题,修改方法不是问题,什么是问题?

想要的装备代码,这就是问题

我之前所想的,靠m2blp名反搜索代码,这个过程变得艰难无比……

武器是暂时不考虑了,一个个看非常之考验硬盘

身上的衣服,竞技场的不好看,散装看都看不了,能列入选择范围之内的只剩下 T4、5、6

-
5.具体修改过程B

它们有多难找?不难

我在
http://bbs.game.mop.com/viewthre ... &extra=page%3D1
中有整理过

只要仔细参照一下就可以确定目标了

我要干的是 战士的T5+T4脑袋鞋子

流程演示

首先各位得知道一件完整的装备代码,到底包含什么

QUOTE:

战士的T4脑袋为例:要有编号(蓝色字),有m2模型(紫色字),有blp贴图(深蓝色字),更重要的,决定它能不能穿的INV图标文字(红色字)

40486,"Helm_Plate_RaidWarrior_D_01.mdx","","Helm_Plate_RaidWarrior_D_01","","INV_Helmet_58",0,0x0,0,0x0,0,9,368,368,"Plate_A_01Black_Sleeve_AU","","","Plate_A_01Black_Chest_TU","Plate_A_01Black_Chest_TL","Plate_A_01Black_Pant_LU","Plate_A_01Black_Pant_LL","",0,

只要有这4部分,就可以确定为一件完整的装备了,多余的部分不要管它...

战士的T4头盔 用Helm_Plate_RaidWarrior_D_01.mdx来搜索,没什么悬念……才怪

同时满足以上4个条件的有

QUOTE:

39541,"Helm_Plate_RaidWarrior_D_01.mdx","","Helm_Plate_RaidWarrior_D_01PVP","","INV_Helmet_22",0,0x0,0,0x0,0,11,345,345,"","","","","","","","",0,40486,"Helm_Plate_RaidWarrior_D_01.mdx","","Helm_Plate_RaidWarrior_D_01","","INV_Helmet_58",0,0x0,0,0x0,0,9,368,368,"Plate_A_01Black_Sleeve_AU","","","Plate_A_01Black_Chest_TU","Plate_A_01Black_Chest_TL","Plate_A_01Black_Pant_LU","Plate_A_01Black_Pant_LL","",0,

44406,"Helm_Plate_RaidWarrior_D_01.mdx","","Helm_Plate_RaidWarrior_D_01PVP","","INV_Helmet_22",0,0x0,0,0x0,0,11,248,306,"","","","","","","","",0,

44561,"Helm_Plate_RaidWarrior_D_01.mdx","","Helm_Plate_RaidWarrior_D_01PVP","","INV_Helmet_07",0,0x0,0,0x0,0,11,248,306,"","","","","","","","",0,

注意,它们的贴图不一样,其中3个带有PVP字样,我要穿的不是PVP颜色的,无视……

其他的大同小异

-
再补充一个非常容易混淆的难点

这里有两段代码,如果要你选择一个做肩膀,你选哪个?

QUOTE:

42300,"LShoulder_Plate_RaidWarrior_E_01.mdx","RShoulder_Plate_RaidWarrior_E_01.mdx","Shoulder_Plate_RaidWarrior_E_01","Shoulder_Plate_RaidWarrior_E_01","INV_Shoulder_29",0,0x0,0,0x0,0,9,0,0,"Plate_A_01Black_Sleeve_AU","","","Plate_A_01Black_Chest_TU","Plate_A_01Black_Chest_TL","Plate_A_01Black_Pant_LU","Plate_A_01Black_Pant_LL","",0,46075,"LShoulder_Plate_A_01.mdx","RShoulder_Plate_A_01.mdx","Shoulder_Plate_A_01Black","Shoulder_Plate_A_01Black","INV_Belt_13",0,0x0,0,0x0,0,9,0,0,"Plate_A_01Black_Sleeve_AU","Plate_A_01Black_Glove_AL","Plate_A_01Black_Glove_HA","Plate_A_01Black_Chest_TU","Plate_A_01Black_Chest_TL","Plate_RaidWarrior_E_01_Belt_LU","Plate_A_01Black_Boot_LL","Plate_A_01Black_Boot_FO",0,

大概很多人会认为随便哪个都一样……错了

42300是肩膀,而46075是腰带,从哪里看出来?INV图标文字

Shoulder是肩膀,而Belt是腰带,这个没得偷懒了,一个个对照

除了护腕,一共7个部件,大家有好代码的还是到下面这个帖子里共享出来吧……
http://bbs.game.mop.com/viewthre ... &extra=page%3D1

-
6.压缩成patch-x.mpq

请看老帖……
http://bbs.game.mop.com/viewthre ... &extra=page%3D1

MS界面

作者: 发布时间:June 28, 2007 分类:游戏 No Comments

收拾了一上午,闹心的来着。下面是用到的插件

LR宏命令

作者: 发布时间:June 27, 2007 分类:游戏 No Comments

LR的宏基本篇

今天是1.2的最后一天大家享受一下吧~2.0的LR宏我也是从别的地方找来的,感谢做宏的同学一下!

基本宠物指令
1.宠物指令:攻击、跟随、停留
/petattack
/petfollow
/petstay

宠物姿态:被动、防御、主动
/petpassive
/petdefensive
/petaggressive

宠物技能自动施放/停止自动施放

/petautocaston<spell>
/petautocastoff <spell>

基本玩家指令

施法(<spell>是技能名称吧)
/cast <spell>
/castrandom <spell>, <spell>, <spell>
/castsequence <spell>, <spell>, <spell>
/stopcasting

使用/装备物品(<item>是物品名称,<slot id>是背包第几格)
/use <item>
/equip <item>
/equipslot <slot id> <item>

用猴守然后翻到动作条2
/cast Aspect of the Monkey
/changeactionbar 2

杀戮命令
/cast [exists,target=pettarget] Kill Command

使用毒蛇釘刺,如果是以右鍵點擊則使用蝮蛇釘刺,如果是以中鍵點擊則使用毒蠍釘刺。
# showtooltip 毒蛇釘刺
/cast [button:3] 毒蠍釘刺;[button:2] 蝮蛇釘刺; 毒蛇釘刺
这个宏可以衍生出一些鼠标点击的宏,如果只想用到鼠标左右2个键,不想用到中键,那么就是:
# showtooltip 技能名字
/cast [button:2] 技能名字; 技能名字
(另外不知道根据这类宏,有没有高人能做出来使用物品的宏,比如:左键点是绷带,右键点就是大红,中键点就是糖。 )

使用假死,若假死尚在冷卻時間內則使用逃脫。戰鬥脫離之後自動重置。
# showtooltip 假死
/castsequence reset=30/combat 假死, 逃脫, 逃脫, 逃脫, 逃脫

對敵對目標使用獵人印記。若是以右鍵點擊,則同時命令寵物攻擊羰窃陉犖橹校瑒t通知隊友被標印記的目標為何。
若尭/stopmacro [nogroup]」改成「/stopmacro [nogroup:raid]」,則只有在raid中才會通知隊友。
# showtooltip 獵人印記
/cast [harm] 獵人印記
/stopmacro [noharm]
/petattack [pet,button:2]
/stopmacro [nogroup]
/y 攻擊目標為 %t

同時使用猛禽一擊及摔絆。
# showtooltip 猛禽一擊
/cast 摔絆
/stopcasting
/cast 猛禽一擊

如果以右鍵點擊或寵物雖存在但已死亡,使用復活寵物;如果寵物不存在,使用召喚寵物;如果寵物存在且在戰鬥中,使用治療寵物;如果寵物存在且不在戰鬥中,使用餵食寵物並使用指定食物。
# showtooltip 治療寵物
/cast [button:2,nocombat] 復活寵物;[target=pet,dead,nocombat] 復活寵物;[nopet] 召喚寵物;[combat] 治療寵物; 餵養寵物
/use [pet,nocombat] 食物名稱
这个宏不错,可以省掉自动喂养的UI,又可以省掉技能快捷栏上治疗宠物,召唤宠物,宠物喂食至少3个技能位置,在前期,宝宝的食物经常变更的情况下可能需要经常变换,到70之后直接买商店的就可以了。

懒人连按宏
/castsequence reset=12 毒蛇釘刺,震盪射擊,秘法射擊,秘法射擊
12秒一重置(根据技能CD来的)
根据这个宏我自己写了一个兽人兽王的爆发宏
/castsequence reset=120 血性狂暴,狂野怒火,急速射击
2分钟一重置

============================

/cast [target=mouseover] 驱散射击

/cast [target=mouseover] 沉默射击

不改变当前目标,射击鼠标指向目标的驱散和沉默,以此类推~~~

============================

/console SET targetNearestDistance "50"
将“TAB”能选定目标的最远距离改为50码。/console SET targetNearestDistanceRadius "50"
将“TAB”能选定身后目标的最远距离设为50码,不过并不推荐这么做,20就够了。

/console SET profanityFilter "0"
去掉系统中的敏感词语屏蔽。

/script if UnitClass("target")=="法师" then SendChatMessage("你好,给点水和面包好么?谢谢~~~","Whisper","兽人语",UnitName"Target");if IsAltKeyDown() then InitiateTrade("target");end;end;
M语要水宏。可以分辨职业,不是法师就不会说话。

/use [harm,target=player] 厚符文布绷带; 厚符文布绷带
summer699编写,不喜欢打开“自动自我施法”的人可以用这个宏。

/use [target=player] 厚符文布绷带
无论目标是谁都对自己使用绷带

# show 特效治疗石
/stopcasting
/use [combat]特效治疗石
/use [combat]作战治疗药水
/use [combat]特效治疗药水
/use [combat]强效治疗石
/cast [nocombat,noharm,button:2]制造治疗石; [button:3]制造治疗石(等级 4)
一键吃药水宏,不在战斗中是不会吃的。如果不是术士可以把制造石头的那句删除,也就是最后一行。

/targetlasttarget
/cast 亡灵意志
被恐惧后会丢失目标,这个宏的作用就是让你在用亡灵意志的同时选定最后一个目标,也就是刚刚丢失的那个目标。

/use 13
/stopcasting
/cast 法术名称
/stopcasting
/cast 法术名称
这个宏就是典型的多开宏,开饰品+一个无公共CD的法术+一个高伤害法术。

/stopcasting
/use XX手雷
这是一个手雷宏。点击使用手雷,再点击取消手雷并重新回到区域选择。

/script for j=1,10 do PickupInventoryItem(j); PickupContainerItem(0, j); end
/script for j=16,18 do PickupInventoryItem(j); PickupContainerItem(0, j-5); end
/script PickupInventoryItem(18);
一键脱全身装备。