Wrong password buying from Dshop

11/15/2015 16:14 freez00#1
I have a random issue. Some players get a Wrong Password error when buying from Dshop. It's not all players, it's random. It's also on any item in Dshop not just 1 in particular. I created 3 characters and all of them were fine to buy from Dshop. I've deleted the user_use_log from the cash database and restarted the server. All user_no are unique in the user_cash. Still, sometimes someone creates a character and they can't buy anything from Dshop. If anyone has any ideas let me know thanks.
11/20/2015 04:04 freez00#2
I hope someone can point me in the right direction. All of a sudden when you create a new character, that character can't buy anything from Dshop. Incorrrect password always comes up now. Existing characters can buy from Dshop.

I created a new character and couldn't buy from Dshop. I logged in my other character with the same client and could buy from Dshop. I checked the database and the user_no is unique in the cash, character and account databases.
11/20/2015 08:14 Proxynear#3
I think its a mistake at databases , since region dont match and anyway when you field an correct or random password , the database cant choose.
11/20/2015 19:16 freez00#4
I'm not sure what you mean about the region? That's set in the server ini file. I'm trying to see where the error is in the database but when I compare the new char to old ones the flags are the same.
[Only registered and activated users can see links. Click Here To Register...]
11/20/2015 19:28 Ultimo ☼#5
I think your best bet is to restore the database with a working one
11/20/2015 19:46 freez00#6
I've been running this server for some time now. This is a new issue that has come up. If I restore from backup, Players will lose accounts etc.
11/20/2015 19:49 guesswho-.-#7
I might be wrong but dshop transactions are done directly on the database so perhaps you should run profiler and see what gets executed
11/20/2015 20:31 freez00#8
After running the profile on my old character, it runs properly:
set @p18=0xE51A135A05000101960018C6CC66447E
declare @p19 int
set @p19=1150666 <-- item index
declare @p20 int
set @p20=2592000 <-- Use period

On the new character it doesn't pick up the item index or use period:
set @p18=0x00000000000000000000000000000000 <-- declared as 0 binary
declare @p19 int
set @p19=0 <-- item index
declare @p20 int
set @p20=0 <-- use period

This all happens before running the BL_IF_BuyProc_CRU stored procedure.
The profiler doesn't tell me what stored procedure is declaring the p19 and p20 variables. If anyone knows then I can track it down.
11/21/2015 00:12 Proxynear#9
I think its some querry not parsering since before it gives you an generated code and variables got value , after that you try to get something and you get nulled p18 and the rest too
11/21/2015 00:30 guesswho-.-#10
check @sp_rtn then track it to the place where it sets the value. @sp_rtn should be the first returned value I think.
11/21/2015 02:44 freez00#11
Well, to add even more weirdness to this... If I create a character manually by adding the values to the account.user_profile and cash.user_cash tables I can create a character and buy from Dshop fine. It seems it's only when creating it from the website which the code hasn't changed! By the way, I do appreciate the help. This is certainly a strange error. I'll try rebooting the web server and see if it helps. Maybe the query is cached somehow.
11/22/2015 18:35 freez00#12
Seems that a client hack from someone messed up the stored procedure when buying from Dshop. Since we removed the exploit and restarted the server all is fine. This wasn't an error with the database nor the serer files.