Konu sahibi

AdministratorAdministrator is verified member.

Developer
Yönetici
Administrator
Developer
Katılım
15 Temmuz 2019
Mesajlar
7,187
Puanları
9,044
Konum
France
Web sitesi
srozone.net
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;
 
  • Geri
    Üst