i need to send item for all players

08/02/2020 23:50 Sclupter#1
i want to make a query to send item or make any update on _Char with 1 query to all chars in game but i don't need this one
Quote:
DECLARE @CharName VARCHAR(64),
@ItemCodeName VARCHAR(64) = 'ITEM_VICTOR_LOTTERY_ITEM'
DECLARE item_cur CURSOR FOR
SELECT DISTINCT CharName16 FROM _Char where CurLevel = 130 ORDER BY CharName16

OPEN item_cur
FETCH NEXT FROM item_cur INTO @CharName
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC _ADD_ITEM_EXTERN @CharName, @ItemCodeName, 1, 0
FETCH NEXT FROM item_cur INTO @CharName
END

PRINT @CharName
CLOSE item_cur

DEALLOCATE item_cur
08/03/2020 18:38 JoleChow*#2
Don't forget to change [Mention] to @
Code:
USE SRO_VT_SHARD
GO
DECLARE  [MENTION=3898309]charname[/MENTION] VARCHAR(64),
  [MENTION=1134588]item[/MENTION]CodeName VARCHAR(64) = 'ITEM_CH_SWORD_01_A'	--Item's codename

DECLARE item_cur CURSOR FOR
SELECT DISTINCT CharName16 FROM _Char ORDER BY CharName16

	OPEN item_cur
		FETCH NEXT FROM item_cur INTO  [MENTION=3898309]charname[/MENTION]
			WHILE @@FETCH_STATUS = 0
				BEGIN
					EXEC _ADD_ITEM_EXTERN  [MENTION=3898309]charname[/MENTION],  [MENTION=1134588]item[/MENTION]CodeName, 1, 0  --params: CharName, ItemCodeName, Data(quantity or durability), OptLevel
					FETCH NEXT FROM item_cur INTO  [MENTION=3898309]charname[/MENTION]
				END
		
		PRINT  [MENTION=3898309]charname[/MENTION]
	CLOSE item_cur

DEALLOCATE item_cur
08/03/2020 23:26 Sclupter#3
Quote:
Originally Posted by JoleChow* View Post
Don't forget to change [Mention] to @
Code:
USE SRO_VT_SHARD
GO
DECLARE  [MENTION=3898309]charname[/MENTION] VARCHAR(64),
  [MENTION=1134588]item[/MENTION]CodeName VARCHAR(64) = 'ITEM_CH_SWORD_01_A'	--Item's codename

DECLARE item_cur CURSOR FOR
SELECT DISTINCT CharName16 FROM _Char ORDER BY CharName16

	OPEN item_cur
		FETCH NEXT FROM item_cur INTO  [MENTION=3898309]charname[/MENTION]
			WHILE @@FETCH_STATUS = 0
				BEGIN
					EXEC _ADD_ITEM_EXTERN  [MENTION=3898309]charname[/MENTION],  [MENTION=1134588]item[/MENTION]CodeName, 1, 0  --params: CharName, ItemCodeName, Data(quantity or durability), OptLevel
					FETCH NEXT FROM item_cur INTO  [MENTION=3898309]charname[/MENTION]
				END
		
		PRINT  [MENTION=3898309]charname[/MENTION]
	CLOSE item_cur

DEALLOCATE item_cur
i literally said i don't need this one ... :confused:
08/04/2020 09:06 Devsome#4
Quote:
Originally Posted by Sclupter View Post
i literally said i don't need this one ... :confused:
But this works and it does what you wanted, so tell us why you do not want this one?
08/05/2020 19:44 JoleChow*#5
Quote:
Originally Posted by Sclupter View Post
i literally said i don't need this one ... :confused:
it does the job but if you have problem with that so you can easily build your own query
08/05/2020 20:27 kotsh23#6
You can do it by Locate Players at table and put it CharName , Done and give it name like Gift_Players

Like this

CharName Done
Player1 0
Player2 0
Player3 0
Player4 0

Declare @[Only registered and activated users can see links. Click Here To Register...] Varchar(30) = (Select Top 1 CharName from Gift_Player where Done = 0 )

EXEC _ADD_ITEM_EXTERN @[Only registered and activated users can see links. Click Here To Register...] , @[Only registered and activated users can see links. Click Here To Register...]CodeName, 1, 0

UPDATE Gift_Player set Done = 1 where CharName = @[Only registered and activated users can see links. Click Here To Register...]

GO 4 -- The Players Count at table
08/06/2020 16:57 Skedaddle!#7
Quote:
Originally Posted by kotsh23 View Post
You can do it by Locate Players at table and put it CharName , Done and give it name like Gift_Players

Like this

CharName Done
Player1 0
Player2 0
Player3 0
Player4 0

Declare @[Only registered and activated users can see links. Click Here To Register...] Varchar(30) = (Select Top 1 CharName from Gift_Player where Done = 0 )

EXEC _ADD_ITEM_EXTERN @[Only registered and activated users can see links. Click Here To Register...] , @[Only registered and activated users can see links. Click Here To Register...]CodeName, 1, 0

UPDATE Gift_Player set Done = 1 where CharName = @[Only registered and activated users can see links. Click Here To Register...]

GO 4 -- The Players Count at table
Completely wrong thinking. But a while loop to create a temporary table and do the job?

Here you go!

Quote:
DECLARE @_Char TABLE(CharName16 VARCHAR(64))
INSERT @_Char SELECT CharName16 FROM SRO_VT_SHARD.._Char

WHILE EXISTS(SELECT * FROM @_Char)
BEGIN
DECLARE @CharName16 VARCHAR(64) = (SELECT TOP 1 CharName16 FROM @_Char)
EXEC SRO_VT_SHARD.._ADD_ITEM_EXTERN @CharName16, 'ITEM_ETC_ARENA_COIN', 1, 1
DELETE FROM @_Char WHERE CharName16 = @CharName16
END