03-24-2013, 10:15 AM
Приветствую всех жителей этого форума! Прошу помочь с решением проблемы.
Знающие люди подскажите как исправить данную процедуру, чтобы количество SoulShot's при использовании превращалось в количество равное 100, на работу с моей базой lin2world
Процедура на бесконечные соулшоты:
База lin2world которая в данный момент используется:
http://l2.ee/downloads/7_lin2world.sql
Знающие люди подскажите как исправить данную процедуру, чтобы количество SoulShot's при использовании превращалось в количество равное 100, на работу с моей базой lin2world
Процедура на бесконечные соулшоты:
Код:
ALTER PROCEDURE [DBO].[lin_AmountChange]
(
@char_id INT,
@item_id INT,
@change INT,
@item_type INT,
@bZeorDelete INT = 0
)
AS
SET NOCOUNT ON
DECLARE @nResultAmount INT
SET @nResultAmount = -1
IF(select top 1 amount from user_item where char_id = @char_id AND item_id = @item_id ) + @change >= 0
begin
select @item_type=item_type from user_item where item_id = @item_id
if @item_type in (1463, 1464, 1465, 1466, 1467, 1835, 2509, 2510, 2511, 2512, 2513, 2514, 3947, 3948, 3949, 3950, 3951, 3952, 5789, 5790, 6645, 6646)
begin
SELECT 100
end
else begin
UPDATE user_item SET amount = amount + @change WHERE char_id = @char_id AND item_id = @item_id
IF NOT @@ROWCOUNT = 1
SELECT -1
ELSE
SELECT @nResultAmount = ISNULL(amount, -1) FROM user_item WHERE char_id = @char_id AND item_id = @item_id
IF ( @nResultAmount = 0 AND @bZeorDelete = 1)
BEGIN
DELETE user_item WHERE char_id = @char_id AND item_id = @item_id
-- UPDATE user_item SET char_id = 0, item_type = 0 WHERE char_id = @char_id AND item_id = @item_id
END
SELECT @nResultAmount
end
end
else
select -1
GO
База lin2world которая в данный момент используется:
http://l2.ee/downloads/7_lin2world.sql