Page 1 of 2

possible bug with events

Posted: Sat Apr 25, 2009 10:01 am
by Caled
I got my event working, or at least the first stage of it.

Code: Select all

Script name: onEqbal_stand
Registered event handers: onEqbal

function onEqbal_stand( onEqbal )
    if string.find( pstats, "p" ) >= 1 then
        send( "stand" )
    end
end
This is working well. It makes me stand whenever I need to and are able.

I was then curious what would happen if I had another script item, with an event handler function in it that was called by that same onEqbal handler.

Code: Select all

Script name: onEqbal_test
Registered event handlers: onEqbal

function onEqbal_test( onEqbal )
    echo( "oneqbal test script echo" )
end
When the event is raised now, mudlet closes without warning or error message. Sometimes just clicking on that script item in the script editor will cause mudlet to close.

The first time it happened, there was a windows error message.
Microsoft Visual C++ Runtime Library

Runtime Error
Program:

This application has requested the runtime to terminate it in and unusual way. Please contact the applications support team for more information.
This is reproducible. I delete the offending script, restart mudlet, create the script again, and it will crash, once more showing that error message. If I just restart mudlet and run the script again without deleting and recreating, then mudlet simply closes without warning or error message.

Re: possible bug with events

Posted: Sat Apr 25, 2009 12:03 pm
by Heiko
That's clearly a bug. I'll look after it and fix it.

Re: possible bug with events

Posted: Sat Apr 25, 2009 12:25 pm
by Heiko
OK. It was an obvious bug. I fixed it in my local version. I'll release Beta-10 on sunday.

Re: possible bug with events

Posted: Sat Apr 25, 2009 1:04 pm
by Caled
Thanks!

While on the topic though, the reason I made that test event handler function to begin with, was to see which one of the two would fire first, and if there is some way for me to designate that.

For example, if I have my onEqbal event, with three event handler functions:

onEqbal_stand
onEqbal_weaponSwitching
onEqbal_parrySwitching

It may not matter when I stand, but the other two must be in that order. I may be switching between a two-handed weapon and a single-handed weapon, which means I have to adjust my parrying after the weapons have changed. I know I could do it all in one function, but on another character I may parry in a totally different way, so my idea was to have parrying as its own event handler function.

Re: possible bug with events

Posted: Sat Apr 25, 2009 1:14 pm
by Heiko
Sure, you can set up the order in which the handlers are called with drag & drop. The first on the list if called first, then the second etc.. This is the same with all tree items in Mudlet, triggers, alias, scripts etc..

Re: possible bug with events

Posted: Thu Apr 30, 2009 12:55 am
by Caled
Hi Heiko

Some bad news - this bug still exists in beta 10. On Ubuntu it also just closes without warning from the first time. Is there any more information I can give to you to help?

Re: possible bug with events

Posted: Thu Apr 30, 2009 9:03 am
by Heiko
Beta-10 isn't released yet. The latest Ubuntu version is a bit newer than the latest windows version at the moment, but it's still at least a week old.

To get the fixes, you'll need to compile the latest git version. Beta-10 won't be released before Saturday.

Re: possible bug with events

Posted: Thu Apr 30, 2009 9:28 am
by Caled
Heiko wrote:Beta-10 isn't released yet. The latest Ubuntu version is a bit newer than the latest windows version at the moment, but it's still at least a week old.

To get the fixes, you'll need to compile the latest git version. Beta-10 won't be released before Saturday.
Hrm. I thought I did compile the latest git, though it was a bit confusing. I installed mudlet first by setting the software source and then using synaptic to install it. I aftwards went to the terminal and followed the instructions for using git and compiling it. I Assumed it compiled to the same location as the original mudlet install, but perhaps there are now two instances of mudlet.

I'll check it out. I've done a whole lot of planning for my system, and writing stuff in without being able to test it. I'm keen to see if any of my stuff works :?

Re: possible bug with events

Posted: Thu Apr 30, 2009 9:50 am
by Heiko
Don't use synaptic. This will install the latest ubuntu binaries, which is old.

You can use synaptic to install the dependencies to compile Mudlet from source code though i.e. Lua5.1, qscintilla2.3, qt4.4 or 4.5 and pcre. Additionally, install devel packages of all of the above packages.
On ubuntu you also need to install a c++ compiler with the package build-essentials.

Then download the latest snapshot of Mudlet from git, unpack it in your home directory.
cd mudlet/src
cmake ./
make
Then you can run the new mudlet version with ./mudlet. Be careful to run
/home/caled/mudlet/src/mudlet and not just "mudlet" which will be the
old ubuntu binary in /bin/mudlet. That's a typical pitfall.
You can use a desktop icon to run the new version of mudlet.

Re: possible bug with events

Posted: Thu Apr 30, 2009 10:02 am
by Caled
Heiko wrote:Then download the latest snapshot of Mudlet from git, unpack it in your home directory.
cd mudlet/src
cmake ./
make
Then you can run the new mudlet version with ./mudlet. Be careful to run
/home/caled/mudlet/src/mudlet and not just "mudlet" which will be the
old ubuntu binary in /bin/mudlet. That's a typical pitfall.
You can use a desktop icon to run the new version of mudlet.
After I installed it through synaptic, and realised that wasn't the latest version, I went back to the website and followed the instructions. I didn't download the archive though, I did:
git clone git://mudlet.git.sourceforge.net/gitroot/mudlet
followed by
cmake .
make

I think where I went wrong though, is that installed a separate instance of mudlet, but I ran it from the GUI rather than the terminal, which ran the older version of mudlet.

And now I don't have either because I screwed up the dual boot install of win xp and lost the whole ubuntu install. I chose fat32 in gparted when making the partition for windows, and my window install refused to accept anything except ntfs. Instead of booting gparted again and reformatting the partition from there, I let a different windows install disk (window 7) do it, and that ruined ubuntu as well.

I did get to laugh at the ridiculousness of Win XP requiring a gparted live disk to install, though ;)