Editing VPRO - xAranaktu/FC-24-Live-Editor GitHub Wiki

VPRO

This section is focused on how to edit created player in player career mode (VPRO).

When you start new player career you can chose between Create New Player and Play As Real Player.

Create New Player and Play As Real Player are literally two different game modes. Create New Player makes VPRO which is problematic to edit.

VPRO playerid will be always 30999. You can check it in player editor

Why my stats revert after a match?

In VPRO mode the real attributes are stored in player growth tree. But the game will also everything that's stored in players table in the database (height, weight, nationality, age, apperance...). Because of that it's IMPOSSIBLE to permanently edit the player. You will always need some sort of mod or script to keep the attributes altered in one way or another.

Methods for editing your VPRO

  1. Cheat Table with 999 Skill Points script
  2. (HARD) Editing legacy file storing info about how many attributes you get per point in growth tree. For example 10 acceleration instead of 5.
  3. vpro_99ovr.lua for Live Editor

vpro_99ovr.lua

This lua script that you can find here can be executed in Live Editor Lua Engine (Features -> Lua Engine -> execute). Imo. currently the best option, but requires basic understanding of LUA

Script needs to be executed before you load your career save everytime you play the game. It will automatically change all of your attributes to 99, assign 4 play styles (Power Shot, Power Header, Rapid & Quick Reflexes) and 1 playstyle+ (TRIVELA).

If for example you don't have to have 99, but just 99 acceleration then remove lines from 88 to 90 and replace them with players_table:SetRecordFieldValue(current_record, "acceleration", 99)

Making the function look like this

function set_99ovr() 
    -- Get Players Table
    local players_table = LE.db:GetTable("players")
    local current_record = players_table:GetFirstRecord()
    local playerid = 0

    while current_record > 0 do
        playerid = players_table:GetRecordFieldValue(current_record, "playerid")
        if (playerid == VPRO_PLAYERID) then
            players_table:SetRecordFieldValue(current_record, "acceleration", 99)

            -- Playstyles
            players_table:SetRecordFieldValue(current_record, "trait1", playstyles1)
            players_table:SetRecordFieldValue(current_record, "trait2", playstyles2)
            players_table:SetRecordFieldValue(current_record, "icontrait1", iconplaystyle1)
            players_table:SetRecordFieldValue(current_record, "icontrait2", iconplaystyle2)

            -- Clear Player modifier to not affect his ovr
            players_table:SetRecordFieldValue(current_record, "modifier", 0)
    
            -- 99 Potential
            players_table:SetRecordFieldValue(current_record, "potential", 99)

            SaveVPRO()
            return
        end

        current_record = players_table:GetNextValidRecord()
    end
    LOGGER:LogError(string.format("Can't find player %d to apply 99ovr", VPRO_PLAYERID))
end