Quote:
|
Originally Posted by ger
I haven't tried your script yet, the comments came from looking at the code itself. I've got this weird thing about my start button, I just really don't want to mod it and I can't explain why, which is why I haven't installed your mod…although I suppose I'll have to to test the parser once I finish it.
When I say command-line, I mean out-of-game. I'll be writing the parser in C++ (mostly because it's what I'm most comfortable with) so that it can be run from within the EQ2 game directory. As far as I know of there's no way to even parse the information in-game, let alone save it to a custom file, and I'm pretty sure any way to do it would in some way be a violation of the EULA. Besides, the XMLs are only polled on load, so altering the custom profile XML in-game wouldn't really do any good, you'd have to restart the game to get the changes to take.
As for splitting the custom button out to its own XML, basically you just cut that portion of the code out of the startbutton XML and replace it with
Code:
<Include>eq2ui_mainhud_custompreset.xml</Include>
then paste the cut code into eq2ui_mainhud_custompreset.xml or whatever you want to call it.
|
Couple of thigns.
The 'start button' section of the code wasn't changed at all, except for the size of the icon. it still pulls up the litle menu.
If you put it in you C:/Sony/EverQuestII/UI/custom directory and it doesn't work than just delete it. It's not any type of permenant change.
The only thing it affects is the eq2.recent.ini so you can just delet the eq2.recent.ini also.
About your script and the XMls being polled on load.
The these particular data variables are not stored in an XML document.
They are stored in eq2.recent.ini which is text type document.
The variable values are saved when you hit the 'ACCEPT' button or when you camp. The values can change all day long in the game and they take effect immediately. You can slide a bar up and down or turn shadows on and off, but it doesn't save into the eq2.recent.ini file untill you hit accept or camp.
It MIGHT save this file on zoneing. I'm not sure, it would be easy to test.
Just look at the time stamp on the file, change a settings, and then zone. without hitting accept.
If I understand correctly this parser you are willing to help with, isn't going to help. At least not that I can think of.
The problem is that all the values are not saved in the eq2.recent.in.
What I mean is they are not all actually listed in the file, each time.
Check the data matrix i made and you will see all teh grey boxes. These are the values that do not actually save a txt line in the eq2.recent.ini.
Now that being said.
XML does support 'scripting' The UI Builder even indicates that.
There is already a mechanism built into the game for outputting this information to the eq2.recent.ini file. Probably using some forms of Xpath I would guess. Not again I dont know.
What we need is this.
a script that can be placed within the XML code inside an OnEvent tag.
For example. OnPress > script runs.
The script would need to read the data value of a paramenter such as 'r_performance' and then output that value to a .txt for.
Or Output that value to perhaps another window inside the game.
For example. 3 XML documenet for each button.
I could set data variables for each of the commands.
The script could read the value that is currently set, and then put that value into the other data variable where it would stay.
So when the custom button is pressed it would load the do something like
r_customperformance1=r-performance etc... if you hit the first button.
or if you hit the second button it would have
r_customperformance2=r_performance
Just moving the data from one place to the next. Within the game.
With my current understanding of the how things work. I "THINK' this could be done without even using any type of 'scripting' language. It would just a list of commands, similar to what I've got in my mod.
(I don't really consider my mod a 'script')
This may be the direction I go next. It would be a much more involved project, but it would provide the end user a way to set the sliders and checkboxes to there preference and then click a button to save those settings to a certain performance button.
Anyway it's slow going since each step is a step in the dark for me.
But I'm sure I'll get more proficient with things.
Hopefully that explains what we need.
Thanks for the help!