Help - Search - Members - Calendar
Full Version: Bugs in 1.41
BatMUD > BatMUD forums > Batclient
Grediah
Something happening in the church :P
never seen this before.
-----------------------------------


You see a swirling portal in the middle of the room.
Obvious exits are: e, n and s.
a small, dark crystal shaped like a star
transport church
As you enter the portal, you feel that your surroundings change.
Church of all Gods (n,s,w,e).
java.lang.StringIndexOutOfBoundsException: String index out of range: 80This is the main hall of the church of all Gods. A clock on the wall shows the uptime of the mud. A poster explaining the upcoming events is posted on the
wall and a golden plaque with names on it hanging beside it. Several doorways
leave out from here.
look
Obvious exits are: n, s, w and e.
two iron knives
two torches
Whirling Portal
A holy altar emitting peace around it
Erygon the red Demon from fuckin hell
Xariel Anfauglir the Elf
Caloster Kut the member of Catfolk
Paalo Neruda the grey Elf of Christmas Present
Guest-13 the Player
Munkki the dark Drow
Obanez the Ent
Grediah
The client doesn't want to shutdown. (it wants me to play more)
Tried right mouse button and close from windows taskbar, the "X" from upper right corner, and with alt+F4.
popup appeared and clicking "yes" has no effect at all. clicking "no" will resume to the client.

Is there anyway to gather more information on this situation from local computer, dunno how this can be reproduced?

this is prolly some java feature....

-G
Grediah
QUOTE(Grediah @ Jul 29 2007, 05:00 PM) [snapback]971[/snapback]
The client doesn't want to shutdown. (it wants me to play more)
Tried right mouse button and close from windows taskbar, the "X" from upper right corner, and with alt+F4.
popup appeared and clicking "yes" has no effect at all. clicking "no" will resume to the client.

Is there anyway to gather more information on this situation from local computer, dunno how this can be reproduced?

this is prolly some java feature....

-G


Haa... today I found out how to reproduce this.

1. open client normally
2. settings -> keybindings -> set keybinding
3. press § for new keybinding and assign macro for it. -> press ok
4. client won't close anymore
5. remove the keybinding for § and client will close.

-G
kershik
When the change to lines went in, and you reduce lines to such a limit that news post are limited to show in multiple pages, you are forced to use n to get to the next page (as usual). The bug is that the client accepts the command but filters out the next page of the post, making it impossible to read news-threads in the client that go beyond the lines limit.
ornedan
System: Kubuntu 7.04 x86_64
Java: 1.5.0_11-b03

The bugs themselves:
1) It is not possible to type the ~ and ^ characters in the client. The first is more serious, since it rather breaks the mud editor. The latter just makes the client's builtin
script editor useless for writing regexps.

2) The client does not seem to support inputting nordic letters. My system's default encoding is UTF8, which may have something to do with it.

3) The logging feature truncates the target file instead of appending to it. This is very bad.
3.5) Feature request: Logging state persists, like other tab settings. It is annoying to have to manually start the logging every time one starts the client.

4) clientGUI.printText() parameter useTriggers does not work. Triggers will be run even if it is set false. Test case - will freeze the client in an infinite loop unless
useTriggers works correctly - follows:

CODE
SCRIPT_NAME = "test_clientGUI_printText_useTriggers";
TRIG_NAME = "trig_" + SCRIPT_NAME;

void run() {
        trig = triggerManager.newTrigger(
                        TRIG_NAME,
                        "foo",
                        "$" + SCRIPT_NAME + ".matched ",
                        false, false, false,
                        null, Font.PLAIN
                        );
        clientGUI.printText("general", "foo", false);
        triggerManager.removeTrigger(trig);
}

void matched() {
        clientGUI.printText("general", "BUG: Matched 'foo' printed via clientGUI.printText when useTriggers is false", false);
}


5) A trigger like
CODE
triggerManager.newTrigger("lite_foo",
    "foo",
    "", false, false, true,
    new Color[]{new Color(255, 255, 255)}, Font.PLAIN);
seems to send some input to the server. At least, whenever such a trigger is triggered when I'm in news-reader,
some news-reader command will be executed.

6) The trigger code in 5 should change to colour of any 'foo' in the input to bright white. However, it does not do so. Either the hiliteMatch parameter does not work, or it
does not work as one would expect based on it's name and context.

7) I've tried to find the cause of the array-related exceptions that keep popping up. What I have been able to determine so far is that they are related to a single channel tab
or just a single channel getting somehow corrupted. Visible symptom is that new messages to that particular channel stop being displayed by the client. One can confirm this by
comparing the output of 'channel last' with what is visible in the channel's tab. Every time a new message on that channel is received by the client, a new exception will be
thrown as the client tries to update the channel's tab.
Attached is a bunch of stack traces from a session where suomi channel got b0rked. Unfortunately, they're not timestamped (Feature request: Replace the default Java top-level exception
handler with one that does the same thing - just print the exception - but also prints the current time).
kershik
As far as I can tell, there is no way to filter channels that include an underscore, such as lord_chaos, to a different window than the Generic one.
Amarth
We know of the no ~, this is a Java-bug already discussed in 2000 or so. Java have not introduced a fix to it, wonder...if someone can find something from java.com or the other sites regarding this, please take a look. We didn't find anything useful.

But about ^, you can at least get it on WindowsXP or Vista in the Client by simply pressing SHIFT+appropriate key left of "enter" and SPACE. Doesn't work under Ubuntu? ..same goes with the Å, Ä, Ö -characters, seem to work fine in the abovementioned.


Some good stuff in this thread, my thanks guys, even though many of the issues here are marked as already known in the development.
ornedan
Any output redirected by the client to the map window skips triggers.

To test: Be in outworld (or Arelium or any city that uses similar maps). Make a trigger that acts on a word in your current room's description. Activate map window. 'look'. Deactivate map window and 'look' again.
Calmar
QUOTE(kershik @ Aug 31 2007, 01:55 PM) [snapback]1002[/snapback]
As far as I can tell, there is no way to filter channels that include an underscore, such as lord_chaos, to a different window than the Generic one.


This is even more annoying as you consider the spec_spell channel.
Dralith
QUOTE(kershik @ Aug 31 2007, 01:55 PM) [snapback]1002[/snapback]
As far as I can tell, there is no way to filter channels that include an underscore, such as lord_chaos, to a different window than the Generic one.


Channels as the client sees them, do not have underscores in them. lord_chaos may be the command but the channel is lordchaos.

QUOTE(Calmar @ Sep 7 2007, 12:20 PM) [snapback]1009[/snapback]
This is even more annoying as you consider the spec_spell channel.


You can't redirect all spec_* channels, skill and spell seem to be among those atm.
Amarth
QUOTE(ornedan @ Aug 30 2007, 12:50 PM) [snapback]999[/snapback]
5) A trigger like
CODE
triggerManager.newTrigger("lite_foo",
    "foo",
    "", false, false, true,
    new Color[]{new Color(255, 255, 255)}, Font.PLAIN);
seems to send some input to the server. At least, whenever such a trigger is triggered when I'm in news-reader,
some news-reader command will be executed.

6) The trigger code in 5 should change to colour of any 'foo' in the input to bright white. However, it does not do so. Either the hiliteMatch parameter does not work, or it
does not work as one would expect based on it's name and context.


We don't think this is a bug.

The regexp should be (foo) and not just foo.

So a trigger like this should work:

CODE
triggerManager.newTrigger("lite_foo",
"(foo)",
"", false, false, true,
new Color[]
...

Amarth
QUOTE(ornedan @ Aug 30 2007, 12:50 PM) [snapback]999[/snapback]
4) clientGUI.printText() parameter useTriggers does not work. Triggers will be run even if it is set false. Test case - will freeze the client in an infinite loop unless
useTriggers works correctly - follows:

CODE
SCRIPT_NAME = "test_clientGUI_printText_useTriggers";
TRIG_NAME = "trig_" + SCRIPT_NAME;

void run() {
        trig = triggerManager.newTrigger(
                        TRIG_NAME,
                        "foo",
                        "$" + SCRIPT_NAME + ".matched ",
                        false, false, false,
                        null, Font.PLAIN
                        );
        clientGUI.printText("general", "foo", false);
        triggerManager.removeTrigger(trig);
}

void matched() {
        clientGUI.printText("general", "BUG: Matched 'foo' printed via clientGUI.printText when useTriggers is false", false);
}


Will be fixed in the next release, thanks.
Amarth
Most of the things reported here should be O.K. in the next release.
ryad
Hello, been writing/testing my first trigs with batclient. Possible bug came up,
numbers not working in regular expression matches:
[codebox] triggerManager.newTrigger(
"testtrig",
"(^A [A-Za-z0-9]+) hits you.$",
"p report %1 hit me!",
false,
false,
false,
null,
Font.PLAIN
);[/codebox]
Used /trigtest to test triggers. "A asdf hit you." works well, producing: [12:32]:Ryad [report]: asdf hit me!.
But "A asdf2 hits you." doesn't launch the trigger.
onand
Win XP, Media Center Edition, Java build 1.6.0._02-b06

I tried binding ctrl+ various numpad keys to fast walking commands so I could more easily navigate the outerworld. For the most part this works, for instance mapping ctrl+numpad9 to NE will make you go trucking off northeast.

However, after a few runs in various directions, the bindings are lost. Usually if a key is bound, then pressing it after clicking the Set Keybinding button in the keybindings manager screen shows what's bound to it. In this case, the previously bound key-combo doesn't appear - the combo appears to be unbound.

Onand
ornedan
More trigger issues, yay!
  • /hilite command creates unnamed triggers. Not exactly a bug, just a misfeature. As a result there can only be one trigger created with /hilite in existence at a time.
  • Actual bugs with hiliteMatch (I think):
    Given trigger created using '/hilite '(f(o)o)' match italic #00FF00', applied to 'say foo', results in
    QUOTE
    You say 'foo.'

    It should (IMO) be:
    QUOTE
    You say 'foo.'

    Two issues there
    • No italics, at all.
    • The 'o' in 'You' got lited. Unless the regex engine is fucked, I think using java.util.regex.Matcher.start(int) and java.util.regex.Matcher.end(int) should give the correct submatch regions.

Also, the client sometimes - about 0.5/day - starts reserving memory, probably up to system limit. I've never let it get that far, since the machine starts lagging massively from all the swapping. However, it's gotten to up to somewhere between 3 - 5 GB.
I cannot reproduce the issue. No exceptions get logged to Java console when it happens, or at least, none get as far as being printed before the machine grinds down.
Java version string from javaws: Version 1.5.0 (build 1.5.0_11-b03)
System: AMD Athlon™ 64 X2 Dual Core Processor 4200+, 3GB RAM + 5GB swap, Kubuntu 7.04
Markuz
The number of times a trigger is fired depends on the amount of windows the channel (where the output from the mud is assigned to) is shown. This feature causes problems, as the next case shows:

I happened to notice this while using the battle rounds -trigger (Game Client Help -> Examples -> rounds.bcs) that shows party and monster status each battle round. After adding 'battle'-channel to the generic window the trigger fires twice, even after closing the battle window.

Click to view attachment

I guess there might be cases where somebody would like to have the trigger fired as many times as the output is shown in different places. But it would be nice to have somekind of an option for this. I tried to think of possible solutions: Perhaps an option to bind a created trigger to a certain window, or a (global) option to fire triggers only once when the channel output is forwarded to multiple windows?

// Markuz
Amarth
Added these. For instance, Markuz's suggestion made it as the backlog item #53.
ornedan
Another issue with triggers: Only the first trigger to match certain input is executed. Which is pretty likely to prevent one from being able to use systems from more than one author that trigger on the same input. For example, a system that automatically drops worthless items that you happen to pick up. And a system that automatically keeps some items upon pickup. If different people wrote those, one will only be able to use one of them at a time.
Of course, this is pretty easily workable around by implementing a second trigger framework on top of the one provided by the client. But that's not a particularly sane approach and it's not guaranteed everyone would use the wrappers anyway.


And then for an intepreter bug: The interpreter crashes when one passes null as a parameter to a constructor.
Example:
CODE
SCRIPT_NAME = "test";

public class Blah {
    public Blah(Object o) { }
}

Blah blah = new Blah(null);
Amarth
"Only the first trigger to match..", already on the list.
Reported the interpreter bug.
Torc
Clicking hyperlinks on channels isn't working properly. Example:

Playerx [xxx+]: http://www.bat.org
Playery {xxx+}: asf

Clicking the hyperlink there results in my browser opening page "http://www.bat.orgPlayery", ie. it skips the newline.

Also the client sometimes fails to print ö-character.

I typed 'p say möh' and then checked 'party say last' 20 times. Results:

16x [21:26]:Torc {party}: mh
4x [21:26]:Torc {party}: möh

So the 'ö' was printed properly only 4 times. This doesn't seem to happen with any other characters, including ä, å, Ö, Ä and Å.
Amarth
Torc, thanks for the report, both issues are already known (items #46 and #49 on our client bugtrack).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2025 Invision Power Services, Inc.