PlaneShift

Support => Technical Help: IN GAME bugs (after loading world) => Topic started by: LigH on November 04, 2005, 03:47:53 am

Title: Defect Item ID - cannot sell sword
Post by: LigH on November 04, 2005, 03:47:53 am
I have a \"Alexandrite encrusted Embossed Broad Sword of Talad\'s Arm\" which I cannot sell. If I try, the client immediately closes, the crash is not caught.

Here are the last entries of the \"psclient.txt\" console output file:

Code: [Select]
...

<\\Luca\\Crystal Space\\planeshift\\src\\client\\gui\\pawsmerchantwindow.cpp:310> pawsMerchantWindow::HandleItems
:
    IMG=\"/planeshift/weapons/shortsword01a_icon.png\" PRICE=\"160\" COUNT=\"2\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/dagger01a_icon.png\" PRICE=\"40\" COUNT=\"4\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/broadsword01a_icon.png\" PRICE=\"160\" COUNT=\"3\"
  PURIFIED=\"no\" />  Broad Sword of Talad's Arm\"
  IMG=\"/planeshift/weapons/broadsword01a_icon.png\" PRICE=\"3264\" COUNT=\"1\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/doubleaxe02a_icon.png\" PRICE=\"640\" COUNT=\"1\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/doubleaxe02a_icon.png\" PRICE=\"447\" COUNT=\"1\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/shortsword01a_icon.png\" PRICE=\"320\" COUNT=\"2\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/broadsword01a_icon.png\" PRICE=\"320\" COUNT=\"2\"
  PURIFIED=\"no\" />  IMG=\"/planeshift/weapons/longsword01a_icon.png\" PRICE=\"1920\" COUNT=\"1\"
  PURIFIED=\"no\" />


<\\Luca\\Crystal Space\\planeshift\\src\\client\\gui\\pawsmerchantwindow.cpp:500> pawsMerchantWindow::DoTrade
:
    Talad's Arm\" COUNT=\"1\" ITEM_ID=\"133?997\" />


The \"?\" in the value \"133?997\" is a character 0x01h.

Please tell me if you need more details, and where I can send them.
Title:
Post by: steuben on November 04, 2005, 04:33:14 am
does it happen when you try to trade the item?

given the invalid char in the string, i suspect it might. but it will add more info for this one.
Title:
Post by: Bereror on November 04, 2005, 06:21:49 am
The name of the sword is too long.

In void pawsMerchantWindow::DoTrade()
Code: [Select]

    char commandData[100];
    sprintf(commandData, \"\",
            merchantID, escpxml.GetData(), count, itemID);


The commandData buffer is for 99 characters only, but with that long sword name you need 116. It overwrites some important code in the stack and the client crashes.

I can sell it for you if you want  ;)
Title:
Post by: stfrn on November 04, 2005, 06:26:48 am
Hm, ok then it is the client making the mistake. Now that I have a little more to work with I\'ll see what I can do. I could try with any such items if you want to give up the item.

Edit: Bereror, yeah, that\'s what I was thinking.

Edit2: ok, that\'s what I was thinking a month ago, and forgot to commit >.> My bad.
Title:
Post by: LigH on November 04, 2005, 09:45:23 am
I can give this sword to you in game, no problem. 3216 tria are nothing I would really need. ;)

Just contact me.