PoiSSioN Admin
Mesaj Sayısı : 127 Rep Puanı : 333 Kayıt tarihi : 02/08/09 Yaş : 28 Nerden : Bilmem x) Ruh hali : Takımın :
| Konu: [KO][PAYLAŞIM] Kral Ekleme/Silme Prosedurunde Son Nokta, Hemde Res Cekmeden. Cuma Eyl. 18, 2009 1:32 pm | |
| Aşağıda verdigim kodu Calıstırın. ve Tek Komutla Krak Ekleyip Silin. ve Oyuna Restart Çekmeden. Örnek * : Kullanımı : EXEC KRAL 'Hasan' Hasan adlı Oyuncu Kral olarak Eklendi, Oyuncu oyunda olmasın Ebenzer Consola /reload_king komutunu yazdıktan sonra bir bakıyorsunuz. Hasan adlı oyuncu Kral olmus. Eğer eklediginiz Kralı silmek istiyorsanız gene aynı komutu kullanıyoruz. EXEC KRAL 'Hasan' Prosedur bakıyor hasan adlı oyuncu daha onceden kralmı eger kralsa siliyor degilse ekliyor. Bu kadar basit.Biz Hasan adlı oyuncuyu daha once kral olarak ekledigimiz için Krallıktan silecektir. ve Değişikliklerin Geçerli olması için tekrar ebenzere /reload_king komutunu yazıyoruz ve işte bu kadar. Herkese iyi günler dilerim. Kod : - Kod:
-
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KRAL]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[KRAL] GO
CREATE PROCEDURE [dbo].[KRAL] @CharID varchar(21) AS /* AUTHOR : omear Kullanım : EXEC KRAL 'CharID' */ BEGIN SET NOCOUNT ON SET LANGUAGE Turkish DECLARE @KnightsIndex smallint,@Nation tinyint,@IsValidUserID tinyint,@Aut tinyint,@Row tinyint SELECT @Nation = Nation, @KnightsIndex = Knights, @Aut = Authority FROM USERDATA WHERE strUserId = @CharID SELECT @Row = Count(*) FROM KING_ELECTION_LIST WHERE strName = @CharID and byType=1
SELECT @IsValidUserID = COUNT(*) FROM USERDATA WHERE strUserID = @CharID IF @IsValidUserId = 0 BEGIN PRINT '# KRAL EKLEME/SILME Işlemi ;' PRINT '#' PRINT '# '+ RTRIM(LTRIM(@CharID)) + ' Adında Kullanıcı Bulunamadı, Bu Nedenle Işlem Gercekleştirilemedi.' PRINT '#' END ELSE IF @Row > 0 BEGIN DELETE FROM KING_ELECTION_LIST WHERE strName = @CharID PRINT '# KRAL EKLEME/SILME Işlemi ;' PRINT '#' PRINT '# '+ RTRIM(LTRIM(@CharID)) +' Kullanıcının Krallığı Başarıyla ''Silinmiştir''.' PRINT '# Değişikliklerin Gecerli Olması İçin Ebenezere /reload_king Yazmanız Yeterlidir.' PRINT '#' PRINT '#' RETURN END
ELSE IF @Aut <> 0 AND @Aut <> 1 BEGIN PRINT '# KRAL EKLEME/SILME Işlemi ;' PRINT '#' PRINT '# '+ RTRIM(LTRIM(@CharID)) + ' Hata! Geçersiz Kullanıcı Yetkisi.' PRINT '#' RETURN END
ELSE BEGIN IF @Aut = 1 BEGIN IF EXISTS (SELECT * FROM KING_ELECTION_LIST WHERE strName = @CharID AND byType=2) DELETE FROM KING_ELECTION_LIST WHERE strName = @CharID INSERT INTO KING_ELECTION_LIST VALUES(1, @Nation, @KnightsIndex, @CharID, 0) UPDATE KING_SYSTEM SET /*byType=7,byItemType=2,*/ nTerritoryTax = 1000000000, nNationalTreasury = 2100000000, strKingName = @CharID WHERE byNation = @Nation PRINT '# KRAL EKLEME/SILME Işlemi ;' PRINT '#' PRINT '# ' + RTRIM(LTRIM(@CharID)) +' Adlı Kullanıcı Başarıyla Kral ''Olmuştur''.' PRINT '# Değişikliklerin Gecerli Olması İçin Ebenezere /reload_king Yazmanız Yeterlidir.' PRINT '#' PRINT '#' END ELSE IF @Aut = 0 BEGIN IF EXISTS (SELECT * FROM KING_ELECTION_LIST WHERE strName = @CharID AND byType=2) DELETE FROM KING_ELECTION_LIST WHERE strName = @CharID INSERT INTO KING_ELECTION_LIST VALUES(1, @Nation, @KnightsIndex, @CharID, 0) UPDATE KING_SYSTEM SET /*byType=7,byItemType=2,*/ nTerritoryTax = 1000000000, nNationalTreasury = 2100000000 WHERE byNation = @Nation PRINT '# KRAL EKLEME/SILME Işlemi ;' PRINT '#' PRINT '# ' + RTRIM(LTRIM(@CharID)) +' Adlı Oyun Yönetcisi Başarıyla ''Kral Olmuştur''.' PRINT '# Değişikliklerin Gecerli Olması İçin Ebenezere /reload_king Yazmanız Yeterlidir.' PRINT '#' PRINT '#' END END END | |
|