Raised This Month: $ Target: $400
 0% 

Have a strange bug, could use .. (Evasion skill the cause)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Mugwump
Senior Member
Join Date: May 2004
Old 06-05-2004 , 14:04   Problem found/fixed (Evasion skill)
Reply With Quote #9

Ok, I managed to track down the error. I wrote a new frontend function for set_user_health() as follows:

set_user_health(id, damage, bLog, sDesc)

If bLog is true it logs the health state of id before the call to set_user_health() and then again after, and then I changed all calls to use the new function.

Using this method it didn't take long to track the error down to the Evasion skill, there appears to be some holes in the logic that allow a -1024 healthadjustment via set_user_health() which end up causing the death() event to fire with id==enemy and weapon==world, so no "Player killed Player" death message (gmsgDeathMesg) appears.

Also of note (and I also have reported this on the 4HM FT forums and Pimp has fixed them in his version), in the original code healthadjustment is an unitialized integer and there are cases in the Evasion logic where this unitialized value is used, allowing the benefactor to have an unintended godmode until the next round. In my Linux compiler the random address accessed tends to give the player 17000+ health from this assignment and no adjustments will bring it back down to size.

If you want more info let me know and I'll post some cases I have found that cause the trouble. These are fixed in the copy of Ultimate Warcraft3 I am developing ...

Mugwump
Mugwump is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:46.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode