МТА гораздо более логичен. Имея опыт в самп гораздо легче понять мта (личный опыт), было бы желание. А школьники - это в основной своей массе игроки, а не скриптеры. И ложили они на то, сколько тут миллионов функций и на каком языке пишутся скрипты. Главное чтобы было интересно, понятно и рп
table.serialize - преобразует таблицу в строку (для удобства хранения данных). Функция более совершенна чем table.string поскольку корректно работает с типами данных и вложенными таблицами. Поля содержащие userdata, thread или function игнорируются.
string table.serialize(table t)
Обязательные аргументы: t - таблица для сериализации
Возвращает: строку сериализованной таблицы либо nil
table.deserialize - функция обратная сериализации, позволяет получить из строки таблицу
table table.deserialize(string s)
Обязательные аргументы: s - строка для десериализации
Возвращает: таблицу либо nil
Pastebin (здесь подсветка кода обрезает '\')
Пример:
local test = {[1] = 'dw', ['2'] = 123, [3] = {1,2,'ere'}}
local tString = table.serialize(test)
print(tString)--> {[1] = 'dw', [3] = {[1] = 1, [2] = 2, [3] = 'ere'}, ['2'] = 123}
local sTable = table.deserialize(tString)
print(sTable[1]..', '..sTable['2'])--> dw, 123
Кто такой player?
setElementData(player, "Best Drift", mejor)
Правильнее будет
setElementData(source, "Best Drift", mejor)
Уверен что у игрока есть accountData s.best? Лучше перестраховаться:
local playerbest = getAccountData (playeraccount, "s.best") or 0