عرض مشاركة واحدة
قديم 21-05-2018, 03:01 PM   #1

alieleraky
عضو مجتهد





• الانـتـسـاب » Dec 2011
• رقـم العـضـويـة » 96093
• المشـــاركـات » 134
• الـدولـة »
• الـهـوايـة »
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 10
alieleraky صـاعـد

alieleraky غير متواجد حالياً



افتراضي Daily Reward System مشكله



اتمنى مراجعه هذا الكود
اعرف انه طويل ولكن لا اعرف اين المشكله

كود PHP:
if (@EventID 4)
begin
exec 
[dbo].[_DailyRew]
end 

كود PHP:
USE [SRO_VT_SHARDLOG]
GO

Object StoredProcedure 
[dbo].[_DailyRewScript Date 10282014 104519 PM 
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_DailyRew]
@
CharID int,
@
Eventid int
AS
if @
EventID '4'
BEGIN 
DECLARE @CharN VARCHAR(52) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)
DECLARE @
Date Date GETDATE() -1
DECLARE @JID int = (SELECT UserJID FROM SRO_VT_SHARD.dbo._User where CharID = @CharID)
DECLARE @
AccountID varchar (25) = (SELECT AccountID FROM SRO_VT_SHARD.dbo._AccountJID As ID INNER JOIN SRO_VT_SHARD.dbo._User as JID ON Id.JID JID.UserJID where CharID = @CharID)
DECLARE @
RewardGiven varchar(52) = 'ITEM_ETC_SILK_250'
DECLARE @DayReward INT = (SELECT IsDay FROM _DailyReward WHERE JID = @JID and LoginDate = @Date)
DECLARE @
RefObjID int
DECLARE @DATEN Date GETDATE()
select @RefObjID RefObjID from SRO_VT_SHARD.dbo._Char with (nolockwhere CharName16 'UnDeath'
DECLARE @RealDate date = (Select [LoginDatefrom _DailyReward where Jid = @JID)
UPDATE _DailyReward set IsLogin 'ON' where JID = @JID
IF NOT EXISTS (SELECT FROM _DailyReward WHERE JID = @JID)
BEGIN
INSERT INTO _DailyReward 
(JID,IsLogin,LoginDate,IsMSent,IsRecivce,IsDay
VALUES (@JID,'ON',GETDATE(),'NO','NO','1'
END 

ELSE IF @DayReward BETWEEN '1' and '2' 
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven10
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END 
ELSE IF @DayReward BETWEEN '3' and '4' 
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven80
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END 

ELSE IF @DayReward BETWEEN '5' and '6' 
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven120
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END 

ELSE IF @DayReward '7' -- 2nd week
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven140
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END 

ELSE IF @DayReward BETWEEN '8' and '10' 
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven180
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END

ELSE IF @DayReward BETWEEN '11' and '12' 
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven190
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END

ELSE IF @DayReward '15'
BEGIN
UPDATE _DailyReward SET IsMSent 
'YES',IsRecivce 'YES',IsDay += 1LoginDate=GETDATE(),IsLogin 'ON' WHERE JID = @JID
exec SRO_VT_SHARD
.dbo._ADD_ITEM_EXTERN_CHEST @AccountID, @RewardGiven200
INSERT INTO SRO_VT_SHARD
.dbo._Memo (CharID,FromCharName,[Message],[Date],[Status],RefObjID)
VALUES (@CharID,'DailyReward','Thank you for visiting us again, please check the storage you will find your gift and its not our problem if there is no place in the storage to add the gift, Collect them and exchange them for good gift.',GETDATE(),'0',@RefObjID)
END


ELSE IF @RealDate != @DATEN
AND @RealDate != @Date
BEGIN 
UPDATE _DailyReward SET LoginDate 
GETDATE(),IsDay '1' WHERE JID 9
END
END
GO 

كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object: Table [dbo].[_DailyReward] Script Date: 10/28/2014 10:45:59 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_DailyReward](
[
ID] [intIDENTITY(1,1NOT NULL,
[
JID] [intNOT NULL,
[
IsLogin] [varchar](16NULL,
[
LoginDate] [dateNULL,
[
IsMSent] [varchar](16NULL,
[
IsRecivce] [varchar](16NULL,
[
IsDay] [intNULL,
CONSTRAINT [PK__DailyRewardPRIMARY KEY CLUSTERED 
(
[
IDASC
)WITH (PAD_INDEX OFFSTATISTICS_NORECOMPUTE OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS ONALLOW_PAGE_LOCKS ONON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 

كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object: Table [dbo].[_DailyGift] Script Date: 10/28/2014 10:46:14 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_DailyGift](
[
ID] [intIDENTITY(1,1NOT NULL,
[
CodeName] [varchar](50NULL,
[
Count] [intNULL,
[
Day] [intNULL,
CONSTRAINT [PK__DailyGiftPRIMARY KEY CLUSTERED 
(
[
IDASC
)WITH (PAD_INDEX OFFSTATISTICS_NORECOMPUTE OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS ONALLOW_PAGE_LOCKS ONON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 




إعلانات google