PDA

View Full Version : Error



RuzeII
October 18th, 2008, 22:15
So I'm reworking GoOrange's SWSE ruleset. It's a reskin at the moment, will get more involved later. However, I've run into a snag.

The original ruleset lacked a 'notes' shortcut for the GM screen. This wasn't a major issue in my book, just something I wanted to rectify should time allow. So I found the desktop_classes.xml, about line 100, for GMshortcuts. A little further down I found playershortcuts. I copied the player shortcut for notes, pasted it under the GMshortcuts section, redid the numbers so it would fit where I wanted it on the screen, and was happy.

Test the program, there's the shortcut. Access the shortcut, and I get my notes screen. Same as the player client.

Problem is, on the GM client only, I am unable to make a new note! The player client can, quite easily. But the GM client doesn't work. Press the 'new' button, the button 'activates', but no notes screen appear.

I can edit notes already made. I just can't make my own.

Any help?

RuzeII
October 18th, 2008, 22:21
As a quick followup ...

When viewing the utiliti_notes.xml document, near the very end, I see this string:

<script>
function onButtonPress()
Interface.requestNewClientWindow(class[1], window.getDatabaseNode().getNodeName());
end
</script>

I don't know nuthin' about coding, really, but I wonder if the '.requestNewClientWindow' means the GM can't do so? (I've got it in my head, don't know why, that there's a difference between how the player (client) and GM (host) programs are run. Not sure though ...

joshuha
October 18th, 2008, 22:31
Right, clients have to request new windows be spawned. GMs just open the windows. Try this instead:



<script>
function onButtonPress()
if User.isHost() then
Interface.openWindow("note",window.getDatabaseNode().getNodeName());
else
Interface.requestNewClientWindow(class[1], window.getDatabaseNode().getNodeName());
end
end
</script>

RuzeII
October 18th, 2008, 22:33
Nevermind, solved.

I took a look at how 4e_JPG setup theirs (which is where I got the idea from). In short, they made a separate set of windowclasses, referring to them as 'gm_notelist', etc.

This had more functionality anyway, cause somehow their code can attach the author of the note next to the note itself. Or something.

Anyhow, by editing the reference in 'desktop_classes', from both myself and the player accessing notelist, to the player accessing notelist and myself (the GM) accessing gm_notelist, it is now functional.

I couldn't for the life of me explain what JPG did different in those window classes. Just that it works ;?)

Thanks for reading this far, though :rv:

RuzeII
October 18th, 2008, 22:34
Right, clients have to request new windows be spawned. GMs just open the windows. Try this instead:



<script>
function onButtonPress()
if User.isHost() then
Interface.openWindow("note",window.getDatabaseNode().getNodeName());
else
Interface.requestNewClientWindow(class[1], window.getDatabaseNode().getNodeName());
end
end
</script>



Very nice! That would have worked well, too.

Thanks for that.