Migrating-from-citmp

From FiveM Wikipedia

Миграция с CitizenMP.Server

Загрузка скриптов

require больше не существует, любые скрипты/библиотеки должны быть загружены с помощью директивы в манифесте ресурса.server_script

Например:

server_script "my_script.lua" -- load script
server_script "my_lib.net.dll" -- load a particular assembly into the .net appdomain
server_script "@resource_name/script.lua" -- load a script from another resource
 

Для загрузки файлов во время выполнения можно использовать LOAD_RESOURCE_FILE (), и, например, если это Lua-файл, можно использоватьLoadResourceFile("resource_name", "file_name")

load(...)

, чтобы загрузить код Lua, как показано в следующем примере:

function loadLuaFile(resource, file)
    return load(LoadResourceFile(resource, file), file)()
end

Разделение строк

str:Split больше не существует, вы должны использовать соответствующие функции Lua для этого. Для обычно копируемой функции это будет выглядеть следующим образом:stringsplit

function stringsplit(inputstr, sep)
    if sep == nil then
        sep = "%s"
    end
    local t={} ; i=1
    for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
        t[i] = str
        i = i + 1
    end
    return t
end

Побитовые операции

Lua 5.3 устарел , и среда выполнения CfxLua не включает его. Побитовые операции теперь работают с использованием обычных операторов (, , ...), как и в большинстве других языков программирования.bit32&|

Среда clr

NeoLua больше не используется, поэтому пространство имен больше не существует. Если необходимо выполнить код C#, используйте обычную среду выполнения .NET и экспорт сервера.clr

Временные идентификаторы

Если вы выполнили какие-либо конкретные побитовые операции, предполагая, что во время значения выше 0x10000, это больше не должно понадобиться для использования функций во время .playerConnectingsourceplayerConnecting

Руководство по серверу