Xdat Editor Using Script Console

Статус
В этой теме нельзя размещать новые ответы.

Akar0

Знаменитый
Участник
Сообщения
36
Розыгрыши
0
Репутация
0
Реакции
18
Баллы
1 245
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 !!
 
Found the problem, this is the right way to add info on a new Tab Element:


DataBaseTabCtrl.tabs.add(new Tab.TabElement(
buttonName: 6001,
target: "NpcDataTab",
width: 78,
height: 23,
normalTex: "L2UI_CT1.tab.Tab_DF_Tab_Unselected",
pushedTex: "L2UI_CT1.tab.Tab_DF_Tab_Selected"))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу