Hey Guys !!
I have been using XDAT Editor to make new Windows.
The problem I found and the lack of information of this software, I could not find on Internet anything of how to use this Script Console. I just found some samples of "SAVO" He shared long time ago on other RU forums.
I know you can add windows, tabs, textures etc, etc, if you are using the GUI, but some times when your project is getting too big, better start using the Script Console.
So, long story short, this is the problem:
How to add a "TabElement" and filling it with some data information?
for example this is the code I have been trying:
println "Data Base Windows"
xdat.windows.add (new Window (
name: "DataBaseWnd",
anchored: 0
size: 1
size_absolute_width: 800
size_absolute_height: 490,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
parent: "undefined",
backTex: "L2UI_CT1.Windows_DF_Large_Bg",
script: "DataBaseWnd",
state: "GamingState",
frame: 1,
hidden: 1,
alwaysFullAlpha: 1,
savePosition: 1,
title: 6000,
exitbutton: 1,
workingConfiguration: "Game"))
def DataBaseWnd = xdat.windows [ "DataBaseWnd"]
DataBaseWnd.children.add (new Texture (
name: "TexTabBg",
parentName: "MagicSkillWnd",
anchored: 0
size: 1
size_absolute_width: 800
size_absolute_height: 458,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_y: 31.0,
virtual: 1,
file: "L2UI_CT1.tab.tab_df_bg",
type: "Stretch",
layer: "Background",
alpha: -9999))
DataBaseWnd.children.add (new Texture (
name: "TexTabBgLine",
alwaysOnBack: 1,
parentName: "MagicSkillWnd",
anchored: 0
size: 1
size_absolute_width: 631,
size_absolute_height: 30,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_x: 164.0,
anchor_y: 31.0,
virtual: 1,
file: "L2UI_CT1.tab.tab_df_bg_line",
type: "Stretch",
layer: "Background",
alpha: -9999))
DataBaseWnd.children.add (new Tab (
name: "DataBaseTabCtrl",
parentName: "DataBaseWnd",
anchored: 0
size: 1
size_absolute_width: 160
size_absolute_height: 23,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_x: 8.0,
anchor_y: 31.0))
def DataBaseTabCtrl = DataBaseWnd.children [ "DataBaseTabCtrl"]
DataBaseTabCtrl.tabs [0] .buttonName = 6001
DataBaseTabCtrl.tabs [0] .target = "NpcDataTab"
DataBaseTabCtrl.tabs [0] .width = 78
DataBaseTabCtrl.tabs [0] .height = 23
DataBaseTabCtrl.tabs [0] .normalTex = "L2UI_CT1.tab.Tab_DF_Tab_Unselected"
DataBaseTabCtrl.tabs [0] .pushedTex = "L2UI_CT1.tab.Tab_DF_Tab_Selected"
DataBaseTabCtrl.tabs [1] .buttonName = 6002
DataBaseTabCtrl.tabs [1] .target = "ItemDataTab"
DataBaseTabCtrl.tabs [1] .width = 78
DataBaseTabCtrl.tabs [1] .height = 23
DataBaseTabCtrl.tabs [1] .normalTex = "L2UI_CT1.tab.Tab_DF_Tab_Unselected"
DataBaseTabCtrl.tabs [1] .pushedTex = "L2UI_CT1.tab.Tab_DF_Tab_Selected"
println "done!"
And this is the error of the Script Console:
Data Base Windows
java.lang.NullPointerException: Cannot set property 'buttonName' on null object
at org.codehaus.groovy.runtime.NullObject.setProperty (NullObject.java:80)
at org.codehaus.groovy.runtime.InvokerHelper.setProperty (InvokerHelper.java:195)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty (ScriptBytecodeAdapter.java:484)
at Script1.run (Script1.groovy: 86)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:585)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:623)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:594)
at acmi.l2.clientmod.xdat.scripting.Controller.lambda $ execute $ 0 (Controller.java:156)
at acmi.l2.clientmod.xdat.scripting.Controller $$ Lambda $ 442 / 1071997580.call (Unknown Source)
at acmi.l2.clientmod.xdat.XdatEditor.lambda $ execute $ 7 (XdatEditor.java:219)
at acmi.l2.clientmod.xdat.XdatEditor $$ Lambda $ 209 / 1755738610.run (Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker (Unknown Source)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run (Unknown Source)
at java.lang.Thread.run (Unknown Source)
So, as you can see, the problem is when I'm trying to add some data information on "DataBaseTabCtrl".
I hope someone have any clue or experience doing this process and it would be grateful share their knowledge to resolve this issue.
thx so much guys !!
I have been using XDAT Editor to make new Windows.
The problem I found and the lack of information of this software, I could not find on Internet anything of how to use this Script Console. I just found some samples of "SAVO" He shared long time ago on other RU forums.
I know you can add windows, tabs, textures etc, etc, if you are using the GUI, but some times when your project is getting too big, better start using the Script Console.
So, long story short, this is the problem:
How to add a "TabElement" and filling it with some data information?
for example this is the code I have been trying:
println "Data Base Windows"
xdat.windows.add (new Window (
name: "DataBaseWnd",
anchored: 0
size: 1
size_absolute_width: 800
size_absolute_height: 490,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
parent: "undefined",
backTex: "L2UI_CT1.Windows_DF_Large_Bg",
script: "DataBaseWnd",
state: "GamingState",
frame: 1,
hidden: 1,
alwaysFullAlpha: 1,
savePosition: 1,
title: 6000,
exitbutton: 1,
workingConfiguration: "Game"))
def DataBaseWnd = xdat.windows [ "DataBaseWnd"]
DataBaseWnd.children.add (new Texture (
name: "TexTabBg",
parentName: "MagicSkillWnd",
anchored: 0
size: 1
size_absolute_width: 800
size_absolute_height: 458,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_y: 31.0,
virtual: 1,
file: "L2UI_CT1.tab.tab_df_bg",
type: "Stretch",
layer: "Background",
alpha: -9999))
DataBaseWnd.children.add (new Texture (
name: "TexTabBgLine",
alwaysOnBack: 1,
parentName: "MagicSkillWnd",
anchored: 0
size: 1
size_absolute_width: 631,
size_absolute_height: 30,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_x: 164.0,
anchor_y: 31.0,
virtual: 1,
file: "L2UI_CT1.tab.tab_df_bg_line",
type: "Stretch",
layer: "Background",
alpha: -9999))
DataBaseWnd.children.add (new Tab (
name: "DataBaseTabCtrl",
parentName: "DataBaseWnd",
anchored: 0
size: 1
size_absolute_width: 160
size_absolute_height: 23,
usePosition: 1,
relativePoint: Alignment.TOP_LEFT,
anchorPoint: Alignment.TOP_LEFT,
anchor_x: 8.0,
anchor_y: 31.0))
def DataBaseTabCtrl = DataBaseWnd.children [ "DataBaseTabCtrl"]
DataBaseTabCtrl.tabs [0] .buttonName = 6001
DataBaseTabCtrl.tabs [0] .target = "NpcDataTab"
DataBaseTabCtrl.tabs [0] .width = 78
DataBaseTabCtrl.tabs [0] .height = 23
DataBaseTabCtrl.tabs [0] .normalTex = "L2UI_CT1.tab.Tab_DF_Tab_Unselected"
DataBaseTabCtrl.tabs [0] .pushedTex = "L2UI_CT1.tab.Tab_DF_Tab_Selected"
DataBaseTabCtrl.tabs [1] .buttonName = 6002
DataBaseTabCtrl.tabs [1] .target = "ItemDataTab"
DataBaseTabCtrl.tabs [1] .width = 78
DataBaseTabCtrl.tabs [1] .height = 23
DataBaseTabCtrl.tabs [1] .normalTex = "L2UI_CT1.tab.Tab_DF_Tab_Unselected"
DataBaseTabCtrl.tabs [1] .pushedTex = "L2UI_CT1.tab.Tab_DF_Tab_Selected"
println "done!"
And this is the error of the Script Console:
Data Base Windows
java.lang.NullPointerException: Cannot set property 'buttonName' on null object
at org.codehaus.groovy.runtime.NullObject.setProperty (NullObject.java:80)
at org.codehaus.groovy.runtime.InvokerHelper.setProperty (InvokerHelper.java:195)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty (ScriptBytecodeAdapter.java:484)
at Script1.run (Script1.groovy: 86)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:585)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:623)
at groovy.lang.GroovyShell.evaluate (GroovyShell.java:594)
at acmi.l2.clientmod.xdat.scripting.Controller.lambda $ execute $ 0 (Controller.java:156)
at acmi.l2.clientmod.xdat.scripting.Controller $$ Lambda $ 442 / 1071997580.call (Unknown Source)
at acmi.l2.clientmod.xdat.XdatEditor.lambda $ execute $ 7 (XdatEditor.java:219)
at acmi.l2.clientmod.xdat.XdatEditor $$ Lambda $ 209 / 1755738610.run (Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker (Unknown Source)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run (Unknown Source)
at java.lang.Thread.run (Unknown Source)
So, as you can see, the problem is when I'm trying to add some data information on "DataBaseTabCtrl".
I hope someone have any clue or experience doing this process and it would be grateful share their knowledge to resolve this issue.
thx so much guys !!