Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Script]: Sharing a "Quick Create SL125/150 Char" script, that automates common tasks #19

Open
GavinRay97 opened this issue Jun 26, 2022 · 11 comments
Labels
enhancement New feature or request script Script that anyone can add to their table

Comments

@GavinRay97
Copy link

GavinRay97 commented Jun 26, 2022

This script is meant for automating the things you'd probably want to do when setting up a new SL125/150 character.

It includes:

  • Unlock Graces/Whetblades/Cookbooks/Maps/Gestures
  • Give you the souls you need to reach level 125/150
  • Give all Great Runes
  • Give all crystal tears (requires a MassItemGib script called Give all crystal tears, I think Inu said it'll be added to table)
  • Give all armor, accessories, sorceries/incants
    • NOTE: Does NOT give any weapons
  • Give consumables
  • Allows you to customize the items and quantities you want easily by modifications to the table variables

I am posting this here in case someone else finds this useful.
It also shows how to do some common things from Lua (spawn items, give runes)

Thank you to Inu and other folks from Discord for helping me with this, I wouldn't have figured it out solo.

Enjoy!

----------------------------------------------
-- DATA
----------------------------------------------
local selected_items = {
    ["Duelist's Furled Finger"] = { id = 0x40000065, qty = 1 },
    ["Taunter's Tongue"] = { id = 0x4000006C, qty = 1 },
    ["Recusant Finger"] = { id = 0x40000070, qty = 1 },
    ["Godrick's Great Rune"] = { id = 0x400000BF, qty = 1 },
    ["Radahn's Great Rune"] = { id = 0x400000C0, qty = 1 },
    ["Morgott's Great Rune"] = { id = 0x400000C1, qty = 1 },
    ["Rykard's Great Rune"] = { id = 0x400000C2, qty = 1 },
    ["Mohg's Great Rune"] = { id = 0x400000C3, qty = 1 },
    ["Malenia's Great Rune"] = { id = 0x400000C4, qty = 1 },
    ["Flask of Wondrous Physick"] = { id = 0x400000FA, qty = 1 },
    ["Cracked Pot"] = { id = 0x4000251C, qty = 20 },
    ["Ritual Pot"] = { id = 0x4000251D, qty = 10 },
    ["Perfume Bottle"] = { id = 0x40002526, qty = 10 },
    ["Golden Seed"] = { id = 0x4000271A, qty = 30 },
    ["Sacred Tear"] = { id = 0x40002724, qty = 15 },
    ["Memory Stone"] = { id = 0x4000272E, qty = 8 },
    ["Talisman Pouch"] = { id = 0x40002738, qty = 3 },
    ["Lost Ashes of War"] = { id = 0x40002756, qty = 10 },
    ["Crafting Kit"] = { id = 0x40002134, qty = 1 },
    ["Whetstone Knife"] = { id = 0x4000218E, qty = 1 },
}

local affinities = {
    ["Normal"] = 0,
}

local ashes_of_war = {
    ["Default"] = 0xFFFFFFFF
}

local runes_needed_for_level = {
    [125] = 4000000,
    [150] = 7110000,
}

----------------------------------------------
-- SCRIPT
----------------------------------------------
local addressList = getAddressList()

local actions = {
      -- Event Flags
      "Unlock all Graces",
      "Unlock all Whetblades",
      "Unlock all Cookbooks",
      "Unlock all Maps",
      -- Scripts -> Build Creation
      "Unlock All Regular Gestures",
      -- Scripts -> Build Creation -> ItemGib -> MassItemGib
      "Give all protectors",
      "Give all accessories",
      "Give all ashes of war",
      "Give misc consumables x99",
      "Give all limited quantity craftables x99",
      "Give all crystal tears",
      "Give all bell bearings",
      "Give all spirit ashes",
      "Give all sorceries",
      "Give all incantations",
}

local function add_runes(amount)
    local script = [[
        AddSoulData:
        dd #{amount}
        createthread(AddSoul)
    ]]
    autoAssemble(script:gsub("{amount}", amount))
end

-- NOTE: For reinforce_level, 1 = "Auto"
local function give_item(item_id, quantity, affinity, reinforce_level, ash_of_war)
    local script = [[
        ItemGibArray:
        dd {item_id}
        dd {quantity}
        dw {affinity}
        dw {reinforce_level}
        dd {ash_of_war}
        // ID        Quantity    Upgrade          AshOfWar
        dd 00000000  00000000   00000000          FFFFFFFF
        createthread(ItemGib)
    ]]
    local processed = script
        :gsub("{item_id}", string.format("%08x", item_id))
        :gsub("{quantity}", string.format("%04x", quantity))
        :gsub("{affinity}", string.format("%04x", affinity))
        :gsub("{reinforce_level}", string.format("%08x", reinforce_level))
        :gsub("{ash_of_war}", string.format("%08x", ash_of_war))
    print(processed)
    autoAssemble(processed)
end

local function perform_boolean_actions()
    -- Perform all pre-created boolean actions
    for idx, action in ipairs(actions) do
        local memrec = addressList.getMemoryRecordByDescription(action)
        if memrec ~= nil then
            memrec.Active = true
        end
    end
end

local function give_selected_items()
    for item_name, entry in pairs(selected_items) do
        give_item(entry.id, entry.qty, affinities["Normal"], 0, ashes_of_war["Default"])
    end
end

local function main()
    local TARGET_LEVEL = 125
    local RUNE_AMOUNT = runes_needed_for_level[TARGET_LEVEL]
    perform_boolean_actions()
    add_runes(RUNE_AMOUNT)
    give_selected_items()
end

main()
@vczh
Copy link

vczh commented Jun 28, 2022

If I run these scripts to get everything and go to NG+, and than connect the server, will FromSoftware know I cheated and ban me?

@GavinRay97
Copy link
Author

Hypothetically, no ;^)

@Ompolar
Copy link

Ompolar commented Jul 9, 2022

how do i run these script? sorry im kinda new to this

@GavinRay97
Copy link
Author

GavinRay97 commented Jul 9, 2022

@Ompolar no worries 😄

Do the normal process to attach CE to the game, then follow these three steps:

  • Step 1: Make sure to activate TGA scripts by checking the box so the code has the functions available
  • Step 2: From the toolbar at the top of CE, press the button that says Table, then select Show Cheat Table Lua Script (or you can just press Ctrl + Alt + L)
  • Step 3: Copy-paste the entire code from my comment in the text box, and press EXECUTE SCRIPT

You should get all items, runes, unlocks, etc after executing it.

image

image

@MauroMain
Copy link

Thank you for putting this out there. I didn't know there was a Unlock all Grace / Unlock All Maps / Whetstones, ect already in there.

@Ompolar
Copy link

Ompolar commented Aug 6, 2022

I got banned for this somehow :'(
it said "Inappropriate Activity Detected" and i cannot get rid of this even trying to re-install the game

@inuNorii
Copy link
Member

inuNorii commented Aug 6, 2022

"Inappropriate Activity Detected" only means EasyAntiCheat is not running.

@Ompolar
Copy link

Ompolar commented Aug 6, 2022

"Inappropriate Activity Detected" only means EasyAntiCheat is not running.

How do i fix the EasyAntiCheat?, I have tried to open the easyanticheat_eos_setup.exe from Elden Ring installation Folder but only CMD window opened then disappear quickly

@inuNorii
Copy link
Member

inuNorii commented Aug 6, 2022

Assuming you haven't modified anything, run the game via Steam or launch_protected_game.exe.

@Ompolar
Copy link

Ompolar commented Aug 6, 2022

Assuming you haven't modified anything, run the game via Steam or launch_protected_game.exe.

Nevermind, its my country problem (Indonesia, our goverment is blocking any website including steam). Problem fixed with running the game with Cloudflare software.

@vczh
Copy link

vczh commented Aug 6, 2022

"Inappropriate Activity Detected" only means EasyAntiCheat is not running.

How do i fix the EasyAntiCheat?, I have tried to open the easyanticheat_eos_setup.exe from Elden Ring installation Folder but only CMD window opened then disappear quickly

Find eldenring.exe, create steam_appid.txt in the same folder with content 1245620. Double click eldenring.exe to run the game instead of launching it in steam.

And then inside the game, turn off all multiplayer options (3 options IIRC).

Exit to the desktop and enter the game again, the warning should disappear.

@inuNorii inuNorii added the enhancement New feature or request label Dec 19, 2022
@inuNorii inuNorii added the script Script that anyone can add to their table label Feb 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request script Script that anyone can add to their table
Projects
None yet
Development

No branches or pull requests

5 participants