Alright, well... I suppose since you stated your assumptions and made a mature post, I'll respond likewise.
That was essentially the way the original idea came into being. Itemdb.xml was used to do all kinds of swaps. Oblivious Nexon let it slide, and well, people had their fun.
Here's the simplest analogy I can give as to how it worked.
1) You trick your client. Tell it you have dyes.
2) You tell your client to tell the server to use a dye.
3) The server responds and says "Go ahead". I think the list of items that you can dye is actually generated client side (Maybe this was generated before asking permission to use the dye).
4) You pick the color. Tell the server that you used a dye, and some more info (what exactly it is, I'm not sure. Could be the XY coord of where you clicked, 5 XY coords of the 5 possibilities, 5 RGB values, etc... I'm not sure.) The server somehow picks a color out of the 5, and tells you that's the one you get.
5) Your item goes away. You told the server that you used item ID 1033839283. That item disappears. If it happened to be a dye, then you used a dye. If it was a gold coin, then omg 1 gold dyes? (I thought we never did get dyes to work like this... though I never cared much about dyes anyways).
Well, the server now checks if the item you used is actually a dye. If item 1033839283 is actually a phoenix feather, the server's like "uhnothx. goawai". That essentially eliminates all 3 methods you suggested =P.
Now, as Huynh suggested, maybe you can look at the colors. If you really only send 5 RGB values, then you can perhaps change it to any color you like... for example... pure blue on metal... (that would be pretty kickass).
You claimed to not know any programming. Making a modification like this will be difficult at best. If you feel like challenging yourself, go out there and learn. But be warned, the odds of success are not good. However, if no one ever did things that probably wouldn't work, then... we wouldn't have any of the fun mods, now would we.
My gut still says that for dyes, you send one XY coord and the server generates the other 4, as well as the palette itself... but feel free to prove me wrong *shrug*. (If I had a working PE I could potentially take a look at the outgoing packet for using dyes... but nowadays dyes cost a whole ******* lot... and I don't have a PE >.<)
|