KONU AÇ !

Topluluğumuzda Konular Açın ve Bize Ulaşın !

Yeni Konular !

Konulara Yorum Yapın ve Konunuzu Öne Çıkarın !

Bize Ulaşın !

Yöneticilerimiz Size 7/24 Yardımcı Olmak İçin Hazır !

SİLKROAD TÜRKİYE'NİN EN YENİ SİSTEMLİ VE MÜŞTERİ SEVGİSİYLE EN İYİ REKLAM PLATFORMLARINDAN BİTANESİ SROCENTER SEN YOKSAN Bİ KİŞİ EKSİK !

Paylaşım vSRO 7 Gün içinde karakter silinmeme sorunu

srocenter Can

Forum Admin
Moderatör
Center Üyesi
Bilişim Sahibi
Çevirmen
Coder
Grafiker
Guild Master
Guild Üyesi
Reklamcı
Server Sahibi
Supporter
V.i.P
Katılım
18 Haz 2023
Mesajlar
20,096
Tepkime puanı
9
Puanları
38
SQL:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_DeleteCharPermanently] Script Date: 02/14/2012 12:54:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

--!!!CHECK!!!
ALTER PROCEDURE [dbo].[_DeleteCharPermanently] @charID as int
as
------------------------------------
-- ?? ??? ???? ?? ??!
------------------------------------
if (not exists(select charid from _deletedchar where charid = @charID))
begin
return -1
end
------------------------------------
-- ??? ??? ??? ?? 7?? ??? ?? (??? ?? ??? ??? ????...)
------------------------------------
declare @DeLeTed_date datetime
declare @cur_date datetime
declare @elapsed_min int
declare @userJID int
-- declare @DeLeTed_slot int
set @cur_date = getdate()
select @userJID = UserJID, / @DeLeTed_slot = CharSlot,*/ @DeLeTed_date = deleteddate from _deletedchar with (nolock) where charid = @charID

-- ????? 6? + 23?? ??? ?? ????? (1?? ??? ???? ??? ?? ??~)
set @elapsed_min = datediff(minute, @DeLeTed_date, @cur_date)
if @elapsed_min < ((60 * 24 * 6) + (60 * 23)))
begin
return -2
end
------------------------------------
-- ??? ??? ??? ???? ??
------------------------------------
declare @is_deleted tinyint
select @is_deleted = deleted from _Char where CharID = @charID
if (@is_deleted <> 1)
begin
return -3
end




------------------------------------
-- ?? ??? _User ? ?? CharID? ????? ??
------------------------------------
declare @char_id_to_check int
set @char_id_to_check = 0




/* -- commented by novice. for server integration.
if @DeLeTed_slot = 0)
begin select @char_id_to_check = CharID1 from _User where UserJID = @userJID end
else if @DeLeTed_slot = 1)
begin select @char_id_to_check = CharID2 from _User where UserJID = @userJID end
else if @DeLeTed_slot = 2)
begin select @char_id_to_check = CharID3 from _User where UserJID = @userJID end
else
begin
return -4
end
-- ?! ??? ???? ??? ?? ??? ???? ??!
if @char_id_to_check <> @charID)
begin
return -5
end
*/
-- start by novice.
select @char_id_to_check = CharID from _User where UserJID = @userJID and CharID = @charID

if @char_id_to_check = 0)
begin
-- ?? ???? _User ? ???
return -5
end
-- finish by novice.

begin transaction

declare @GuildID int
exec @GuildID = _DeleteCharPermanently_NoTX @userJID, @charID --, @DeLeTed_slot
if (@GuildID is null)
set @GuildID = -10000
if (@GuildID < 0)
begin
rollback transaction
return @GuildID
end
commit transaction

return @GuildID
 
Üst