• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

"Just for fun - Nothing to do" GM gear coupon :P

Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Yes now works :p , thnkx ^.^ , i knew i wasnt going crazy :). Bah i need to learn sql more lol.

and yeah i did put '7' , but i also tried '07' and it was same thing. But you're update fixed it so now its all good ^.^

Excellent :), nice work, btw without my update you can make it work though, see the data type of "@EQDegree" in the SP, it's VARCHAR(2) not INT, means even without the update, you can run correctly from SQL window: EXEC _ADD_GM_GEAR 'yourchar', 'LIGHT', '07', 12 <-- put '07' (with ' ') instead of 07.

cheers

Char Ref ID's were different in the 110 Blackrogue files, so i had to modify them in the procedure for it to know what character you were using to give you the items.

Well, I did made it on vsro 188, but if @RefCharID in BR files are different, what's the RefCharID for Chinesse Male, Chinesse Female, Euro Male, and Euro Female on BR110 db? perhaps i can combine it so it will work on your BR server without breaking it's original function to work on vsro 188.

thanks
 
Junior Spellweaver
Joined
Jun 10, 2012
Messages
156
Reaction score
30
Euro characters werent getting anything because the RefChar ID's are wrong, so without my fixed proc it shouldnt of worked for you.

Well i never did try with euro's. But thanx for that update of the char id. Changed it alrdy in mines :p
 
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Excellent, I got your PM about RefCharID, it's the same for chinese chars, but different on euro, i'll update the SP attachment now to make it work on both vSRO and BR110. Thanks a lot for your info

cheers

--

Alright, this is the update: (Attachment on first page also updated)

Find these lines:
Code:
    IF (@RefCharID BETWEEN 14875 AND 14887) -- European Male
    BEGIN
        SET @CharRace = 'EU'
        SET @CharGender = 'M'
    END
    IF (@RefCharID BETWEEN 14888 AND 14900) -- European Female
    BEGIN
        SET @CharRace = 'EU'
        SET @CharGender = 'W'
    END
And change to this:
Code:
    IF (@RefCharID BETWEEN 14875 AND 14887) -- European Male (vSRO)
    OR (@RefCharID BETWEEN 14717 AND 14729) -- European Male (BR110)
    BEGIN
        SET @CharRace = 'EU'
        SET @CharGender = 'M'
    END
    IF (@RefCharID BETWEEN 14888 AND 14900) -- European Female (vSRO)
    OR (@RefCharID BETWEEN 14730 AND 14742) -- European Female (BR110) 
    BEGIN
        SET @CharRace = 'EU'
        SET @CharGender = 'W'
    END

Thanks to you both, now it should work for Euro Char on both vSRO and BR110 db :)
 
Last edited:
Experienced Elementalist
Joined
Sep 11, 2012
Messages
241
Reaction score
35
SRO_VT_SHARD.dbo._ADD_GM_GEAR
underlined why ?
 
Joined
Jan 15, 2009
Messages
692
Reaction score
128
How did you get it working on br110 files? I Just can't get the scroll work. Logs work fine, the query works fine but the scroll just doesn't work...:?: (Also i couldn't figure out where to put the textdata_object lines at the txt)

Screens: Screenshot by Lightshot Screenshot by Lightshot

Well according to the 2nd screenshot you posted there its working when using the command to give you the gear, but your saying when your using the scroll your just getting teleported and getting no items?

The only problem i still have which i cant be bothered to fix at the moment is the scroll will work when giving 1D-10D set but will not give you a higher set than 10D. Try going to _ADD_GM_GEAR procedure and making the gear suffix

Code:
DECLARE @GearSuffix VARCHAR(16) = 'C_RARE'

And then try and use the scroll and see if it works.

By the way, if you want to delete your characters properly from your account in blackrogue if your doing alot of testing here's a fixed procedure for _DeleteCharPermanently_NoTX.

Code:
USE [BR_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_DeleteCharPermanently_NoTX]    Script Date: 11/29/2013 08:54:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--------------------------------------------------------------------------------------------------------------------------
-- PROC #5
-- _DeleteCharPermanently ?????????? ???????? ?????? ?????? ?????? ?????????? ?????? ???? ?????? ?????? ????! - by zone0000 (??????)
--------------------------------------------------------------------------------------------------------------------------
ALTER   PROCEDURE [dbo].[_DeleteCharPermanently_NoTX]
	@UserJID	int,
	@CharID	int
as
	------------------------------------
	-- Inventory?? ?????? ?????? ???? ???????? ??????????...
	------------------------------------
	-------------- ?? ???? ?????????? ???? ???? ----------------
	declare @result int
	declare @Slot tinyint
	declare @RefItemID int
	
	declare pc_inv_cursor cursor fast_forward for
	select inv.slot
	from _Inventory as inv join _Items as it on inv.ItemID = it.ID64 
	where 
	(inv.CharID = @CharID and inv.Slot >= 13 and inv.ItemID > 0) and 	-- ?????? ???????? ?????? ???? ???? ???????? ???? ??????????
	(it.Data <> 0) 											 and	-- ???????? ?????? ????
	(exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2)) -- ?????? ???????? ??????~
	
	open pc_inv_cursor 
	fetch next from pc_inv_cursor  into @slot
	while @@fetch_status = 0
	begin
			exec @result = _STRG_DEL_ITEM_NoTX 1, @CharID, @Slot	
			if (@result < 0)
			begin
				close pc_inv_cursor 
				deallocate pc_inv_cursor 
				return @result
			end
						
			fetch next from pc_inv_cursor  into @Slot
	end
	
	close pc_inv_cursor 
	deallocate pc_inv_cursor 
	------------------- ???? ???????? ???? ????  -------------------
	-- ???????? ???????? ??????...
	if (exists (select top 1 itemID from _Inventory where CharID = @CharID AND ItemID <> 0))
	begin
		update _ItemPool Set InUse = 0 
		from _ItemPool as pool join _Inventory as inv on pool.ItemID = Inv.ItemID
		where Inv.CharID = @CharID and Inv.ItemID <> 0
	end
	----------- ???????? ???????? ?????????? ???????? ????  ------------
	delete from _Inventory where CharID = @CharID
	if (@@error <> 0)
	begin
		return -10001
	end

	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	--		APPLY_AVATAR_SYSTEM (??????) 
	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	------------------- ???? ?????? ???????? ???????? ???? ????  -------------------
	-- ???????? ???????? ??????...
	if (exists (select top 1 itemID from _InventoryForAvatar where CharID = @CharID AND ItemID <> 0))
	begin
		update _ItemPool Set InUse = 0 
		from _ItemPool as pool join _InventoryForAvatar as InvAva on pool.ItemID = InvAva.ItemID
		where InvAva.CharID = @CharID and InvAva.ItemID <> 0
	end
	----------- ???????? ???????? ?????????? ?????? ???????? ????  ------------
	delete from _InventoryForAvatar where CharID = @CharID
	if (@@error <> 0)
	begin
		return -10008
	end

	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	--		APPLY_AVATAR_SYSTEM (??????) 
	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	------------------------------------
	-- COS ????
	------------------------------------
/*
	declare @engaged_cos int
	set @engaged_cos = 0
	select @engaged_cos = EngagedCOS from _char with (nolock) where CharID = @CharID
	
	if (@engaged_cos = 0)
	begin
		-- ?? ???????? ?? ?? ??????????... ???? ?????? COS ?? ???????? ?????? ????????... -_-;
		select @engaged_cos = ID from _CharCOS with (nolock) where OwnerCharID = @CharID
		if (@engaged_cos is null)
			set @engaged_cos = 0
	end
	if (@engaged_cos is not null and @engaged_cos <> 0)
	begin
		declare @Return_Del_COS int
		exec @Return_Del_COS = _DeleteCharCOS_NoTX  @CharID, @engaged_cos
		if (@Return_Del_COS < 0)
		begin
			return -10002
		end
	end
*/

	------------------------------------
	-- TrijobSafeTrade ?????? ????
	------------------------------------
	delete from _CharTrijobSafeTrade where CharID = @CharID

	------------------------------------
	-- Trijob ?????? ????
	------------------------------------
	delete from _CharTrijob where CharID = @CharID
	------------------------------------
	-- ???? ????
	------------------------------------
	delete _CharSkill where CharId = @CharID
	delete _CharSkillMastery where charId = @CharID
	------------------------------------
	-- ?????? ????
	------------------------------------
	delete _CharQuest where CharID = @CharID
	------------------------------------
	-- ???? ???? ????
	------------------------------------
	-- !!! ???? ?????? Guild ???? ?????? ???????? ?????? ShardManager ???? 
	-- _Guild_DelMember ?????? ?????? ???????? ????! ?????? ?? ?????? Skip???? 
	-- ?????????? ?????? ???????? ???? ??????...
	declare @GuildID int
	set @GuildID = 0
	select @GuildID = GuildID from _char where charid = @CharID
	if (@GuildID is not null and @GuildID <> 0)
	begin
		if (not exists (select ID from _Guild where ID = @GuildID))
		begin
			update _Char set GuildID = 0 where CharID = @CharID
		end
		else
		begin
			declare @Return_Del_GuildMember int
			exec @Return_Del_GuildMember = _Guild_DelMember_NoTX @GuildID, @CharID
			if (@Return_Del_GuildMember < 0)
				return -10003
		end
	end

	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	--		APPLY_MENTOR_SYSTEM (??????) 
	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	DECLARE @CampID INT
	SET @CampID = 0
	SELECT @CampID = CampID FROM _TrainingCampMember WHERE CharID = @CharID 
	IF (@CampID IS NOT NULL AND @CampID <> 0)
	BEGIN
		DECLARE @Ret_DelCampMember INT
		EXEC @Ret_DelCampMember = _TRAINING_CAMP_DELMEMBER @CampID, @CharID, 0
		IF (@Ret_DelCampMember < 0)
			RETURN -10007
	END

	-- ?????? ??????????~ ??.
	DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @CharID

	-- ?????? ???? ????????~~ ????
	DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID

	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	--		APPLY_MENTOR_SYSTEM (??????) 
	--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	-----------------------------------
	-- ???? ?????? ???? ( ???? ???? ?????? + ?????? ???? ???????? ?? )
	-----------------------------------
	-- ?? ??????..
	declare @FriendCharID	int
	declare @cursor_var 	cursor
	
	set @cursor_var = cursor fast_forward
	for
	select FriendCharID
	from _Friend
	where CharID = @CharID
	
	open @cursor_var
	
	fetch next from @cursor_var into @FriendCharID
	
	while( @@FETCH_STATUS = 0 )
	begin
		delete _Friend where CharID = @FriendCharID and FriendCharID = @CharID
	
		fetch next from @cursor_var into @FriendCharID
	end
	close @cursor_var
	deallocate @cursor_var
	-- ??..
	delete _Friend where CharID = @CharID
	-----------------------------------
	-- ???? ????
	-----------------------------------
	delete _Memo where CharID = @CharID
	------------------------------------
	-- TimedJob ????????
	------------------------------------
	delete _TimedJob where CharID = @CharID
	------------------------------------
	-- Static Avatar ???? ????
	------------------------------------	
	delete from _staticavatar where charid = @charid
	------------------------------------
	-- ฑำธป บํทฐ มคบธ ป่มฆ
	------------------------------------	
	delete from _BlockedWhisperers where OwnerID = @charid


-- 2010-05-10 Rs1017 ร฿ฐก
	------------------------------------
	-- CharCos ป่มฆ
	------------------------------------

	UPDATE _ItemPool
	SET InUse = 0 
	FROM _ItemPool AS pool 
	JOIN _InvCOS AS inv 
	ON pool.ItemID = Inv.ItemID
	join _CharCos as ccos
	on ccos.ID = Inv.CosID
	WHERE ccos.OwnerCharID = @charid and Inv.ItemID <> 0

	DELETE FROM _InvCOS where COSID in ( select ID from _CharCos where OwnerCharID = @charid )

	delete from _CharCos where OwnerCharId = @charid

	------------------------------------
	-- _DeletedChar Entry ป่มฆ
	------------------------------------
	delete from _DeletedChar where CharID = @CharID
	if (@@error <> 0)
	begin
		return -10004
	end
	-- start by novice.
	DELETE FROM _User WHERE UserJID = @UserJID and CharID = @CharID
	-- finish by novice.
	------------------------------------
	-- ?????? ???? ????
	------------------------------------
	delete _Char where CharID = @CharID
	if (@@error <> 0)
	begin
		return -10006
	end
	
	[COLOR="#FF0000"]delete _CharNameList where CharID = @CharID[/COLOR]

	------------------------------------
	-- commit !!!
	------------------------------------
	
	-- ???????????? ?????? ???? ???? ?????? ??????!!!
	exec _RemoveClientConfig @CharID		-- by novice...... for saving client configurations...
	return @GuildID

* What was missing from this proc? Ill mark it in RED. This procedure had missing a part which would free the name used on that character after it was deleted. Now you will beable to permanently delete a character and use that name again

Then all you need to do is exec the procedure like this.

exec _DeleteCharPermanently_NoTX @UserJID, @CharID

example: exec _DeleteCharPermanently_NoTX 1, 7301
 
Last edited:
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Excellent, what your marked as red is something that also missing from vSRO 1.88 SP, thank you ;)
 
Joined
Jan 15, 2009
Messages
692
Reaction score
128
No problem, Im actually going through Every single procedure in all the released databases to improve the 110 blackrogue database as much as I can, Goal is to make a stable, clean and nice feature database for everyone on Ragezone making a blackrogue server.

If anyone has a unreleased database and doesn't mind sharing the procedures for it send me a pm ;)
 
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
I'm doing the same for vSRO 1.88, most of the SP full of junk and dirty codes :p, need a lill tweak
 
Experienced Elementalist
Joined
Sep 11, 2012
Messages
241
Reaction score
35
SRO_VT_SHARD.dbo._ADD_GM_GEAR
underlined why ?
 
Newbie Spellweaver
Joined
Dec 25, 2011
Messages
16
Reaction score
0
No problem, Im actually going through Every single procedure in all the released databases to improve the 110 blackrogue database as much as I can, Goal is to make a stable, clean and nice feature database for everyone on Ragezone making a blackrogue server.

Good luck on that :):


Anyway i got the scroll working now (didn't know what was wrong, just did whole thing again from scratch and it worked. :huh:) But now i have a second problem Screenshot by Lightshot . I have placed the textdata from the txt to textdata_object but it doesn't show any text ingame. I assume you can't just dump the text data to the end of the txt? If so then where to put the text?

(btw sorry if my english sucks :/:)
 
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Good luck on that :):


Anyway i got the scroll working now (didn't know what was wrong, just did whole thing again from scratch and it worked. :huh:) But now i have a second problem Screenshot by Lightshot . I have placed the textdata from the txt to textdata_object but it doesn't show any text ingame. I assume you can't just dump the text data to the end of the txt? If so then where to put the text?

(btw sorry if my english sucks :/:)

there's funny thing about how textdata_object works, try slipping it in the middle, between ITEM_ lines that has similar usage. I always put new things in the middle of file never at the end. ;)

Btw, check also in your itemdata, see if the SN_XXXXX_TT_DESC thing matched to your textdata_object :)

In this case it should be "SN_ITEM_GM_GEAR_COUPON_TT_DESC" for ALL 3 times, and not separated between HA, LA, and GA.

good luck

And for you guys who enjoyed my stuff, my next one would be:

Witchy Moo - "Just for fun - Nothing to do" GM gear coupon :P - RaGEZONE Forums
:eek:tt1:
 
Joined
Jan 15, 2009
Messages
692
Reaction score
128
there's funny thing about how textdata_object works, try slipping it in the middle, between ITEM_ lines that has similar usage. I always put new things in the middle of file never at the end. ;)

I usually add custom lines to the top of the file because its easy to know whats been added/changed and always seems to work no matter what and doesn't mess with anything.

@witchymoo
Nice!, keep up the good work ;)
 
Newbie Spellweaver
Joined
Dec 25, 2011
Messages
16
Reaction score
0
Btw, check also in your itemdata, see if the SN_XXXXX_TT_DESC thing matched to your textdata_object :)

In this case it should be "SN_ITEM_GM_GEAR_COUPON_TT_DESC" for ALL 3 times, and not separated between HA, LA, and GA.

Ty for the help, i just had to change the place of the text few spaces backwards cuz br110 has different "language".
 
Joined
Jan 15, 2009
Messages
692
Reaction score
128
@witchymoo Found a mistake you have made, you forgot to add in the check for seeing if a player has made a warlock character "darkstaff".

Code:
	/* Update 2013/11/05 */
	-- Set no shield by default, if the weapon used is 1H, then add shield automatically.
	PRINT 'Checking if character is using shield...'
	DECLARE @useShield TINYINT = 0
	IF (@WPClass = 'SWORD' OR @WPClass = 'BLADE' OR @WPClass = 'STAFF'[COLOR="#FF0000"] OR @WPClass = 'DARKSTAFF'[/COLOR])
	BEGIN
		PRINT '- 1H weapon is used, new shield will be added.'
		SET @useShield = 1
	END

Fix is added in after @WPClass = 'STAFF'. Just add the extra bit in RED for the fix guys ;)
 
Last edited:
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Ah yes, thanks for that fix, I forgot dark staff (warlocks) needed shield also :p
 
Experienced Elementalist
Joined
Sep 11, 2012
Messages
241
Reaction score
35
no it's added lol i am not noob :D
 
Experienced Elementalist
Joined
Aug 22, 2013
Messages
208
Reaction score
125
Back
Top