You will need to obtain the Dimension Pillar ID. You can use the following query to get the pillar ID from the database.
SELECT ID FROM SRO_VT_SHARD.._RefObjCommon WHERE CodeName128 = 'DimensionPillar_CodeName'
Stored Procedure: _Trigger_OnPillarUse
Parameters:
@CharID INT- Character ID@ItemSlot TINYINT- Pillar slot
Let us block the usage of the level 100-110 [Shipwreck ★] Dimension Pillar and send a text notification using
_Char_SendTextNotification
to make sure that the trigger works correctly.
USE [vPlus]
GO
/****** Object: StoredProcedure [dbo].[_Trigger_OnPillarUse] Script Date: 1/16/2024 4:18:45 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[_Trigger_OnPillarUse]
@CharID INT,
@ItemSlot TINYINT
AS
BEGIN
SET NOCOUNT ON;
--------- Your code starts here --------
DECLARE @RefItemID INT = (
SELECT RefItemID
FROM SRO_VT_SHARD.._Items
WHERE ID64 IN (
SELECT ItemID
FROM SRO_VT_SHARD.._Inventory
WHERE Slot = @ItemSlot AND CharID = @CharID
)
)
IF (@RefItemID = 35901) -- 1 Star
BEGIN
EXEC _Char_SendTextNotification @CharID, 'This Dimension Pillar is disabled at the moment!', 1, 0, 0
RETURN 0 -- Blocking the character from using the pillar
END
RETURN 1 -- Valid
END