string find and replace

10/27/2016 16:01 Gordor1#1
[Closed]





Hello to all. I need little guide how to change string of item in DB or how to do this
Lets starts :)
We have StringResourse table, and ItemResourse table
In table ItemResourse exists columns - name_id and tooltip_id.
Question: how to find note of this item in StringResourse. Thanks for answers!
P.S. I think we need to find It in column name for example item_xxxxxxx
Where xxxxxx- is ID of something

for example I have item - fireworks - id of this item - 10801319
But then I select
my code:
its give me 0 string
In game name and description of item is ??????????
Databases official 6.2 by Pyrok (korean I think) and find item by name is unreal for me
how can I fix this one?
[Only registered and activated users can see links. Click Here To Register...]
10/27/2016 18:47 ThunderNikk#2
the item ID is only for the item table...the name_id and tooltip_id are the codes you want to look for in the string resource.

You can do an SQL join statement which I could help you with if I were not at work.
10/27/2016 18:57 Gordor1#3
Quote:
Originally Posted by thndr View Post
the item ID is only for the item table...the name_id and tooltip_id are the codes you want to look for in the string resource.

You can do an SQL join statement which I could help you with if I were not at work.
Im looked for DB diagram. Where are no connections between tables...

Quote:
Originally Posted by thndr View Post
the item ID is only for the item table...the name_id and tooltip_id are the codes you want to look for in the string resource.

You can do an SQL join statement which I could help you with if I were not at work.
Waiting for your answer :)
10/27/2016 19:14 TheSuperKiller#4
this is the logic of the query, not the actual query, it has been ages since my last time dealing with Rappelz stuff:

update stringresource set string ="name of the item" where code = (select name_id or tooltipId from itemresource where itemId = 123234543)

you can make this more complex by putting if statements to insert the data if the string does not exist in stringresource table, in which I do believe that this is your case "where you don't even have the entry in stringresource table".

and I'm pretty sure that there are so many queries out there, MAKE YOUR OWN OR LEARN SOME BASIC DB STUFF.
10/27/2016 20:16 Gordor1#5
Quote:
Originally Posted by TheSuperKiller View Post
this is the logic of the query, not the actual query, it has been ages since my last time dealing with Rappelz stuff:

update stringresource set string ="name of the item" where code = (select name_id or tooltipId from itemresource where itemId = 123234543)

you can make this more complex by putting if statements to insert the data if the string does not exist in stringresource table, in which I do believe that this is your case "where you don't even have the entry in stringresource table".



and I'm pretty sure that there are so many queries out there, MAKE YOUR OWN OR LEARN SOME BASIC DB STUFF.
Problem not in writing sql request. I dont know how this tables is connected. About your answer: I have writed code similar of yours, but in DB no string with this name_id or tooltip_id
10/27/2016 20:19 SilentWisdom#6
The table connection is simple:

dbo.ItemResource fields name_id, tooltip_id reach out to dbo.stringresource field code.

So when the GS reads an item and that item has name_id 12345678 it is going to seek the entry in stringresource with code 12345678 and take the 'value' from that entry.
10/27/2016 20:22 Gordor1#7
Quote:
Originally Posted by thndr View Post
the item ID is only for the item table...the name_id and tooltip_id are the codes you want to look for in the string resource.

You can do an SQL join statement which I could help you with if I were not at work.
Quote:
Originally Posted by SilentWisdom View Post
The table connection is simple:

dbo.ItemResource fields name_id, tooltip_id reach out to dbo.stringresource field code.

So when the GS reads an item and that item has name_id 12345678 it is going to seek the entry in stringresource with code 12345678 and take the 'value' from that entry.
OK. But this request retuns null. How client have name and tooltip strings?
Sorry for my stupidity

And last. String in DB is Korean, but client have names on its language(ENG for example)
How its works? I know that in Resourse exists file with all string? Question - why String on DB is needed?
10/27/2016 21:04 SilentWisdom#8
Below is an example of how to search by an English item name.

Code:
/*Define what columns to select and from which join*/
SELECT ITEMRES.id, STRINGRES.value, TOOLTIP.value, ITEMRES.model_00

/*Define where to select data and join it*/
FROM 
dbo.ItemResource ITEMRES
LEFT JOIN
dbo.StringResource STRINGRES
ON 
STRINGRES.code = ITEMRES.name_id
LEFT JOIN 
dbo.StringResource TOOLTIP
ON
TOOLTIP.code = ITEMRES.tooltip_id
WHERE STRINGRES.value LIKE '%Yak Leather%'
"How client have name and tooltip strings"

Well most important database tables have a internal counterpart in the client called an 'rdb' or Rappelz Database.

"Why string on DB is needed?"

This is for the clients benefit as it obviously can't effectively request data from the servers database table without obvious security implications.
10/27/2016 21:20 Gordor1#9
Quote:
Originally Posted by SilentWisdom View Post
Below is an example of how to search by an English item name.

Code:
/*Define what columns to select and from which join*/
SELECT ITEMRES.id, STRINGRES.value, TOOLTIP.value, ITEMRES.model_00

/*Define where to select data and join it*/
FROM 
dbo.ItemResource ITEMRES
LEFT JOIN
dbo.StringResource STRINGRES
ON 
STRINGRES.code = ITEMRES.name_id
LEFT JOIN 
dbo.StringResource TOOLTIP
ON
TOOLTIP.code = ITEMRES.tooltip_id
WHERE STRINGRES.value LIKE '%Yak Leather%'
"How client have name and tooltip strings"

Well most important database tables have a internal counterpart in the client called an 'rdb' or Rappelz Database.

"Why string on DB is needed?"

This is for the clients benefit as it obviously can't effectively request data from the servers database table without obvious security implications.
Now, IF Im add new string for name of item(its not exists) name will be correct? Or I should find and edit rdb file too?

Quote:
Originally Posted by SilentWisdom View Post
Below is an example of how to search by an English item name.

Code:
/*Define what columns to select and from which join*/
SELECT ITEMRES.id, STRINGRES.value, TOOLTIP.value, ITEMRES.model_00

/*Define where to select data and join it*/
FROM 
dbo.ItemResource ITEMRES
LEFT JOIN
dbo.StringResource STRINGRES
ON 
STRINGRES.code = ITEMRES.name_id
LEFT JOIN 
dbo.StringResource TOOLTIP
ON
TOOLTIP.code = ITEMRES.tooltip_id
WHERE STRINGRES.value LIKE '%Yak Leather%'
"How client have name and tooltip strings"

Well most important database tables have a internal counterpart in the client called an 'rdb' or Rappelz Database.

"Why string on DB is needed?"

This is for the clients benefit as it obviously can't effectively request data from the servers database table without obvious security implications.
TY very much. Can I find program that can edit string in rdb?
10/27/2016 22:02 SilentWisdom#10
As good practice you should always do your edits to the database table (string) and then save them to the rdb and add to the client. This ensures the db always reflects the data inside the rdb, otherwise you could forget changes you've made etc..etc.. And the stringresource has not changes across the epics so any rdb editor can save the changes you make to your dbo.stringresource.
10/27/2016 22:37 Gordor1#11
THX to all! A have finded solution :)