PVP Reward

06/25/2018 06:24 dejillas1234#1
Can any one Help on How To make a PVP Reward??
06/25/2018 13:50 [DEV]Wan#2
Hey you can edit this script
USE [PS_GameData]
GO
/****** Object: StoredProcedure [dbo].[usp_Save_Char_Kills_Rewards] Script Date: 09/20/2012 21:42:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER Proc [dbo].[usp_Save_Char_Kills_Rewards]
@[Only registered and activated users can see links. Click Here To Register...]ID tinyint, @[Only registered and activated users can see links. Click Here To Register...] varchar(12),
@K1 int

AS

SET NOCOUNT ON

@DP INT

if(@k1> 999 AND @k1< 1000000)
SET @DP =(
CASE
WHEN @k1 = 1000 THEN 25
WHEN @k1 = 2000 THEN 50
ELSE @DP
END)

BEGIN
UPDATE PS_UserData.dbo.Users_Master SET Point = Point + @DP WHERE UserID = @[Only registered and activated users can see links. Click Here To Register...]
END

IF(@@ERROR = 0)
BEGIN
RETURN 1
END
ELSE
BEGIN
RETURN -1
END

SET NOCOUNT OFF

Code:
SET @[Only registered and activated users can see links. Click Here To Register...] = ' 100'
SELECT @[Only registered and activated users can see links. Click Here To Register...]ID=U.UserUID, @[Only registered and activated users can see links. Click Here To Register...]=U.UserID
FROM PS_GameData.dbo.Chars AS C INNER JOIN PS_UserData.dbo.Users_Master AS U
ON C.UserUID = U.UserUID AND C.UserID = U.UserID
WHERE C.CharName = @[Only registered and activated users can see links. Click Here To Register...] AND C.Del=0;
ELSE
BEGIN
SET @[Only registered and activated users can see links. Click Here To Register...]Point=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)
UPDATE PS_UserData.dbo.Users_Master
SET Point=(Point @[Only registered and activated users can see links. Click Here To Register...])
WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID
SET @[Only registered and activated users can see links. Click Here To Register...]=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)SET @[Only registered and activated users can see links. Click Here To Register...] = ' 100'
SELECT @[Only registered and activated users can see links. Click Here To Register...]ID=U.UserUID, @[Only registered and activated users can see links. Click Here To Register...]=U.UserID
FROM PS_GameData.dbo.Chars AS C INNER JOIN PS_UserData.dbo.Users_Master AS U
ON C.UserUID = U.UserUID AND C.UserID = U.UserID
WHERE C.CharName = @[Only registered and activated users can see links. Click Here To Register...] AND C.Del=0;
ELSE
BEGIN
SET @[Only registered and activated users can see links. Click Here To Register...]Point=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)
UPDATE PS_UserData.dbo.Users_Master
SET Point=(Point @[Only registered and activated users can see links. Click Here To Register...])
WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID
SET @[Only registered and activated users can see links. Click Here To Register...]=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)

Credit's To JuuF

You need to add more "if" statements if you want to do it per rank though, this is what you have here:

Code:
@DP INT

if(@k1> 999 AND @k1< 1000000)
SET @DP =(
CASE
WHEN @k1 = 1000 THEN 25
WHEN @k1 = 2000 THEN 50
ELSE @DP
END)

Quote:
Originally Posted by [DEV]Wan View Post
Hey you can edit this script
USE [PS_GameData]
GO
/****** Object: StoredProcedure [dbo].[usp_Save_Char_Kills_Rewards] Script Date: 09/20/2012 21:42:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER Proc [dbo].[usp_Save_Char_Kills_Rewards]
@[Only registered and activated users can see links. Click Here To Register...]ID tinyint, @[Only registered and activated users can see links. Click Here To Register...] varchar(12),
@K1 int

AS

SET NOCOUNT ON

@DP INT

if(@k1> 999 AND @k1< 1000000)
SET @DP =(
CASE
WHEN @k1 = 1000 THEN 25
WHEN @k1 = 2000 THEN 50
ELSE @DP
END)

BEGIN
UPDATE PS_UserData.dbo.Users_Master SET Point = Point + @DP WHERE UserID = @[Only registered and activated users can see links. Click Here To Register...]
END

IF(@@ERROR = 0)
BEGIN
RETURN 1
END
ELSE
BEGIN
RETURN -1
END

SET NOCOUNT OFF

Code:
SET @[Only registered and activated users can see links. Click Here To Register...] = ' 100'
SELECT @[Only registered and activated users can see links. Click Here To Register...]ID=U.UserUID, @[Only registered and activated users can see links. Click Here To Register...]=U.UserID
FROM PS_GameData.dbo.Chars AS C INNER JOIN PS_UserData.dbo.Users_Master AS U
ON C.UserUID = U.UserUID AND C.UserID = U.UserID
WHERE C.CharName = @[Only registered and activated users can see links. Click Here To Register...] AND C.Del=0;
ELSE
BEGIN
SET @[Only registered and activated users can see links. Click Here To Register...]Point=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)
UPDATE PS_UserData.dbo.Users_Master
SET Point=(Point @[Only registered and activated users can see links. Click Here To Register...])
WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID
SET @[Only registered and activated users can see links. Click Here To Register...]=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)SET @[Only registered and activated users can see links. Click Here To Register...] = ' 100'
SELECT @[Only registered and activated users can see links. Click Here To Register...]ID=U.UserUID, @[Only registered and activated users can see links. Click Here To Register...]=U.UserID
FROM PS_GameData.dbo.Chars AS C INNER JOIN PS_UserData.dbo.Users_Master AS U
ON C.UserUID = U.UserUID AND C.UserID = U.UserID
WHERE C.CharName = @[Only registered and activated users can see links. Click Here To Register...] AND C.Del=0;
ELSE
BEGIN
SET @[Only registered and activated users can see links. Click Here To Register...]Point=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)
UPDATE PS_UserData.dbo.Users_Master
SET Point=(Point @[Only registered and activated users can see links. Click Here To Register...])
WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID
SET @[Only registered and activated users can see links. Click Here To Register...]=(SELECT Point FROM PS_UserData.dbo.Users_Master WHERE UserUID @[Only registered and activated users can see links. Click Here To Register...]ID)

Credit's To JuuF

You need to add more "if" statements if you want to do it per rank though, this is what you have here:

Code:
@DP INT

if(@k1> 999 AND @k1< 1000000)
SET @DP =(
CASE
WHEN @k1 = 1000 THEN 25
WHEN @k1 = 2000 THEN 50
ELSE @DP
END)








If @k1 = 1000
Set @DP = 25
Else if @k1 = 2000
Set @DP = 50T his is a simply arrangement for this, looks better, easier to understand -maybe- and you won't have to worry about the CASE syntax too much; as I see it sort of awkward there.