Migrating-from-citmp
Миграция с 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