[FIX] Buy itens premmy

Results 1 to 2 of 2
  1. #1
    Account Upgraded | Title Enabled! willianmorvan is offline
    MemberRank
    Jan 2007 Join Date
    225Posts

    [FIX] Buy itens premmy

    use code in mssql



    /****** Object: Stored Procedure dbo.spBuyBountyItem Script Date: 5/10/2007 3:41:58 PM ******/
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spBuyBountyItem]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[spBuyBountyItem]
    GO
    /****** Object: Stored Procedure dbo.spBuyBountyItem Script Date: 5/10/2007 3:42:11 PM ******/

    CREATE PROC [spBuyBountyItem]
    @CID INT,
    @ItemID INT,
    @Price INT
    AS
    SET NOCOUNT ON
    BEGIN
    DECLARE @OrderCIID int
    DECLARE @Bounty INT
    BEGIN TRAN
    -- 잔액검사
    SELECT @Bounty=BP FROM Character(NOLOCK) WHERE CID=@CID
    IF @Bounty IS NULL OR @Bounty < @Price
    BEGIN
    ROLLBACK TRAN
    RETURN 0
    END
    -- Bounty 감소
    UPDATE Character SET BP=BP-@Price WHERE CID=@CID
    IF 0 = @@ROWCOUNT
    BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    -- Item 추가
    INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
    IF 0 <> @@ERROR
    BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SELECT @OrderCIID = @@IDENTITY

    -- Item 구매로그 추가
    INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
    VALUES (@ItemID, @CID, GETDATE(), @Price, @Bounty, '구입')
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SELECT @OrderCIID as ORDERCIID
    COMMIT TRAN
    RETURN 1
    END


    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_NULLS ON
    GO


    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Item_PurchaseItemByBountyHistory_FK20050314]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
    ALTER TABLE [dbo].[ItemPurchaseLogByBounty] DROP CONSTRAINT Item_PurchaseItemByBountyHistory_FK20050314
    GO



    /****** Object: Stored Procedure dbo.spBuyBountyItem Script Date: 5/10/2007 3:41:58 PM ******/
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spBuyBountyItem]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[spBuyBountyItem]
    GO



    /****** Object: Stored Procedure dbo.spBuyBountyItem Script Date: 5/10/2007 3:42:11 PM ******/

    CREATE PROC [spBuyBountyItem]
    @CID INT,
    @ItemID INT,
    @Price INT
    AS
    SET NOCOUNT ON
    BEGIN
    DECLARE @OrderCIID int
    DECLARE @Bounty INT
    BEGIN TRAN
    -- 잔액검사
    SELECT @Bounty=BP FROM Character(NOLOCK) WHERE CID=@CID
    IF @Bounty IS NULL OR @Bounty < @Price
    BEGIN
    ROLLBACK TRAN
    RETURN 0
    END
    -- Bounty 감소
    UPDATE Character SET BP=BP-@Price WHERE CID=@CID
    IF 0 = @@ROWCOUNT
    BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    -- Item 추가
    INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
    IF 0 <> @@ERROR
    BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SELECT @OrderCIID = @@IDENTITY

    -- Item 구매로그 추가
    INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
    VALUES (@ItemID, @CID, GETDATE(), @Price, @Bounty, '구입')
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SELECT @OrderCIID as ORDERCIID
    COMMIT TRAN
    RETURN 1
    END


    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_NULLS ON
    GO



    credits by me


  2. #2
    Account Upgraded | Title Enabled! alfredao is offline
    MemberRank
    Jan 2008 Join Date
    Coronel FabriciLocation
    705Posts

    Re: [FIX] Buy itens premmy

    K, isso seria um codigo so??

    ou tem q executar um de cada vez??

    sei q vc



Advertisement