People Aggregated

FeedRSSLast fetchedNext fetched after
JP's Blog XML 14:01, Tuesday, 29 June 14:31, Tuesday, 29 June

February, 23 2010

Shield

NWN2Library first release

I've just made public the first release NWN2Library. This is a beta release (0.1 beta 1), so still a work in progress as I work towards the non beta version. I've upload to the release files to the website today, which can be found here.

This version has support for reading from TLK and 2DA files. This should work pretty well has the Neversummer web admin tool has been using this code for quite a while. Their is also a parser for the Bioware Neverwinter Nights 2 custom GUI xml files (Minor gripe, though I say XML, they are not really XML) . This probably the area that will see most work before the final 0.1 release.

01:38, Tuesday, 23 February UTC

February, 17 2010

Shield

NWN2Library & NWN2GUI

I've been working on two new open source projects in the last couple of weeks. Here is a quick intro to both of them.

NWN2Library

The first of these is a Java library, called NWN2Library. The idea behind this is to provide a Java library that is used to access the resources of the game Neverwinter Nigths 2. It's still in development and I've not yet made a release of the library. However development is happening in a public SVN server now. Details of the project can be found here.

So currently has has the following features:

  • Can parse and read the strings from TLK files.
  • Can parse and read the database files 2DA.
  • Can parse the XML GUI files and produce a object tree of it's GUI components.
The XML GUI parser still needs some work but it's mostly done. Once thats finished I'll be making a initial release of the library.

NWN2GUI

The second project I'm on now very far a long yet, but its getting closer. This is a GUI application which is used to render NWN2 XML GUI files. The idea is you can make a change to a GUI, click a button and have it displayed with the changes. This is been developed as it's a real pain at the moment developing custom GUI's for Neversummer 5. The following screen shows how far the application has come so far:


As you can see from the screenshot, it's got quite a way to go yet. The XML GUI render has quite a few missing components and errors in existing ones. Also the main still needs quite a bit of work. I'm hoping to setup a google code project for it soon and develop the code in a public SVN server.

01:17, Wednesday, 17 February UTC

January, 23 2010

Shield

Neverwinter Nights 2 Custom Store GUI

I've create a Custom store GUI for the persistence world Neversummer 5. The main reason for creating it, is so items can and their costs can be pulled from a database. First step is to make it look like the stock Neverwinter Nights 2 stores. Later on we can improve on them.

One of the things I've been having trouble with, is the dragging of an item from a players inventory to the store window to sell the item. Well with the hope of people in #nwn2cr I've finally got this working. I though I'd post about it as this kind of information is very hard to find.

My main mistake was trying to retrieve the event of a item been dropped on store GUI. This is actually done from the inventory screen.

Their are two events that were confusing me. OnMouseDrop and OnMouseDropReceived. So in a drag operation between two dialogs (in my case the inventory and the store) their is a source and destination of the drag operation. The source will fire the event OnMouseDrop, and the destination will fire OnMouseDropReceived.

I've not been able to figure out how to capture the dragged object details using OnMouseDropReceived, but OnMouseDrop works very well. I used the two following calls to capture the objects ID and send to to the store sell script:

OnMouseDrop0=UIObject_Misc_ExtractData("self:","objectid",0,local:3) OnMouseDrop1=UIObject_Misc_ExecuteServerScript("gui_store_sell",local:3)

Their is another bit of magic that was also need. The above will fire for any event, so you need to know that the item is been dragged to the store. I added the following calls to the store window:

OnMouseEnter=UIObject_Misc_ExecuteServerScript("gui_store_mouse","ENTER")
OnMouseLeave=UIObject_Misc_ExecuteServerScript("gui_store_mouse","LEAVE")

The script gui_store_mouse sets a variable on the player when the mouse pointer enters the store window and deletes it when the mouse pointer leaves. Now the gui_store_sell script can check the variable before selling the item.

I was hoping to use a combination of OnMouseDrop on the inventory dialog and OnMouseDropReceived on the store dialog, but it seems that OnMouseDropReceived is fired before OnMouseDrop.

Hope this helps another scripter/modder :-)

08:50, Saturday, 23 January UTC

January, 21 2010

Shield

Neversummer Blog's

This is mostly a test blog entry to see if I can get it to appear on the new neversummer blog planet I'm setting up. The idea is developers can blog about the various projects they are working on within neversummer.

03:31, Thursday, 21 January UTC

April, 29 2009

Shield

Neversummer 5 Stores

One of the big projects I've been working on for the last few months is a custom store system for the Neversummer project. The store system that comes with Neverwinter nights 2 is not really up to the task of dynamically pulling it's contents from the database and been able to set the buy/sell/identify price according to fields in the database.

Since we have all that data in the database already, I set about writing a custom GUI for Neversummer 5 that would allow us much more control of the stores. This is mostly complete now. The custom GUI stuff in Neverwinter Nights 2 is pretty impressive once you get the hang of it. It's mostly written in XML with some NWScripts. To start with I want the GUI of the store to be the same as the neverwinter nights 2 version, but pull content and prices from the DB.

Their are a few problems I've not found fixes for. First one been I would like to be able to drag and drop items between the store and the inv to sell them. I've not found a way to get the item that is dropped on the store.

The second problem is todo with context menus. I can't remember all the details now as it's been a while since I looked into it, but I think I was unable to stop the "Identify" menu item showing when the store was not open.

I'm currently working on the web frontend we have created to control the content of the game. This is going to be the place were the store contents are control. It's about 80% done now. When it's complete, people with access to the tool will be able to create new store and change the content of them easily.

07:55, Wednesday, 29 April UTC

April, 28 2009

Shield

Neversummer

Util now I've not mentioned the other project I'm involved in, but as were looking to get blog's to apear on the projects website I though it was about time a blogged about it :-)

Neversummer is a world created on top of the nwn games. They are a completly set of content, that uses the neverwinter nights game engine. I started to work on Neversummer 4 after been a player for quite a while. Now were working on Neversummer 5 which runs on Neverwinter Nights 2.

My main contributions have been in web based tools for adding and controlling the game content and NWN Scripts which I used by the game engine. If your intrested in find out more, then visit the website.

04:34, Tuesday, 28 April UTC