Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

Neverwinter Nights 2 Blog


Couple new GUI script functions for 1.06

Posted by Rob McGinnis , 02 March 2007 - - - - - - · 2932 views
UI Customization
1.06 will have a number of new script functions that will give improved control over custom GUIs.

Two of the new script functions are:


This script function will let you set the position of a progress bar (Between 0.0 for empty and 1.0 for full).

The other new function is:


This script function will let you...


Multiple Callbacks Per Event

Posted by Rob McGinnis , 26 February 2007 - - - - - - · 1860 views
UI Customization
By Rich Taylor

In 1.06, it will be possible to set up multiple GUI callbacks on a single UI event in XML. The syntax will be to use the event name and append a number to it. The engine will read in the callbacks until it fails to find the next sequential number.

For example, I could set up a UI Button to with the following...



Posted by Rob McGinnis , 26 February 2007 - - - - - - · 1246 views
UI Customization
UIObject_Tooltip_DisplayTooltipString takes up to 9 parameters, but only the first four parameters are required.

Parameter list:

Message = The literal string to display in the tooltip

XLoc = The X origin for where the tooltip should appear. This can be a pixel location, or you can use the following two strings to make it relative: MOUSE_X will place the...



Posted by Rob McGinnis , 26 February 2007 - - - - - - · 1120 views
UI Customization
The only valid parameter to this callback is a local or global GUI variable index.
localguivars are expressed as local:#, where # is the index for the variable.

globalguivars are expressed as global:#, where # is the index for the variable.

This callback takes the engine-level data in a UIObject and stores it in a global or local gui variable. The...



Posted by Rob McGinnis , 26 February 2007 - - - - - - · 969 views
UI Customization
This callback takes a single parameter. It's only purpose is to enable or disable a button based on whether or not the user has selected a row in a List Box.

The single parameter is:
sListBoxName = The name of the list box we want to check for selection.

If the user has a row selected in the listbox named in the parameter, then the UIButton will be...



Posted by Rob McGinnis , 20 February 2007 - - - - - - · 1948 views
UI Customization
UIButton is the generic, clickable object one expects to find on any PC game interface. It also acts as a 'restricted' container of sorts, as it can contain specific UI objects within it.

A button is made up of several child objects contained in a single pane. These pieces can be defined explicitly or left up to the engine to define.

The child...


2DA Caching for Script Lookups

Posted by Rob McGinnis , 20 February 2007 - - - - - - · 1583 views
Custom Content
(Rich Taylor gives us a peek into 2da caching)

Our lead scripter, Charles Mead, informed me that we did not cache 2DAs that were being queried by script. This resulted in ridiculous seek time for looping over large 2DAs.

He indicated that Bioware had fixed that in the 1.64 code, so I referenced the 1.67 code drop that we had and saw that they had...



Posted by Rob McGinnis , 20 February 2007 - - - - - - · 2352 views
UI Customization
UIText is the GUI object used for containing and rendering text. It is one of the more complicated UI Objects to work with.

UIText takes the following attributes:

This defines which font should be used via a string argument. The fonts are defined in fontfamily.xml. The 'name' attribute for the different UIFontFamily elements in...



Posted by Rob McGinnis , 20 February 2007 - - - - - - · 1855 views
UI Customization
By: Rich Taylor

UI Frame is used for borders and backgrounds for other UI Objects. UIFrames are imbedded in buttons and a few of the container style UI Objects that will be discussed later.

The following attributes are handled by UIFrame:

The following is a list of the texture pieces that make up a frame. They take a texture name as an argument. The...


UIObject - hideoverride

Posted by Rob McGinnis , 20 February 2007 - - - - - - · 1604 views
UI Customization
By: Rich Taylor

In 1.05 there is a new attribute that all UI Objects handle called hideoverride. If true, this attribute sets a UI Object hidden and keeps it that way until a script says otherwise via the SetGuiObjectHidden() script function.

This can be used to keep an item hidden that the GUI may try to make visible regardless what a script tries to do,...

March 2019

17181920 21 2223

Recent Entries

Recent Comments