⚔️ Pre-Renewal Integration

Add a clickable RateMyRagnarok link to every item description in your Pre-Renewal client.

Clickable in-game link

Opens the item page in your browser instantly

Pre-Renewal stats

Loads correct pre-renewal stats & drops

Custom item detection

Shows a friendly card for private server items

Back to Tools
Back to Tools

Pre-Renewal Database Integration

ROenglishRE - follow the steps below to connect your Pre-Renewal client

1

Download ROenglishRE

Get ROenglishRE with the Pre-Renewal item files from the official repository:

llchrisll/ROenglishRE on GitHub
2

Locate the Pre-Renewal item info file

Find the item description file in your System folder. It may be named:

[RO folder]\System\itemInfo_true.lub
[RO folder]\System\rroitemInfo.lub
Usually plain ASCII. If it has Korean characters, open with Notepad++ set to ANSI encoding.
3

Add ServerMode at the top

Lua
-- Pre-Renewal mode
ServerMode = "prerenewal"
4

Find AddItemIdentifiedDesc in the file

Search for the item loop calling:

Lua
AddItemIdentifiedDesc(ItemID) -- add your lines after this
5

Paste the RateMyRagnarok link block

Lua
AddItemIdentifiedDesc(" ")
AddItemIdentifiedDesc("^777777Compare on^000000")
AddItemIdentifiedDesc("^006600<URL>https://ratemyragnarok.com/database/items/"
  ..ItemID.."?mode="..ServerMode
  .."<INFO>https://ratemyragnarok.com/database/items/"
  ..ItemID.."?mode="..ServerMode
  .."</INFO>RateMyRagnarok.com</URL>^000000")
6

Save & test in-game

Save the file, launch your client, and open any item description:

Opens ratemyragnarok.com/database/items/501?mode=prerenewal

Full Working Example

Complete itemInfo main() function with RateMyRagnarok integration

If you are unsure where to place the code, here is how a complete itemInfo file looks with the integration. The ServerMode variable at the top controls which database mode your links open (renewal or prerenewal). The key lines are the ones that append the RateMyRagnarok URL to both unidentified and identified item descriptions.

This replaces your existing main() function. The main_server() function at the bottom stays unchanged. Set ServerMode to "renewal" or "prerenewal" to match your server.
Lua - itemInfo_true.lub
-- =====================================
-- RateMyRagnarok.com Server Config
-- Set to "renewal" or "prerenewal"
ServerMode = "prerenewal"
-- =====================================

function main()
    for ItemID, DESC in pairs(tbl) do
        -- uncomment the next line to add item id to all item names
        DESC.unidentifiedDescriptionName[#DESC.unidentifiedDescriptionName + 1] = "ItemID: " .. ItemID
        DESC.identifiedDescriptionName[#DESC.identifiedDescriptionName + 1] = "ItemID: " .. ItemID
        DESC.unidentifiedDescriptionName[#DESC.unidentifiedDescriptionName + 1] = "________________________"
        DESC.unidentifiedDescriptionName[#DESC.unidentifiedDescriptionName + 1] = "^006600Compare on^000000"
        DESC.unidentifiedDescriptionName[#DESC.unidentifiedDescriptionName + 1] = "<URL>RateMyRagnarok.com<INFO>https://ratemyragnarok.com/database/items/" .. ItemID .. "?mode=" .. ServerMode .. "</INFO></URL>"
        DESC.identifiedDescriptionName[#DESC.identifiedDescriptionName + 1] = "________________________"
        DESC.identifiedDescriptionName[#DESC.identifiedDescriptionName + 1] = "^006600Compare on^000000"
        DESC.identifiedDescriptionName[#DESC.identifiedDescriptionName + 1] = "<URL>RateMyRagnarok.com<INFO>https://ratemyragnarok.com/database/items/" .. ItemID .. "?mode=" .. ServerMode .. "</INFO></URL>"
        result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum)
        if not result then
            return false, msg
        end
        for k, v in pairs(DESC.unidentifiedDescriptionName) do
            result, msg = AddItemUnidentifiedDesc(ItemID, v)
            if not result then
                return false, msg
            end
        end
        for k, v in pairs(DESC.identifiedDescriptionName) do
            result, msg = AddItemIdentifiedDesc(ItemID, v)
            if not result then
                return false, msg
            end
        end
        if nil ~= DESC.EffectID then
            result, msg = AddItemEffectInfo(ItemID, DESC.EffectID)
            if not result then
                return false, msg
            end
        end
        if nil ~= DESC.costume then
            result, msg = AddItemIsCostume(ItemID, DESC.costume)
            if not result then
                return false, msg
            end
        end
        if nil ~= DESC.PackageID then
            result, msg = AddItemPackageID(ItemID, DESC.PackageID)
            if not result then
                return false, msg
            end
        end
    end
    return true, "good"
end

function main_server()
    for ItemID, DESC in pairs(tbl) do
        result, msg = AddItem(ItemID, DESC.identifiedDisplayName, DESC.slotCount)
        if not result then
            return false, msg
        end
    end
    return true, "good"
end
The RateMyRagnarok link is added to both unidentified and identified descriptions so players see it no matter what. The ItemID line is optional but helpful for debugging.

Need help?

Ask in our Discord #tools channel

Join Discord