Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Any1 already get the female armor in realmpt?

Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
I doubt that the "read" operation which caused the exception will be the instruction at fault, or even anything you would change.

These kind of crashes are usually what old Basic interpreters would report as "Array index out of bounds". I C terms it's like you allocated an array of char[16] and tried to read, either the -1th element or the 17th element.

Commonly catastrophic is when you have a loop which reads from 0FE00 to 0FF00, and you modify the WHILE loop_count < &h0FF0 to WHILE loop_count > &h0FF0 or such, causing the loop to never end.

It's often that you miscalculate the size of an array element, and your new size can be as little as 1 byte more or less if the terminator is a != (cmp EBX,EndElement : JNZ LoopStart) and the error will present.

The Kernel doesn't actually catch this as an "exception" until you have not only passed the array (table) you where trying to read, but proceeded through all other possible memory allocated to your program, and reach an address which does not belong to your program. (unallocated address, or reserved for the system)

It also happens when you mismatch POP and PUSH statements in the machine code. When you try to POP from an empty stack, or PUSH when the stack has already filled the memory the RTL has allocated for it, bad things happen. (it's another read, or write to illegal memory address)

Address 0x664 seems very, very low in memory to me. I'm not sure what you could do to produce that. :/: You can't loop around from 0xffffffff because address 0x0 is always reserved.

I've mixed and matched languages a lot in this post. That's to try and make it obvious what this crash is all about for everyone who understands program code, regardless of the language background they come from.

It's *very* common, even in unmodified programs, because of the large amounts of data programs hold in memory and the dynamic way they access it with techniques like OOP and 4GLs. It's impossible for the compiler to spot this error when the program is built, and very hard for programmers to see the potential for it.
 
Last edited:
Newbie Spellweaver
Joined
Apr 10, 2011
Messages
22
Reaction score
4
Uhmm, i only renamed ar0nUgly05.inx to the armor i wore(like B008.inx-lvl 17 steel armor) and copied to tmABCD together with ar0nUgly02.smd ar0nUgly04.tga ar0nUgly05.tga, didnt do anythings else. The error happns after i choose the sever, that means the game cant display char select screen. Thx bob, but your reply is too complicated to me. Can my action cause such complicated problem?
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Thx bob, but your reply is too complicated to me. Can my action cause such complicated problem?
A change of 1 byte can, and (if made without consideration) is more likely to do so than not.

I would estimate that opening game.exe in a hex editor and randomly adding or subtracting 1 from a single byte is likely to cause such an error about 60% of the time. Thought I doubt most would show up until you hit very specific circumstances, like Aging, reacting level x, entering the 2D forest or such. So it may not be immediately obvious that you've made such a mistake.

When in Olly, you can see if you're editing code or data. Editing code, or pointer tables is more likely to cause this, so the chance probably increases to 90% if you randomly change something you don't fully understand. However, that's greatly countered by the fact that code and even pointer tables are easier to "understand" in Olly than they are in a hex editor. :wink:

I would probably struggle to find the mistake I made if I hit such a crash. But I would understand from it that I had made a mistake, and the kind of mistake which I have made.

I would suggest that the Majesty client has adapted this table already, and is now coded in accordance with a different design to the one Yedang use. If you follow the basic rules for a normal Yedang client when working on such a modified client, without understanding the "new design" you are almost guaranteed to cause such a crash. The only answer is to forget what you know about PT and learn the Majesty client as if it where a completely new animal.

eg. Say I understand the biology of sharks and I have a sick dolphin. If I try to heal the dolphin like it's a shark I could well kill it. Despite the similar function and external appearance, these creatures are very different. If I want to populate my ocean with large, grey carnivorous animals either one is fit for purpose. Internally, however, one is a fish and the other a mammal.
 
Joined
Jul 24, 2006
Messages
883
Reaction score
581
Uhmm, i only renamed ar0nUgly05.inx to the armor i wore(like B008.inx-lvl 17 steel armor) and copied to tmABCD together with ar0nUgly02.smd ar0nUgly04.tga ar0nUgly05.tga, didnt do anythings else. The error happns after i choose the sever, that means the game cant display char select screen. Thx bob, but your reply is too complicated to me. Can my action cause such complicated problem?


If you are just renaming the ar0nUgly05.inx to B008.inx then that is the reason for your game crashing. You can not rename the physical file, teh game doesn't know how to deal with that. You must edit the original armour files you want to replace, change the ase model name path and use the same bone pointers like I posted above.

Also b008.inx is lvl 35 'Ring Armour'
zgjsyxwj - Any1 already get the female armor in realmpt? - RaGEZONE Forums
 
Last edited:
Newbie Spellweaver
Joined
Apr 10, 2011
Messages
22
Reaction score
4
Thank Sunny, bob and vormav, i did it :) No error this time :)
zgjsyxwj - Any1 already get the female armor in realmpt? - RaGEZONE Forums
 
Last edited:
Over rock and under tree
Joined
Jul 20, 2011
Messages
568
Reaction score
347
It can also just be just 'lighted' (using the same diffuse texture as a self-illumination map) and a lot of other interesting effects..


I remember that, i think last year.., some people were developing a 'gender-changing' potion, and some armors were stuff from laxe lore..



Very interesting..
 
Back
Top