Konu sahibi
SQL:
IF @UniqueCodename LIKE '%MOB%'
BEGIN
DECLARE @HonorPoints INT;
DECLARE @Message VARCHAR(255);
DECLARE @PartyID INT = ISNULL((SELECT PartyID FROM MaxiGuard_User.dbo._PartyData WITH (NOLOCK) WHERE CharID=@KillerCharID), 0);
DECLARE @RegionID INT = (SELECT LatestRegion FROM SRO_VT_SHARD.dbo._Char WITH (NOLOCK) WHERE CharID=@KillerCharID);
SET @HonorPoints = CASE
WHEN @UniqueCodename LIKE '%TIGERWOMAN%' OR @UniqueCodename LIKE '%KERBEROS%' THEN 2
WHEN @UniqueCodename LIKE '%URUCHI%' OR @UniqueCodename LIKE '%IVY%' THEN 3
WHEN @UniqueCodename LIKE '%ISYUTARU%' OR @UniqueCodename LIKE '%BONELORD%' THEN 5
WHEN @UniqueCodename LIKE '%TAHOMET%' OR @UniqueCodename LIKE '%DEVILSAYTAN%' THEN 5
WHEN @UniqueCodename LIKE '%RM_SPIRIT%' OR @UniqueCodename LIKE '%ELEMENT%' THEN 10
WHEN @UniqueCodename LIKE '%PRINCES%' OR @UniqueCodename LIKE '%WHITEKNIGT%' THEN 10
WHEN @UniqueCodename LIKE '%SELKIS%' OR @UniqueCodename LIKE '%NEITH%' OR @UniqueCodename LIKE '%ANUBIS%' OR @UniqueCodename LIKE '%ISIS%' THEN 10
WHEN @UniqueCodename LIKE '%YUNO%' OR @UniqueCodename LIKE '%JUPITER%' OR @UniqueCodename LIKE '%DARK_DOG%'
OR @UniqueCodename LIKE '%BAAL%' OR @UniqueCodename LIKE '%BABILION%' OR @UniqueCodename LIKE '%THE_EARTH%' THEN 10
WHEN @UniqueCodename LIKE '%ROC%' OR @UniqueCodename LIKE '%WHITESNAKE%' THEN 20
ELSE 0
END;
IF @HonorPoints > 0
BEGIN
IF @PartyID <> 0 -- Party varsa ve tüm partydeki kişiler kesilen regionda ise
BEGIN
-- Partideki herkese Honor Point ver
UPDATE TCM
SET HonorPoint = HonorPoint + @HonorPoints
FROM SRO_VT_SHARD.dbo._TrainingCampMember TCM
JOIN MaxiGuard_User.dbo._PartyData PD ON TCM.CharID = PD.CharID
JOIN SRO_VT_SHARD.dbo._Char C ON PD.CharID = C.CharID
WHERE PD.PartyID = @PartyID AND C.LatestRegion = @RegionID;
-- CampID'yi al
SELECT @CampID = TCM.CampID
FROM SRO_VT_SHARD.dbo._TrainingCampMember TCM
WHERE TCM.CharID = @KillerCharID;
-- Eğitim kampı güncelleme
IF @CampID IS NOT NULL
BEGIN
-- Partideki tüm oyuncuların CampID değerlerini al ve güncelle
UPDATE TC
SET GraduateCount = GraduateCount + @HonorPoints,
EvaluationPoint = EvaluationPoint + @HonorPoints,
LatestEvaluationDate = GETDATE()
FROM SRO_VT_SHARD.dbo._TrainingCamp TC
JOIN SRO_VT_SHARD.dbo._TrainingCampMember TCM ON TC.ID = TCM.CampID
JOIN MaxiGuard_User.dbo._PartyData PD ON TCM.CharID = PD.CharID
WHERE PD.PartyID = @PartyID;
END;
-- Mesajı hazırla
SET @Message = 'Tebrikler ' + CAST(@HonorPoints AS VARCHAR) + ' Honor Point Kazandınız.';
-- Notice mesajını gönder
INSERT INTO MaxiGuard_User.._BridgeCommands
VALUES (500, '00ccff', 18, @Message, @KillerCharname, GETDATE());
END; -- **Eksik END eklendi**
ELSE -- Party yoksa sadece kesene Honor ver
BEGIN
EXEC MarsEvent..xHonorPoint @KillerCharID, @HonorPoints;
SET @Message = 'Tebrikler ' + CAST(@HonorPoints AS VARCHAR) + ' Honor Point Kazandınız.';
INSERT INTO MaxiGuard_User.._BridgeCommands VALUES (500, '00ccff', 18, @Message, @KillerCharname, GETDATE());
END;
END;