- Home
- Downloads
-
Addons & Mods
Featured
World of Warcraft
6,105 Addons
-
Popular Downloads
- Top World of Warcraft Addons
- Top Minecraft Server Mods
- Top Rift Addons
- Top Skyrim Mods
- Top World of Tanks Skins
- Top StarCraft II Maps
- Top Terraria Maps
- Top Runes of Magic Addons
- Top Warhammer Online Addons
- Top The Secret World Mods
- Top Age of Conan Addons
-
- Curse Client
- Premium
- News
- Giveaways
- Forums
- Store
GridCustomLayouts
- 0 Likes
- World of Warcraft
- 242 Monthly Downloads
- Supports: 4.0.6
- 43,235 Total Downloads
- Updated 05/04/2011
- Created 05/30/2009
- 47 Favorites
- Project Site
- Comments
- Release Type: Release
- License: GNU General Public License version 2 (GPLv2)
- Newest File: 1.05.05
About GridCustomLayouts
An extension for Grid.
GridLayoutLayouts.lua file contains many "Layouts" to arrange the unit buttons. Sometimes we may find it doesn't meet the needs.
This extension makes it possible to add new layouts in game. And it simplified the code to describe a layout.
Click "Grid - Layouts - Custom Layouts" to bring up a edit frame.
Each line stands for a Unit Button Group. The Grammer is:
attribute1=value1;attribute2=value2;...;attributeN=valueN;
List of the attributes
================================================
showRaid = [BOOLEAN] - true if the header should be shown while in a raid
showParty = [BOOLEAN] - true if the header should be shown while in a party and not in a raid
showPlayer = [BOOLEAN] - true if the header should show the player when not in a raid
showSolo = [BOOLEAN] - true if the header should be shown while not in a group (implies showPlayer)
nameList = [STRING] - a comma separated list of player names (not used if 'groupFilter' is set)
groupFilter = [1-8, STRING] - a comma seperated list of raid group numbers and/or uppercase class names and/or uppercase roles
strictFiltering = [BOOLEAN] - if true, then characters must match both a group and a class from the groupFilter list
sortMethod = ["INDEX", "NAME"] - defines how the group is sorted (Default: "INDEX")
sortDir = ["ASC", "DESC"] - defines the sort order (Default: "ASC")
groupBy = [nil, "GROUP", "CLASS", "ROLE"] - specifies a "grouping" type to apply before regular sorting (Default: nil)
groupingOrder = [STRING] - specifies the order of the groupings (ie. "1,2,3,4,5,6,7,8")
maxColumns = [NUMBER] - maximum number of columns the header will create (Default: 1)
unitsPerColumn = [NUMBER or nil] - maximum units that will be displayed in a singe column, nil is infinate (Default: nil)
The simplify is:
You don't need the entire class/role name, just the start part of it :
WARLOCK or WARLOC or WARL or WL -> "WARLOCK"
WARRIOR or WARR -> "WARRIOR"
MAINT or MT -> "MAINTANK"
MAINA or MA -> "MAINASSIST"
5/2 -> unitsPerColumn="5";maxColumns="2"
PET -> isPetGroup=true
INDEX or NAME -> sortMethod="INDEX" or sortMethod="NAME"
ASC or DESC -> sortDir="ASC" or sortDir="DESC"
STRICT -> strictFiltering="true"
GROUP or CLASS or ROLE -> groupBy="GROUP" or groupBy="CLASS" or groupBy="ROLE"
You don't need to write "groupFilter=", for example:
1,2,3,4,5 is just the same as groupFilter="1,2,3,4,5"
WARR,PAL,DRU is just the same as groupFilter="WARRIOR,PALADIN,DRUID"
If the group name is not group ids and not class or role names, for example:
Abcde,Xyz will be parsed to nameList="Abcde,Xyz"
That's all. A little complicated though. Advanced user only :(
Actually, I don't use this much, just put it here for sharing.
A new attribute was introduced since r6 :
Now you can add a NOREPEAT(NOREP,NOR and NR is just the same) attribute to some header, for example
1;NOR 2;NOR 3;NOR 4;NOR 5;NOR Someone,Anotherone WARRIOR,PAL;NR
In the above layout, the first 5 group will not show any of Someone or Anotherone, nor anyone of WARRIOR or PALADIN.
The 6th group only shows Someone and Anotherone, and if none of them is here, the entire group will not be shown.
The 7th group will show Warriors and Paladins, but not Someone or Anotherone, even their class is war or pal.
------------------------------------------------------------------------
r24 | warbaby | 2011-05-05 01:44:29 +0000 (Thu, 05 May 2011) | 1 line
Changed paths:
A /tags/1.05.05 (from /trunk:23)
Tagging as 1.05.05
------------------------------------------------------------------------
r23 | warbaby | 2011-05-05 01:42:13 +0000 (Thu, 05 May 2011) | 1 line
Changed paths:
M /trunk/GridCustomLayoutsFrame.xml
- fixed the 4.1.0 multiline editbox glitch
------------------------------------------------------------------------
| File Name | Release Type | Game Version | Downloads | Date |
|---|---|---|---|---|
| 1.05.05 | Release | 4.0.6 | 15,462 | 05/04/2011 |
| 0.10.19 | Release | 4.0.1 | 9,152 | 10/18/2010 |
| 0.10.18 | Release | 4.0.1 | 1,810 | 10/17/2010 |
| 1.41 | Release | 3.3.3 | 2,781 | 03/28/2010 |
| 1.4 | Release | 3.3.0 | 3,217 | 12/28/2009 |
| 1.3 | Release | 3.2.0 | 268 | 09/12/2009 |
| 1.2 | Release | 3.1.0 | 360 | 06/18/2009 |
| r8 | Beta | 3.1.0 | 43 | 06/04/2009 |
| r7 | Beta | 3.1.0 | 13 | 06/03/2009 |
| r6 | Beta | 3.1.0 | 7 | 06/03/2009 |
| 1.1 | Release | 3.1.0 | 128 | 06/01/2009 |
Top Downloads
-
- Deadly Boss Mods
- Combat, PvP, and Boss Encounters
- 1,129,948 Monthly Downloads
-
- Bagnon
- Bags & Inventory
- 498,005 Monthly Downloads
-
- Deadly Boss Mods - Burning Crusade and Vanilla mods
- Combat and Boss Encounters
- 335,742 Monthly Downloads
-
- Recount
- Combat
- 323,867 Monthly Downloads
-
- HealBot Continued
- Healer and Unit Frames
- 297,532 Monthly Downloads
Comments
Group 1 = MTs from ORA2, and/or names I enter manually
Groups 2-6 = Groups 1-5 as they are set-up by the raid leader.
Can I get that layout properly using this add-on?
I think if I still have wow client on my harddisk, I would keep it usable.
1. 每次login进去的时候都会提示以下错误:GridCustomLayouts.lua:328: bad argument #1 to 'pairs' (table expected, got nil)
2. 每次login进去都会把grid的位置重置到屏幕的正中间。
3. 在CustomLayout中增添一个新的layout,例如叫test1,可以实现NOREPEAT的功能。但是当logout再login之后,在Grid的选择layout的下拉框中就找不到test1了,虽然在CustomLayout的编辑器中还有test1存在,但它不再存在于Grid的layout选择当中。如果我logout之前选择的是test1,下次login进来的时候Grid的frame就不见了,因为layout选项那一栏是空白的,Grid找不到test1。
我用的Grid version 1.30100.2009041601
发现如果用了NOREPEAT属性,就无法按照小组或者职业顺序排序了,看了一下暴雪的代码,似乎没法解决。
至于自由拖动那是锦上添花,确实未必需要。
加油!
另外测试了一下,不可能实现完全自由的布局。暴雪的机制只提供按照名字(字母顺序)或者按照团队ID进行排列。即使提供了nameList="D,C,A,B", 顺序也无法控制。所以插件功能基本不会增加了
你说的情况也是我遇到的,不然不会想到编写这个插件。最近我也确实没再用这个,主要原因也是因为单位重复的问题。如果能够完全实现NOREPEAT属性的功能,我想这个插件的意义会大大提高。之前没有什么人关注,也就没有什么修改的动力。我最初发在这里http://bbs.cwowaddon.com/thread-5580-1-4.html
实际上,WoLK的小队概念已经很弱了,有时候跟团长说说,调调位置,比什么来的都快。。。
至于全自由拖动的问题,这个实际上仅仅是界面的问题,无非就是像默认团队面板那样,把25个人的按钮拖动后,生成全部是nameList的layout。只是我觉得这个意义不太大,每次团队换人都要重新设置,太麻烦。而且,做界面太费事了哈
目前的考虑,就是把NOREPEAT属性完善了,看看实际效果再说了。
你回复中提到的正是我希望的效果。之所以有这样的想法,是因为以下的原因。我是一个治疗,在一个25人的团队中,有时候我只需要集中治疗5个人,这5个人可能分别分布在1-5组中。如果按照grid的默认排列(5x5),他们之间可能相隔比较远,不方便查看和点击。所以如果这5个人能够集中放在一个header下面,排列在其他所有组之前,会有很大帮助。例如
nameList="Aa,Bb,Cc,Dd,Ee"
1;NOREPEAT
2;NOREPEAT
3;NOREPEAT
4;NOREPEAT
5;NOREPEAT
两个典型的可以使用到以上布局的首领战是:(1)Naxx的4DK,在后场组。(2)奥杜尔的索林姆,在通道组。后场组和通道组都远离main raid group,所以能够把这些人集中在一个header下面,就不需要在整个grid frame中寻找他们了。
在以上的基础上,如果还能有些附加的功能就好了。例如可以右键单击某人的unit,然后选择他到nameList那一组。因为有些人的名字不方便输入(法文、德文、希腊文字符...)。还有就是能够始终默认把自己放在nameList的最前面。
更完美的就是能够随意拖放unit。例如一个5x5的frame,可以用滑鼠拖放来自由布局,不受分组或是职业的限制,就好像在Windows的桌面上能随意拖放图标的位置,Windows会自动根据图标拖放的位置自动重新排序布局。再进一步就是可以随意改变frame的格局,一个5x5的frame,可以通过拖拉边框而自动变成10x3,4x7等等的格局。
在Grid的框架下,是不是无法实现这些功能?似乎是没有类似功能的Grid附件。我没有编写addon的经验,只是根据自己使用的感觉说出一些想法,所以以上说的设想可能过于复杂,甚至脱离实际,请勿见笑。不敢占用你太多的宝贵时间,如果能够准确告知我这些想法的可行性,就已经十分感激了。
如果有其他的中文网站(简繁皆可)是你发布插件的主要站点,请告诉我地址,我想收藏一下,多谢。
This is because the blizzard secure templates for the unit button headers. There is no way to "substract" some units from a header.
I was thinking over this. Maybe we can first parse the layout to totally name lists. for example:
nameList="Abcde,Xyz"
1;NOREPEAT
2;NOREPEAT
Before enterning combat, we get the names of group 1 and group 2, and take out "Abcde" and "Xyz", and make it actually
nameList="Abcde,Xyz"
nameList="Ddd,Eee,Fff,Ccc"
nameList="Qqq,Www"
It is a little difficult to implement, but it is possible.
Need time though.
(Why don't we speak Chinese...:)
Lets say I am in a 10 man raid group and I have the CustomLayouts set as follows:
nameList="Abcde,Xyz"
1
2
This will give me a grid frame with 3 columns with the first column showing only "Abcde and Xyz", the 2nd and 3rd columns are for group 1 and 2, respectively. The problem is that Abcde and Xyz will show twice in the grid frame. They first appear in the first column as they have been nameList'ed. They then appear again in either 2nd or 3rd column depending on which group they are in.
Is there a way that I can have them shown only once? That means if they are nameList'ed under one header, they should not appear in anywhere else other than under that header. The same problem goes with groupFilter. For example if I have
groupFilter="ZS,DK";groupBy=CLASS
1
2
So whoever is a warrior or DK will show in first column but they will again show in either the 2nd or 3rd column.
Could you please help me with this?