Transform online hours in cash shop points
I simply couldn't find a good guide to help me with this so i managed to do it alone and now i want to share it with you.It's my first guide and i hope it's gonna go all right. So let's get started. I will show you how every hour played on mu will automatically be transformed in points for cash shop.
Step 1
First enter Start -> All programs-> Sql server -> enterprise manager ->DATABASE->MuOnline-> Tables
Here look for MEMB_STAT , right click and chose Design Table and create a new column like the following:
Column_name: OnlineHours
Type: int
Allow Nulls: unchecked
Default value: 0
Step 2
Same location in MuOnline enter Stored Procedures and find WZ_DISCONNECT_MEMB. Douable click on it and replace the actual code with this one
Code:
CREATE PROCEDURE [dbo].[WZ_DISCONNECT_MEMB]
@memb___id varchar(10)
AS
Begin
set nocount on
Declare @find_id varchar(10)
Declare @ConnectStat tinyint
declare @OnlineHours real
declare @cspoints int
Set @ConnectStat = 0
Set @find_id = 'NOT'
select @find_id = S.memb___id from MEMB_STAT S INNER JOIN MEMB_INFO I ON S.memb___id = I.memb___id
where I.memb___id = @memb___id
if( @find_id <> 'NOT' )
begin
SELECT @cspoints= cs_points FROM MEMB_INFO where memb___id = @memb___id
update MEMB_STAT set ConnectStat = @ConnectStat, DisConnectTM = getdate(), OnlineHours = @cspoints/10+(DATEDIFF(hh,ConnectTM,getdate()))
where memb___id = @memb___id
SELECT @OnlineHours =OnlineHours FROM MEMB_STAT WHERE memb___id = @memb___id
UPDATE [dbo].[MEMB_INFO]
SET cs_points=(@OnlineHours * 10)
WHERE memb___id = @memb___id
end
end
GO
Click ok and you're done
Things you should know:
The code is set to give 10 points per hour . If you want to change that do the following:
change hh(hour)
in year-yy, yyyy
quarter-qq, q
monthmm- m
day-dd, d
week-wk, ww
minute-mi, n
second-ss, s
These are the symbols if you want to change them, and to change the number of cash shop points received, change the "10" in the code with the number you want to receive.
Hope I was of help. I only tested it on sql server 2000 windows xp, don't know for others. Sorry for my english and sorry if i did something wrong. GL :thumbup:
EDIT: for values higher than 1 you must change in MEMB_STAT the OnlineHours column to REAL NOT INT
Re: Transform online hours in cash shop points
Nice guide, thank you very much
Re: Transform online hours in cash shop points
ohh.if this works...will be great to keep people online
Re: Transform online hours in cash shop points
and how about for Sql 2005 Standard
Re: Transform online hours in cash shop points
i am sorry but i only knoow a few programing things, made this for my own server and posted the solution cuz i didn't find it anywhere else. If anyone else would like to test it on a different sql please post if it works for other players to see.
Re: Transform online hours in cash shop points
Server: Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'hh'.
Help plz
Re: Transform online hours in cash shop points
hehe thats a good idea to keep people online if they want something for free :d
Re: Transform online hours in cash shop points
@DooMDesigN - I think that works the same way for any MSSQL. I use MSSQL 2008 and was smoothly
---
@sqrobert - I also need this for some time now and I'm looking for. But I have a question: if it does not work and I want to remove this procedure, as I do? Or just make a backup of the contents of WZ_DISCONNECT_MEMB ?
Thank you for sharing.
Re: Transform online hours in cash shop points
i just want to ask..how it worked if i wanted to transform hours online to PCPOINTS?.
Re: Transform online hours in cash shop points
Can you please tell me how to include auto pkclear in this script?
Re: Transform online hours in cash shop points
Got this error.
Error 446: Cannot resolve collation conflict for equal to operation.
http://i165.photobucket.com/albums/u...itled-1-36.png
Re: Transform online hours in cash shop points
Quote:
Originally Posted by
nickypunk001
*bump
Re: Transform online hours in cash shop points
I got same error as well. but i rename cs_points to WCoin
Re: Transform online hours in cash shop points
Quote:
UPDATE [dbo].[MEMB_INFO]
SET cs_points=(@OnlineHours * 10)
WHERE memb___id = @memb___id
Here for save old points otherwise its remove before,
Quote:
UPDATE [dbo].[MEMB_INFO]
SET cs_points=cs_points + (@OnlineHours * 10)
WHERE memb___id = @memb___id
Re: Transform online hours in cash shop points
Thanks for this GUIDE keep it up!