个人贡献图标问题
本人的库自己测试,个人贡献图标在游戏里不显示,就是玩家名字前面的那个图标,那位高手帮忙,谢谢 月贡献图标不显示,帮忙的高手,谢谢了! /****** Object:Stored Procedure dbo.UPDATE_KNIGHTS_MARK Script Date: 6/6/2006 6:03:32 PM ******/-----------------------------------------------------------------------------------------------
-- UPDATE_KNIGHTS_MARK 프로시저
-- 나이트 기사단 마크를 입력 받아서 Knights 테이블에 업데이트 하고 버전을 자동으로 올려주는 프로시저
-- 업데이트에 트랜젝션을 걸고 1을 리턴하면 정상 처리가 되것으로 생각한다.
-- (처음에 SET @nRet = 0가 의미가 있는지는 모르겠다 )
-- UpdateKnightMark.sql 2003.6.9 정영훈
-----------------------------------------------------------------------------------------------
CREATE PROC UPDATE_KNIGHTS_MARK
@nRet SMALLINTOUTPUT,
@IDNum SMALLINT,@MarkLen SMALLINT, @KnightMark varbinary(2400)
AS
SET @nRet = 0
BEGIN TRAN
UPDATE KNIGHTS
SET Mark = @KnightMark,
sMarkVersion = sMarkVersion + 1,
sMarkLen = @MarkLen
WHERE IDNum = @IDNum
COMMIT TRAN
SET @nRet = 1
RETURN
GO /****** Object:Stored Procedure dbo.UPDATE_KNIGHTS Script Date: 6/6/2006 6:03:32 PM ******/
CREATE PROCEDURE UPDATE_KNIGHTS
@nRet smallint OUTPUT,
@Type tinyint,
@UserId char(21),
@KnightsIndex smallint,
@Domanation tinyint
AS
DECLARE @Row tinyint
DECLARE @Members tinyint
DECLARE @UserMembers tinyint
DECLARE @KnightsNumber smallint
DECLARE @ViceChief_1 char(21)
DECLARE @ViceChief_2 char(21)
DECLARE @ViceChief_3 char(21)
SET @Row = 0
SET @KnightsNumber = 0
SELECT @Row = COUNT(*) FROM KNIGHTS WHERE IDNum = @KnightsIndex
IF @Row = 0
BEGIN
SET @nRet =7
RETURN
END
SELECT @Members = Members, @ViceChief_1=ViceChief_1, @ViceChief_2=ViceChief_2, @ViceChief_3=ViceChief_3 FROM KNIGHTS WHERE IDNum = @KnightsIndex
IF @Type = 18
BEGIN
SELECT @UserMembers = COUNT(*) FROM USERDATA WHERE Knights = @KnightsIndex
IF @Members >= 36 or @UserMembers >= 36
BEGIN
SET @nRet =8
RETURN
END
END
ELSE
BEGIN
IF @Members > 36
BEGIN
SET @nRet =8
RETURN
END
END
SELECT @Row = COUNT(*) FROM USERDATA WHERE strUserId = @UserId
IF @Row = 0
BEGIN
SET @nRet =2
RETURN
END
--SELECT @ViceChief_1=ViceChief_1, @ViceChief_2=ViceChief_2, @ViceChief_3=ViceChief_3FROM KNIGHTS WHERE IDNum = @KnightsIndex
BEGIN TRAN
IF @Type = 18 -- JOIN
BEGIN
UPDATE KNIGHTS SET Members = Members + 1 WHERE IDNum = @KnightsIndex
INSERT INTO KNIGHTS_USER ( sIDNum, strUserID) VALUES (@KnightsIndex,@UserId )
END
ELSE IF @Type = 19 or @Type = 20 or @Type = 23 -- WITHDRAW, REMOVE, REJECT
BEGIN
IF @Members <= 1
UPDATE KNIGHTS SET Members = 1 WHERE IDNum = @KnightsIndex
ELSE
UPDATE KNIGHTS SET Members = Members - 1 WHERE IDNum = @KnightsIndex
DELETE FROM KNIGHTS_USER WHERE strUserID = @UserId
IF @ViceChief_1 = @UserId
UPDATE KNIGHTS SET ViceChief_1 = NULL WHERE IDNum = @KnightsIndex
IF @ViceChief_2 = @UserId
UPDATE KNIGHTS SET ViceChief_2 = NULL WHERE IDNum = @KnightsIndex
IF @ViceChief_3 = @UserId
UPDATE KNIGHTS SET ViceChief_3 = NULL WHERE IDNum = @KnightsIndex
END
ELSE IF @Type = 25 -- Change Chief, 부단장중에 한명이 단장으로 승격시에는 부단장 데이타변수에서 부단장 이름을 빼준다
BEGIN
UPDATE KNIGHTS SET Chief = @UserId WHERE IDNum = @KnightsIndex
IF @ViceChief_1 = @UserId
UPDATE KNIGHTS SET ViceChief_1 = NULL WHERE IDNum = @KnightsIndex
IF @ViceChief_2 = @UserId
UPDATE KNIGHTS SET ViceChief_2 = NULL WHERE IDNum = @KnightsIndex
IF @ViceChief_3 = @UserId
UPDATE KNIGHTS SET ViceChief_3 = NULL WHERE IDNum = @KnightsIndex
END
ELSE IF @Type = 26 -- Change Vice Chief
BEGIN
IF @ViceChief_1 IS NOT NULL AND @ViceChief_2 IS NOT NULL AND @ViceChief_3 IS NOT NULL
BEGIN
SET @nRet =8
COMMIT TRAN
RETURN
END
IF @ViceChief_1 IS NULL
UPDATE KNIGHTS SET ViceChief_1 = @UserId WHERE IDNum = @KnightsIndex
ELSE IF @ViceChief_2 IS NULL
UPDATE KNIGHTS SET ViceChief_2 = @UserId WHERE IDNum = @KnightsIndex
ELSE IF @ViceChief_3 IS NULL
UPDATE KNIGHTS SET ViceChief_3 = @UserId WHERE IDNum = @KnightsIndex
END
-- ELSE IF @Type = 27 -- Change Officer
-- UPDATE KNIGHTS SET ViceChief_2 = @UserId WHERE IDNum = @KnightsIndex
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet =2
RETURN
END
IF @Type = 20 -- REMOVE
UPDATE USERDATA SET Knights = -1, Fame = 0WHERE strUserId = @UserId
/*
IF @Type = 18
BEGIN
SELECT @KnightsNumber = Knights FROM USERDATA WHERE strUserId = @UserId
IF @KnightsNumber <> 0
BEGIN
ROLLBACK TRAN
SET @nRet =5
RETURN
END
UPDATE USERDATA SET Knights = @KnightsIndex, Fame = 5 WHERE strUserId = @UserId -- TRAINEE
END
ELSE IF @Type = 19 or @Type = 20 or @Type = 23 -- WITHDRAW, REMOVE, REJECT
UPDATE USERDATA SET Knights = 0, Fame = 0WHERE strUserId = @UserId
ELSE IF @Type = 22 -- ADMIT
UPDATE USERDATA SET Fame = 3WHERE strUserId = @UserId
ELSE IF @Type = 24 -- Punish
UPDATE USERDATA SET Fame = 6 WHERE strUserId = @UserId
ELSE IF @Type = 25 -- Change Chief
UPDATE USERDATA SET Fame = 1WHERE strUserId = @UserId
ELSE IF @Type = 26 -- Change Vice Chief
UPDATE USERDATA SET Fame = 2WHERE strUserId = @UserId
ELSE IF @Type = 27 -- Change Officer
UPDATE USERDATA SET Fame = 4WHERE strUserId = @UserId
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet =5
RETURN
END */
COMMIT TRAN
SET @nRet =0
GO CREATE PROCEDURE imbacodermyst AS
-- amfetamin ve www.frienzko.info için oluşturulmuştur.
-- 27 Nisan 2008 tarihinde Myst tarafından oluşturulmuştur.
-- Script üzerinde değişiklik yapan Toptur , Delikli Nane POLO dur , Ajdardır
-- Tüm hakları saklı değil , açıkta ve ortadadır
truncate table np_kings
insertnp_kings
select top 100 strUserID, Loyalty,LoyaltyMonthly, 'gokhantasci'
from USERDATA
where Nation = 1
order by Loyalty desc, LoyaltyMonthly desc
truncate table np_kings2
insertnp_kings2
select top 100 strUserID, Loyalty,LoyaltyMonthly, 'gokhantasci'
from USERDATA
where Nation = 2
order by Loyalty desc, LoyaltyMonthly desc
declare @KarusD varchar(21), @KarusH varchar(21), @KarusM varchar(21),@KarusS varchar(21), @KarusMi varchar(21), @KarusT varchar(21), @ElmoD varchar(21), @ElmoH varchar(21), @ElmoM varchar(21),@ElmoS varchar(21), @ElmoMi varchar(21), @ElmoT varchar(21)
select@KarusD = struserid from np_kings where nrank = 1
select@KarusH = struserid from np_kings where nrank = 2
select@KarusM = struserid from np_kings where nrank = 3
select@KarusS = struserid from np_kings where nrank = 4
select@KarusMi = struserid from np_kings where nrank = 5
select@KarusT = struserid from np_kings where nrank = 6
select@ElmoD = struserid from np_kings2 where nrank = 1
select@ElmoH = struserid from np_kings2 where nrank = 2
select@ElmoM = struserid from np_kings2 where nrank = 3
select@ElmoS = struserid from np_kings2 where nrank = 4
select@ElmoMi = struserid from np_kings2 where nrank = 5
select@ElmoT = struserid from np_kings2 where nrank = 6
/* Update part wowowo */
update user_knights_rank set strelmouserid = @ElmoD, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @elmoD)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoD), strkarususerid = @karusD, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @karusD)), nkarusLoyalty = (select loyalty from userdata where struserid = @karusD) where shindex = 1
update user_knights_rank set strelmouserid = @ElmoH, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @ElmoH)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoH), strkarususerid = @KarusH, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @KarusH)), nkarusLoyalty = (select loyalty from userdata where struserid = @KarusH) where shindex = 2
update user_knights_rank set strelmouserid = @ElmoM, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @ElmoM)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoM), strkarususerid = @KarusM, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @KarusM)), nkarusLoyalty = (select loyalty from userdata where struserid = @KarusM) where shindex = 3
update user_knights_rank set strelmouserid = @ElmoS, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @ElmoS)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoS), strkarususerid = @KarusS, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @KarusS)), nkarusLoyalty = (select loyalty from userdata where struserid = @KarusS) where shindex = 4
update user_knights_rank set strelmouserid = @ElmoMi, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @ElmoMi)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoMi), strkarususerid = @KarusMi, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @KarusMi)), nkarusLoyalty = (select loyalty from userdata where struserid = @KarusMi) where shindex = 5
update user_knights_rank set strelmouserid = @ElmoT, strelmoknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @ElmoT)), nElmoLoyalty = (select loyalty from userdata where struserid = @ElmoT), strkarususerid = @KarusT, strkarusknightsname = (select idname from knights where idnum = (select knights from userdata where struserid = @KarusT)), nkarusLoyalty = (select loyalty from userdata where struserid = @KarusT) where shindex = 6
/* end of the update */
GO 是替换3个储存过程吗,谢谢,能详细点吗。笨人! 替换了3个储存过程,还是不好用 和客户端有关吗? 主要是表的数据未加,基本与储存过程无关
我的要手动更新表的贡献 楼上兄弟,怎么弄呢?说明下,谢谢
页:
[1]
2