iSRO-R Yardım VIP sistemi otomatik calistirma

  • Konuyu Başlatan Konuyu Başlatan erc41
  • Başlangıç tarihi Başlangıç tarihi

erc41

.
Aktiflik: 1%
Çırak 1 Mesaj
Katılım
20 Eki 2024
Mesajlar
70
Tepkime puanı
9
Puan
8
Yaş
25
Konum
Tr
Thread owner
vip sistemi otomatik calistirmak istiyorum ama beceremedim yapabilecek var mi ?
 
Paylaşılan konu VSRO'Ya uyarlanan sistemidir adı size yanıltmasın siz ISRO-R üzerine çalışıyorsunuz sanırım..
Konunuz iSRO-R Yardım kategorisinde bulunuyor.
 
Oyla 0
isro uzerine yapilmasi isteniliyorsa normal sartlarda gunluk reset saati var onun harici proc editleyerek her login & logout sirasinda harcanan silke gore buff gondermede yapilabiliyor
 
Oyla 0
isro uzerine yapilmasi isteniliyorsa normal sartlarda gunluk reset saati var onun harici proc editleyerek her login & logout sirasinda harcanan silke gore buff gondermede yapilabiliyor
Login logout sırasında yaparsanız billingte bir sürü hata alırsınız. Çift tablo oluşturmaya çalışma gibi. En makulu belirli aralıklarda prosedürü tetiklemek veya vip prosedürlerini karakter bazlı yeniden yazmak update delete create vs biraz zahmetli olur
 
Oyla 0
SA
USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_Custom_VIP_Buff_System_NoGuard] Script Date: 16.2.2026 20:33:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_Custom_VIP_Buff_System_NoGuard]
@CharID INT
AS
BEGIN
SET NOCOUNT ON
DECLARE @CharName16 VARCHAR(64), @TotalSpentSilk INT, @NewJobID INT, @CurrentActiveBuff INT
SET @TotalSpentSilk = 0

-- 1. ADIM: Karakter ismini çek
SELECT @CharName16 = CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID
IF (@CharName16 IS NULL) RETURN

-- 2. ADIM: Harcamayı hesapla
SELECT @TotalSpentSilk = SUM(CAST(Silk_Own AS INT))
FROM SRO_VT_ACCOUNT.dbo.SK_PackageItemSaleLog WITH (NOLOCK)
WHERE CharID = @CharID
AND PackageItemID NOT IN (1797, 1798, 1799, 1800, 1801, 1802)

IF (@TotalSpentSilk IS NULL OR @TotalSpentSilk < 100) SET @TotalSpentSilk = 0

-- 3. ADIM: ID Belirleme (33964 - 33968)
SET @NewJobID =
CASE
WHEN @TotalSpentSilk >= 6000 THEN 33968
WHEN @TotalSpentSilk BETWEEN 5000 AND 5999 THEN 33967
WHEN @TotalSpentSilk BETWEEN 1000 AND 4999 THEN 33966
WHEN @TotalSpentSilk BETWEEN 300 AND 999 THEN 33965
WHEN @TotalSpentSilk BETWEEN 100 AND 299 THEN 33964
ELSE 0
END

IF (@NewJobID = 0) RETURN

-- 4. ADIM: Mevcut Buff Kontrolü
SELECT TOP 1 @CurrentActiveBuff = JobID
FROM SRO_VT_SHARD.dbo._TimedJob
WHERE CharID = @CharID AND JobID BETWEEN 33964 AND 33968

IF (@CurrentActiveBuff = @NewJobID) RETURN

-- 5. ADIM: Güncelleme
DELETE FROM SRO_VT_SHARD.dbo._TimedJob
WHERE CharID = @CharID AND JobID BETWEEN 33964 AND 33968

-- Hata veren INSERT satırını parçalara ayırdım
INSERT INTO SRO_VT_SHARD.dbo._TimedJob
(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
VALUES
(@CharID, 0, @NewJobID, 604800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

-- Log kaydı
INSERT INTO SRO_VT_LOG.dbo.CharacterBuffLog (CharID, CharName, SpentSilk, OldBuffSkillID, CurrentBuffSkillID, [Date])
VALUES (@CharID, @CharName16, @TotalSpentSilk, ISNULL(@CurrentActiveBuff, 0), @NewJobID, GETDATE())

END
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SRO_VT_LOG]
GO

/****** Object: Table [dbo].[CharacterBuffLog] Script Date: 16.2.2026 20:35:04 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[CharacterBuffLog](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CharID] [int] NOT NULL,
[CharName] [varchar](255) NOT NULL,
[SpentSilk] [int] NOT NULL,
[OldBuffSkillID] [int] NOT NULL,
[CurrentBuffSkillID] [int] NOT NULL,
[Date] [datetime] NOT NULL DEFAULT (getdate()),
PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
Üst üste post gönderildiği için tek mesajda birleştirildi:

1339641033SKILL_VELOREX_BRONZE_BUF_01?:??? ?SKILL_VELOREX_BRONZE_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_bronze_buf.ddjSN_SKILL_VELOREX_BRONZE_BUFxxxSN_SKILL_VELOREX_BRONZE_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_BRONZE_BUF0031667396966185194634216854185936048000000000000002673805684452105717220105000000000000000000000000000
1339651034SKILL_VELOREX_SILVER_BUF_01?:??? ?SKILL_VELOREX_SILVER_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_silver_buf.ddjSN_SKILL_VELOREX_SILVER_BUFxxxSN_SKILL_VELOREX_SILVER_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_SILVER_BUF00316673969661851946342168541859360480000000000000026738010684452105717220105000000000000000000000000000
1339661035SKILL_VELOREX_GOLD_BUF_01?:??? ?SKILL_VELOREX_GOLD_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_gold_buf.ddjSN_SKILL_VELOREX_GOLD_BUFxxxSN_SKILL_VELOREX_GOLD_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_GOLD_BUF00316673969661851946342168541859360480000065829011010186884952215500026738010000000000000000000000000000000000
1339671036SKILL_VELOREX_PLATINUM_BUF_01?:??? ?SKILL_VELOREX_PLATINUM_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_platinum_buf.ddjSN_SKILL_VELOREX_PLATINUM_BUFxxxSN_SKILL_VELOREX_PLATINUM_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_PLATINUM_BUF00316673969661851946342168541859360480000065829011010186884952215102597001026738010000017523968515000000000000000000000000000
1339681037SKILL_VELOREX_VIP_BUF_01?:??? ?SKILL_VELOREX_VIP_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_vip_buf.ddjSN_SKILL_VELOREX_VIP_BUFxxxSN_SKILL_VELOREX_VIP_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_VIP_BUF0031667396966185194634216854185936048000006582901202018688495221510259700102673801001752656242100175239685110000000000000000000000000000
Üst üste post gönderildiği için tek mesajda birleştirildi:

prosedürlerde alter crate birde ıdları ken göre duzenle iconları
burdan ekle çalışr
 
Oyla 0
Thread owner
SA
USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_Custom_VIP_Buff_System_NoGuard] Script Date: 16.2.2026 20:33:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_Custom_VIP_Buff_System_NoGuard]
@CharID INT
AS
BEGIN
SET NOCOUNT ON
DECLARE @CharName16 VARCHAR(64), @TotalSpentSilk INT, @NewJobID INT, @CurrentActiveBuff INT
SET @TotalSpentSilk = 0

-- 1. ADIM: Karakter ismini çek
SELECT @CharName16 = CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID
IF (@CharName16 IS NULL) RETURN

-- 2. ADIM: Harcamayı hesapla
SELECT @TotalSpentSilk = SUM(CAST(Silk_Own AS INT))
FROM SRO_VT_ACCOUNT.dbo.SK_PackageItemSaleLog WITH (NOLOCK)
WHERE CharID = @CharID
AND PackageItemID NOT IN (1797, 1798, 1799, 1800, 1801, 1802)

IF (@TotalSpentSilk IS NULL OR @TotalSpentSilk < 100) SET @TotalSpentSilk = 0

-- 3. ADIM: ID Belirleme (33964 - 33968)
SET @NewJobID =
CASE
WHEN @TotalSpentSilk >= 6000 THEN 33968
WHEN @TotalSpentSilk BETWEEN 5000 AND 5999 THEN 33967
WHEN @TotalSpentSilk BETWEEN 1000 AND 4999 THEN 33966
WHEN @TotalSpentSilk BETWEEN 300 AND 999 THEN 33965
WHEN @TotalSpentSilk BETWEEN 100 AND 299 THEN 33964
ELSE 0
END

IF (@NewJobID = 0) RETURN

-- 4. ADIM: Mevcut Buff Kontrolü
SELECT TOP 1 @CurrentActiveBuff = JobID
FROM SRO_VT_SHARD.dbo._TimedJob
WHERE CharID = @CharID AND JobID BETWEEN 33964 AND 33968

IF (@CurrentActiveBuff = @NewJobID) RETURN

-- 5. ADIM: Güncelleme
DELETE FROM SRO_VT_SHARD.dbo._TimedJob
WHERE CharID = @CharID AND JobID BETWEEN 33964 AND 33968

-- Hata veren INSERT satırını parçalara ayırdım
INSERT INTO SRO_VT_SHARD.dbo._TimedJob
(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
VALUES
(@CharID, 0, @NewJobID, 604800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

-- Log kaydı
INSERT INTO SRO_VT_LOG.dbo.CharacterBuffLog (CharID, CharName, SpentSilk, OldBuffSkillID, CurrentBuffSkillID, [Date])
VALUES (@CharID, @CharName16, @TotalSpentSilk, ISNULL(@CurrentActiveBuff, 0), @NewJobID, GETDATE())

END
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SRO_VT_LOG]
GO

/****** Object: Table [dbo].[CharacterBuffLog] Script Date: 16.2.2026 20:35:04 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[CharacterBuffLog](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CharID] [int] NOT NULL,
[CharName] [varchar](255) NOT NULL,
[SpentSilk] [int] NOT NULL,
[OldBuffSkillID] [int] NOT NULL,
[CurrentBuffSkillID] [int] NOT NULL,
[Date] [datetime] NOT NULL DEFAULT (getdate()),
PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
Üst üste post gönderildiği için tek mesajda birleştirildi:

1339641033SKILL_VELOREX_BRONZE_BUF_01?:??? ?SKILL_VELOREX_BRONZE_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_bronze_buf.ddjSN_SKILL_VELOREX_BRONZE_BUFxxxSN_SKILL_VELOREX_BRONZE_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_BRONZE_BUF0031667396966185194634216854185936048000000000000002673805684452105717220105000000000000000000000000000
1339651034SKILL_VELOREX_SILVER_BUF_01?:??? ?SKILL_VELOREX_SILVER_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_silver_buf.ddjSN_SKILL_VELOREX_SILVER_BUFxxxSN_SKILL_VELOREX_SILVER_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_SILVER_BUF00316673969661851946342168541859360480000000000000026738010684452105717220105000000000000000000000000000
1339661035SKILL_VELOREX_GOLD_BUF_01?:??? ?SKILL_VELOREX_GOLD_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_gold_buf.ddjSN_SKILL_VELOREX_GOLD_BUFxxxSN_SKILL_VELOREX_GOLD_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_GOLD_BUF00316673969661851946342168541859360480000065829011010186884952215500026738010000000000000000000000000000000000
1339671036SKILL_VELOREX_PLATINUM_BUF_01?:??? ?SKILL_VELOREX_PLATINUM_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_platinum_buf.ddjSN_SKILL_VELOREX_PLATINUM_BUFxxxSN_SKILL_VELOREX_PLATINUM_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_PLATINUM_BUF00316673969661851946342168541859360480000065829011010186884952215102597001026738010000017523968515000000000000000000000000000
1339681037SKILL_VELOREX_VIP_BUF_01?:??? ?SKILL_VELOREX_VIP_BUF01109999999900000001337457732000000000000000100000000000000025525500000255255255255skill\etc\vip_vip_buf.ddjSN_SKILL_VELOREX_VIP_BUFxxxSN_SKILL_VELOREX_VIP_BUF_TT_DESCSN_SKILL_SKIP_VELOREX_VIP_BUF0031667396966185194634216854185936048000006582901202018688495221510259700102673801001752656242100175239685110000000000000000000000000000
Üst üste post gönderildiği için tek mesajda birleştirildi:

prosedürlerde alter crate birde ıdları ken göre duzenle iconları

burdan ekle çalışr
SRO_VT_ACCOUNT.dbo.SK_PackageItemSaleLog diye bir tablo yok nasil yapabilirim
 
Oyla 0

Bu konuyu görüntüleyen kullanıcılar

Geri
Üst Alt