PenUltima Online

It is currently Wed Aug 20, 2008 10:01 am

All times are UTC - 4 hours




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 
Author Message
 Post subject: quest gump freezes the character
PostPosted: Sat Sep 16, 2006 5:36 pm 
Offline

Joined: Sun Mar 05, 2006 11:25 am
Posts: 118
Location: Italy
I have an hook which is fired at quest gump pression, does something and returns 1
When I hit the quest gump, the hook is run correctly, but the character then is like "freezed". I can't move it, if I try to move it the animation remains still with a walk (or run) frame and there's no way to move the character any more. Tha client continues to work in part (I can move gumps, write texts and so on), but any communication with the server seems to be impossible. It's like if the client is blocked waiting for some reply from the server which never arrives...
Nothing changes if I replace return 1 with return 0 in the button hook
If I remove the hook, everything works fine and the console writes
Code:
Undefined message type d7
Unexpected message type d7, 10 bytes (IP:127.0.0.1, Account:admin)
0000: d7 00 0a 00 00 00 01 00  28 0a                     ........ (.......

The character has "ML" set as UOExpansion and servspecopt.cfg has UOFeatureEnable=0x1a0
No idea if this is a true bug or if it's me who should add some SendPackect() in the hook to reply to the quest button click


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 5:48 pm 
Offline
POL Developer
User avatar

Joined: Mon Feb 13, 2006 1:50 am
Posts: 830
Location: Indiana, USA
And is fine on the last beta core?

_________________
POL Developer - The Penguin Scripter


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 6:02 pm 
Offline

Joined: Sun Mar 05, 2006 11:25 am
Posts: 118
Location: Italy
All the description above is about latest beta (I already updated the core and recompile all scripts), but if I remember right I had the same problem with previous beta, I can't say which is the first core with this problem sorry


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 6:07 pm 
Offline
POL Developer
User avatar

Joined: Mon Feb 13, 2006 1:50 am
Posts: 830
Location: Indiana, USA
Odd.

Unsure if this is a hook issue, or core, or what.

Shouldn't freeze the client, unless it's expecting something back i would think.

Can you post the hook package, and the script, or email it to me, so i can reproduce it?

_________________
POL Developer - The Penguin Scripter


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 6:33 pm 
Offline

Joined: Sun Mar 05, 2006 11:25 am
Posts: 118
Location: Italy
Here is the package with the script, it's really simple
http://kabal.rpg-x.com/kabalbutton.rar
I did further testing and I have to say the client isn't completely freezed. It still receives the sysmessages coming from other running script, and in general the behaviour is very strange. After I hit the quests button, the other open gumps stop to send the result back to the server. If I have an open gump and hit a button, the gump closes and the server receives no result. And if I try to issue a command, I can write it, but when I hit "enter", nothing happens. And the character can't move. This lasts about 10-15 seconds. After this time has passed, the character is still blocked, but the other things work again: gumps return their values and I can issue commands. If I issue a .tele command, I can target a location and teleport there and now I can move my character again. Hope this helps

edit: in short the behaviour seems to be the following: client to server communication is blocked for 10-15 seconds, but server to client communication isn't affected


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 10:54 pm 
Offline
POL Core Developer

Joined: Mon Jan 30, 2006 1:28 pm
Posts: 292
Location: Germany, Bavaria
just use a correct uopacket.cfg... your log shows us a packet with length of 10 bytes, but your packet.cfg just wants a packet with 5 bytes... why? in this case it's normal that something gets blocked... server doesn't wait for additional 5 bytes, but client sends it.

Code:
Packet 0xd7
{
  Length 5
  ReceiveFunction kabalButton:KabalButtonPressed
}

check your PacketGuide... and use this definition:

Code:
Packet 0xD7
{
  Length variable
  SubCommandOffset 7
  SubCommandLength 2
}

SubPacket 0xD7
{
   SubCommandID 0x28
   ReceiveFunction kabalButton:KabalButtonPressed
}

anyway... your log shows the guild button, so i've choosen here the code for guild button. just add 0x32 for quest button by yourself.

Shinigami


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 16, 2006 11:53 pm 
Offline
POL Developer
User avatar

Joined: Mon Feb 13, 2006 1:50 am
Posts: 830
Location: Indiana, USA
Shini just loves packet hook issues ;)

_________________
POL Developer - The Penguin Scripter


Top
 Profile  
 
 Post subject:
PostPosted: Sun Sep 17, 2006 5:07 am 
Offline

Joined: Sun Mar 05, 2006 11:25 am
Posts: 118
Location: Italy
Thank you for the help and sorry for pointing a bug in my mind instead of pol core :P


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 

All times are UTC - 4 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subice by phpBBservice.nl