Don't ask me why i am here, yes i fucking quited!.
Normal TUT [requires 1/4 a brain, if not go to the nub friendly down]:
Some Servers are having the problem is their prem items which they sell, they aren't going into the CentralBank(Storage)
Correctly, 1) The Button to move the items is disabled. 2) The Button works, but if its clicked the items disappears from both
equipment and storage(CentralBank).
The fix of this is pretty easy, the problem might be your ItemID which is lower than 40000, so that your Database isn't handling
it as a prem item.
You can simply remove it(the Check on the ItemID), so all your "iscash=true" items will work, but also any other item if set
(item.dbo should be then too); But you can just edit the function to work fine with any id so:
First Step:
Go to your GunzDB --> Saved Procedures --> spBringBackAccountItem.
This "Procedure" is responible to write the selected Item into your storage and to delete it from the equipment (moving to
storage).
Second Step:
I'll just type you the edits, its 1, 2 lines only:
1) Go and add this:
Code:
DECLARE @DEIIDCount int
near all the declares.
2) Before the first "If" Statment, add this:
Code:
SELECT @DEIIDCount=COUNT(*) FROM Item(nolock) WHERE
ItemID=@ItemID
it will see if the item exists in the "item.dbo Table", if yes then our declare DEIIDCount should has the
value 1 [1 Item Selected, 1 ItemID found in table which matchs it].
3) In the "If" Statment, edit the first line of it to
Code:
(@ItemID IS NOT NULL) AND (@DEIIDCount = 1)
i can't
really remember what the orginal was, but just replace the one which checks the itemid if its bigger than 40000 with i think that was all then, i hope i didn't miss something.
Idiots version(nubs friendly): [requires 1/10 a brain, if you still can't do it, get worried!]
Step 1:
Open Your MSSQL, go to GunzDB, Expand it, Select programmability (whatever its called), go to: Saved Procedures, Expand it.
Step 2:
Search for: "spBringBackAccountItem" (without the ""), Right click and select Edit.
Step 3:
Copy the text(in the CODE area) and Execute it [Replace the orginal text there with this).
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- 내 캐릭터 캐쉬아이템을 창고에 넣기 ---------
ALTER PROC [dbo].[spBringBackAccountItem]
@AID int,
@CID int,
@CIID int
AS
SET NOCOUNT ON
DECLARE @ItemID int
DECLARE @RentDate DATETIME
DECLARE @RentHourPeriod SMALLINT
DECLARE @Cnt SMALLINT
DECLARE @HeadCIID int
DECLARE @ChestCIID int
DECLARE @HandsCIID int
DECLARE @LegsCIID int
DECLARE @FeetCIID int
DECLARE @FingerLCIID int
DECLARE @FingerRCIID int
DECLARE @MeleeCIID int
DECLARE @PrimaryCIID int
DECLARE @SecondaryCIID int
DECLARE @Custom1CIID int
DECLARE @Custom2CIID int
DECLARE @DEIIDCount int
SELECT
@HeadCIID=head_slot, @ChestCIID=chest_slot, @HandsCIID=hands_slot,
@LegsCIID=legs_slot, @FeetCIID=feet_slot, @FingerLCIID=fingerl_slot, @FingerRCIID=fingerr_slot,
@MeleeCIID=melee_slot, @PrimaryCIID=primary_slot, @SecondaryCIID=secondary_slot,
@Custom1CIID=custom1_slot, @Custom2CIID=custom2_slot
FROM Character(nolock) WHERE cid=@CID AND aid=@AID
SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
FROM CharacterItem WHERE CIID=@CIID AND CID=@CID
SELECT @DEIIDCount=COUNT(*) FROM Item(nolock) WHERE ItemID=@ItemID
IF ((@ItemID IS NOT NULL) AND (@DEIIDCount = 1) AND
(@HeadCIID IS NULL OR @HeadCIID != @CIID) AND
(@ChestCIID IS NULL OR @ChestCIID != @CIID) AND
(@HandsCIID IS NULL OR @HandsCIID != @CIID) AND
(@LegsCIID IS NULL OR @LegsCIID != @CIID) AND
(@FeetCIID IS NULL OR @FeetCIID != @CIID) AND
(@FingerLCIID IS NULL OR @FingerLCIID != @CIID) AND
(@FingerRCIID IS NULL OR @FingerRCIID != @CIID) AND
(@MeleeCIID IS NULL OR @MeleeCIID != @CIID) AND
(@PrimaryCIID IS NULL OR @PrimaryCIID != @CIID) AND
(@SecondaryCIID IS NULL OR @SecondaryCIID != @CIID) AND
(@Custom1CIID IS NULL OR @Custom1CIID != @CIID) AND
(@Custom2CIID IS NULL OR @Custom2CIID != @CIID))
BEGIN
BEGIN TRAN -------------
UPDATE CharacterItem SET CID=NULL WHERE CIID=@CIID AND CID=@CID
IF 0 = @@ROWCOUNT BEGIN
ROLLBACK TRAN
RETURN
END
INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod, Cnt)
VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod, @Cnt)
IF 0 <> @@ERROR BEGIN
ROLLBACK TRAN
RETURN
END
COMMIT TRAN -----------
END
-------------------------------------------------------------
If you had this already, using a better/other way, don't reply saying shit.[TY]
Hope it helps. :)