Code:
USE [PS_GameData] GO /****** Object: Trigger [dbo].[Auto_Enchant] Script Date: 6/16/2015 1:11:16 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [dbo].[Auto_Enchant] ON [dbo].[UserStoredItems] AFTER INSERT AS BEGIN SET NOCOUNT ON; DECLARE @UserUID INT DECLARE @Slot INT DECLARE @Types TINYINT DECLARE @CraftName VARCHAR(20) DECLARE @Enchant NVARCHAR(2) DECLARE @Rolls VARCHAR(18) SET @UserUID = (SELECT UserUID FROM inserted) SET @Slot = (SELECT Slot FROM inserted) SET @Types = (SELECT [Type] FROM inserted) SET @CraftName = (SELECT Craftname FROM inserted) SET @Enchant = (SELECT SUBSTRING(Craftname, 19, 2) FROM inserted) SET @Rolls = (SELECT CAST(SUBSTRING(Craftname, 1, 18) AS NVARCHAR)FROM inserted) IF @Types IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,31,34,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,84) and @CraftName = '' BEGIN UPDATE UserStoredItems SET CRAFTNAME = 00000000000000000000 WHERE UserUID = @UserUID AND Slot = @Slot END IF @Types IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,31,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,84) AND @Enchant < 20 BEGIN SET @Enchant = 20 UPDATE UserStoredItems SET CRAFTNAME = @Rolls + @Enchant WHERE UserUID = @UserUID AND Slot = @Slot END ELSE IF @Types IN (16,17,18,19,20,21,67,68,70,71,31,32,33,34,35,36,82,83,85,86,24,39) AND @Enchant < 70 BEGIN SET @Enchant = 70 UPDATE UserStoredItems SET CRAFTNAME = @Rolls + @Enchant WHERE UserUID = @UserUID AND Slot = @Slot END END
Code:
USE [PS_GameData] GO /****** Object: StoredProcedure [dbo].[usp_Save_Char_Item_Add_E] Script Date: 6/16/2015 2:15:02 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO /****** 개체: 저장 프로시저 dbo.usp_Save_Char_Item_Add_E ******/ ALTER Proc [dbo].[usp_Save_Char_Item_Add_E] @CharID int, @ItemUID bigint, @Bag tinyint, @Slot tinyint, @ItemID int, @Type tinyint, @TypeID tinyint, @Quality int, @Gem1 tinyint, @Gem2 tinyint, @Gem3 tinyint, @Gem4 tinyint, @Gem5 tinyint, @Gem6 tinyint, @Craftname varchar(20) = '', @Count tinyint, @MaketimeZ varchar(50), @Maketype char(1) AS DECLARE @Maketime as datetime SELECT @Maketime = CONVERT(datetime, @MaketimeZ, 120) --SET NOCOUNT ON IF(@Quality >= 5000) BEGIN SET @Quality=0 END -- AUTO ENCHANT BY: ALCATRAZ------------------------------------------------------------------------------------------------------------------------------- DECLARE @Enchant NVARCHAR(2) DECLARE @Rolls VARCHAR(18) SET @Enchant = (SELECT SUBSTRING(@Craftname, 19, 2)) SET @Rolls = (SELECT CAST(SUBSTRING(@Craftname, 1, 18) AS NVARCHAR)) IF @Type IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,31,34,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,84) and @CraftName = '' BEGIN SET @Craftname = 00000000000000000000 END IF @Type IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,31,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,84) AND @Enchant < 20 BEGIN SET @Enchant = 20 SET @CRAFTNAME = @Rolls + @Enchant END ELSE IF @Type IN (16,17,18,19,20,21,67,68,70,71,31,32,33,34,35,36,82,83,85,86,24,39) AND @Enchant < 70 BEGIN SET @Enchant = 70 SET @CRAFTNAME = @Rolls + @Enchant END -- AUTO ENCHANT END---------------------------------------------------------------------------------------------------- INSERT INTO CharItems (CharID, bag, slot, ItemID, Type, TypeID, ItemUID, quality, gem1, gem2, gem3, gem4, gem5, gem6, craftname, [count], maketime, maketype) VALUES(@CharID, @Bag, @Slot, @ItemID, @Type, @TypeID, @ItemUID, @Quality, @Gem1, @Gem2, @Gem3, @Gem4, @Gem5, @Gem6, @Craftname, @Count, @Maketime, @Maketype) IF(@@ERROR = 0) BEGIN RETURN 1 END ELSE BEGIN RETURN -1 END