Games Support Forums BioWare Info My Account Login Community Sign Up Store
Neverwinter Nights 2 Forums

NWN2: Custom Content

New Topic    Post Reply

Go to Page ( 1 , 2 Next )

    Add this To My Topics

   Go To Bottom

Author In search of default listbox row names, help request.
0100010
Game Owner
Profile: 0100010NWN
NWN: SoU
NWN: HotU
NWN 2
NWN 2: MotB
NWN 2: SoZ


Joined: 03 Aug 2002
From: Dallas, TX
Posted: Thursday, 29 October 2009 01:42PM
All of the below are "interesting" listboxes contained within the default GUI xml files.

characterscreen.xml ListBoxName=SKILLPANE_LIST
characterscreen.xml ListBoxName=FEAT_LIST
characterselection.xml ListBoxName=CharacterListBox
chargen_align.xml ListBoxName=ALIGNMENT_LIST
chargen_animal.xml ListBoxName=COMPANION_LIST
chargen_appearance.xml ListBoxName=APPEARANCE_LIST
chargen_background.xml ListBoxName=BACKGROUND_LIST
chargen_bfeats.xml ListBoxName=ADDED_FEAT_LIST
chargen_bfeats.xml ListBoxName=AVAILABLE_FEAT_LIST
chargen_class.xml ListBoxName=CLASS_LIST
chargen_complex.xml ListBoxName=BACKGROUND_LIST
chargen_deity.xml ListBoxName=DEITY_LIST
chargen_domain.xml ListBoxName=ADDED_DOMAIN_LIST
chargen_domain.xml ListBoxName=AVAILABLE_DOMAIN_LIST
chargen_familiar.xml ListBoxName=FAMILIAR_LIST
chargen_finish.xml ListBoxName=SOUNDSET_LISTBOX
chargen_packages.xml ListBoxName=PACKAGE_LIST
chargen_race.xml ListBoxName=RACE_LIST
levelup_ranger.xml ListBoxName=STYLE_LIST
chargen_school.xml ListBoxName=SCHOOL_LIST
chargen_skills.xml ListBoxName=SKILLPANE_LIST
chargen_spells.xml ListBoxName=ADDED_SPELL_LIST
chargen_spells.xml ListBoxName=AVAILABLE_SPELL_LIST
chargen_subrace.xml ListBoxName=SUBRACE_LIST
cutscene.xml ListBoxName=toplistbox
cutscene.xml ListBoxName=bottomlistbox
cutscene.xml ListBoxName=replieslistbox
journal.xml ListBoxName=JournalEntryList
module.xml ListBoxName=ModuleListBox
partybar.xml ListBoxName=PARTY_LIST
partychat.xml ListBoxName=npclistbox
partychat.xml ListBoxName=replieslistbox
quickspell.xml ListBoxName=QuickSpellListbox
spells_known.xml ListBoxName=AVAILABLE_SPELL_LIST
spells_memorized.xml ListBoxName=SpellList

What is unique above is the ListBoxNames, note that in many cases the same listboxname is used in several other xml files. For example the listbox AVAILABLE_FEAT_LIST is also used in chargen_nfeats**.xml, and the equivalent versions of ig_chargen bfeat/nfeat, & levelup_bfeat/nfeat xml files.

What I want to know (which would be useful to all to know) is what are the row names for all these listboxes? Knowing the row names will allow us to manipulate these listboxes via the ListBox Gui script functions.

Currently Classes and spells can (should) be obtainable via the following method: (classes used as an example)
Code:

View Post/Code in separate window


This accomplishes IDing the rownames for CLASS_LIST.
AVAILABLE_SPELL_LIST works in a similar manner.

However, the above technique does not work for all cases.
I tried using it to determine the rownames for AVAILABLE_FEAT_LIST but it did not work.

Determining if you have the right row name can be tested by using RemoveListBoxRow in an OnAdd execute gui script callback of the GUI screen you are testing. If you successfully found the row name the listbox for the specified row, it should not be visible. Do this for a screen and a scenario where you know that row should show up, so that you know the only way it was removed was through your intervention via the callback script.

If you find out what works for a given listbox name above, please post your. Please do not post mere guesses, but only proven results. (or things you have proved do NOT work to ID the row name)

Obs devs, it would be really really helpful if you could just lookup this information and tell us. Better yet
give us a GetListBoxRowName(oPC, sScreen, sListBoxName, iRowNumber) function.

In the meantime with lack of info from above, we have to experiment and find out for ourselves.

2 down, 33 more to go.
_________________
HCR2 Scripting Framework

Recruiting for Project M

Community Rep: Scripting

Edited By 0100010 on 10/29/09 13:47

  Profile: 0100010   Send Message To: 0100010
BrianMeyer
Game Owner
Profile: BrianMeyerNWN 2
NWN 2: MotB


Joined: 17 Jun 2003
Posted: Thursday, 29 October 2009 05:27PM
I have been struggling with this as well, with the hope of recreating the chat selection ui features. Probably just going to do it the hard way.

I set up the following chat command to help me find it, and after a lot of trial and error, and a very simple name found no luck in getting any response.

The following is part of my chat system.

By typing the filename followed by a parameter it runs the parameter.

or in my case i typed in
dm_pldelete Pain

But that would only delete the row if the listbox row name is Pain which is a bit too obvious, i tried various syntax, combination, row1, it's pretty easy to test that way. About the only thing i can't test with this is a trailing space. ( hmm just thought i could try object to string as well, and see if it's related to that )

It seems like something both the nwnx crowd who have symbols, and the devs, can easily look up. Once we know this information there is a lot more we can do in improving the interface and merging features.

If i can find this one, i can default the ui elements to hidden, then make them visible if the person is not an invisible dm, thus making dms able to hide. Or i can just recreate the UI myself, and since it has the same names the engine will treat it like the one it creates itself.

We just need a little documentation, not knowing this is using up time in trial and error that could be going into new cool things on the vault.

Code:

View Post/Code in separate window


_________________
DungeonEternal PVP PW | Joining a PW
  Profile: BrianMeyer   Send Message To: BrianMeyer
Matthew Rorie
Marketing/PR Producer


Joined: 01 May 2008
Posted: Friday, 30 October 2009 12:44AM
I'll see if a programmer might know the answer to this...no guarantees I'll get any replies, though.
_________________
Matthew Rorie
Marketing/PR Producer, Obsidian Entertainment
  Profile: Matthew Rorie   Send Message To: Matthew Rorie
0100010
Game Owner
Profile: 0100010NWN
NWN: SoU
NWN: HotU
NWN 2
NWN 2: MotB
NWN 2: SoZ


Joined: 03 Aug 2002
From: Dallas, TX
Posted: Friday, 30 October 2009 05:09AM
The 2da string look-up technique described above also works for Listboxes SKILLPANE_LIST and AVAILABLE_DOMAIN_LIST.
_________________
HCR2 Scripting Framework

Recruiting for Project M

Community Rep: Scripting
  Profile: 0100010   Send Message To: 0100010
BrianMeyer
Game Owner
Profile: BrianMeyerNWN 2
NWN 2: MotB


Joined: 17 Jun 2003
Posted: Tuesday, 03 November 2009 06:53AM
I managed to conquer chat select, if you create a pane OR button, replacing the button with the players name AS it's name, it works with the left click function. I am pretty sure the player name is the list box row name, but sidestepped the question by seeing if recreating it could be made to work.

I merged kemo scry. Now working on merging the actual player list and making a cache of who's playing, and adjusting it's functionality since i need all names to always be there unless its a dm. Really kemo scry did all i needed mainly, this lets me remove quite a bit of what was in the default game and control the features in this.

( Kemo if you see me on IRC i'll give you what i did so far, you probably can do quite a bit once you see what i did )

For those who don't know why i am doing this, it's to get the DM's out of all the player list's in the game.
_________________
DungeonEternal PVP PW | Joining a PW

Edited By BrianMeyer on 11/03/09 06:54

  Profile: BrianMeyer   Send Message To: BrianMeyer
Matthew Rorie
Marketing/PR Producer


Joined: 01 May 2008
Posted: Tuesday, 03 November 2009 07:31PM
I found a programmer who would know the answer to this, but he's a little slammed at the moment. If I can free some of his time this week I'll try to press him on it. Feel free to ping me via message if I lose track of it...
_________________
Matthew Rorie
Marketing/PR Producer, Obsidian Entertainment
  Profile: Matthew Rorie   Send Message To: Matthew Rorie
BrianMeyer
Game Owner
Profile: BrianMeyerNWN 2
NWN 2: MotB


Joined: 17 Jun 2003
Posted: Tuesday, 03 November 2009 09:07PM
Thank you.
_________________
DungeonEternal PVP PW | Joining a PW
  Profile: BrianMeyer   Send Message To: BrianMeyer
Matthew Rorie
Marketing/PR Producer


Joined: 01 May 2008
Posted: Wednesday, 04 November 2009 12:31AM
This is the response I got (I apologize if some of this wraps weirdly):

"Keep in mind, we didn't always name listbox rows. The listbox row names were almost never actually used in-code but rather were specified mostly as debugging aids.
The listbox manipulating script functions came along well after NWN2 had shipped, and as a result, many of the old list boxes from the original game were not implemented in a way that followed a convention compatible with the list box script functions.

That said, these seem to be the names that I was able to determine.:
characterscreen.xml ListBoxName=SKILLPANE_LIST - Name of skill (from the strref in the skills 2da)
characterscreen.xml ListBoxName=FEAT_LIST - Name of feat (from the strref in the feats 2da)
characterselection.xml ListBoxName=CharacterListBox - no names
chargen_align.xml ListBoxName=ALIGNMENT_LIST - Names of the rows are in the XML
chargen_animal.xml ListBoxName=COMPANION_LIST - Resref of the familiar
chargen_appearance.xml ListBoxName=APPEARANCE_LIST - The rows are defined in the XML
chargen_background.xml ListBoxName=BACKGROUND_LIST - Do not appear to be named
chargen_bfeats.xml ListBoxName=ADDED_FEAT_LIST - Name of the Feat (from the strref in the feats 2da)
chargen_bfeats.xml ListBoxName=AVAILABLE_FEAT_LIST - Name of the feat (from the strref in the feats 2da)
chargen_class.xml ListBoxName=CLASS_LIST - Name of the class (from the strref in the classes 2da)
chargen_complex.xml ListBoxName=BACKGROUND_LIST - Do not appear to be named
chargen_deity.xml ListBoxName=DEITY_LIST - Do not appear to be named
chargen_domain.xml ListBoxName=ADDED_DOMAIN_LIST - Name of domain (from the strref for that domain)
chargen_domain.xml ListBoxName=AVAILABLE_DOMAIN_LIST - Name of domain (from the strref for that domain)
chargen_familiar.xml ListBoxName=FAMILIAR_LIST - Resref of the familiar
chargen_finish.xml ListBoxName=SOUNDSET_LISTBOX - Do not appear to be named
chargen_packages.xml ListBoxName=PACKAGE_LIST - Do not appear to be named
chargen_race.xml ListBoxName=RACE_LIST - RaceConstant from races 2da
levelup_ranger.xml ListBoxName=STYLE_LIST - The rows are defined in the XML
chargen_school.xml ListBoxName=SCHOOL_LIST - Do not appear to be named
chargen_skills.xml ListBoxName=SKILLPANE_LIST - Name of skill (from the strref in the skills 2da)
chargen_spells.xml ListBoxName=ADDED_SPELL_LIST - Name of spell (from the strref in the spells 2da)
chargen_spells.xml ListBoxName=AVAILABLE_SPELL_LIST - Name of spell (from the strref in the spells 2da)
chargen_subrace.xml ListBoxName=SUBRACE_LIST - SubraceConstant from 2da
cutscene.xml ListBoxName=toplistbox - Not named
cutscene.xml ListBoxName=bottomlistbox - Not named
cutscene.xml ListBoxName=replieslistbox - Not named
journal.xml ListBoxName=JournalEntryList - Do not appear to be named
module.xml ListBoxName=ModuleListBox - Do not appear to be named
partybar.xml ListBoxName=PARTY_LIST - CHAR_BOX #, where # is the index in the list
partychat.xml ListBoxName=npclistbox - Not named
partychat.xml ListBoxName=replieslistbox - Not named
quickspell.xml ListBoxName=QuickSpellListbox - Name of class (from the strref in classes 2da)
spells_memorized.xml ListBoxName=SpellList - SPELL_LEVEL_0 through SPELL_LEVEL_9
spells_known.xml ListBoxName=AVAILABLE_SPELL_LIST - KNOWN_LIST
EMPOWERED_LIST
EXTENDED_LIST
MAXIMIZED_LIST
QUICKENED_LIST
SILENT_LIST
STILL_LIST
PERSISTENT_LIST
PERMANENT_LIST
ELDRITCH_ESSENCE_LIST
ELDRITCH_SHAPE_LIST
_________________
Matthew Rorie
Marketing/PR Producer, Obsidian Entertainment
  Profile: Matthew Rorie   Send Message To: Matthew Rorie
ladydesire
Game Owner
Profile: ladydesireNWN 2
NWN 2: MotB
NWN 2: SoZ
Mass Effect PC


Joined: 05 Sep 2007
Posted: Wednesday, 04 November 2009 12:43AM
Fair enough; it's looking pretty useful so far.
_________________
Dreams of Blue Fire blog, Class pack
  Profile: ladydesire   Send Message To: ladydesire
BrianMeyer
Game Owner
Profile: BrianMeyerNWN 2
NWN 2: MotB


Joined: 17 Jun 2003
Posted: Wednesday, 04 November 2009 12:43AM
Thank you very much, tell that programmer that this was much appreciated. Eliminates a lot of guess work, especially since we'd be hitting our heads up against the wall on the unnamed ones.
_________________
DungeonEternal PVP PW | Joining a PW
  Profile: BrianMeyer   Send Message To: BrianMeyer
Fanther
Game Owner
Profile: FantherNWN
NWN: SoU
NWN: HotU
NWN 2


Joined: 28 Sep 2004
Posted: Wednesday, 04 November 2009 01:09AM
Quote:  I merged kemo scry. Now working on merging the actual player list and making a cache of who's playing, and adjusting it's functionality since i need all names to always be there unless its a dm. Really kemo scry did all i needed mainly, this lets me remove quite a bit of what was in the default game and control the features in this.

( Kemo if you see me on IRC i'll give you what i did so far, you probably can do quite a bit once you see what i did )

I've done something of this sort that basically incorporates KEMO and the player chat screen I was also motivated to give DM's the ability to be hidden on entering the game. I also added some extra options to tell others what the player was doing, such as Roleplaying, Hack'n Slash, Relaxing, Exploring, Join up, etc.

I could get you a copy of my work if your interested.
_________________
Forgotten Realms:Starmantle

Forums

Webpage

Edited By Fanther on 11/04/09 01:10

  Profile: Fanther   Send Message To: Fanther
0100010
Game Owner
Profile: 0100010NWN
NWN: SoU
NWN: HotU
NWN 2
NWN 2: MotB
NWN 2: SoZ


Joined: 03 Aug 2002
From: Dallas, TX
Posted: Wednesday, 04 November 2009 04:06AM
Very awesome, thank you. Although I've tried using the strref featname to manipulate the feat listbox rows (for character screen and levelup screens) and it didn't work.
_________________
HCR2 Scripting Framework

Recruiting for Project M

Community Rep: Scripting
  Profile: 0100010   Send Message To: 0100010
Fanther
Game Owner
Profile: FantherNWN
NWN: SoU
NWN: HotU
NWN 2


Joined: 28 Sep 2004
Posted: Thursday, 05 November 2009 12:27AM
I am actually interested in fixing the domain list to restrict domains for the specific gods, but it looks like from the above response I am going to not be able to do that. If they didn't use the listbox names in the code then changing how it works probably will not work.

Oh well I'm going to test it anyway and see if I can't get something to work.
_________________
Forgotten Realms:Starmantle

Forums

Webpage
  Profile: Fanther   Send Message To: Fanther
0100010
Game Owner
Profile: 0100010NWN
NWN: SoU
NWN: HotU
NWN 2
NWN 2: MotB
NWN 2: SoZ


Joined: 03 Aug 2002
From: Dallas, TX
Posted: Thursday, 05 November 2009 01:46AM
Quote: Posted 11/05/09 00:27 (GMT) by Fanther

I am actually interested in fixing the domain list to restrict domains for the specific gods, but it looks like from the above response I am going to not be able to do that. If they didn't use the listbox names in the code then changing how it works probably will not work.

Oh well I'm going to test it anyway and see if I can't get something to work.
It is possible to restrict domains during levelup, but not during character gen (at least not in a way I can think of right now)

In levelup you can use a OnAdd callback for the levelup_domian screen and use the ListBox functions to remove domains you dont want.

In character gen, even though you might save off knowledge of which deity was selected via a callback the main problem is. In any gui callback from a char gen screen, they do fire, but the OBJECT_SELF is an Invalid object. Therefore you cannot use it as a valid PC object in which to use as a parameter for the various GUI manipulation script functions.
_________________
HCR2 Scripting Framework

Recruiting for Project M

Community Rep: Scripting
  Profile: 0100010   Send Message To: 0100010
nicethugbert
Game Owner
Profile: nicethugbertNWN
NWN: SoU
NWN: HotU
NWN 2
NWN 2: MotB
NWN 2: SoZ


Joined: 25 Mar 2004
From: The Presidency
Posted: Thursday, 05 November 2009 02:19AM
During chargen, can you put a call back on the deity selection that will store the selection somewhere other than the PC for the domain callback to access?
_________________
Quote: Posted 11/07/08 06:38 (GMT) by Rob McGinnis
We know nicethugbert loves us. He's president of our fan club.

NTB's Eroded Hills and Valleys
SBlade FTW!
  Profile: nicethugbert   Send Message To: nicethugbert

Go to Page ( 1 , 2 Next )

New Topic    Post Reply

What do these icons mean?
Where can I learn how to use the forums?

Jump To:

Search Forums | Forums FAQ | Forum Archives

 

 

  Visit the Official Site | Technical Support
Neverwinter Nights 2 Official Support
Hide/Show

English
Deutsch
Français
Español
Italiano

Hide/Show

5,052,781 Users
199 Online
43 Logged In

8,768,830 posts in forums

Newest Forum Topics:
1. Trying to unlock The Edge (BioWare Online Store Support)

2. Transfering Shepard's appearance (Mass Effect 2 General Discussion (No Spoilers Allowed))

3. Jade Empire's History (Jade Empire Xbox General Discussion (Spoilers Will Be Moved))

4. can't change language (Web Site Help)

5. which script launches the crafti... (NWN 1: Scripting)


Current time is: (set time)
Sun, 22 November 2009 09:45AM