
Originally Posted by
leorond
Box of Heaven - Drop Kriss +0 to +15
Gens Quest - does not work
Land of Trial - Can only enter the Guild master or all
Registration for the Castle Siege - does not work
Settings are missing for some events
Summoner and Elf - Spells problem (dexterity)
Added Inventory - does not work
Valley of Loren event - configuration errors
Game Master Commands
/ Gg - the result of glass -> g text
/ Trace - okay
/ Move - okay
/ Skin - does not work
/ Make - does not work
! Text - does not work
blocking commands are fine
Box of Heaven:
Code:
//===================================================================================
// Description: Box of Luck/Heaven
//===================================================================================
//===================================================================================
// Type - Item.TXT index (section) of the Box
// Index - Item.TXT id of the Item
// Level - Level of the Item (+1, +2 etc...)
// Skill - Drop Item with Skill (0 - off,1 - on)
// Luck - Drop Item with Luck (0 - off,1 - on)
// Option - Option (1 = +4, 2 = +8, 3 = +12)
//===================================================================================
// Type Index Level Skill Luck Option
//===================================================================================
// Normal Items +4
//-----------------------------------------------------------------------------------
0 6 4 0 0 0 // Gladius
0 7 4 0 0 0 // Falchion
0 8 4 0 0 0 // Serpent Sword
0 9 4 0 0 0 // Sword of Salamander
0 5 4 0 0 0 // Blade
1 3 4 0 0 0 // Tomahawk
1 4 4 0 0 0 // Elven Axe
1 5 4 0 0 0 // Battle Axe
2 2 4 0 0 0 // Flail
3 6 4 0 0 0 // Halberd
3 1 4 0 0 0 // Light Spear
3 3 4 0 0 0 // Giant Trident
4 2 4 0 0 0 // Elven Bow
4 10 4 0 0 0 // Arquebus
4 3 4 0 0 0 // Battle Bow
5 1 4 0 0 0 // Angelic Staff
5 2 4 0 0 0 // Serpent Staff
6 6 4 0 0 0 // Skull Shield
6 10 4 0 0 0 // Large Round Shield
6 3 4 0 0 0 // Elven Shield
6 9 4 0 0 0 // Plate Shield
7 0 4 0 0 0 // Bronze Helm
8 0 4 0 0 0 // Bronze Armor
9 0 4 0 0 0 // Bronze Pants
10 0 4 0 0 0 // Bronze Gloves
11 0 4 0 0 0 // Bronze Boots
7 4 4 0 0 0 // Bone Helm
8 4 4 0 0 0 // Bone Armmor
9 4 4 0 0 0 // Bone Pants
10 4 4 0 0 0 // Bone Gloves
11 4 4 0 0 0 // Bone Boots
7 6 4 0 0 0 // Scale Helm
8 6 4 0 0 0 // Scale Armmor
9 6 4 0 0 0 // Scale Pants
10 6 4 0 0 0 // Scale Gloves
11 6 4 0 0 0 // Scale Boots
7 11 4 0 0 0 // Silk Helm
8 11 4 0 0 0 // Silk Armmor
9 11 4 0 0 0 // Silk Pants
10 11 4 0 0 0 // Silk Gloves
11 11 4 0 0 0 // Silk Boots
//-----------------------------------------------------------------------------------
// Pets / Misc
//-----------------------------------------------------------------------------------
// 13 0 0 0 0 0 // Guardian Angel
// 13 1 0 0 0 0 // Imp
// 13 2 0 0 0 0 // Horn of Uniria
// 13 8 0 0 0 2 // Ring of Ice
// 13 9 0 0 0 2 // Ring of Poison
// 13 12 0 0 0 2 // Pendant of Lighting
// 13 13 0 0 0 2 // Pendant of Fire
//-----------------------------------------------------------------------------------
// Jewels
//-----------------------------------------------------------------------------------
12 15 0 0 0 0 // Jewel of Chaos
14 13 0 0 0 0 // Jewel of Bless
14 14 0 0 0 0 // Jewel of Soul
...for inventory and seal buff you need edit "Stored Procedures":
- WZ_PeriodItemDelete
- WZ_PeriodItemDeleteEx
- WZ_PeriodItemInsert
- WZ_PeriodItemInsertEx
- WZ_PeriodItemSelect
- WZ_PeriodItemSelectEx
- WZ_PeriodItemUpdate
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemDelete]
@userGuid int,
@CharacterName varchar(10)
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @ItemInfoCount int
SET @ErrorCode = 0
SET @ItemInfoCount = 0
SET NOCOUNT ON
SELECT @ItemInfoCount = COUNT(*) FROM T_PeriodItem_Info where UserGuid = @userGuid AND CharacterName = @CharacterName
IF( @ItemInfoCount < 1 )
BEGIN
SET @ErrorCode = 1
END
IF( @ErrorCode <> 1 )
BEGIN
UPDATE T_PeriodItem_Info SET UsedInfo = 0 WHERE UserGuid = @userGuid AND CharacterName = @CharacterName
END
SELECT @ErrorCode
SET NOCOUNT OFF
END
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemDeleteEx]
@userGuid int,
@CharacterName varchar(10),
@ItemCode int,
@ItemType tinyint,
@serial bigint
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @ItemInfoCount int
SET @ErrorCode = 0
SET @ItemInfoCount = 0
SET NOCOUNT ON
SELECT @ItemInfoCount = COUNT(*) FROM PeriodItemEx where UserGuid = @userGuid AND Name = @CharacterName AND ItemCode = @ItemCode AND ItemType = @ItemType AND SerialCode = @serial
IF( @ItemInfoCount < 1 )
BEGIN
SET @ErrorCode = 1
END
IF( @ErrorCode <> 1 )
BEGIN
DELETE FROM PeriodItemEx WHERE UserGuid = @userGuid AND Name = @CharacterName AND ItemCode = @ItemCode AND ItemType = @ItemType AND SerialCode = @serial
END
SELECT @ErrorCode
SET NOCOUNT OFF
END
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_PeriodItemInsert] Script Date: 01/29/2016 12:34:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemInsert]
@userGuid int,
@CharacterName varchar(10),
@ItemCode int,
@OptiOnType tinyint,
@EffectType1 tinyint,
@EffectType2 tinyint,
@TotalUsePeriod int,
@ExpireDate varchar(20)
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @periodItemIndex int
SET @ErrorCode = 0
SET @periodItemIndex = 0
SET XACT_ABORT ON
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @periodItemIndex = PeriodIndex FROM T_PeriodItem_Info WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND OptionType = @OptiOnType AND UsedInfo = 1
--IF ( @periodItemIndex != 0 )
--BEGIN
-- UPDATE T_PeriodItem_Info SET UsedInfo = 0 WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND OptionType = @OptiOnType AND UsedInfo = 1
--END
INSERT INTO T_PeriodItem_Info (UserGuid, CharacterName, ItemCode, OptionType, EffectType1, EffectType2, LeftTime, BuyDate, ExpireDate, UsedInfo) VALUES
( @userGuid, @CharacterName, @ItemCode, @OptiOnType, @EffectType1, @EffectType2, @TotalUsePeriod, GETDATE(), @ExpireDate, 1 )
IF( @ERROR <> 0 )
BEGIN
SET @ErrorCode = 2
END
IF ( @ErrorCode <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SELECT @ErrorCode
SET NOCOUNT OFF
SET XACT_ABORT OFF
END
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[WZ_PeriodItemInsertEx]
@userGuid int,
@CharacterName varchar(10),
@ItemType tinyint,
@ItemCode int,
@EffectCategory tinyint,
@EffectType1 tinyint,
@EffectType2 tinyint,
@serial bigint,
@Duration int,
@BuyDate bigint,
@ExpireDate bigint
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @periodItemIndex int
SET @ErrorCode = 0
SET @periodItemIndex = 0
SET XACT_ABORT ON
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @periodItemIndex = PeriodIndex FROM PeriodItemEx WHERE UserGuid = @userGuid AND Name = @CharacterName AND ItemCode = @ItemCode AND ItemType = @ItemType AND OptionType = @EffectCategory AND ItemType != 2
IF ( @periodItemIndex != 0 )
BEGIN
DELETE FROM PeriodItemEx WHERE UserGuid = @userGuid AND Name = @CharacterName AND ItemCode = @ItemCode AND ItemType = @ItemType AND OptionType = @EffectCategory
END
INSERT INTO PeriodItemEx (UserGuid, Name, ItemType, ItemCode, EffectType1, EffectType2, OptionType, SerialCode, Duration, BuyDateConvert, ExpireDateConvert) VALUES
( @userGuid, @CharacterName, @ItemType, @ItemCode, @EffectType1, @EffectType2, @EffectCategory, @serial, @Duration, @BuyDate, @ExpireDate)
IF( @ERROR <> 0 )
BEGIN
SET @ErrorCode = 2
END
IF ( @ErrorCode <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SELECT @ErrorCode
SET NOCOUNT OFF
SET XACT_ABORT OFF
END
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemSelect]
@userGuid int,
@CharacterName varchar(10)
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @ItemInfoCount int
DECLARE @periodIndex int
DECLARE @ExpireDate smalldatetime
DECLARE @useDInfo tinyint
SET @periodIndex = 0
SET @ErrorCode = 0
SET @ItemInfoCount = 0
SET @useDInfo = 0
SET NOCOUNT ON
DECLARE CUR CURSOR FOR SELECT [PeriodIndex], [ExpireDate], [UsedInfo] FROM T_PeriodItem_Info WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND UsedInfo = 1 FOR UPDATE
OPEN CUR
FETCH NEXT FROM CUR INTO @periodIndex, @ExpireDate, @useDInfo
WHILE( @@fetch_status <> -1 )
BEGIN
IF( @@fetch_status <> -2 )
BEGIN
IF( @ExpireDate < GetDate() )
BEGIN
UPDATE T_PeriodItem_Info SET UsedInfo = 0 WHERE PeriodIndex = @periodIndex
END
END
FETCH NEXT FROM CUR INTO @periodIndex, @ExpireDate, @useDInfo
END
SELECT *, DATEDIFF( minute, BuyDate, GETDATE() ) AS UsedMinutes, DATEDIFF( minute, GETDATE(), ExpireDate ) AS LeftMinutes FROM T_PeriodItem_Info where UserGuid = @userGuid AND CharacterName = @CharacterName AND UsedInfo = 1
IF( @ERROR <> 0 )
BEGIN
SET @ErrorCode = -1
END
CLOSE CUR
DEALLOCATE CUR
SET NOCOUNT OFF
END
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemSelectEx]
@userGuid int,
@CharacterName varchar(10)
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @ItemInfoCount int
DECLARE @periodIndex int
DECLARE @ExpireDate smalldatetime
DECLARE @useDInfo tinyint
SET @periodIndex = 0
SET @ErrorCode = 0
SET @ItemInfoCount = 0
SET @useDInfo = 0
SET NOCOUNT ON
DECLARE CUR CURSOR FOR SELECT [PeriodIndex] FROM PeriodItemEx WHERE UserGuid = @userGuid AND Name = @CharacterName FOR UPDATE
OPEN CUR
FETCH NEXT FROM CUR INTO @periodIndex
WHILE( @@fetch_status <> -1 )
BEGIN
/*IF( @@fetch_status <> -2 )
BEGIN
IF( @ExpireDate < GetDate() )
BEGIN
UPDATE T_PeriodItem_Info SET UsedInfo = 0 WHERE PeriodIndex = @periodIndex
END
END*/
FETCH NEXT FROM CUR INTO @periodIndex/*, @ExpireDate, @useDInfo*/
END
SELECT * FROM PeriodItemEx where UserGuid = @userGuid AND Name = @CharacterName
IF( @ERROR <> 0 )
BEGIN
SET @ErrorCode = -1
END
CLOSE CUR
DEALLOCATE CUR
SET NOCOUNT OFF
END
Code:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_PeriodItemUpdate]
@userGuid int,
@CharacterName varchar(10),
@ItemCode int,
@useDTime int,
@LeftTime int
AS
BEGIN
DECLARE @ErrorCode int
DECLARE @ItemInfoCount int
DECLARE @retLeftTime int
SET @ErrorCode = 0
SET @ItemInfoCount = 0
SET @retLeftTime = 0
SET XACT_ABORT ON
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @ItemInfoCount = COUNT(*) FROM T_PeriodItem_Info where UserGuid = @userGuid AND CharacterName = @CharacterName AND UsedInfo = 1
IF( @ItemInfoCount <> 1 )
BEGIN
SET @ErrorCode = 1
END
ELSE
BEGIN
UPDATE T_PeriodItem_Info SET UsedTime = UsedTime + @useDTime, LeftTime = @LeftTime WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND ItemCode = @ItemCode AND UsedInfo = 1
IF( @ERROR <> 0 )
BEGIN
SET @ErrorCode = 2
END
END
SELECT @retLeftTime = LeftTime FROM T_PeriodItem_Info where UserGuid = @userGuid AND CharacterName = @CharacterName AND ItemCode = @ItemCode AND UsedInfo = 1
IF ( @retLeftTime <= 0 )
BEGIN
UPDATE T_PeriodItem_Info SET UsedInfo = 0, LeftTime = 0 WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND ItemCode = @ItemCode AND UsedInfo = 1
SET @ErrorCode = 3
END
IF ( @ErrorCode <> 0 AND @ErrorCode <> 3 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SELECT @ErrorCode
SET NOCOUNT OFF
SET XACT_ABORT OFF
END