If you're using EE 8193.32 or later, use the new NUI functions instead of the 1.69 package. The simple NUI demo below illustrates how to display maps and slideshows. NUI can achieve far more than that, of course, and is more robust than the 1.69 method.
The original 1.69 package illustrates how to make a usable world map, and other custom GUI panels.
It's based on Ossian Studios' Darkness over Daggerford World Map system (see Related Projects below), with the significant improvement that the custom panels are displayed without an area transition.
As supplied, it only has one simple splash screen and one world map item, but there is no limit. The principle can easily be extended to more complicated custom GUI panels with multiple buttons etc.
Attachment | Size |
---|---|
![]() | 1.16 MB |
![]() | 2.72 MB |
Version 02 corrects bugs with camera orientation and zoom.
Genius... pretty sure I will be using this, provided it's okay in MP.
I've only had a quick look at the documentation but I assume the potential MP issue is that it might affect what other players are seeing? If it would sidestep any issue I could have the item activation put ALL party members into the same view… mine is a co-op party game so there are no issues with players trolling each other with it… in theory :)
I haven't tested it for MP. Let me know what you find!
It should work, I think, since it only affects 1 player's camera, unless the placeable high in the sky blocks other cameras, in which case your solution sounds good.
This can be adapted for splashscreens (e.g. display a full-screen image of a carriage or boat when travelling within an area, instead of an instant jump or black screen).
If launched from conversation, or soon after, prevent zoom-in by checking the box on the last tab of the conversation. Otherwise, the splash screen may spin.
If travelling, jump to the destination immediately, launching the splash screen from a trigger there. Moving the PC while the splash screen is displayed will move the camera in an unhelpful manner.
After extensive testing, I've reluctantly concluded that this technique is not robust for area transitions. I have it working on over 90% of occasions, but when it fails, the game can get stuck.
This could really use some extra screenshots...
When I get some time I may look into the code if there are still unresolved issues.
Thanks.
Since I wrote the above, I found some evidence that the area transition issues were not caused by bugs in this script, but rather by errors in the host module. I haven't tested that assertion thoroughly, though.
Is there a way to get rid of the empty "tooltip" that appears in the center of screen when mousing over the button to exit? Otherwise, amazing addition.
I'm not quite sure what you mean - a screenshot would help.
The main cursor is an arrow when mousing over the buttons, a cross otherwise, to enable the player to find the hotspots.
The only other thing I can see is that when you press a button (not simply mouseover) a tiny green cross appears for an instant at the centre of the screen.
I don't think cursor appearances can be changed without altering the entire game, as this is just standard "use placeable" behaviour.
If you're seeing something else, what happens if you remove all other mods?
IF YOU'RE USING EE 8193.32 OR LATER, USE THE NEW GUI FUNCTIONS INSTEAD OF THIS DEMO.
My brains gone to mush lately so how about rewriting your gui using the new functions? I might begin to understand those functions then
TR
Beamdog made a sample script nw_nui_demo.nss which ships with the game.
If I ever get to the bottom of it, I might make a simpler one.
I posted a simple NUI demo above.
This shows how to make a slideshow for EE - the example is taken from the introduction to my Crown of Creation module, but it could be a single image, such as a world map.
I ran your new NUI scripts, and it looks great. Just in case you weren't aware, you should be able to hide the window border and the top "header" (the pane where the collapse button is). I'm not sure if that's what you're going for, but I just thought I would point that out.
Thanks.
Yes, it's just a demo at this point.
If you know how to do those things, let me know, otherwise I'll look into it.
Sure, of course.
So, here's how I got it working. When creating the json data for a new window,
- set title to JsonNull() instead of JsonBool(FALSE).
- set border to JsonBool(FALSE).
- you probably also need to set resizable, collapsable, and closable to JsonBool(FALSE) as well.
EDIT - This revised code is now in the demo download.
Thanks. The revised code to make those changes is
Very cool with the NUI demo of the slideshow. Thank you for demonstrating this
The window size is a problem if you use UI scale other than 1.0 for me.
Is there a way to compensate for this in NUI? Detect UI scale and adjust size of window?
/Pap
I don't know - nothing in the code that assumes any particular window size or UI scale as far as I can see. I'll ask for help in the forum.
...and we have an answer here:
https://forum.neverwintervault.org/t/nui-functions-ui-scaling/4629/2
I added the revised code to the demo, so that it works whatever the UI scale.