この lua コードの何が問題になっていますか? 入力しても引数が数値に変換されないか、数値として認識されませんか?
「distance = tonumber(arg[0]) or 0」も試しました。
--Args
local args = {...}
--Variables
local distance = 0
if #args > 0 and type(args[0])=="string" then args[0] = tonumber(args[0]) end
if #args > 0 and type(args[0])=="number" then distance = args[0] end
print("Distance: "..distance)